云计算时代的企业级应用平台要求是分布式的,具有高性能、高伸缩性、高可靠性、高可用性、高可维护性、高安全性等特性,并支持分布式服务、分布式事务和分布式数据库。另外,企业级应用平台应该成为企业的统一应用开发和运行平台,这意味着它应支持所有各种类型的应用系统的开发和运行,包括前端应用,多岗位业务协同应用,后端服务应用,工作流应用,异步任务应用,批量任务应用和批量调度应用,等等。

 

 

 

CBF企业级分布式应用平台主要由CBF Stack分布式应用框架和CBF Studio可视化建模开发工具两部分组成。

什么是企业级应用平台?

CBF Stack 的优势

CBF Studio 的价值

CBF Stack 企业级分布式应用框架

CBF Stack是开放的、分布式架构的技术栈,为了让CBF Stack在要求最严苛的金融业核心系统也能够全面运用,我们从零开始,全局统筹,规划、设计整个平台的架构,所有部件全部以极高的标准完全自主研发,不含开源代码,成果高度安全可控。CBF Stack的性能、资源消耗、可靠性,以及可维护性等指标均远远超过运用Spring等开源框架拼装出来的基础平台,尤其是性能和可维护性,都要超过后者一到两个数量级。

 

 

 

CBF Stack的体系架构如下图所示:

 

其中各个模块说明如下:

1.  统一基础接口模块

 

该模块一方面用于对JDK API进行规范化和增强,以确保CBF Stack的设计能够顺利迁移到非Java的语言和技术体系上,例如Go、C++、C#等等;另一方面用于在推广时灵活适配企业自身的技术标准,例如,按照企业规范重新封装/实现日志输出、文件传输、消息转发、分布式缓存访问、加密/校验等基础API。

 

 

 

2.  通信框架模块

 

该模块用于构建具有强大处理性能、适配能力和可扩展性,运行高度稳定可靠的通信基础设施,以及可以对任意拓扑结构的分布式应用提供通信支持的应用框架。通信框架能够接管应用系统进程所有的对外通信,它支持多层协议,支持多种工作模式,甚至支持用特有的客户端API对接基于CICS/TUXEDO或MQ等传统中间件构建的外部应用系统。

 

 

 

3.  常用基础服务模块

 

该模块提供了一组基于通信框架模块构建的常用基础服务。这些基础服务可被分为两大类,一类是分布式应用协同普遍需要的基础服务:时钟、共享资源、同步、消息队列、信号,等等;一类是分布式应用部署和运行治理普遍需要的基础服务:负载均衡、健康监测、代理,等等。

 

 

 

4.  序列化模块

 

该模块提供一组序列化引擎,支持应用完成对象到字符串/字节流的转换(序列化/反序列化)、对象到XML的转换、对象到JSON的转换等操作。

 

 

 

5.  SQL服务和持久化模块

 

该模块用于支持应用访问数据库。一方面,支持开发人员继续使用与他们熟悉的SQL方式来访问数据库,另一方面,提供了先进的持久化引擎,支持应用用实体数据对象来访问数据库,持久化引擎将基于实体数据对象与关系数据库表之间的映射描述,运行时自动生成SQL语句完成数据访问操作。

 

 

 

6.  组件对象模型模块

 

该模块为所有组件化应用程序的编写提供了模式和规范,按照组件对象模型编写的组件类,其实例对象将自动具备可序列化/OXM/OJM,可持久化,可用组件设计器/管理器查看和设置状态的能力,以及设计时解耦和运行时热更新的能力。

 

 

 

7.  企业资源对象模型模块

 

该模块提供了一组对应到企业资源的实体数据对象类,用于支持其他模块管理和获取企业资源信息。这里提到的企业资源,主要是指IT相关的资源:人员、权限、设备、应用系统、已部署的应用组件、配置信息,等等。

 

 

 

8.  服务应用框架模块

 

