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

相关推荐

  • 科研项目出差理由怎么写

    科研项目出差的理由多种多样,但无论原因如何,出差都是进行科学研究的必要手段。以下是一些常见的科研项目出差理由: 1. 进行实验:在进行科研项目时,需要进行实验来验证理论。出差可以让…

    科研百科 2025年2月2日
    11
  • 科研项目合作代理机构

    科研项目合作代理机构 科研项目合作代理机构是一个重要的组织形式,可以帮助科学家和研究人员在项目中合作,共同解决问题并取得成功。这种代理机构通常由一群经验丰富的专业人士组成,他们熟悉…

    科研百科 2025年2月4日
    0
  • 教科研项目管理办法(教科研项目管理系统)

    教科研项目管理系统教科研项目管理系统是由美国教育研究院和华东师范大学教育研究院共同进行的国际化管理工作。美国教育委员会主席埃·奥亚伯拉·米勒认为,教科研的阶段包括硕士研究生、博士研…

    科研百科 2024年9月27日
    28
  • 开发 – 无需后端编码,手把手教你把 WordPress 做成小程序(wordpress生成小程序)

    文 | Jeff 几周前,我花了两天时间,将自己的 WordPress 网站做了个微信小程序版本。 这篇文章,记录的就是我自己在开发第一版小程序的过程。 知晓程序(微信号 zxcx…

    科研百科 2023年4月5日
    942
  • 科研项目级别划分

    科研项目级别划分 科研项目的级别划分是项目管理中的一个重要环节。不同级别的科研项目有不同的特点和要求,需要不同的资源和管理策略。本文将介绍一些常见的科研项目级别划分,并分析它们的区…

    科研百科 2025年2月20日
    0
  • amis 图表

    AMIS 图表: 智能交互系统的发展概述 随着科技的不断发展,智能交互系统已经成为人们生活中不可或缺的一部分。AMIS(Advanced Interactive Multi-Sph…

    科研百科 2024年11月13日
    1
  • 美国传媒暑期科研项目

    美国传媒暑期科研项目: 探索数字时代下的传媒变革 随着数字时代的到来,传媒行业也在不断变革。美国传媒暑期科研项目旨在探索这一变革,并了解如何适应和应对这些挑战。 在数字时代,传媒行…

    科研百科 2025年3月28日
    1
  • 项目管理系统总代理

    项目管理系统总代理:如何帮助您的公司提高效率和准确性 随着现代企业的快速发展,项目管理系统已经成为一种必要的工具,用于管理和控制项目进展。作为项目管理系统总代理,我们可以帮助您的公…

    科研百科 2024年12月28日
    0
  • 强大的项目管理软件:OmniPlan Pro 4 mac中文版(mac项目管理omniplan价格)

    omniplan mac中文版是mac平台上一款强大的项目管理软件,可以帮助您创建与特定企业关联的所有任务的列表,帮助您跟踪所有可用资源,然后允许您使用日历视图计划作业。您可以在时…

    2022年6月7日
    283
  • 多媒体技术开发迎来新常态(多媒体技术开发迎来新常态的例子)

    编者按:AI 5G让多媒体技术生态进入到新常态,下至普通开发者,上到CTO、CIO都在面临新的机遇和挑战。 文|LiveVideoStack主编 包研 随着5G牌照发放,5G终端正…

    科研百科 2024年5月20日
    99