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月13日 下午1:23
下一篇 2024年5月13日 下午1:35

相关推荐

  • 先进典型- 北京市直机关2022年“文明驾车 礼让行人” 优秀值守志愿者先进事迹(二)

    “文明驾车 礼让行人”专项整治行动开展以来,北京市直机关广大党员干部带头文明驾车、带头认领路口、带头宣传引导,起到了良好的示范引领作用。一年来,市直机关各单位组织党员干部,利用早晚…

    科研百科 2023年11月12日
    58
  • 项目管理中的项目进度计划

    项目管理中的项目进度计划 项目管理是组织实现目标的过程,其中包括制定项目计划,监督进度,控制成本,确保质量等方面。在项目执行过程中,项目进度计划是一个非常重要的工具,可以帮助项目经…

    科研百科 2024年5月27日
    66
  • 工程项目管理进度

    工程项目管理进度 工程项目管理进度是项目管理中非常重要的一部分。一个好的进度计划能够确保项目按时完成,并且能够满足客户的需求和期望。在这篇文章中,我们将探讨工程项目管理进度的重要性…

    科研百科 2024年8月18日
    23
  • 工程项目管理系统实施方案!

    随着我国经济的高效发展,各行各业发展迅速,许多的企业为了对企业工程项目更好的进行管理,所以对工程项目管理系统进行了实施。那工程项目管理系统实施方案是怎样的呢?下面,就跟随小编来了解…

    科研百科 2022年12月5日
    170
  • 华为客户关系管理法读后感

    华为客户关系管理法读后感 作为一名作为一名普通员工,我有幸能够阅读华为客户关系管理法这本书,这本书涵盖了客户关系管理的方方面面,从客户需求管理、客户关系维护、客户满意度管理、客户忠…

    科研百科 2024年12月1日
    5
  • 研发项目经费

    研发项目经费:推动企业发展的关键因素 研发项目经费是企业进行技术创新和产品质量提升的关键因素之一。随着科技的不断发展和竞争的加剧,企业需要投入大量的资金来研发新产品、新技术,以提高…

    科研百科 2024年5月24日
    77
  • 业务流程管理平台

    业务流程管理平台:提升企业效率的利器 业务流程管理平台是一种帮助企业优化业务流程、提高效率的工具。随着信息技术的不断发展,业务流程管理平台已经成为企业提高效率、降低成本、提升客户满…

    科研百科 2025年1月3日
    0
  • 罗云孜四川大学

    罗云孜四川大学,是中国著名的综合性大学之一,位于四川省成都市。学校创建于1912年,历史悠久,文化底蕴深厚。学校现有15个学院,55个本科专业,涵盖了文、理、工、管、法、教育、艺术…

    科研百科 2024年10月12日
    7
  • 开源项目管理系统

    开源项目管理系统: 帮助团队更高效地协作 开源项目管理系统是一种工具,可以帮助开发人员、项目经理和团队成员更高效地协作。开源项目管理系统通常包括一些功能,如任务管理、进度跟踪、文档…

    科研百科 2024年12月11日
    0
  • 齐鲁红星丨济宁兖州:创新实施“五个一” 助推机关党建高质量发展

    济宁市兖州区委区直机关工委聚焦“三个表率、一个模范”总目标,把握“围绕中心、建设队伍、服务群众”的总要求,立足机关工委工作职责,创新实施“五个一”,奋力推动兖州区直机关党建高质量发…

    科研百科 2024年6月24日
    42