TOGAF作为业界最知名的企业架构理论,对于高中阶的理念讲了很多,体系非常庞大,但如何进行更细化的设计则言之不多,业界出现了很多不同的实践,形成了行之有效的方法。而且随着软件开发方法的持续发展,企业架构理论也在不断更新换代。

企业需要根据自己的情况进行裁剪定制,形成一套适合自己的业务架构设计方法。本文介绍IBM和Thoughtworks两种业务架构设计方法,并引申开去谈谈DDD和微服务在架构设计和实现中的作用。
01 什么是业务架构?
业务架构是基于架构愿景,以实现企业战略为目标,构建企业整体业务能力规划并将其传导给技术实现端的结构化企业能力分析方法。业务架构的作用通常被认为是连接业务与IT的纽带和桥梁,形成业务和IT之间有效沟通的通用语言,用于实现业务需求到IT的顺利传导。
业务架构方法可以用于单个产品线或业务种类的领域级分析,也可以用于跨产品线、业务领域的企业级分析,后者也被称为企业级业务架构。
02 IBM业务架构设计方法
详见付晓岩《企业级业务架构设计》。
#pgc-card .pgc-card-href { text-decoration: none; outline: none; display: block; width: 100%; height: 100%; } #pgc-card .pgc-card-href:hover { text-decoration: none; } /*pc 样式*/ .pgc-card { box-sizing: border-box; height: 164px; border: 1px solid #e8e8e8; position: relative; padding: 20px 94px 12px 180px; overflow: hidden; } .pgc-card::after { content: ” “; display: block; border-left: 1px solid #e8e8e8; height: 120px; position: absolute; right: 76px; top: 20px; } .pgc-cover { position: absolute; width: 162px; height: 162px; top: 0; left: 0; background-size: cover; } .pgc-content { overflow: hidden; position: relative; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); } .pgc-content-title { font-size: 18px; color: #222; line-height: 1; font-weight: bold; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .pgc-content-desc { font-size: 14px; color: #444; overflow: hidden; text-overflow: ellipsis; padding-top: 9px; overflow: hidden; line-height: 1.2em; display: -webkit-inline-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; } .pgc-content-price { font-size: 22px; color: #f85959; padding-top: 18px; line-height: 1em; } .pgc-card-buy { width: 75px; position: absolute; right: 0; top: 50px; color: #406599; font-size: 14px; text-align: center; } .pgc-buy-text { padding-top: 10px; } .pgc-icon-buy { height: 23px; width: 20px; display: inline-block; background: url(https://lf3-cdn-tos.bytescm.com/obj/cdn-static-resource/pgc/v2/pgc_tpl/static/image/commodity_buy_f2b4d1a.png); } 企业级业务架构设计:方法论与实践 ¥48.3 购买

业务架构设计的起点是战略分析。首先对业务战略进行分析,包括与先进同业对标,得出未来的业务能力要求。
然后开始设计业务架构,分为四步:
Step1:使用价值链方法划分业务领域。不同的行业有不同的核心价值链,作为横轴,再以不同类型的客户或者产品作为纵轴,就可以划分不同的业务领域。
Step2:分析业务流程并建模,建立企业级流程模型。整个企业必须统一采用一种业务流程标准,否则将无法进行企业级整合。业务流程要有边界,每个业务流程尽可能限制在业务领域之内。战略规划中的业务能力要求要体现在业务流程设计中。业务流程设计颗粒度要具体到任务。
Step3:分析业务数据并进行建模,建立企业级逻辑数据模型。
Step4:在流程建模和数据建模基础上,进行组件分析,以主题域划分边界,将主题域内实体相关的任务聚在一起构成一个业务组件,业务组件的行为主要是对数据实体进行增删改查以及业务处理。这样就得到了业务组件模型。
业务组件包含了行为和数据,代表了企业的一种业务能力。业务组件定位在任务级别上,实现企业级业务能力复用。
03 ThoughtWorks业务架构设计方法
ThoughtWorks在《现代企业架构白皮书》。中则提出“流程建模——>领域建模——>业务身份建模——>能力建模”的业务架构设计方法,将DDD(领域驱动设计)引入了业务架构设计。
ThoughtWorks是著名的软件设计咨询公司,业界大神Martin Fowler就是ThoughtWorks公司的首席科学家,他最早提出了敏捷开发,2014年提出了微服务架构。
下图是ThoughtWorks业务架构元模型:

下图是ThoughtWorks业务架构设计方法:

首先进行业务梳理,包括业务、流程、组织和服务等内容。
在此基础上进行模式设计:
Step1:流程建模。流程分层为阶段、活动、任务、步骤,还要说明具体规则。
Step2:领域建模。这里将DDD融合进了业务架构设计,主要是DDD的战略设计。DDD战略设计是指领域建模,即划分领域、子域、限界上下文。一个限界上下文包括一个或多个聚合,限界上下文可能就是未来微服务的边界,可以用于微服务的拆分。
Step3:业务身份建模。业务身份是指使用平台服务的业务身份要素,包括客户、产品、渠道等内容,基于业务身份提供差异化个性化的服务。

Step4:能力建模。分为三层,对领域对象的原子操作称为基础能力,是能力组合和复用的最小单位。能力组件是对一组相关联的基础能力的封装,以便提供更完整的服务。解决方案是针对具体业务、具体流程的能力模板。
这里的能力也就是通常说的业务组件。
04 业务架构设计的产出
从上述两种业务架构设计方法来看,业务架构设计可形成如下产出:
1.业务架构能力蓝图
2.业务流程建模成果
3.领域建模/业务数据建模成果
4.业务架构组件模型
05 DDD与微服务设计
除了用于业务架构设计,DDD还可以应用到IT架构设计中。领域建模可以输入到数据架构中,指导主题域、主题、实体的识别。领域建模还可以输入到应用架构中用于L1-L3应用架构设计。
在具体系统设计中,分布式微服务架构是当前最流行的架构风格。DDD可以指导微服务的拆分和设计。DDD的战略设计用于微服务的拆分,DDD的战术设计则可以用于微服务的设计。这样通过DDD将业务建模和系统落地连接起来。

作者:武艳军 专注金融信息化领域,分享关于架构、产品、用户体验设计等方面的心得体会。
赞 (0)
运营增长作者
0 0
生成海报
中国十大乒乓球拍排名(中国乒乓球拍排行榜)
上一篇
2022年1月25日 13:08
乒乓球品牌排行榜(乒乓球品牌排行榜2019)
下一篇
2022年1月25日 13:08








