API低代码开发平台实践(低代码app开发平台)

API低代码开发平台实践。

一、前言

API低代码平台是面向业务人员和IT人员双向驱动管理的能力平台,拥有通用场景的可视化配置能力,满足运营创新场景需求实现,还具有优异的开放性和扩展性,能够通过二次开发实现企业规划设计时的各类个性化场景需求,扩展方式不仅限于是代码开发,插件扩展,以及社会化插件引用等。

API低代码平台的技术门槛低、交付周期短、开发效率高、敏捷创新快等特点,能够帮助企业在数字化转型中快速实现“业务数字化”到“数字业务化”,完全符合数字化转型趋势的场景化,扁平化和在线化,是数字化转型中必不可少的数字技术工具平台。

二、API生命周期管理

API低代码开发平台实践(低代码app开发平台)

上图是完整的API低代码平台,整个API低代码平台简单来讲分为四个子系统,即API服务网关、API开发子系统、API运维子系统、API引擎子系统。API服务网关提供API注册和发现功能。PI开发子系统开发API服务接口。API引擎子系统暴露标准的API服务接口。API运维子系统负责从从引擎采集日志信息以及进行API性能监控和日志监控分析。API治理子系统实现API接口从设计、开发、测试、部署上线的全生命周期管理,也可以理解为API开发、API引擎、API 运维、API服务网关你的的一个统一管理门户,实现和各的子系统集成,可以支持自动部署配置完成的API到微服务运行平台。API运行环境则为API低代码平台提供可扩展、动态伸缩的运行环境。

三、API网关

API网关更多的是解决运行态的问题,API网关本身应该轻量化设计,主要实现API注册、限流、熔断、鉴权、反向代理等,不做太多的协议转换、适配、数据映射等工作,这些工作应该放到API开发平台来完成。在笔者的实践中,采用了Kong API网关来担当API低代码平台的服务网关,充分利用Kong强大的API实现API接口的注册与发现、健康检查、OAuth协议认证等。Kong作为API网关提供了API管理功能,及围绕API管理实现了一些默认的插件,另外还具备集群水平扩展能力,从而提升整体吞吐量。Kong本身是基于OpenResty,可以在现有Kong的基础上进行一些扩展,从而实现更复杂的特性。

API低代码开发平台实践(低代码app开发平台)

在权限控制方面,通过服务网关OAuth2.0 authentication和安全控制插件ACL或Basic等插件,实现系统级权限认证和接口级权限认证,保证权限的安全。在流量控制方面,通过Rate-Limiting实现Consumer、Credential、IP、Service级别的限流,实现Second、Minute、Hour、Day、Month粒度的流控。

四、API开发子系统

API开发子系统最终就是开发完成并暴露一个标准的HTTP API接口,并将接口注册和接入到API网关。API设计和开发的核心思想仍然应该是基于领域对象建模驱动,通过领域对象建模很好的实现接口和底层数据库,数据库表之间的解耦,也方便实现底层多数据库,多表的支持能力。当前很多API快速开发平台都是基于数据库对象或表,直接发布类似CRUD的API接口服务,但是基于是数据库表的直接发布,我们仍然建议逆向对象这层,方便后续在对象层进行相关的组合,规则扩展等操作。

API低代码开发平台实践(低代码app开发平台)

API开发子系统通过可视化页面生成接口逻辑,并用脚本语言来描述API的业务逻辑和处理返回的数据结构体,比如采用JavaScript。在接口设计过程中,常常预留可编程接口,比如本例中的API查询脚本和API预后处理。下图是API业务逻辑的例子。

API低代码开发平台实践(低代码app开发平台)

在API开发子系统创建对象,并对数据项进行定义,对象是一个多层的树状结构实体。一个对象可以向数据库生成多张表。对于已经存在的数据对象,也可以进行组合,将多个组合为一个复合对象结构。对象的好处即是一个完整的对象属于同一生命周期,可以一起进行事务控制。一个设计好的对象可以默认生成标准的POST,GET,DELETE等接口操作方法,类似下图,整个对象接口契约的生成也应该是自动的。

API低代码开发平台实践(低代码app开发平台)

五、API引擎子系统

API引擎子系统利用API开发平台生成的接口配置信息,生成可利用的API接口,并通过API服务网关对外提供标准协议的API服务。API查询脚本和API预后处理通常采用脚本语言来描述API的业务逻辑,比如采用JavaScript。API脚本常常采用JavaScript语言来表达,利用JS强大的语言特性,生成API的业务逻辑。通过脚本解释器生成可执行的脚本,然后发送到数据库,并将执行的结构封装成JSON结构体。API预后处理采用预留接口来处理返回的数据,比如采用JavaScript来处理查询引擎返回JSON结构体,然后返回给服务调用者。

API低代码开发平台实践(低代码app开发平台)

六、API运维子系统

