什么是TOGAF?
提到TOGAF,首先要了解Building Block的概念。我将Building Block看成乐高的积木(相信你一定看过或者玩过Lego)。但是这些“积木”并不是并不是用来拼一部汽车或者飞机的,而是用来组成一个企业的架构的。在企业的乐高游戏中,我们把企业中成熟的、独立、经过妥善包装的功能、流程、数据看作“积木”,用这些“积木”来构建企业的架构。
TOGAF的主要核心是如何发现并组织这些“积木”。在拥有一些“积木”后,我们可以根据企业的战略,快速的重用已有的积木来构建架构,从而实现企业规划的发展蓝图。同时,TOGAF提供一系列的工具、方法帮助我们实现从现有的架构(as is)向期望的架构(to be)进行迁移(migration)。总的来说,TOGAF并不是一套针对技术的架构框架,TOGAF是一套可以帮助企业从当前状态向目标战略状态进行转换的一套框架。
TOGAF的核心
TOGAF的核心思想是将架构抽象成为目标、流程、功能三个部分,通过目标、流程、功能的相互关系完成了企业架构的实现。
- 目标(Target):企业要实现的目标。例如:我们要用乐高积木拼一部卡车。
- 流程(Process):组合积木的方法。例如:乐高积木中如何拼卡车的说明书。
- 功能(Function):当前企业拥有的“积木”。例如:乐高积木中的基础积木。
TOGAF Structure
TOGAF的基本架构如下图所示:
Open Group的官方TOGAF架构图请参考
在上图中,企业目标驱动整个框架的运转。ADM根据企业目标,从企业模块集中抽取出模块,通过ADM方法开发出架构能力,该架构能力将支持企业的业务能力,同时该架构能力也会被更新回企业模块集作为企业资产沉淀下来。
例如:我们的业务目标是给孩子制作一个卡车玩具用来运输沙子。我们决定基于乐高积木来完成这个目标。于是我们将手上有的乐高积木聚集在一起(企业模块集),然后在网上找到拼卡车的说明书(ADM),基于说明书我们成功拼了一个乐高的卡车玩具(架构能力),孩子用这个卡车玩具来运输沙子,帮他们搭建沙堡(业务能力)。
企业模块集(Enterprise Continuum)
简单的来说企业模块集(EC)提供了一个视图展现了现有的企业架构资产,例如:企业架构描述、模型、模块、模式等。EC展示了企业架构师在设计每一个企业架构模块的原因、功能、实现。EC是企业架构发展的基础,企业架构发展的规划必须基于EC进行。在EC中具体包含了以下两个部分:
-
架构模块集(Architectural Continuum,AC):架构模块集包含了两部分:第一部分,当前企业架构模块的情况;第二部分,这些架构模块被分类为基础架构模块、通用架构模块、产业架构模块、以及企业架构模块,从这些分类中,我们可以找到可以被重用的架构模块。
-
方案模块集(Solution Continuum,SC):架构模块只是说明了要实现什么,而方案模块则是关系如何实现。类似的,方案模块集也包含了两部分内容:第一部分,当前企业方案模块的情况;第二部分,这些方案模块被分类为基础架构模块、通用架构模块、产业架构模块、以及企业架构模块,从这些分类中,我们可以找到可以被重用的方案模块。
另外,对每一个企业的模块我们都需要有评估的方法,从架构的角度来说,模块的评估需要考虑两个方面:模块的性能 + 所消耗的成本。具体的原因已十分清晰,不再赘述。
架构开发方法(Architect Development Method)
讨论ADM方法的文章已经有很多了,大家可以具体去看。
本文只提以下几点,帮助大家更好的理解、应用ADM:
-
企业根据战略规划,设定的架构目标并不是一蹴而就的,往往需要一个漫长的实现过程。因此,ADM仅仅是架构漫长实现过程当中的一个小的迭代,在架构的实现过程中有多个ADM组成,形成架构不断迭代的过程。
-
Preliminary指导着一个或者多个ADM的进行。
-
ADM的方法可以具体分解成为:目标、构建、转变、管理4个阶段。
参考文献
- [1] Knotion Togaf 9 training (https://www.youtube.com/watch?v=3M4NKwoaLk4&list=PL7Q6Y_YBw-KHeY92SgXcDW2tKKH-YoYdY)
pstrike 2018.05.08 于常州
【尊重版权:转载之前请先联系我】