大型银行组装式应用在数字生态基座落地实践( 三 )


在具体实施的时候 , 我们也是对标组装式应用开发和PBC的概念 , 支持“模块化、自主性、可发现、可配置” , 其实关键点在于支持数据标准转换和对外统一标准的服务输出 , 包括统一数据字段、统一接口标准、统一UI风格转化 。
尤其是UI风格方面 , 我们所说的统一UI风格 , 指的是统一UI风格的设计理念 。 面向不同的客户提供的SaaS产品 , 客户在UI风格上可能会有不同的需求 , 比如党建方面则是红色的颜色会偏多一些 。 同一个共享服务包 , 需要支持面向不同的客户群体和SaaS产品能通过统一的UI风格进行适配 。 在最底层我们的技术细节实现的时候 , 也会支撑统一的数据字段、数据标准的转化 。 如果共享服务包在组装的时候缺少了一套统一的标准 , 那么组装的时候必然会存在一些问题 。
我们对于PBC落地的技术要求和管理要求如下:
1、技术要求
配置能力暴露:暴露菜单、页面UI配置接口 , 在产品复用业务时初始化设置菜单、实现UI配置等配置功能的设置和初始化 。
应用接口暴露:根据DDD思路对共享服务抽取接口 , 形成场景化的业务能力组合 , 并在组装平台进行发现 。
对外输出:支持转换为开发态的业务组件 , 提供行外独立部署 。
2、管理要求
开展牵头应用承建机制:由领域负责应用承接进行建设 , 按照单独建设群组方式进行共享 。
场景建设:在智慧教育、乡村振兴、政务等重点战略重点突破 , 形成相关领域的业务能力包 。
四、组装式应用开发
围绕业务服务包的建设 , 我们当时也对标了组装式应用开发的理念 。
1、金融生态应用组装平台
大型银行组装式应用在数字生态基座落地实践
文章图片
我们规划建设了一个金融生态应用组装平台 , 平台主要分为三个部分:首先是元数据目录 , 比如数据编排、数据标准和数据的动态集成 , 未来可能还有知识图谱等概念做一些基础的支撑;元数据目录再上一层是应用模板 , 面向不同的场景 , 我们需要制定出不同的应用模板;最上层是可视化建设 , 针对不同模板下的业务服务包(PBC)进行组装 , 同时也有支撑PBC建设的技术组件 , 通过平台自由组装 。
通过这三层实现增量功能 , 包括增量产品、存量产品的快速生产 , 对于新产品可以通过组装快速生成整个应用 , 存量则更多考虑如何兼容和升级 。
2、DDD设计思路
在实际落地开发的时候 , 对于PBC如何划分 , 内部提供了什么能力等问题 , 需要一套方法论支撑 。 业界上近几年微服务比较热门 , DDD的思路也是用得比较多的 , 我们行内有一套业务建模的方法与DDD是相通的 , 通过建模梳理出了PBC的一些能力 。 第二步就是生成PBC , 因为组装是一个积木的概念 , 所以需要先生成积木 , 再组装积木 , 最后生成一个完整的工程 。
在业务建模方面 , 我们采用DDD设计思路 , 在架构层面引入六边形架构 。 因为我们在建设的时候 , 传统的应用会有一些分层的概念 , 但是代码可能会串层 , 发生逻辑的上移或下移 , 我们通过六边形架构诠释应用内部和外部差别 , 内外部通过适配器交互进行隔离 , 内部聚焦领域服务 , 从而实现稳态领域层和适配层解耦 。
大型银行组装式应用在数字生态基座落地实践
文章图片
从上图可以看出 , 我们在原始的六边形架构上做了一些延伸 , 也就是6个标红的部分 。 我们在落地这套领域驱动设计的架构时 , 领域层聚焦于领域模型对象、领域服务、应用服务的设计和组合 。 相当于在业务建模的时候 , 会识别出来有哪些领域对象 , 围绕着这些对象会有哪些服务和应用 , 这是最核心的内容 。