中台背景下的多端自适应的业务扩展模型架构实践

2024-08-22 00:18

本文主要是介绍中台背景下的多端自适应的业务扩展模型架构实践,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


前言

随着数字化变革的持续深入和中台战略的落地,越来来越多的最佳实践涌现出来,这里我不在赘述什么是数字化转型和什么是中台,这里我分享一下我们在中台建设中的一些顶层思考和实践。在中台规划之前中我一直在思考该如何应对业务的演进及不确定性,很遗憾至今我仍旧没有找到我满意的答案。在中台建设中的关键的方法是分割业务的确定性和不确定性,即封装确定性沉淀为中台化的共享服务能力,隔离不确定性通过扩展能力或扩展方式使其具备演化的能力。简而言之就是业务的内含与外延的动态演变。

 

一、核心思想

如果要把现实的物理世界映射到计算机的数字化世界就需要建立模型去承载物理世界的信息,往往我们设计的模型只涵盖了具备确定性的业务,对于那些外延性或不确定性的业务,业务模型往往不支持扩展或兼容。那么我们能不能通过某种方式让已有的业务模型具备不确定性业务的扩展方式呢?答案是肯定的,很庆幸我和我们团队在业务中台建设的道路上找到了确定性业务VS不确定性业务模型的封装和隔离的策略及不确定性业务的扩展方式(见图1确定性业务和不确定业务的封装扩展方式)。

 

                                                                       

                                                                                                    图1  确定性业务和不确定业务的封装扩展方式

 

二、落地实践

1.元数据模板引擎

业务扩展模型元数据字段管理:

面向对象编程的过程就是把真实的物理事件通过建模映射在对象模型之中,其关键就是对象属性的定义。通过上述两个动作,任何不确定性业务抽象出来的属性都可以通过字段管理进行定义和描述。

1 在中台规划中我们基于层设计规划和定义了数据所属的类目;
2 基于可视化的操作界面定义业务模型需要的属性和字段;

                                      

 

 

业务扩展模型元数据模板管理:

有了可以动态编辑和定义业务模型属性的地方,我们还需要通过某种方式对业务模型的字段或属性进行编排,那可视化的编排视图将使这种模型编排变成可能。我们的做法如下

1 通过可视化的界面定义和编排不确定性业务的属性,我们从抽象定义出来的属性库中选取我们需要的属性构建成我们的元数据模板如图2所示;
2 通过构建把元数据模板编排的字段转换成我们的业务扩展模型代码并存入库并如图3所示;
编排业务扩展模型元数据模板属性
                                                      图2 元数据模板字段编排
元数据模板
                                                     图3 元数据模板

 

业务扩展模型代码生成:

1.获取元数据模板的字段

                                   

 

2.构建元数据模板

                                    

 

3.生成java类

                                   

4.把Java类数据存入到模板中

                                  

 

 

2.业务扩展共享模型库动态加载

业务中台应用运行态热加载业务扩展模型:

核心思想是通过业务能力扩展框架在模型发布后通过事件触发热加载机制从maven仓库中拉取最新的共享业务模型构建包,动态加载到运行区。这里可能有人问,是怎么加载的。具体的实现细节请关注我微信公众号“架构微学堂”

                                                                                                                    
 


总结


以上就是今天要讲的内容,本文仅仅简单介绍了业务扩展模型设计思路及定义过程,具体的使用将在下一篇为您呈现。

这篇关于中台背景下的多端自适应的业务扩展模型架构实践的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1094697

相关文章

SpringBoot简单整合ElasticSearch实践

《SpringBoot简单整合ElasticSearch实践》Elasticsearch支持结构化和非结构化数据检索,通过索引创建和倒排索引文档,提高搜索效率,它基于Lucene封装,分为索引库、类型... 目录一:ElasticSearch支持对结构化和非结构化的数据进行检索二:ES的核心概念Index:

Python数据验证神器Pydantic库的使用和实践中的避坑指南

《Python数据验证神器Pydantic库的使用和实践中的避坑指南》Pydantic是一个用于数据验证和设置的库,可以显著简化API接口开发,文章通过一个实际案例,展示了Pydantic如何在生产环... 目录1️⃣ 崩溃时刻:当你的API接口又双叒崩了!2️⃣ 神兵天降:3行代码解决验证难题3️⃣ 深度

C++ move 的作用详解及陷阱最佳实践

《C++move的作用详解及陷阱最佳实践》文章详细介绍了C++中的`std::move`函数的作用,包括为什么需要它、它的本质、典型使用场景、以及一些常见陷阱和最佳实践,感兴趣的朋友跟随小编一起看... 目录C++ move 的作用详解一、一句话总结二、为什么需要 move?C++98/03 的痛点⚡C++

Spring配置扩展之JavaConfig的使用小结

《Spring配置扩展之JavaConfig的使用小结》JavaConfig是Spring框架中基于纯Java代码的配置方式,用于替代传统的XML配置,通过注解(如@Bean)定义Spring容器的组... 目录JavaConfig 的概念什么是JavaConfig?为什么使用 JavaConfig?Jav

Nginx概念、架构、配置与虚拟主机实战操作指南

《Nginx概念、架构、配置与虚拟主机实战操作指南》Nginx是一个高性能的HTTP服务器、反向代理服务器、负载均衡器和IMAP/POP3/SMTP代理服务器,它支持高并发连接,资源占用低,功能全面且... 目录Nginx 深度解析:概念、架构、配置与虚拟主机实战一、Nginx 的概念二、Nginx 的特点

CPython与PyPy解释器架构的性能测试结果对比

《CPython与PyPy解释器架构的性能测试结果对比》Python解释器的选择对应用程序性能有着决定性影响,CPython以其稳定性和丰富的生态系统著称;而PyPy作为基于JIT(即时编译)技术的替... 目录引言python解释器架构概述CPython架构解析PyPy架构解析架构对比可视化性能基准测试测

Java领域模型示例详解

《Java领域模型示例详解》本文介绍了Java领域模型(POJO/Entity/VO/DTO/BO)的定义、用途和区别,强调了它们在不同场景下的角色和使用场景,文章还通过一个流程示例展示了各模型如何协... 目录Java领域模型(POJO / Entity / VO/ DTO / BO)一、为什么需要领域模

MySQL集群高可用架构的两种使用小结

《MySQL集群高可用架构的两种使用小结》本文介绍了MySQL的两种高可用解决方案:组复制(MGR)和MasterHighAvailability(MHA),文中通过示例代码介绍的非常详细,对大家的学... 目录一、mysql高可用之组复制(MGR)1.1 组复制核心特性与优势1.2 组复制架构原理1.3

深入理解Redis线程模型的原理及使用

《深入理解Redis线程模型的原理及使用》Redis的线程模型整体还是多线程的,只是后台执行指令的核心线程是单线程的,整个线程模型可以理解为还是以单线程为主,基于这种单线程为主的线程模型,不同客户端的... 目录1 Redis是单线程www.chinasem.cn还是多线程2 Redis如何保证指令原子性2.

OFD格式文件及如何适应Python将PDF转换为OFD格式文件

《OFD格式文件及如何适应Python将PDF转换为OFD格式文件》OFD是中国自主研发的一种固定版式文档格式,主要用于电子公文、档案管理等领域,:本文主要介绍OFD格式文件及如何适应Python... 目录前言什么是OFD格式文档?使用python easyofd库将PDF转换为OFD第一步:安装 eas