倪 枫
(上海理工大学 管理学院,上海 200093)
近三十年来,借助系统架构理论研究并融入现代企业管理方法,企业信息化架构的研究取得了诸多进展[1-3]。随着市场环境的瞬息万变和企业竞争的加剧,尤其是近年来互联网成为企业间的主要协作环境之后,网络的开放性和协作的动态性使得客户需求变更、业务流程调整、硬件资源升级更加频繁,这对企业架构提出了新的要求。一方面,高成长性带来企业愿景和需求的持续变化,要求架构具有不断演进的能力;另一方面,频繁的业务升级与流程优化需要信息系统和技术层面的及时跟进和支撑,企业需要更“敏捷”的架构,这一需求越来越受到关注。
Lucke等在2012年总结了企业架构研究领域的13个关键热点问题[4],其中就包括架构设计中架构模型随业务环境变化的敏捷性迭代演化问题,然而,这个问题至今没有明确的、被广泛认可的解决方案。与传统企业架构相比,敏捷架构的“敏捷性”主要体现在以下两个方面:一方面,根据顶层需求的不断变化更快地进行架构整体迭代,即敏捷演进;另一方面,业务需求调整时更快地提供与业务匹配的IT应用系统,即业务与IT对齐。由此提出的敏捷架构设计的概念和方法[5-6]融合来自软件工程领域的敏捷开发方法、业务流程管理(business process management,BPM)[7]和面向服务架构(service oriented architecture,SOA)[8]的设计思想,其适用性体现在两个方面。
一方面,敏捷开发方法与SOA结合解决敏捷演进问题。敏捷开发方法提供一种与传统瀑布式方法不同的适应型方法,认为业务需求始终是变化的,而且这种变化是无法预知的。因此架构开发者并不试图去限制或者预测需求的变化,而是在需求变化发生的时候迅速地对架构设计作出调整和演进以适应这种变化,即敏捷演进。而通过SOA服务组件的复用和组合是实现敏捷演进的有效途径,且已有了一些成功的应用实践[9]。
另一方面,SOA与BPM[5,10]方法组合解决业务与IT对齐问题。尹裴等[11]指出,成功的SOA架构设计必须是IT技术人员与业务流程管理人员合作的结果,由BPM需求驱动的SOA才是有生命力的,才能实现企业信息系统快速有效地响应业务环境变化,避免企业架构中“业务与IT两张皮”的失配现象。
然而,目前大多数SOA敏捷架构研究都有重技术轻方法论的特点。研究主要集中在SOA的实现技术上,如服务的描述与调用、服务相似度计算、服务的匹配和组合算法等,而对如何实施企业SOA敏捷架构的设计与开发较少有系统化的方法论研究。在方法论层面,值得参考的工作是盛津芳提出的一种基于SOA的模型驱动快速开发架构[12],将架构开发过程划分为两个正交层面:垂直维度包括5个建模层次(基础设施服务层、适配器服务层、业务服务层、业务流程层、展示层),水平维度包括4个建模阶段(业务建模、服务建模、流程编排、服务实现)。本文结合目前业界主流的开放组架构框架(the open group architecture framework,TOGAF)[13]及 BPM+SOA 建 模 方 法 ,对盛津芳的二维正交开发过程进行改进和扩充。针对企业架构的敏捷演进和业务IT对齐问题,提出一套针对SOA敏捷架构开发的TOGAF层次化迭代建模方法,由外层敏捷演进迭代闭环促进架构整体的敏捷演进,由内层三维迭代矩阵改善业务与IT的对齐问题。
企业架构这一概念提出以来,世界上已有数十个组织陆续发布了从专业到一般各种类型的企业架构框架标准[14],然而大多数企业架构设计思想停留在底层信息系统层面,没有上升到整个企业战略层面。企业架构敏捷性的提高必须从架构全局进行设计与规划[15]。本文使用的开放组架构框架TOGAF是一整套企业战略导向、业务流程驱动直至信息系统与技术层实施的解决方案和架构方法论,强调逐步迭代细化的架构开发方法,与SOA敏捷架构的设计与开发有很多契合点。
受到国际主流厂商(IBM,HP,SUN等)的认可和推动,TOGAF 9.1版本发布至今已成为企业架构的主流框架标准,目前全世界73%的企业正在使用(或已经使用过)TOGAF建模企业架构[16]。国内在企业架构方面虽起步较迟,但发展尤为迅速,华为、国家电网等越来越多的大型企业遵循TOGAF 框架和方法构建企业架构[17]。基于TOGAF的SOA敏捷架构建模方法在产业界和学术界也有相关研究。Yuliana等[18]在一个采矿企业的TOGAF架构建模中使用敏捷开发方法对基线架构与目标架构进行迭代式开发,并在迭代过程中强调业务与IT的对齐,但没有深入研究各架构模型组之间的建模关联。史翔等[19]基于TOGAF框架对一个燃气企业进行了SOA信息化架构设计,但缺乏建模过程的详细说明。本文针对以上问题,基于TOGAF,在SOA敏捷架构开发的应用中,关注各架构模型组元模型层语义关联,给出了一套层次化迭代建模过程。
TOGAF对架构开发过程和架构开发内容分别给出了两套通用的参考标准:一套完整的架构开发过程方法论ADM(architecture development method)和一套定义了架构内容的元模型框架ACF(architecture content framework)[13,20]。
基于ADM的架构开发过程是一个可靠的、行之有效的分阶段逐步实现的迭代式过程,用以开发能够满足战略需求的企业架构。ADM将企业架构建模过程划分成以架构需求管理为中心的9个建模阶段,根据架构需求的逐步明确化和架构粒度的由粗到细,支持循环迭代的建模方式。如图1左边部分所示,ADM整个环状迭代周期为外层迭代,环状周期中间也可以包括若干内层迭代。
基于ACF的架构开发内容元模型是在元模型层面定义的一个形式化的抽象内容结构,用以保证ADM全过程建模内容的一致性,并为希望使用架构工具实施架构的组织提供指导[13]。ACF通过对架构内容元模型的定义,使架构开发中的各视角、各粒度模型实例能在一个共有的本体基础上定义、构建并呈现,从而保证整个架构描述的语义一致性以及内容完整性。
TOGAF依据模型驱动开发理论将企业架构划分成3个视角架构:业务架构(business architecture)、信息系统架构(information systems architecture)、技术架构(technology architecture)[13],本文合并称为BIT视角架构。对应的3个架构建模阶段构成了ADM的核心,并在ACF中分别对应一部分内容元模型,如图1所示。基于TOGAF的SOA敏捷架构开发过程,即以ADM为全生命周期参考模板,由企业架构愿景驱动,以需求为中心对BIT架构进行迭代式设计与开发。
业务架构(B):描述业务组织结构、业务执行节点、业务功能、业务协作角色、业务流程以及由业务协作关系识别出潜在的业务服务。得益于SOA的信息系统架构治理,使得业务架构层面不用考虑与底层资源和遗留系统的交互细节,而把重点放在业务流程的优化设计和敏捷调整上。
信息系统架构(I):根据业务架构模型及其对潜在业务服务的定义,设计开发SOA信息系统架构,包括与业务服务对应的基本服务架构、逻辑服务组件以及数据实体逻辑模型等。SOA避免了企业信息系统层面出现烟囱式、功能重叠、信息孤岛式的情况。
技术架构(T):描述企业架构的底层系统资源和基础设施及技术标准,包括服务平台/中间件以及其他底层技术标准,如网络通信、分布式系统以及信息安全等技术标准体系,以支撑信息系统架构中定义的运行环境。
BIT的3个架构视角是互为支撑的,并通过ACF元模型层关联融合为一体。因此,在BIT的3个阶段的架构建模过程中,既要考虑各视角架构模型组的“分离”,又要考虑各视角架构模型组的“对齐”。
企业架构中业务与IT在设计视角上的“关注点分离”,以及在建模内容上的“模型语义对齐”是需要同时考虑的两个重要问题。ACF作为架构内容元模型,属于元模型的一类(区别于符号元模型),一些研究中也称为本体元模型(ontological meta-model)[21],作用于语义层面。Hinkelmann提出以本体元模型为核心的业务与IT对齐建模方法论框架[22],指出模型层面语义对齐的基础应追溯到元模型层面的映射与匹配。基于此框架,本文在TOGAF背景下提出基于ACF的BIT架构视角“分离”与“对齐”的设计准则。
a. BIT建模视角的分离。
根据现代企业架构设计中“关注点分离”的原则,将各个视角架构模型描述限定在特定用户类型关注视角内,以保证架构模型在各个用户类型之间的可读性和可交互性。因此,TOGAF将顶层ACF按照BIT的3个建模视角划分为相互独立但部分交叠的业务架构元模型、信息系统架构元模型和技术架构元模型,如图1右边部分所示。ACF中充分考虑了建模对象架构的业务流程、数据、规则、节点等方面需要描述和表达的内容,以及这些内容内在的约束和关联。BIT的3个架构视角分别覆盖一部分ACF元模型,表示BIT的3个视角各自侧重的建模部分。BIT架构建模过程是基于这3部分元模型所划定的视角范围,加入具体场景后的实例化描述过程。
b. BIT模型语义的对齐。
虽然BIT的3个视角架构模型组在描述语言和描述形式上各不相同,但所描述的对象是同一个企业架构,即各架构视角模型组所实例化描述的元模型局部都来自同一个ACF,并不是相互独立存在、独立建模的。由于ACF元模型层面的关联,制约各视角架构模型元素之间也存在映射关系,即模型语义对齐。图1中右边部分BIT的3个视角架构元模型之间存在“业务服务”元类交叠,并与各视角其他元类关联,成为BIT架构模型组在元模型层面的纽带,对应BIT架构实例化建模阶段也应以此为模型组之间的语义对齐准则。
图 1 ADM的BIT架构阶段对应ACF的BIT架构视角Fig.1 BIT phases of ADM and the BIT viewpoints of ACF
SOA敏捷架构的敏捷性特点一方面体现在敏捷演进,另一方面体现在业务与IT对齐。由此提出基于ADM的层次化迭代架构设计方法,包括外层迭代(敏捷演进闭环)和内层迭代(三维迭代矩阵)。
对敏捷架构而言,整体演进贯穿整个架构生命周期。针对敏捷架构业务更新快、迭代频繁、架构演进周期短等特点,提出基于ADM的外层迭代方案,即敏捷演进迭代闭环,如图2所示。敏捷演进是一个围绕ADM迭代过程进行差距分析(gap analysis)[23]与增量更新的迭代闭环,使得企业架构能够以不断更新的方式阶段化交付设计方案。ADM从迭代周期的前后将BIT架构设计分成基线架构(AS-IS architecture)和目标架构(TO-BE architecture)[13]。差距分析强调将目标架构和基线架构之间在BIT 3个视角上的需求变化映射到设计模型的增量更新,进而确定企业所需的新的信息系统、应用服务及技术架构的采购或升级方案,并以此制定迁移规划,如采用自己开发、外购或使用外部服务资源的方式满足企业的架构更新需求。另外,基于差距分析进行迭代式的、增量化的设计与实施也为企业架构带来阶段化的交付能力。
图 2 敏捷演进迭代闭环Fig.2 Closed-loop iterative architecture evolution
敏捷演进迭代闭环的各个阶段工作简要概括为:由阶段A(架构愿景)启动新的ADM架构开发外层迭代周期,通过差距分析确定新增业务需求或是原有业务需求的改变,设定架构增量更新的目标、范围、利益相关方、约束和预期结果;阶段B、阶段C、阶段D(BIT架构建模)分别对BIT 3个视角架构进行建模,构成ADM核心的内层迭代,遵循三维迭代矩阵,迭代过程与建模方法在本文第四部分作详细讨论;阶段E(机会和解决方案)基于新的架构愿景与BIT基线架构进行差距分析,考虑业务需求变化、功能实现增强、新功能加入、系统缺陷修复、业务环境改变等多种因素,确定需要更新的部分,规划必要的过渡架构作为后续实施架构更新的基础;阶段F(更新规划)分析BIT架构更新的成本、效益和风险,制定下一轮BIT架构增量更新规划;阶段G(实施治理)为从BIT基线架构向目标架构的更新实施提供监管,确保架构更新的实施和设计初衷相一致;阶段H(架构变更管理)对变更过程进行持续的监控并建立必要的版本管理,以确保BIT架构模型产品的阶段化交付能力以及迭代历史的可追溯性。
针对敏捷架构的特点并融合SOA的架构设计理念,提出在ADM中BIT三阶段架构建模过程中嵌入内层迭代方案,即三维迭代建模矩阵,如图3所示。将业务与IT的对齐问题转换为BIT架构模型组的对齐问题,并分解到3个维度上:a. 场景维,基于场景的业务驱动,与IT架构需求对齐;b. 视角维,基于架构内容元模型的BIT模型语义对齐;c. 粒度维,BIT架构模型组的粒度平衡与对齐。
a. 场景维:需求对齐。
ADM如图1所示是以架构需求为中心的,需求管理贯穿架构设计与建模的整个生命周期。场景(scenario)[24]作为描述架构现状或期望的基本单元,其抽象级间于架构愿景和具体的BIT架构模型组之间。三维迭代矩阵中定义场景维作为需求对齐机制,基于场景由业务架构驱动IT架构进行增量式迭代建模。场景作为架构需求由抽象到具体的桥梁,是架构愿景顶层抽象需求的初步实例化,包括架构中节点/参与者、环境及背景信息、目标/能力、业务活动和事件等概念化描述。BIT架构的建模过程从需求对齐的角度来看是对各个场景抽象概念逐层具体化、规范化描述的过程。针对敏捷架构业务变更频繁的特点,基于场景的需求管理能够最大程度地体现业务架构的敏捷性和可延展性。所有已实现的需求场景集合构成了当前状态下企业的完整业务功能范围,架构需求的变化可以体现为场景的增加或更改,并由此驱动整个企业架构其他部分的增量式更新迭代。
b. 视角维:语义对齐。
由ACF的视角分离和语义对齐准则,定义三维迭代矩阵中的视角维。一方面,通过对ACF的划分对BIT模型组按视角实现关注点的分离。BIT的3个视角架构元模型基于同一个ACF元模型基础,划分各视角架构边界并明确各个视角架构的描述范围,分离出3个相对独立的元模型。不同架构视角可根据需要选择不同种类的描述模型,从不同视角描述企业架构的不同侧面,即3个架构元模型的实例化。另一方面,由语义对齐准则,BIT架构元模型对应的ACF交叠部分促使BIT各视角模型组在建模语义上对齐。交叠部分元类、元关系结合相应的建模语言实例化到BIT各视角下模型语义中互相关联的部分,通常要通过相关模型元素的映射关系来实现。
c. 粒度维:粒度对齐。
粒度(granularity)均衡[25]是SOA敏捷架构建模中需要考虑的重要问题,即在BIT各架构模型组之间寻找并维持一个建模粒度的平衡,以此定义三维迭代矩阵中的粒度维。对IT架构来说,细粒度更有利于服务的重用,近年提出的 “微服务”概念[26]更是倡导大量使用细粒度的服务,以映射更小单位的底层计算资源,最大化地提高企业资源的使用效率。相反,对业务架构来说并不希望粒度太细。太细粒度的业务流程往往需要映射、编排大量业务活动与这种细粒度服务的关联,增加了集成的复杂性。因此,BIT架构模型组建模粒度不能太粗或者太细,一个良好的SOA架构设计必须在架构需求的基础上选择一个粒度平衡点,然后在BIT架构建模过程中逐级细化迭代以达到平衡粒度,并在每一轮迭代过程中保持BIT架构模型组在粒度维的对齐。
ADM的内层迭代基于三维迭代矩阵,形成一个多场景、多视角、多粒度的BIT架构模型组,并保持需求、语义、粒度3个方面的对齐。迭代过程中为了防止各视角模型组之间数据的错误、冗余和重命名,还应建立必要的数据一致性保障机制。
图 3 三维迭代矩阵Fig.3 Three-dimensional iterative modeling matrix
BPM+SOA是目前国际主流研究比较认可的方法组合,在建模语言和工具支撑上实现以业务流程为主导的SOA设计也是趋势所向[10,27]。敏捷架构设计以BPM+SOA作为内层迭代的方法支撑,分别应用于业务架构视角和信息系统架构视角建模。业务架构视角建模中,使用业务流程建模标记语言,即BPMN(business process modeling notation)[28],基于BPM定义、封装各个业务节点的相互操作关系及内部流程,引导如何将各个粒度的服务连接到一起并进行编排。信息系统架构视角建模中,使用面向服务架构建模语言SoaML(service oriented architecture modeling language)[29], 基 于 BPMN 业务服务定义SOA服务接口和契约,支撑并连接BPM业务过程实现背后的系统节点及底层资源,使得BPM业务流程的改动或者重构能够方便地通过一系列具有标准接口以及松散耦合特点的服务组合来灵活地实现,以适应企业新的业务需求。
将图3中ADM内层三维度迭代矩阵对场景n的第j轮粒度迭代建模过程以视角维展开,一个典型的基于BPM+SOA方法的Bnj, Inj,Tnj模型组迭代对齐建模过程如图4所示,箭头表征架构模型的建模顺序及关联关系。
业务架构阶段模型组包括BPMN协作图、编排图,分别从业务组织/执行节点内部业务流程以及它们之间交互关系的角度描述业务流程。信息系统架构阶段模型组包括SoaML服务架构图、契约图、接口图、交互图。BPMN与SoaML以“业务服务”为契合点获得建模语义的对齐。技术架构建模阶段涉及的建模标准繁多,可根据业务架构、信息系统架构模型作具体选择,包括行业通用技术标准、某些专用技术模型、面向服务架构相关的技术参考模型等,本文对技术架构建模过程不作详述。
对场景n的第j轮BIT迭代建模完成后,提高一级粒度继续进行j+1轮迭代,直至达到预设的架构粒度需求。在同一轮迭代中,BIT各视角使用相应的描述模型语言在同一抽象层次、均衡的粒度水平上对架构进行描述。每一轮迭代完成后,BIT各架构同步提高一级细化等级,开始在新的层次与粒度上建模。另外,作为各架构模型间数据一致性保障机制,图4中的BIT架构模型组集成字典贯穿3个架构建模阶段并参与每一轮粒度迭代,制约各架构建模。集成字典能够对各阶段模型数据的数据名称、数据结构、数据存储、实体关系等进行定义、登记、管理、备份等,使得模型数据在三维迭代建模的各阶段保持可注册、可复用、可查询、可追溯。
图 4 BIT模型组的迭代对齐建模过程Fig.4 Iterative & aligned modeling approach for BIT architecture models
SOA敏捷企业架构尤其适用于具有成长快、战略调整频繁、业务主导等特点的成长型中小企业,具有广阔的市场应用前景。本文针对SOA敏捷架构的特点,提出一套基于TOGAF的层次化迭代建模方法,为SOA敏捷架构设计理念的实现提供了一种可行的方案。由此为成长型企业带来两个驱动方向上的迭代与演进能力。B→IT:由业务架构优化导致的信息、技术架构演进,如企业发生战略重心调整、业务流程变更等变动,应立即驱动相应信息化支撑系统的同步演化,保持企业IT系统、基础设施与所支持的业务及战略“对齐”。IT→B:由新技术导入信息、技术架构带动的业务架构演化,如移动互联网、云计算、大数据、物联网等信息技术革新带来的新业务、新模式,甚至可能上升为企业的新战略、新机遇。
本文通过建模语言BPMN与SoaML之间相关模型元素的映射关系,建立业务架构与信息系统架构模型组之间的关联,实现模型层面的业务与IT对齐,然而这只是表面、粗浅的对齐。真正的对齐应该深入到模型组语义层面,模型元素的映射关系应基于元模型的关联。对TOGAF而言则是由ACF元模型层面,基于BIT架构模型共同的“业务服务”元类,挖掘架构模型组之间的语义层建模关联,真正实现BPM+SOA业务与IT的语义层面对齐。本文的后续研究集中在语义对齐映射规则、关联建模过程以及模型一致性校验方法方面,这些将另外撰文研讨。