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

相关推荐

  • 关于三亚的金融科研项目

    三亚是中国海南省的一个地级市,也是一个著名的旅游胜地。近年来,三亚的金融科研项目越来越受到关注。 三亚金融市场的规模相对较小,但其独特的地理位置和旅游业的发展潜力,使其成为中国南方…

    科研百科 2025年1月31日
    0
  • 郑大一附院科研项目申请

    郑大一附院科研项目申请 近年来,随着医学技术的发展,郑大一附院的医疗设备和技术水平也在不断提升。为了推动医学技术的进步,郑大一附院不断申请科研项目,以提升医院的科研水平。 作为一所…

    科研百科 2024年4月12日
    121
  • 通用项目管理软件

    通用项目管理软件 项目管理软件是一种用于管理各种不同类型的项目的工具,包括大型项目、小型项目和项目组合。通用项目管理软件是一种多功能的工具,可以帮助项目经理和团队更好地管理项目进度…

    科研百科 2024年8月15日
    41
  • 小项目管理系统app

    小项目管理系统app: 轻松管理小项目 随着现代软件开发的日益复杂和规模的增长,小项目管理系统app变得越来越重要。这个小项目管理系统app可以帮助开发者更好地组织和管理他们的小项…

    科研百科 2024年12月16日
    0
  • 科研课题申报程序

    科研课题申报程序 随着社会经济的不断发展,科研课题申报程序成为了一个重要的环节。作为政府相关部门,他们需要了解社会各界对于科研项目的需求和意见,并为他们提供支持。下面,我将介绍一个…

    科研百科 2024年9月11日
    37
  • 项目管理系统高层访谈

    项目管理系统高层访谈 随着信息技术的不断发展,项目管理系统已经成为项目管理中不可或缺的工具。本文将进行一项针对项目管理系统高层访谈的调研,以深入了解当前项目管理系统的发展趋势和应用…

    科研百科 2025年6月11日
    0
  • 东乡管理系统开发项目

    东乡管理系统开发项目 随着现代社会的不断发展,企业和个人对于管理的需求也在不断增加。因此,管理系统开发项目成为了一个热门的选择。在这样的背景下,我们开发了一款东乡管理系统,旨在帮助…

    科研百科 2025年1月15日
    0
  • 客户服务管理,维护客户关系-第四十二篇(1034字)(客户服务及关系维护方案)

    客户关系管理是营销工作的重点之一, 维护好店铺和客户之间的关系,能够为店铺带来大量的回头客,促进店铺运营的良性循环。客户关系管理注重的是与客户的交流, 应当以客户为中心, 而不是以…

    科研百科 2024年4月27日
    128
  • 信息系统项目管理 李晓光

    信息系统项目管理 李晓光 信息系统项目管理是指对信息系统进行有效的规划、组织、实施和控制,以实现预期的目标。在信息技术迅速发展的今天,信息系统项目管理已经成为了项目管理中的重要组成…

    科研百科 2025年6月5日
    0
  • 学校教职工考勤管理制度(学校教职工考勤管理制度规定)

    为加强我校教师队伍建设,建立健全考勤机制,提高教育教学工作效率和质量,根据《XX县中小学教师管理考核暂行办法》(X教发【202X】8号文件),结合我校实际,特制定本制度。 第一条 …

    科研百科 2023年6月26日
    133