对于前后端分离的应用来说,后端应用主要是以API的形式对外提供能力,而在微服务架构盛行的当下,很多企业对于后端传统的应用程序已经做了打散和拆分,实现了微服务改造。如果一个企业的IT建设比较全的话,那么在管理域、业务域和运维域的传统信息化系统至少超过10个,全部经过微服务拆分改造后的微服务应用可能达到几十甚至上百个。如此多的微服务应用不仅运维管控存在问题,而且微服务应用的开发、变更、升级都会存在较大的时间和资金成本。

微服务运维管控的问题交给Devops,本章只为应对微服务应用开发变更带来的问题。目前业界提供了一个快速应对的解决方案—API开发设计平台,该平台能协助开发人员全程可视化、无代码快速创建API并发布,业务变更时快速更新API,分钟级完成微服务应用的产品开发部署。API开发设计平台真正降低了企业应用进行微服务改造的难度,对于开发设计人员来说是一个非常不错的工具。

API开发设计平台的适用场景主要包括以下几个方面:

  • 统一后端API设计/开发/测试平台

    承担API的设计、开发、测试功能,可通过配置完成API的在线发布,业务人员同样可以熟练操作。

  • 移动端API开发平台

对于APP、微信、小程序、钉钉等前端应用,可作为统一后端API开发平台

  • 前后端分离开发

对于前后端分离的业务系统,可作为后端API的开发平台

  • 数据快速提取

能实现数据中台的数据能力发布,可作为数据快速提取平台

  • 微服务架构开发

同样可作为业务系统 (OA、CRM、ERP、HR、MES)微服务改造与开发的基础平台。

我们在多年实施SOA和财务共享的实践经验基础上,深入调研和听取用户的需求,并结合业界最佳的产品实践,经过1年多的规划、研究和产品开发测试,API开发设计平台V1.0版本终于问世。下面我们就来深入了解一下该平台的功能。

首先来谈一下平台的整体技术架构,该平台底层框架采用JeecgBot,架构团队在JeecgBot的基础之上做过一些优化。对于服务的发布,平台采用了IBM开源轻量的Node-Red作为API在线发布的基础组件,使用freemaker开发模板作为微服务应用生成框架,并集成了dbapi产品的后端所有功能。其他技术框架包括Springboot+
swagger+Mybatis+lombok+Redis+Shiro+Maven +Vue等。

不多说,上界面,登录和主页:

  • 场景一:数据实体生成API的实现:

1、对于数据源的管理,平台支持连接主流的关系型数据库Mysql/Oracle/Sqlserver.支持连接的在线测试、密码加密、连接共享等功能。

2、支持对元数据的管理,元数据为建立数据实体的基础数据依赖,可通过关联多个元数据来构建多层数据实体。

3、支持通过导入元数据的方式来建立多层数据实体(目前支持父/子/孙三层实体关系),可根据选择的数据源连接类型来生成数据库建表的SQL语句,并可直接在平台上对数据源连接的数据库生成数据表结构和表依赖关系。

4、支持数据实体快速发布在线API,在线API发布支持公有和私有两种方式,私有API通过配置群组和Token值来限制访问;在线API发布后形成Node-Red的流程,通过设计器可对流程进行拖拽修改;对于发布后的API,可直接在平台上进行测试。通过数据实体发布的API支持对该数据实体的新增/修改/删除/查询,操作的数据会同步读取或者写入数据实体对应数据源连接的库表中。

  • 场景二:SQL语句生成API的实现:

1、可编写SQL语句发布在线API,在线API发布在当前服务器下,支持动态SQL的编写和发布,支持传入参数的定义、配置和SQL映射。

2、通过SQL发布后的API可支持上线/下线操作、公有私有配置、在线API测试操作。

  • 场景三:数据表生成API的实现:
  1. 对于数据库中已经存在的数据表,也可直接发布生成API。

2、数据表API发布功能除了发布常用的对数据表的新增/修改/删除/查询API之外,还发布对数据表进行分页和条件查询的API;数据表API发布支持对发布后API的动态编排,公有私有配置、API端点的在线测试。

  • 场景四:基于YAML规范来开发发布API:

1、集成了第三方API规范设计器,支持YAML/JSON格式规范的结构化设计。也集成了Swagger设计器,可灵活编写API规范文件。

  1. 基于规范的API在线发布,可按步骤填写配置完成API的开发发布。支持对规范入参与SQL参数的快速映射。

  1. 基于规范在线发布后的API同样也会部署到Node-Red中形成流程,支持对发布后API的动态编排,公有私有配置、API端点的在线测试。

  • 场景五:通过数据实体/数据表/SQL/API规范四种方式生成API接口可满足在线API的使用要求,但如果要像微服务应用那样分布式部署,我们就需要将这些API进行组合再导出部署。平台支持选择多个类型的多个API进行组合,组合导出后生成java的springboot项目源码以及编译打包后的可执行文件,开发人员可直接拷贝jar包到服务器上运行。


综上所述,平台API开发设计功能支持Mysql/Oracle/Sqlserver三种类型数据库,并且API加入了数据库事务支持,针对API服务的整体性事务,出错回滚所有数据。在线API的调用和导出后微服务应用中API的调用数据和返回数据完全相同,保证了API在线使用和分布式部署后使用的一致性。在线API调用日志都已记录并可供查询和统计。

