2021年4月,ThoughtWorks发布了《现代企业架构白皮书》, 从业务架构,应用架构,数据架构,技术架构 4个方面阐述了现代企业架构设计理念和方法。
书中文字洗练,内容详实,是不可多得的学习材料。我们可以从中学习文字描述的方式,架构名次和术语。学习一种方法论,在实际工作中佐证并实践之。
来源:
ThoughtWorks发布《现代企业架构白皮书》 (qq.com)
以下节选自核心领域模型设计的业务架构部分。
业务架构 (Business Architecture) 定义了企业各类业务的运作模式及业务之间的关系结构。它以承接企业战略为出发点,以支撑实现企业战略为目标, 通过对于业务能力的识别与构建,并将业务能力以业务服务的方式透出,实现对于业务流程的支撑, 并最终通过组织给予保障。
业务架构是企业架构的核心内容,直接决定了企业战略的实现能力,是其他架构领域工作的前提条件和架构设计的主要依据。
业务架构整体上包括“业务”、“流程”、“组织”、 “服务”、“领域”和“模式”六大部分,如下图 3.1-1 所示:
其中“模式”部分是我们为“平台型”企业架构设计的核心解决方案,包括:
在帮助企业构建业务架构的过程中,我们发现大部分企业正面临共同的问题:如何抽离多业务线共享的能力,集中管控和演进,以避免重复投资?新业务如何基于企业能力快速组装上线,以支撑业务快速迭代创新?
问题的背景和起因在于,当大型企业的业务发展到达一定规模,多条业务线并存、或多个业务单元并行发展,IT 建设会随着业务边界、组织边界,不可避免的进一步分化,也加剧了 IT 部门进行统一管控的困难。
一方面,在很多场景中,这样的分化带来了双重投资甚至多重投资的浪费,另一方面也在加剧本就存在的用户或者客户体验的割裂、数据孤岛、IT 翻新周期长等固有问题。
同时,当业务线不断尝试新的业务模式,或对于已有模式进行更快的试验、调整与扩展。对于 IT 支撑的响应力也提出了更高的要求。固有的系统搭建或者产品部署模式,越来越不足以提供及时的响应, 且在“快速试错”、“小步快跑”的创新场景应对下, 成本高昂。
为了解决上述问题,我们对问题进行了进一步拆解:
Q1:什么是可共享复用的能力?
Q2:如何识别和构建能力?
Q3:如何使用能力,实现新业务快速上线?
在对问题进行上述拆解后,我们将基于业务架构元模型逐一解决。
在现代企业架构中,面向能力的规划超越面向功能与服务的规划成为企业级业务架构规划的关注要点,如何基于能力的识别与规划,最大化的沉淀企业级可复用的能力,并通过扩展、编排和组合等形式应用到更多的场景,是平台型企业架构需要解决的关键问题。
企业为了应对业务的快速迭代、多场景和不确定性, 需要在平台上构建可复用的“能力”以及为能力提供必要的扩展与可变机制,以此为不同前台提供灵活多变的业务服务,满足不同前台差异化个性化的的需求。
而“能力”根据粒度的不同,可再度细分为“基础能力”、“能力组件”和“解决方案”三个层级。
不同业务的差异性,则可通过能力的“扩展点”设计和不同“业务身份”在扩展点上的“扩展实现” 进行区分。
总体实现机制如下:
业务身份:“业务身份”的概念最早由阿里巴巴提出,业务平台在对各业务同时提供服务时,需要能区分每一次业务服务请求的业务身份要素,以便提供差异化个性化的服务;因此需要对企业各业务的身份和特征进行建模和区分,其产出即为“业务身份”。业务身份是业务在平台中的代名词,是在业务运营中唯一区分某个具体业务的 ID。平台基于业务身份匹配该特定业务的流程和业务规则,并基于业务身份实现服务路由、需求溯源、业务监控和业务隔离。
基础能力:是对领域对象的原子操作,完成一个领域对象上单一且完整的职责。比如:创建售后单、修改商品库存量等,是能力组合和复用的最小单元。
能力组件:能力组件是对基础能力的进一步封装, 目的是方便业务的使用。按封装粒度不同分为两类:第一类能力组件是根据业务服务的需要编排封装的一组关联的基础能力,从而提供完整的服务。比如:订单创建能力组件。第二类能力组件是平台针对一系列紧密关联的业务活动,设计的能力模板,可基于该模板快速定制某个具体业务的特定流程和能力,从而达到复用全部关联能力的目的。比如:“组合支付”、“快速建站”等能力组件。能力组件加 快了业务接入平台的速度,让业务侧专注业务本身, 不再需要耗费精力在理解平台大量的基础能力上。
扩展点与扩展实现:“扩展点”是对基础能力的可变性设计,在技术侧体现为基础能力实现中的某一个步骤的接口定义,而接口的一个实现即为一个“扩 展实现”。比如:订单渲染基础能力中有一个步骤 是订单总价试算,而正常时期的总价试算规则与秒杀时期的总价试算规则是不同的,因此需要对订单渲染基础能力设计“订单总价试算规则”的扩展点, 并分别定义在正常时期和秒杀时期的扩展实现。
解决方案:是平台针对一类共性业务的端到端过程设计的能力模板;可基于该模板快速定制某个具体业务的特定能力和流程,从而达到业务模式级别复用的目的。比如:虚拟物品交易解决方案。