未来技术方向——“乐高式”可组装式开发能力

news2024/9/22 21:33:59

技术正在改变各行各业的发展,Gartner的主要战略技术趋势一直是行业的技术风向标之一。近3年,Gartner在主要的战略技术趋势中都提到组装式技术,2021年首次提出组装式企业,2022年提出可组装式应用,2023年在2项主要战略技术趋势中都提到通过组装式技术来构建。

可组装式能力被频繁作为技术方向,主要是因为可组装式能力可以让企业更容易适应类似新冠疫情的变化冲击,帮助企业面向新的业务价值点、通过组装工具去把控飞速变化的风险。可组装式能力将为企业增加极大的竞争力和灵活性:

  • 门槛更低:搭积木方式组装应用,降低门槛,使业务可以参与进来;

  • 产品更敏捷:产品从单一解决方案转变为预先预组装的业务功能集,可更敏捷响应外部变化;

  • 交付更敏捷:采用组装式方法交付新特性比竞争对手快80%;

  • 决策更敏捷:具备可组装式能力,能够在决策时做出更快的更改和响应。

那到底什么是可组装能力?如何具备才能具备可组装能力?可组装是否就是模块化、微服务?可组装架构是否就是微服务架构?

01 什么是可组装能力

可组装的几个概念定义

为了搞清楚什么是可组装能力,我们需要明确什么是可组装单元、可组装式应用和可组装式开发等概念。

概念1:可组装单元

Gartner把可组装的单元叫PBC(Packaged business capabilities),翻译为中文叫做打包好的业务能力,后续我们都简称PBC。我们摘取了Gartner官网的英文定义:

Packaged business capabilities(PBCs) are software components that represent a well-defined business capability ,functionally recongnziable as such by a business user.Techically,a PBC is bounded collection of a data schema and a set of services,APIs and event channels .The well-implemented PBCs are functionally complete to ensure autonomy(no critical external dependencies,no need for diret external access  its data).PBCs are meant to be used as building blocks for application product suites and custom-assembled application experiences.

从定义看,PBC是定义良好的业务功能,可以被用户识别的软件组件;是软件组件,不是序列化的程序包,这块有区别于微服务。

从技术上讲,PBC是有边界的集合,组成元素包含内部数据、元数据、服务、API和事件通道。PBC在功能上是完整的,以确保自治(没有关键的外部依赖,不需要直接访问其他组件的数据)。

概念2:可组装式应用

结合PBC定义,可组装式应用就是由一系列封装好的PBC按业务组合。

概念3:可组装式开发

可组装式开发就像搭积木一样把一系列PBC按业务组合,并开发业务场景的界面,当需求变化或流程变化时,可以通过新增、拆分、替换等方式重新组合PBC即可。

概念4:可组装式架构

可组装式架构是基于PBC为基础,用户可以按需组合多个PBC加上项目化需求构建业务应用。业务封装遵从PBC标准。

微服务架构的主要特征为充分解耦,提供服务注册、服务发现、服务安全、熔断降级等管理,提供监控、升级、灰度等治理。可组装式架构是一种新思维,是微服务架构的进一步演进,变革了应用交付模式,采用组装式交付,通过自助方式选择PBC并进行组装。

组装能力评估模型

可组装能力概念清晰后,我们看下如何评估组装式能力。Gartner给出可组装能力评估模型。评估模型从模块化、自治、可发现、可编排四个核心维度来度量企业的技术和业务抽象能力。

  • 模块化:模块化是基础,也就是封装组成整个系统的每个PBC都必须是具有独立而完整业务逻辑的单元。信息隐藏、分离关注点、封装等是划分良好模块的方法。

  • 自治:PBC要关注边界,可以有自己的存储、数据等,不能直接去查另外一个PBC的数据。

  • 可发现:可发现包含两个方面,一是PBC组件开发出来后,可以业务用户快速找到,文档足够清晰和完整,能让业务用准确评估适用性;二是指动态注册和发现,通过动态注册和发现组件来完成业务流程的动态编排和扩展。

  • 可编排:基础的可编排需要支持业界通用协议,不限于特定的编程语言。PBC组件提供者要尽可能让自己的组件可编排,比如定义好清晰的接口、做好幂等控制、支持标准协议、可扩展等方面。