本章内容主要就应用场景和V1.0产品的功能进行了描述,后续将持续在此基础上进行扩展和优化,大家如果对这块内容感兴趣的,可加我微信13816919057,一起探讨研究。
和分布式部署后使用的一致性。在线API调用日志都已记录并可供查询和统计。

本章内容主要就应用场景和V1.0产品的功能进行了描述,后续将持续在此基础上进行扩展和优化,大家如果对这块内容感兴趣的,可加我微信13816919057,一起探讨研究。

API开发平台应用场景和产品研发相关推荐

  1. API开发平台,专注API无代码快速发布

    RestCloud API开发平台是RestCloud完全自主研发的基于微服务架构的专注API高效开发的专业化平台,平台相比于传统API开发模式具有更轻量级.更快速.更全面.更低代码量.更易于学习等特 ...

  2. API开发平台,企业级API服务发布平台

    API开发平台基于微服务架构快速开发API接口服务,是一款轻量级的API服务发布平台.可快速的开发企业级前后端分离的业务系统,通过建立数据模型和业务模型能够无代码快速的发布API服务. RestClo ...

  3. 通过API开发平台构建微服务应用实例(一)

    API开发平台能帮助开发人员快速发布API和构建微服务,那么这个过程是怎么样的,我们今天就用使用实际的场景来演示整个开发过程.下图是传统供应链系统的功能架构. 可以看到供应链系统的模块还是比较多的,我 ...

  4. 地图API开发平台大比拼

    八大地图API开发平台大比拼 http://www.enet.com.cn/gps/ 2011年12月07日14:08 来源:eNet硅谷动力 [文章摘要]在平台适用性方面,除MapBar和51地图只 ...

  5. 一站式开发平台落地指南,让研发规范化、模块化、自动化

    一站式开发平台是什么? 举个例子,行政办事机构便民的一项措施:一站式服务平台,是指办理一件事,在一个地方和一个部门完成,不需要辗转多个地方和多个部门,其实质就是服务的集成.整合.同理来说,一站式开发平 ...

  6. 没想到!Excel服务器、excel开发平台、网表产品和云表,区别真的很大!

    用好一个工具很重要,但挑对工具带来的效果比你钻研一个工具数年都来得有意义,这是本人从业多年,实际体验之后得来的结论. 基于EXCEL的开发平台 在几年基层的工作之后,受到老总赏识,成为了公司的信息化工 ...

  7. 机智云AIoT开发平台,让物联网产品开发和运营有迹可循

    物联网产品的快速更新迭代,使得很多研发出来的产品越来越频繁的进行技术升级,尤其在当下,一个好的产品,不仅设备好用,APP也要面向用户做好升级优化,才能让一个优秀的产品被更多用户推荐. 为了让物联网产品 ...

  8. java高德地图api开发平台_【高德地图API】从零开始学高德JS API(一)地图展现...

    摘要:关于地图的显示,我想大家最关心的就是麻点图,自定义底图的解决方案了吧.在过去,marker大于500之后,浏览器开始逐渐卡死,大家都开始寻找解决方案,比如聚合marker啊,比如麻点图啊.聚合m ...

  9. Ruby on Rails + Mongoid+Jbuilder 搭建API开发平台

    Mongoid 新建项目时候去掉active-record,例如: rails new mongoid_app --skip-active-record --skip-test-unit --skip ...

最新文章

  1. django之BBS需求分析和orm设计-71
  2. 《设备调试与网络优化》教学讲义(二)
  3. Dragon Quest VIII 流程攻略(繁体中文完结版)
  4. 在浙学大学计算机基础,艺术设计-浙江大学本科生院.PDF
  5. 通信与计算机技术的联系,通信技术与计算机技术融合发展论文
  6. 【Elasticsearch】es Timelion是Kibana中时间序列的可视化工具
  7. ELK logstash grok匹配失败存另外的es表
  8. 两个类似的ViewModel一个可以重写事件,另一个不能重写事件,是哪里出了错。...
  9. VR全景图拍摄制作之无人机航拍
  10. socket 由于目标计算机积极拒绝 无法连接,由于目标计算机积极拒绝,无法连接。 192.168.3.9:8081...
  11. python下载和pycharm下载
  12. Java 9 模块化(Modularity)
  13. CVPR2019|Depth-Aware Video Frame Interpolation【论文阅读笔记】
  14. Nat. Rev. Genet. | 通过可解释人工智能从深度学习中获得遗传学见解
  15. java telephony jar_编译错误解决方法
  16. “元宇宙”,究竟离我们有多远?(中)
  17. 纺织服装行业通过GRS认证增加产品竞争力
  18. EMC潘国林: 大话存储系列之磁盘娶亲(RAID)
  19. 维特根斯坦 《逻辑哲学论》、《哲学研究》
  20. 38个常用的Python库

热门文章

  1. java入门作业:Employee类声明为抽象类 包含三个属性:name、id、salary 提供必要的构造器和抽象方法:work()对于Manager类来说,他既是员工,还具有(bonus)的属性
  2. Android Studio安装更新终极解决方式,flutter页面跳转防止页面重复刷新
  3. apt 与 dpkg 命令详解
  4. Leetcode215 寻找数组中第K大的数
  5. 找出数组中第k大的数
  6. QT中16进制二进制字符串的转换
  7. ss5+proxychains基础配置步骤
  8. 发光二极管之一——工作原理图解分析
  9. Sivers Semiconductors 与 Richardson RFPD 签署全球分销协议
  10. 调音台docker教程_Docker 容器连接 | 菜鸟教程