前言
无论是自己研发的产品、还是给客户咨询的项目,架构一直是我从事的最重要的工作之一。刚开始是软件架构、后来是系统架构,再后来,越来越多的涉及到更大的架构范畴:业务、数据、应用、技术。这个时候,企业架构所提供的完整架构体系,对我的架构工作很有帮助。2011年,为浙江省某项目提供业务建模和业务架构设计培训与咨询,感觉到业务和IT的结合,才是信息化系统的完整视图。2017年,作为咨询顾问,为某省财政云提供了IT顶层设计咨询,基于企业架构,为客户的财政云项目设计了业务架构、数据架构、应用架构、技术架构。深刻的感觉到企业架构对于历时多年的IT系统服务化集成至关重要,对建设的成本、效率和质量可以带来不同数量级的效果。所以专门面向企业和政府单位的IT顶层架构设计提供咨询服务,如下是为某企业做的基于云计算架构的IT顶层架构规划的方案截图:
|
IT顶层设计方案截图 |
|
使用EA建立的企业架构模型 |
2019年10月,火龙果软件工程技术中心,正式成为Open
Group的TOGAF 分会会员,开设认证培训课程《基于TOGAF构建企业架构》。企业架构涉及到架构、开发方法、建模语言、原则等众多内容,经常让学习者感觉到纷杂迷茫,为了让学习者能够有一个整体的清晰框架,我专门从课程讲义的
《TOGAF和企业架构简介》章节选取了一些内容希望通过如下内容的阅读,让读者了解企业架构、TOGAF、ArchiMate等的基本概念和关系。
正文
现在随着企业信息化系统对业务的紧密支持以及信息系统复杂度和数量的不断积累,信息化系统越来越多,迫切需要建立IT顶层架构设计的视图,以便为不断发展的IT系统提供框架性指导。
企业架构站在一个企业的整体视角,基于IT技术、面向业务实现企业的价值目标,是指导IT顶层设计的有效方法。
企业架构的定义应该注意2个关键词:
企业:应该是面向整个企业的,或者至少是从某个层面贯穿整个企业的,这样才具有企业级的视野,才能解决企业级的问题;这也说明需要企业的老板理解、参与
和支持。
架构:应该是面向主要问题、主要解决方案,是框架性的,而不是细枝末节的;架构应该是空间上面向整体、时间上面向长期、地位上面向战略,而不是面向布局、短期和可以随意调整的。
学习企业架构,首先应该从企业架构的基本概念入手,这样才能清晰的了解企业架构的出发点,知道企业架构和自己当前的IT项目的关系,进而思考如何把企业架构和自己的工作结合。
了解了企业架构的概念后,就要搞清楚企业架构的内容, 企业架构一般包括:企业战略、业务架构、数据架构、应用架构、技术架构,其中的数据架构和应用架构也合并称为信息架构,也就是信息系统一般包括数据和应用2个部分。
上面的描述还是比较概念化的,为了让读者看得清楚些,这里用了一个简要的示例,让大家大概了解企业架构的形式和内容,这里采用了企业架构建模语言ArchiMate的五个层次的视图进行了建模。
企业架构的因为面向整个企业的战略、业务和IT,注定了这是一个复杂的系统工程,如果要给企业要实施企业架构,一般应该考虑如下方面的:
架构建模
|
企业架构建模的标准方法是采用ArchiMate提供的建模标准,从专业角度划分为6个层次(战略、业务、应用、技术、物理、实现与迁移),每个层次按照内容又可以分为4个方面(动机、主动结构、行为、被动结构),6个层次和4个方面是互相映射的关系。 |
架构开发过程与方法 |
架构开发方法(ADM)把企业架构的开发过程分为9个阶段(预备、架构前景、业务架构、信息系统架构、技术架构、机会与解决方案、迁移计划、实现治理、架构斌更管理),这九个阶段围绕一个核心(需求管理)依次展开工作,每个阶段的工作都应该包括:输入、输出、工作流程、原则与方法。 |
架构原则 |
架构的设计应该预先设置原则,这样才能从开始就让设计者把握架构的方向,架构的设计原则常见的有
质量原则、业务原则、数据原则、应用原则、技术原则五个方面。 |
架构内容 |
架构对用户提交什么内容,这是架构最核心的部分,应该面向3中用户明确架构的内容:
从架构设计者的角度明确架构的元模型,作为架构设计的依据。
从架构开发者的角度明确架构各个阶段的输入输出,作为架构开发的中间产品。
从架构使用者的角度定义最终的交付物,作为架构对外交付的成果。 |
架构质量标准
|
架构的质量需要建立相应的标准,应该为架构的工件和交付物建立相应的评价指标、评价方法和度量方法。 |
架构范例 |
架构规范为了具有普适性,一般从通用的角度做了很多抽象,这样就让参考者看起来难以理解、用起来落地感觉不踏实,架构范例可以从一个具体的架构设计示例,让读者了解架构的生动故事、真实成长过程中心领神会。因为企业架构的复杂度高,成功实施的不多,又因为企业架构涉及企业的核心知识资产,所以这方面公开的参考很少。 |
下面逐一介绍一下刚才提高的企业架构相关的规范:ArchiMate和TOGAF。首先我们来了解一下的TOGAF。
TOGAF的定位就是给企业架构提供解决方案,下面我们通过TOGAF的规范结构蓝图看看TOGAF都有什么:
从上图的TOGAF的规范结构蓝图可以看出:
TOGAF的定位是:业务愿景驱动
TOGAF帮助建立 业务能力,业务能力的实践创造新的业务需求,三者不断循环迭代、促进企业不断成长。
TOGAF的核心内容如下:
架构能力框架
架构开发方法
架构内容框架
企业持续性和工具 |
TOGAF中,最主要的部分就是架构开发方法(ADM),下面让我们看看ADM的1个核心和9个阶段,如下图所示:
一个核心是:需求管理,作为一个贯穿整个企业架构过程的各个阶段,
9个阶段是:
1. 预备阶段
2. 架构前景阶段
3. 业务架构阶段
4. 信息系统架构阶段
5. 技术架构阶段
6. 机会与解决方案阶段
7. 迁移计划阶段
8. 实现治理阶段
9. 架构变更管理阶段
企业架构的建立不是1、2年的事情,因为涉及面广、事关整体基础、责任重大,所以注定是一个企业的长期追求,需要逐步建设、迭代进行、长期坚持的过程。而这个过程不应该急功近利,而应该抱着追求卓越、享受成长的心态,制定积极的目标、不断发现问题、解决问题、循序渐进的进行。
因为只有知道了内容是什么,企业架构的开发才有可能真的落地,所以在大概了解了企业架构的基本概念、TOGAF的架构开发方法之后,
应该更加关注如何对企业架构建模,这样才能让庞杂的企业架构以可视化的模型让大多数人交流、理解和使用。到了企业架构的深层次构建的时候,ArchiMate的作用比
TOGAF还重要。
ArchiMate通过建模规范的方式,清晰的给出了企业架构的6个层次:
战略层:指定企业架构的战略目标、成长路线图。
业务层:企业架构的驱动力来源。
应用层:支撑业务的信息系统的组织与集成。
技术层:构建应用的网络、软件和硬件技术。
物理层:支持应用的物理设备和网络。
实现与迁移:实施企业架构的项目过程管控。
ArchiMate的4个方面:
动机:企业架构设计、改进的目标何原因。
主动结构:发起各种行为的主体。
行为:提供各种能力的活动及其组成的流程和实现的服务。
被动结构:被处理的各种客体。
作为架构开发过程的ADM和架构描述内容的ArchiMate,二者之间存在一定的映射关系,如下所示:
ADM的各个阶段对应的ArchiMate建模视图如下:
预备阶段 和架构前景阶段使用ArchiMate的战略&动机层进行建模
业务架构阶段使用ArchiMate的业务层进行建模,
信息系统架构阶段使用ArchiMate的应用层进行建模,
技术架构阶段使用ArchiMate的技术层进行建模,
机会与解决方案阶段、迁移计划阶段、实现治理阶段使用ArchiMate的实现&迁移层进行建模
需求管理作为一个贯穿始终的工作,各个层次建模都涉及。
架构变更管理阶段基本上也各个层次的建模都涉及。
说了这么多,企业架构参考框架TOGAF、建模规范ArchiMate需要强有力的工具支持,EA对TOGAF、ArchiMate、Zachman
框架提供完整的建模支持,如下是界面截图:
|
EA的ArchiMate建模示例 |
|
EA的 TOGAF的 企业连续性建模 |
DoDAF(美国国防部体系架构框架)作为企业架构在军事领域的具体参考框架,把架构从八个视图给出了具体的架构参考。
DoDAF的8个视图:
1. 全视图
2. 数据与信息视图
3. 标准视图
4. 能力视图
5. 作战视图
6. 服务视图
7. 系统视图
8. 项目视图
这些在EA提供相关的建模和各种模型的跟踪视图,如下图所示:
|
EA中的DoDAF模型框架 |
如果希望进一步学习企业架构、TOGAF、ArchiMate,可以参考如下的课程或者工具
课程:企业架构师认证课(业务、应用、技术)
课程:企业架构建模(archimate)
课程:基于云计算架构的SaaS架构设计
工具:企业架构建模工具EA
作者简介:
俎涛,火龙果软件工程创始人,2001年创立了火龙果软件工程,2004年创立了IBM Rational用户组。1998年,曾作为骨干参与国家重点研究课题《面向特定领域基于组件的软件复用》,有幸比较深入的学习和使用的UML进行领域建模、提炼可复用组件和架构。在后来的研发项目中,一直采用模型进行分析设计,积累了一些心得和经验。20年来一直专注于MBSE,熟悉
UML、Sys ML、ArchiMate、BPMN、UPDM、DataModel等建模语言和规范,在以往的经历中,最大的感触是汇聚了很多精英人才的软件工程和系统工程领域居然几十年都是一种凌乱迷蒙的状态,从自己的经历所得,觉得清晰的模型,才是拨开工程迷雾的关键所在,所以不断研究和应用各种建模技术,并从自己的工程实践中提炼经验,形成对于自己可持续的方法论,例如《MBSE
从方法到实践指南》 《基于模型的三维研发管理》 《基于模型的需求管理》 《模型驱动的架构设计》
《基于模型的质量管理》 《基于模型的人员能力管理》 《iProcess过程改进方法》,目前正在作为产品经理和架构师,进行MBSE(基于模型的系统工程)平台的研发,希望建立要给基于模型的工程解决方案,后续会不断写些文章,希望能给同行一些借鉴。 |
|