02 如何具备可组装式开发能力

企业要实现可组装式的目标,需要组装平台和PBC一起努力达成,两者各有侧重,PBC侧重于模块化、自治部分,组装平台侧重于可发现和可编排能力。

从可组装式开发看,需要实现组装式开发需要PBC和组装平台,组装平台实现PBC的管理、可视化组合和编排、可视化界面开发和可视化业务流程开发,PBC是按业务场景进行封装和供给。

那我们重点看下什么是合格的PBC,组装平台需要具备什么能力。

如何封装PBC

基于PBC的定义看和组装能力评估模型,PBC至少需要满足如下标准:

  • 内部功能:包含业务模型、数据、服务;

  • API:对外开放标准协议的API;

  • 消息通道:开放消息通道;

  • 服务:PBC设计层面考虑自治,考虑幂等。

除了最基础要求,封装时候还会有一些关键点需要重点关注,比如PBC的是否需要UI、PBC粒度、PBC的可变性、PBC的架构适配性等。

关键点1:PBC的UI

针对PBC的UI,我们建议是可选的。主要是考虑UI的变化非常频繁,布局、颜色、流程、交互方式都会频繁发生变化,PBC不推荐包含UI。当然,为了保证统一的UI风格设计,建议PBC组装过程通过统一的UI设计工具实现风格统一。

关键点2:PBC的粒度

PBC封装粒度可以采用业界应用的比较多的是领域驱动方法(DDD),基于领域驱动方法,我们一般会按照实体或者聚合来划分PBC。

关键点3:PBC的扩展点

PBC是业务能力封装,要实现PBC的高复用,就需要考虑PBC适配多样化的业务场景。PBC的设计层面可以采用共性和变化分离办法,即采用目前流行的基于业务身份的扩展点架构,分离的变化采用扩展点方式实现,不同的业务身份实现不同扩展点来支持变化的实现。

关键点4:PBC的架构适配性

为了考虑PBC复用到不同业务场景,不同业务场景可能有不同数据库、中间件等诉求。PBC在架构层面可以比较容易实现不同数据库、中间件的迁移,最好是可以适配多种数据库、多种中间件。

基于以上关键点分析,PBC的封装我们可以采用如下模型来表示:

 

PBC的内部能力

  • 基础信息:PBC版本信息等;

  • 元数据:资源定义、配置定义、流程数据、服务数据、领域模型设计等;

  • 文档:提供功能介绍、使用场景、操作手册、安全检测问题、测试报告等;

  • 数据:业务数据等。

PBC的集成能力

  • 外部资源依赖:外部API接口、消息、数据源等依赖;

  • API接口:对外提供的API列表,能自动发现并注册到API集成平台;

  • 消息:对外提供消息接口;

  • 数据交换:对外提供的文件数据交换等;

  • 扩展点:PBC封装时候开放的扩展点列表。

PBC的架构适配性

  • 架构适配提供的多数据库、多中间件的可选配置。

PBC的用户界面

  • 可选,页面名、URI清单,用于PBC的试用和微服务页面装配。

组装式开发平台

有了合格的PBC,那组装平台需要管理PBC,并对PBC组装、编排,并按业务场景进行界面的开发,基于这些,我们认为组装平台至少需要具备如下能力:

  • PBC管理:提供PBC的标准和规范、上下架管理、订阅管理等全生命周期管理;

  • PBC组装和编排:提供可视化的PBC的组装和编排;这块就需要服务集成、数据集成、服务编排、流程编排,并需要提供PBC的界面开发。

