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

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

相关文章

JDK21对虚拟线程的几种用法实践指南

《JDK21对虚拟线程的几种用法实践指南》虚拟线程是Java中的一种轻量级线程,由JVM管理,特别适合于I/O密集型任务,:本文主要介绍JDK21对虚拟线程的几种用法,文中通过代码介绍的非常详细,... 目录一、参考官方文档二、什么是虚拟线程三、几种用法1、Thread.ofVirtual().start(

从基础到高级详解Go语言中错误处理的实践指南

《从基础到高级详解Go语言中错误处理的实践指南》Go语言采用了一种独特而明确的错误处理哲学,与其他主流编程语言形成鲜明对比,本文将为大家详细介绍Go语言中错误处理详细方法,希望对大家有所帮助... 目录1 Go 错误处理哲学与核心机制1.1 错误接口设计1.2 错误与异常的区别2 错误创建与检查2.1 基础

springboot依靠security实现digest认证的实践

《springboot依靠security实现digest认证的实践》HTTP摘要认证通过加密参数(如nonce、response)验证身份,避免明文传输,但存在密码存储风险,相比基本认证更安全,却因... 目录概述参数Demopom.XML依赖Digest1Application.JavaMyPasswo

Spring Boot分层架构详解之从Controller到Service再到Mapper的完整流程(用户管理系统为例)

《SpringBoot分层架构详解之从Controller到Service再到Mapper的完整流程(用户管理系统为例)》本文将以一个实际案例(用户管理系统)为例,详细解析SpringBoot中Co... 目录引言:为什么学习Spring Boot分层架构?第一部分:Spring Boot的整体架构1.1

分析 Java Stream 的 peek使用实践与副作用处理方案

《分析JavaStream的peek使用实践与副作用处理方案》StreamAPI的peek操作是中间操作,用于观察元素但不终止流,其副作用风险包括线程安全、顺序混乱及性能问题,合理使用场景有限... 目录一、peek 操作的本质:有状态的中间操作二、副作用的定义与风险场景1. 并行流下的线程安全问题2. 顺

Java 结构化并发Structured Concurrency实践举例

《Java结构化并发StructuredConcurrency实践举例》Java21结构化并发通过作用域和任务句柄统一管理并发生命周期,解决线程泄漏与任务追踪问题,提升代码安全性和可观测性,其核心... 目录一、结构化并发的核心概念与设计目标二、结构化并发的核心组件(一)作用域(Scopes)(二)任务句柄

Java中的Schema校验技术与实践示例详解

《Java中的Schema校验技术与实践示例详解》本主题详细介绍了在Java环境下进行XMLSchema和JSONSchema校验的方法,包括使用JAXP、JAXB以及专门的JSON校验库等技术,本文... 目录1. XML和jsON的Schema校验概念1.1 XML和JSON校验的必要性1.2 Sche

SpringBoot集成WebService(wsdl)实践

《SpringBoot集成WebService(wsdl)实践》文章介绍了SpringBoot项目中通过缓存IWebService接口实现类的泛型入参类型,减少反射调用提升性能的实现方案,包含依赖配置... 目录pom.XML创建入口ApplicationContextUtils.JavaJacksonUt

MyCat分库分表的项目实践

《MyCat分库分表的项目实践》分库分表解决大数据量和高并发性能瓶颈,MyCat作为中间件支持分片、读写分离与事务处理,本文就来介绍一下MyCat分库分表的实践,感兴趣的可以了解一下... 目录一、为什么要分库分表?二、分库分表的常见方案三、MyCat简介四、MyCat分库分表深度解析1. 架构原理2. 分

Java 中的 equals 和 hashCode 方法关系与正确重写实践案例

《Java中的equals和hashCode方法关系与正确重写实践案例》在Java中,equals和hashCode方法是Object类的核心方法,广泛用于对象比较和哈希集合(如HashMa... 目录一、背景与需求分析1.1 equals 和 hashCode 的背景1.2 需求分析1.3 技术挑战1.4