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

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

相关文章

Spring Boot 整合 SSE的高级实践(Server-Sent Events)

《SpringBoot整合SSE的高级实践(Server-SentEvents)》SSE(Server-SentEvents)是一种基于HTTP协议的单向通信机制,允许服务器向浏览器持续发送实... 目录1、简述2、Spring Boot 中的SSE实现2.1 添加依赖2.2 实现后端接口2.3 配置超时时

Python使用getopt处理命令行参数示例解析(最佳实践)

《Python使用getopt处理命令行参数示例解析(最佳实践)》getopt模块是Python标准库中一个简单但强大的命令行参数处理工具,它特别适合那些需要快速实现基本命令行参数解析的场景,或者需要... 目录为什么需要处理命令行参数?getopt模块基础实际应用示例与其他参数处理方式的比较常见问http

Java Optional的使用技巧与最佳实践

《JavaOptional的使用技巧与最佳实践》在Java中,Optional是用于优雅处理null的容器类,其核心目标是显式提醒开发者处理空值场景,避免NullPointerExce... 目录一、Optional 的核心用途二、使用技巧与最佳实践三、常见误区与反模式四、替代方案与扩展五、总结在 Java

Spring Boot循环依赖原理、解决方案与最佳实践(全解析)

《SpringBoot循环依赖原理、解决方案与最佳实践(全解析)》循环依赖指两个或多个Bean相互直接或间接引用,形成闭环依赖关系,:本文主要介绍SpringBoot循环依赖原理、解决方案与最... 目录一、循环依赖的本质与危害1.1 什么是循环依赖?1.2 核心危害二、Spring的三级缓存机制2.1 三

Python 中的 with open文件操作的最佳实践

《Python中的withopen文件操作的最佳实践》在Python中,withopen()提供了一个简洁而安全的方式来处理文件操作,它不仅能确保文件在操作完成后自动关闭,还能处理文件操作中的异... 目录什么是 with open()?为什么使用 with open()?使用 with open() 进行

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

Spring Boot 配置文件之类型、加载顺序与最佳实践记录

《SpringBoot配置文件之类型、加载顺序与最佳实践记录》SpringBoot的配置文件是灵活且强大的工具,通过合理的配置管理,可以让应用开发和部署更加高效,无论是简单的属性配置,还是复杂... 目录Spring Boot 配置文件详解一、Spring Boot 配置文件类型1.1 applicatio

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

tomcat多实例部署的项目实践

《tomcat多实例部署的项目实践》Tomcat多实例是指在一台设备上运行多个Tomcat服务,这些Tomcat相互独立,本文主要介绍了tomcat多实例部署的项目实践,具有一定的参考价值,感兴趣的可... 目录1.创建项目目录,测试文China编程件2js.创建实例的安装目录3.准备实例的配置文件4.编辑实例的

Python 中的异步与同步深度解析(实践记录)

《Python中的异步与同步深度解析(实践记录)》在Python编程世界里,异步和同步的概念是理解程序执行流程和性能优化的关键,这篇文章将带你深入了解它们的差异,以及阻塞和非阻塞的特性,同时通过实际... 目录python中的异步与同步:深度解析与实践异步与同步的定义异步同步阻塞与非阻塞的概念阻塞非阻塞同步