通用企业应用接口管理系统(Common Enterprise Application interface Management System)为用户提供基于Node.js的云端微服务应用开发运维,以及API管理解决方案。
CEAMS为云端微服务应用提供基于浏览器的在线一体化开发、调试、部署、监控管理、访问认证等能力。用户可在CEAMS系统上使用大量方便的云端服务应用的自动化开发和管理功能,例如自动化测试工具、代码和文档生成,零中断时间的一键升级和回滚应用版本,应用代码下载上传、版本比较等方便的功能。
CEAMS系统由系统管理终端、应用开发管理网站及门户、以及高性能应用服务器三部分组成。系统为用户提供基于网页的统一在线应用门户中心,用户可在其中查看系统中部署的各类在线应用,同时提供对应用的分类和检索能力。CEAMS系统提供在线测试、浏览API文档、自动生成调用方接入代码等方便功能。
统一的应用展示中心,用户可从中添加自己需要的服务资源
自动生成清晰严谨API文档和API接入端代码,支持基于JSON Schema的数据校验
为方便开发,CEAMS系统为用户的云端应用提供统一的API规范,以及基于该规范的HTTP + JSON的API调用接口,可支持各类客户端,例如移动端app,企业后台应用等类型应用的接入。开发云端应用时,用户首先在平台上编辑并生成应用的API规范。CEAMS系统为云端微服务应用提供的统一API规范借鉴了部分UPnP规范的设计,可被看成是一个JSON版的WSDL规范,其中含有应用、应用中的服务列表,以及服务内部各个API的完整描述信息。基于该API规范,平台为应用提供各项方便的自动化能力,例如API文档、客户端接入代码自动生成、应用框架代码自动生成、基于JSON schema的严格数据校验能力、基于JSON schema form表单自动生成的API测试工具、灵活的API数据缓存和限流保护等能力。
基于JSON Schema form自动输入表单生成能力的API测试工具
在CEAMS系统中,每个应用是一个标准的NPM包,可以对其添加任意开源第三方NPM依赖。在API规范编辑完成后,系统将自动为应用生成应用的框架代码,包含一个NPM包所需要的所有基础文件,以及API实现函数的入口等,开发者只需要编写函数的实现部分代码即可完成开发,而无需关心繁琐的HTTP协议实现,传参方法等。
系统为开发者提供了基于Web IDE的线上开发环境,可支持多用户同时在线开发。用户可以在在浏览器中,线上完成应用的开发、调试、和部署,而无需重复代码在本地开发测试,线上部署的繁琐过程。得益于CDIF应用服务器提供的热更新能力,应用从启动调试到完成部署仅需数十秒即可完成。同时,系统也支持在VSCode等流行的IDE中完成应用的线下开发调试,并通过NPM压缩包格式一键上传到系统中并部署。
![基于浏览器的云端开发环境,支持多人同时在线开发调试,Web Terminal和Node.js REPL
][4]
基于浏览器的云端开发环境,支持多人同时在线开发调试,Web Terminal和Node.js REPL
系统提供完整的Node.js NPM生态支持( https://www.npmjs.com ),用户可自由引用NPM生态中70多万个各类开源包中的任意一个,例如各类工具库、数据库驱动,消息中间件接口等,帮助方便地开发其云端应用和对接到各类异构系统资源。为方便使用,CEAMS系统为用户提供了免费的国内高速NPM镜像,内置了常用的数千个NPM包资源,并可实时自动更新版本和添加更多第三方开源NPM包。同时,系统内置了对各类常用协议,例如对REST API、SOAP等的支持,可帮助应用开发者方便地连接并从其他系统获取应用开发需要的数据和能力。
CEAMS系统已支持Node.js最新版本带来的多线程能力。在多线程模式下,每个应用部署于独立的worker线程中,并具备单独的线程上下文和堆空间,执行高CPU占用率任务时不会阻塞其他应用的执行。同时适用于I/O密集型与CPU密集型任务,如API网关和数据计算处理等。CEAMS系统的应用服务器可无缝地随时在传统的单线程和新的多线程模式下切换,对已部署的应用毫无感知。
应用服务器同时提供Node.js单线程和多线程运行模式,并可指定扩容实例个数
更进一步,基于CDIF应用服务器为应用提供的统一JSON数据接口,在获得相应的应用访问权限后,用户可使用纯粹JSON 数据格式调用系统中部署的其他应用,而不需要增加REST API特有的与HTTP相关的代码(例如GET, POST,传参方法等等),通过灵活地组织和处理来自不同应用的JSON 数据,并使用lodash、JSON path等高效的数据转换和查询工具,配合async等异步并发流程控制组件,组织出复杂、高性能的组合微服务应用逻辑和工作流程场景。
为帮助用户使用,CEAMS系统封装了Node.js多线程API,为不同应用线程之间的数据相互调用提供了高性能的异步消息接口,并且在单线程模式和多线程模式下完全统一。用户无需理解和使用繁杂的Node.js多线程API,或基于Cluster的多进程模型。只需要在应用的任何位置添加几行代码,创建对任意服务应用的客户端对象,并根据该服务应用提供的JSON API规范,即可完成和该服务应用之间的数据对接。
CEAMS系统已被成功应用于国内省级警务云平台建设,以及其他多个政企项目中,并稳定运行至今。我们在期间从未收到过一次故障崩溃报告。
目前,我们已为CEAMS系统已提供社区版免费下载,社区版包含了系统的全部功能,可以满足中小规模应用场景。用户可以通过bash安装脚本,在常用的Linux操作系统上一键下载、安装和启动整个系统。以下是CEAMS产品的下载连接,其中包含了系统的下载安装方法、用户手册、开发指南等文档:
https://www.apemesh.com/cn/do...
如果您对CEAMS系统的使用有任何问题,欢迎您邮件至:support@apemesh.com,或者加入灵长科技技术支持QQ群:618450152 向我们询问和了解。