组装式开发平台主要包含组装工厂、资产市场、连接与集成。

  • 资产市场:统一定义资产标准和规范,提供资产目录、资产管理能力,资产上下架和使用流程流程化;资产种类包括应用模板、PBC、基础组件、页面区块、页面模板、函数等;

  • 组装工厂:提供可视化工具,实现PBC的行组装和编排,并通过可视化设计器进行场景界面开发;

  • 连接与集成:提供服务集成、数据集成、消息集成和生态集成能力,提供PBC的集成管理,提供应用、PBC跟企业内外系统的集成。

当然,企业要具备组装式能力,除了组装平台和组件生态外,还需要在团队和协作模式上做一定调整。需要建立融合的团队,让业务人员和技术人员融合一起,通过快速组装方式实现业务响应和快速创新。

最后插一句,浩鲸科技灵犀平台是一个组装式开发平台,提供了PBC全生命周期管理、资产市场、可视化的组装工具,可以把一系列PBC按业务组装成不同业务应用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/440331.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ModuleNotFoundError: No module named ‘d2l’

目录 1. 下载李沐老师分享的源代码 step1:下载李沐老师分享的源代码: step3:Anaconda Prompt中安装d2l(这个l是英文) step4:运行代码,成功: (番外)ModuleNotFoundError: No mod…

【微服务】5、声明式 HTTP 客户端 —— Feign

目录 一、RestTemplate 不好的地方二、Feign 是什么三、使用四、自定义 Feign 的配置(1) Feign 的几个常见配置(2) 配置 Feign 的日志级别① 通过配置文件② Java 代码配置日志级别 五、Feign 性能优化(1) 性能优化介绍(2) 修改 Feign 底层的 HTTP 请求客户端 六、Feign 的最佳…

C++:std::function模板类(前言):为什么有了函数指针还需要Functional

为什么有了函数指针还有 Functional 1: 函数指针定义2: 函数指针结论3:疑问4: Function来源5:Functional 特点 1: 函数指针定义 在C中可以使用指针指向一段代码,这个指针就叫函数指针,假设有下面一段代码 …

交友项目【首页推荐,今日佳人,佳人信息】

目录 1:首页推荐 1.1:接口地址 1.2:流程分析 1.3:代码实现 2:今日佳人 1.1:接口地址 1.2:流程分析 1.3:代码实现 3:佳人信息 1.1:接口地址 1.2&am…

计算机基础--MySQL--索引

参考文献 [MySQL索引连环18问!] https://zhuanlan.zhihu.com/p/364041898[深入理解MySQL索引] https://www.infoq.cn/article/ojkwyykjoyc2ygb0sj2c[聚集索引和非聚集索引的区别] https://juejin.cn/post/7001094401858469918[索引分类] https://blog.csdn.net/dd2…

【消费战略】解读100个食品品牌丨王小卤 4年10亿爆品破局

爆品破局 王小卤的聚焦发展! 王小卤创建于 2016 年,与饮料行业的独角兽元气森林同年。 相较于元气森林的快速增长,王小卤历经 三年坎坷之路,直至 2019 年才踏上高增长的赛道,实现四年十亿的增长。 “所有的消费品都值得重新 做…

RHCSA练习作业(二)

目录 题目一 题目二 题目三 第四题 第五题 题目一 文件查看:查看/opt/passwd文件的第六行(使用head和tail指令) 代码如下: head -6 /opt/passwd | tail -1 题目二 在/etc及其子目录中,查找host开头的文件&#x…

纯净Python环境的安装以及配置PyCharm编辑器

前言 优质的教程可以让我们少走很多弯路,这一点毋庸置疑。去年二月我接触了Python,并找到了一份优质的配置教程,让我能够快速上手Python的学习。现在,一年多过去了,我已经有了很大的进步和变化,这也让我更…

ARM kernel 内核的移植 - 从三星官方内核开始移植

一、内核移植初体验 1、三星官方移植版内核获取 (1) 从网盘下载源码包。 (2) 这个文件最初是来自于三星的 SMDKV210 开发板附带的光盘资料。 2、构建移植环境 (1) Windows下建立工程。 (2) ubuntu下解压。 3、配置编译下载尝试 (1) 检查 Makefile 中 ARCH 和 CROSS_COMPI…