该模块为服务/微服务应用提供了开发模型和以服务应用框架为主体的运行时支撑,包括:应用的加载和更新;应用运行时参数的管理;服务的注册和发现;对外统一提供处理、补偿以及应对通信故障、宕机等高可用问题所需的查证、重做、续做、异步补偿等接口;启停、限流、熔断、隔离等运行控制功能;服务处理过程的日志、监控、全链路跟踪和切面控制支持;服务处理时刻统一完成的动作——报文到接口数据的转换、接口数据的校验、日志号生成、应用接口的调用,和为应用中的动作统一提供的支持——会话环境的管理、多线程协作支持、分布式服务调用所需的自动路由、异步RPC和分布式事务管理支持;等等。

 

 

 

9.  批量应用框架模块

 

该模块为批量应用提供了开发模型和以批量应用框架为主体的运行时支撑。批量应用可分为两大块:一是批处理应用,用于处理具体的批量任务;二是批量调度流程,用于描述整个日终期间全部批量任务的产生和派发。与之对应,批量应用框架也分为两块,一是批处理框架,二是批量调度框架。批处理框架提供的运行时支撑包括:应用的加载和更新;应用运行时参数的管理;对外统一提供处理以及应对通信故障和宕机等高可用问题所需的查证、重做等接口;批量任务处理过程的日志和监控;批量任务处理时刻统一完成的报文到接口数据的转换、接口数据的校验、应用接口的调用,为主档处理应用提供的循环执行控制和续做支持,等等。批量调度框架提供的运行时支撑包括:批量调度流程的加载和执行;流程实例持久化(宕机可恢复运行)支持;流程实例运行监控支持;等等。

 

 

 

10.  异步任务应用框架模块

 

该模块为异步任务应用提供了协程编程的开发模型和以异步任务应用框架为主体的运行时支撑。把运行时间较长的处理过程从服务应用转移到异步任务应用中,让服务应用更快地给出响应,这是开发异步任务应用的主要背景。异步任务应用框架提供的运行时支撑包括:应用的加载和更新;应用运行时参数的管理;对外统一提供处理以及应对通信故障和宕机等高可用问题所需的查证、重做等接口;异步任务处理过程的日志和监控;异步任务处理时刻统一完成的报文到接口数据的转换、接口数据的校验、应用接口的调用,为应用提供的协程编程模型、多路并行和持久化(宕机可恢复运行)支持,等等。异步任务应用框架自带批处理分块调度异步任务应用,用于支持对主档处理任务进行自动分块和基于分块进行的批量任务处理的大规模并发调度,以求得在最短时间内完成主档处理任务。

 

 

 

11.  工作台模块

 

该模块是一个为用户提供了规范、灵活、丰富、友好的UI框架和控件、以插件的方式提供具体功能的桌面应用程序。

 

 

 

12.  组件设计和管理模块

 

该模块是工作台上的插件,它是统一的、通用的组件对象设计和管理工具,任何一种类型的组件对象都可以使用该工具提供的可视化、图形化的UI进行状态查看和设置,而不必专门开发相应的工具。

 

 

 

13.  企业资源管理模块

 

该模块是专门针对企业资源对象的管理工具,它以权限为依据,为不同用户提供不同的企业资源管理UI——用户需要先登录才能使用一个加装了企业资源管理模块的工作台。

 

 

 

14.  系统部署和运行管理模块

 

该模块是企业资源管理模块的扩展,它提供了各类应用系统的部署和运行管理UI,例如,服务系统运行控制UI,服务应用运行时参数管理UI,服务处理过程日志查询、监控、全链路跟踪UI,批量调度系统控制台UI,等等。

高性能

 

性能是开源框架的10倍以上

低消耗

 

资源消耗是开源框架的50%

可维护

 

可维护性是开源框架的N倍

代码量只是开源框架的1%

CBF Studio 可视化建模开发工具