API运维子系统主要包括监控和日志两方面。监控主要包括调用量、调用失败次数、响应时间、调用数据量等。日志主要包括平台自身日志和API日志,在本例中采用ES存储日志。

API低代码开发平台实践(低代码app开发平台)API低代码开发平台实践(低代码app开发平台)API低代码开发平台实践(低代码app开发平台)API低代码开发平台实践(低代码app开发平台)

七、API治理

API接口发布:对于完成的对象定义,可以选择具体发布哪些API接口服务能力。比如可以只选择发布查询接口,也可以只选择发布数据导入的POST接口等。注意API接口的发布,具体可以基于全局的对象建模,配置具体需要发布到接口的数据项信息。很多时候我们对数据对象的操作,并不是操作整个对象全集,而仅仅是部分数据项。

API接口模拟测试和验证:可以对发布的API接口进行模拟测试和验证,因此需要提供在线的API测试工具,能够方便在线进行API接口的测试工作。同时可以对测试过的用例和测试数据进行保存。

API接口文档生成:支持自动生成API接口文档的能力。这个地方可以直接对接类似开源Swagger等工具来实现API接口文档的自动生成功能。

八、总结

API低代码平台可以快速生成API接口,可以将多个对象或多个API接口服务打包到一个微服务应用再进行部署和发布,对微服务API进行打包处理。打包完成的微服务可以导出为独立的JAR包进行部署,也可以直接在API开发平台进行托管部署。对于API开发平台本身应该对接到微服务运行平台。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2024年5月16日 上午11:53
下一篇 2024年5月16日 下午12:05

相关推荐

  • 高级项目管理报考时间

    随着现代项目管理技术的发展,高级项目管理的报考时间也日益临近。高级项目管理作为一种专业的资格认证,对于项目管理人员和企业而言都具有重要意义。 报考高级项目管理资格认证不仅可以证明个…

    科研百科 2024年5月31日
    71
  • 信息系统项目管理师考试学习建议

    信息系统项目管理师学习建议 您好: 首先欢迎您参加我们的辅导班,感谢您的信任,为了更好的帮助大家通过考试,我写了如下学习建议。当然,大家学习、考试了10多年了,应该有了自己的学习方…

    科研百科 2023年12月21日
    155
  • 风险内控:如何从“人控”到“机控”(机控与人控风险)

    日前,由东北财经大学中国内部控制研究中心以及中财智研(北京)科技有限公司等专家组成的联合课题组研发的“行政事业单位风险内部控制信息系统”正式出炉——让风险内控实现从“人控”到“机控…

    科研百科 2024年1月24日
    165
  • 科研项目及发表论文等情况怎么填(科研项目及发表论文等情况怎么填)

    科研项目及发表论文等情况填 随着科技的不断进步,科研项目的发表也变得越来越重要。在科研过程中,发表论文不仅可以展示研究人员的成果,还可以提高他们的声誉和知名度。因此,如何填写科研项…

    科研百科 2024年4月6日
    625
  • 社区党建存在问题及整改措施

    社区党建存在问题及整改措施 社区党建是中国共产党在社区中开展的一项非常重要的工作,其目的是加强党组织的凝聚力和战斗力,促进社区的发展。然而,在社区中存在着一些问题,这些问题需要及时…

    科研百科 2024年11月5日
    79
  • 画横道图的免费软件

    画横道图的免费软件:一个简单的方法 你是否曾经遇到过需要画横道图的情况?有时候,你可能需要一个简单的方法来快速画出横道图,但是你可能会找到收费或复杂的软件来完成这个任务。但是,今天…

    科研百科 2024年10月24日
    0
  • 建筑工程建设项目管理

    建筑工程建设项目管理 随着城市化进程的不断加速,建筑工程建设项目管理已经成为建筑行业中不可或缺的一部分。建筑工程建设项目管理不仅是对建筑工程项目进度、质量、安全等方面进行全面管理,…

    科研百科 2024年5月27日
    84
  • c#开发组态软件

    C#开发组态软件:提升工业自动化的效率和可靠性 随着工业自动化的快速发展,组态软件成为了工业控制系统中不可或缺的一部分。而C#作为一种强大的编程语言,被广泛应用于组态软件的开发中。…

    科研百科 2023年7月20日
    211
  • HBE项目管理系统

    HBE项目管理系统: 提升企业项目管理效率的利器 随着现代企业的快速发展,项目管理已经成为了企业运营中不可或缺的一部分。然而,传统的手工管理方式已经无法满足现代企业对于项目管理的需…

    科研百科 2024年12月11日
    0
  • 项目管理系统和方案编制

    项目管理系统和方案编制是现代社会中不可或缺的两个工具。本文将介绍项目管理系统和方案编制的基本概念和原理,以及它们在实际工作中的重要性和应用价值。 一、项目管理系统 项目管理系统是一…

    科研百科 2025年1月9日
    0