手把手教你Python爬虫

前言 python爬虫技术在java开发工作中属于工具性的技术属性,所以我这里就只从爬取一个网站的数据为例作为教学内容,具体的基础学习与其它的扩展知识内容,我会以链接的形式给出,若有兴趣可自行点击学习。 python基础知识教学 Pyth…

怎么压缩图片的体积大小,4款软件分享

怎么压缩图片的体积大小?因为在日常生活和工作中,我们常常会遇到需要压缩图片大小的情况。图片的大小是由像素点数量和每个像素的颜色深度共同决定的,一般来说,像素点数量越多,每个像素的颜色深度越高,图片…

四百元以内哪种耳机音质好?2023便宜音质好的蓝牙耳机推荐

现如今,蓝牙耳机的发展速度越来越快,不少人对于其音质方面的要求也越来越高。最近看到很多人问,有没有便宜音质又好的蓝牙耳机?针对这个问题,我来给大家推荐几款便宜音质好的蓝牙耳机,一起来看看吧。 一、…

怎么远程控制电脑

为什么要从另一台电脑远程控制电脑? 如今,Splashtop已广泛应用于各个领域。 在很多情况下,您需要从另一台远程电脑控制一台电脑。 这里演示了两个例子: 1:当您不在同一楼层时,您的同事需要您的帮助来解决…

阿里云张献涛:云原生计算基础设施助力汽车行业数字化升级

2023 年阿里云峰会北京站《云上智能汽车》论坛,阿里云智能基础产品部副总裁、阿里云智能弹性计算 & 无影产品线总经理张献涛,发表了《云原生计算基础设施助力汽车行业数字化升级》的主题演讲。 当前,汽车行业的数字化浪潮已经渗透到汽车设…

System V 共享内存

System V 共享内存 共享内存是什么如何使用共享内存ftokshmgetshmatshmdtshmctl 共享内存的原理共享内存实现两个进程间通信共享内存的特点共享内存与管道配合使用两个进程间通信多个进程间通信 共享内存是什么 🚀共享内存是最快的IPC形式。一旦这样的内存映射到共…

【产品应用】一体化步进伺服电机在高速异形插件机的应用

随着科技的不断发展,自动化生产设备在各个行业中得到了广泛的应用。高速异形插件机作为自动化生产设备中的一种,其核心部件之一就是一体化步进伺服电机。本文将详细介绍一体化步进伺服电机在高速异形插件机中的应用。 01.设备简介 高速异形插件机是一种…

我们为什么要写作?

为什么要写书是一个很难回答的问题,因为从不同的角度,会有不同的答案。 最近ChatGPT很火!诸事不决,先问问ChatGPT,看看它是怎么回答的。 ChatGPT给出的答案还是比较全,虽然没有“一本正经的胡说八道”&…

PCB高频电路设计中的差分信号设计

目录 1、差分信号的定义 2、如何布置差分线路? 3、微带线和带状线的概念 4、布线中常用的匹配方法 1、差分信号的定义 什么是差分布线:差分布线主要是区别传统的信号线对应一根地线的信号传输方式,差分信号传输主要是两条线上都有信号传…

基本数据类型和引用数据类型的存储区别?

目录 1、存储位置的区别 2、变量赋值时的区别 ① 基本数据类型 ② 引用数据类型 3、小结 ① 声明变量时不同的内存地址分配 ② 不同的类型数据导致赋值变量时的不同 1、存储位置的区别 基本数据类型和引用数据类型存储在内存中的位置不同: ① 基本数据类型存…

20230420 | 977. 有序数组的平方、 209. 长度最小的子数组、59. 螺旋矩阵 II

1、977. 有序数组的平方 方法1&#xff1a;使用暴力法&#xff0c;一遍for&#xff0c;一次排序。这个时间复杂度是 O(n nlogn)&#xff0c; 可以说是O(nlogn)的时间复杂度。 class Solution {public int[] sortedSquares(int[] nums) {//先计算出平方for(int i0;i<nums.le…