CBF Studio是一个集架构管理和应用建模开发的一体化工具,企业的架构设计人员和应用开发人员可以使用同一套可视化工具,以模型驱动的方式,完成对企业的架构管理工作和应用开发任务。

其主要特点包括:

1.  先进的设计理念

 

CBF Studio秉承“架构驱动,领域驱动,模型驱动”的设计理念,把架构建模与治理和具体应用开发完美结合起来,在开发大规模业务应用时,能够大幅提升协作能力和开发效率,其开发效率之高,成果可维护性之好,相对于传统编程开发方式能提升一个量级。

 

 

 

2.  全面支持《银行业务建模指南》标准

 

为促进银行业架构治理和数字化转型,提升银行业业务建模标准化水平,人行推出了金融行业标准《银行业务建模指南》。CBF Studio全面支持该标准所提出的五级流程建模方法,可对流程、数据、产品、用户体验等四类模型进行可视化建模。

 

 

 

3.  新一代可视化应用开发语言ADML

 

CBF Studio设计了可扩展的领域专用语言ADML(Application Development Modeling Language)。ADML具有面向对象设计、多重继承和泛型、自动垃圾回收、协程等现代高级编程语言特性。ADML既支持结构化的流程设计,也支持非结构化的流程设计;ADML可用于描述一切业务应用处理流程,它既适用于描述后端的服务和批处理过程,也适用于描述前端的用户界面和交互控制流程,还适用于描述多岗位的业务协作流程,以及批量调度流程和异步任务流程。

 

 

 

4.  支持自动生成代码和设计文档

 

可由模型自动生成全部代码和脚本(包括数据库脚本),无需另外编写任何代码(基于ADML可以生成各种源代码:Java,COBOL,C#,TypeScript等);可由模型自动生成全部设计文档,包括概要设计和详细设计文档。

 

 

 

5.  实现应用开发成果与底层技术体系解耦

 

部署时刻无需变动应用开发成果,即可选择Java, .NET, COBOL,TypeScript等底层技术框架,以及DB2, Oracle, MySQL, SQL Server, GoldenDB,TDSQL,TiDB等各类数据库。在技术栈层面实施迁移、升级即可以让应用开发成果支持更多的编程环境,或者其他的数据库,以及更新的技术架构。

 

 

 

6.  模型执行引擎

 

CBF Studio提供模型执行引擎,可直接加载并运行模型,模型设计完成时,开发人员无需生成代码、编译构建并部署应用程序组件,即可立即测试、体验设计成果。模型执行引擎处理性能强劲,甚至不次于基于生成代码构建部署的应用系统,有效地提升了大型应用开发、部署和测试过程的工作效率。

 

 

7.  支持架构管理和应用建模开发的全生命周期管理

 

各级应用开发项目从设立、工作边界的设定,成员、角色、权限的管理,到设计、开发、部署、测试,再到版本管理、变更管理,直至成果提交、合并后关闭,所有工作均基于面向模型的专业工具以可视化、图形化的方式进行。

 

 

8.  支持大规模团队协同开发

 

业务专家、业务设计人员、技术架构师、应用开发人员等不同角色都在同一个协同工作平台上开展工作,使用同一套可视化工具,大大提升了团队工作效率,降低了沟通成本。

 

 

9.  易用、成熟、完备的工具集

 

操作界面友好、简单易用,一般人员培训一至三天即可开展工作。工具集包含了很多非常有用的辅助工具,包括面向模型的检索与替换工具、质量管理工具、运行管理工具、调试工具、数据库迁移工具,等等。

促进企业架构建设

 

有效提升企业级业务架构和业务建模工程的实施效率和成果的价值,大幅降低设计文档编写工作量。

保障项目实施

 

有效保障项目应用开发与企业级架构设计的一致性。

提升应用开发效率

 

大幅降低应用开发编程与调试的工作量和复杂度,代码质量得到提升。

落实自主可控战略

 

有效消除技术架构变动对应用产生的影响,更好地落实自主可控战略。