了解企业架构EA(Enterprise Architecture)
一、企业架构简介
企业架构:Enterprise Architecture,EA,或企业体系结构,是在信息系统架构设计与实践基础上发展起来的一个特殊领域。
但是企业架构现在还没有一个公认的定义,综合现有的研究与实践,可以从下面几个方面理解:
- 关于一般性的企业或组织(组织社会学)
- 包括某种企业参考模型或企业参考模型“框架”
- 涉及企业建模基本要素及其相互关系或结构、结构准则
- 应用、实施涉及或包括整个企业生命周期上的治理
- 应用、实施者通常是企业内信息技术部门,或能够从企业战略、业务模式与系统或组织建设角度结合、运用信息技术的部门或职能
- 应用、实施目标通常是在企业信息技术应用实施、集成中保持与业务的一致性;更深入的目标是创建和维护基于信息技术基础设施、充分发挥信息技术作用的信息化企业
以上来自维基百科:https://zh.wikipedia.org/wiki/企业架构
从上面简介中可以看到,企业架构所考虑的面向还是比较多,有企业组织、企业参考模型,还有从企业战略、业务模型与系统或组织建设角度结合,还有IT系统建设等等好多方面的内容。
二、简单的企业架构
先来看一看运营一家企业都有些什么,首先肯定有业务,然后具体的业务通过哪些应用系统来承载。如果是一家 IT 信息化的企业,对于这些应用系统肯定会用到 IT 中的技术。
根据上面这些信息可以画一张粗略的图出来:

比如说做招聘业务,帮助其它企业招聘企业需要的人员这种招聘业务。承载这个招聘业务,你可以做一个招聘系统,比如像拉钩、Boss直聘这样的在线招聘应用系统。那做这些招聘应用系统,可以用哪些技术呢?编程语言可以用PHP、java、Go来开发,服务器可以用云厂商,数据库也可以用云厂商的,等等这些技术。
三、复杂的企业架构
上面是我理解的一个简单的企业架构。复杂一点的企业架构包括什么呢?
企业战略、业务架构、数据结构、应用架构、技术架构,其中的数据架构和应用架构可以合并为信息架构。
- 企业战略:企业的价值定位,实现价值的发展战略。包括短期战略和长期战略。
- 业务架构:业务发展规划,业务目标,业务功能,业务对象,业务模型,业务流程,组织结构。
- 数据架构:数据流程,数据对象,数据模型,数据存储,一般要和应用架构一起使用。
- 应用架构:应用发展规划,应用系统,应用功能,应用组件、接口。
- 技术架构:技术发展规划,架构设计,技术选型,技术组件,技术中间件,laaS,PaaS 等。
企业战略:企业为了追求使命和实现目标而采取的一系列相关行动。
当然企业战略又可以细分为多种:业务战略,产品战略,营销战略,竞争战略,市场战略。。等等。这种战略一般都是公司高层制定。
一开始做企业,我觉得不容易想到企业的使命和价值,战略也不容易想到,而是在业务做着做着慢慢做大后自然会想到的事情。
这种企业架构就是战略决定了业务,业务决定了技术的运用。反过来,技术支撑了业务,业务支撑了战略。
战略制定了,就要想根据战略做什么样的业务,然后在运用技术来支撑业务。支撑业务是什么意思?由技术构成的应用系统来支撑业务。
所以我们平常的技术架构,都是要从当前业务出发来进行技术选型技术架构。

四、Zachman框架
John Zachman 在 1987 年提出了“信息系统架构的框架”,它是一个通用的组织架构模型分类方案,为现今的企业架构提出了一个基本的概要性视图。这一工作被视为企业架构方面的开创性工作之一。在 1997 年,Zachman 又总结提出了经过扩充、更完整的框架,称为“企业架构框架”(Framework for Enterprise Architecture)。
它为公司来理解、表述企业信息架构提供了一种直观的视图,为企业的信息基础设施提供了蓝图和架构。
John Zachman先生在 1987 年完成的那篇著名的信息系统架构论文(《A framework for information systems architecture》 ),并一直发展至今。在这篇论文中 Zachman 先生以修建房屋为例从两个维度将与信息系统架构设计相关的各种元素归纳到如下表格之中:

(来自:https://www.cnblogs.com/zscyun/archive/2013/05/02/3054610.html)
表格中的每一行,企业架构中的不同角色:
- 范围/规划师(Planner)
- 业务模型/拥有者(Owner)
- 系统模型/设计师(Designer)
- 技术模型/建造者(Builder)
- 详细表述/分包者(Sub-Contractor)
- 产品/运行中的企业(Functioning Enterprise)
最后一行产品/运行中的企业,1987年论文中是没有的,为了表述完整,加进去了。
对于企业架构中的不同角色,还可以这样来看:
- 企业拥有者
- 业务管理者
- 系统分析师
- 系统设计师
- 系统建设者
- 运行的产品
表格中的每一列代表了信息系统的某一个方面。在 Zachman 先生看来,对于任何一个事物只要在几个基本方面对其进行清晰的解释就足将其描述清楚,这些方面包括:
- 数据(What,即什么内容)
- 功能(How,即如何工作)
- 网络(Where,即何处)
- 人(Who,即何人负责)
- 时间(When,即什么时间)
- 原因(Why,即为什么做)
上面的各项内容更加详细解释请看这篇文章:https://www.cnblogs.com/zscyun/archive/2013/05/02/3054610.html。
五、TOGAF企业框架
5.1 TOGAF介绍
TOGAF:
开放组体系结构框架,是英文 The Open Group Architecture Framework 的头一个字母的缩写。它是一个企业架构框架,为企业管理信息架构提供了一种设计,规划的方法。TOGAF 是国际开放组织于 1995 年开发的。
TOGAF 是一种高层设计方法,提供了 4 种建模级别:业务,应用程序,数据,技术。
5.2 TOGAF内容
TOGAF 内容
TOGAF 发展了很多年,现在到了 9.1 版本
TOGAF 架构图:

(来自:https://pubs.opengroup.org/architecture/togaf9-doc/arch/index.html)
从上图可以看到 TOGAF 核心部分:
- 架构能力框架
- 架构开发方法
- 架构内容框架
- 企业持续性和工具
影响企业架构变化的因素有哪些:
- 企业使命和计划:企业的使命愿景,计划和组织基础架构变化。
- 企业战略:企业的战略,按 SWOT 来分析的话,内部竞争和外部竞争,优势,劣势,机会和威胁。企业范围内的改变,比如流程改进。
- 外部约束:市场因素,客户群体变化,客户需求变化等。
- 当前系统和技术:企业内部系统老旧需要升级,运用新技术来改造,提供更好的效率和服务。
- 计算机行业趋势:技术的变化,新技术的出现降低成本,提高开发效率。比如云计算,云原生技术。
ADM 架构开发方法
ADM,架构开发方法,英语 Architecture Development Method 的缩写。为开发企业架构所需执行的各个步骤以及他们之间的关系进行了详细定义,它是 TOGAF 框架中最为核心的部分。
TOGAF 架构开发的各个阶段:

(来自:https://www.visual-paradigm.com/guide/togaf/togaf-adm-tutorial/)
原图地址:https://pubs.opengroup.org/architecture/togaf9-doc/arch/index.html
从图可以看到,架构方法是一个循环迭代过程。它的核心是需求管理。ADM 的 9 个阶段:
- 预备阶段
- 架构前景阶段
- 业务架构阶段
- 信息系统架构阶段
- 技术架构阶段
- 机会与解决方案阶段
- 迁移计划阶段
- 实现治理阶段
- 架构变更管理阶段
这个架构方法有这么多步骤阶段,这是一个比较完整的实施循环。
如果你要参考实施,并不一定所有阶段的都要实现,可以根据自己实际情况适当去掉一些阶段。
企业架构是一个涉及面比较广、事关整体规划、长期实施的事情,也是一个企业长期追求,所以需要分阶段规划,逐步实施、迭代进行。
TOGAF 内容很丰富,更多内容请查看TOGAF 官网:https://pubs.opengroup.org/architecture/togaf9-doc/arch/index.html
六、总结
无论是 zachman 认知框架还是 TOGAF 框架,都给我们认识企业架构提供了一种视角,一种方法框架。
通过这些提供的认知企业架构的角度方法,可以审视自己的企业架构。
对自己进行企业架构有一个很好的指导作用。
当然企业架构框架不止这 2 种,还有好多其他的,比如在 OpenGroup 这个组织,里面还有 ArchiMate,IT4IT 等框架。
除了这些,主要的还有 EAP,FEA,DoDAF 等企业架构。
七、参考
- https://zh.wikipedia.org/wiki/企业架构 企业架构
- https://www.cnblogs.com/zscyun/archive/2013/05/02/3054610.html Zachman 框架
- https://pubs.opengroup.org/architecture/togaf9-doc/arch/index.html OpenGroup的TOGAF官网
了解企业架构EA(Enterprise Architecture)的更多相关文章
- 企业架构(Enterprise Architecture)
ylbtech-Miscellaneos: 企业架构(Enterprise Architecture) A,返回顶部 1, 简称EA.是指对企业事业信息管理系统中具有体系的.普遍性的问题而提供的通用解 ...
- PowerDesigner(三)-企业架构模型(转)
企业架构模型(Enterprise Architecture Model,EAM)是PowerDesigner 15新增的功能,它能够以图形的方式展现企业架构,从而取代文字描述:以偏向非技术性的表达方 ...
- 企业架构研究总结(40)——TOGAF架构能力框架之架构合同、成熟度模型和架构技能框架
5. 架构合同 架构合同是在开发团体和赞助者之间关于架构的交付物.质量以及适用目标的联合协议,并且通过有效的架构治理将会促使这些协议的成功施行.通过对合同的管理施行一个治理方法,如下几点将会得到保障: ...
- EA(企业架构)落地之道
随着业务和IT的不断融合,企业业务.信息系统和技术结合日益紧密,企业对信息系统及技术的敏捷性要求越来越高.如何在多变的环境下快速创新产品或服务并推向市场是企业面临的日益紧迫的压力.企业架构作为连接和匹 ...
- 选择企业架构实践公开课的指导?TOGAF+ArchiMate+BangEA,EA工作者必学一门公开课
我发现身边越来越多人谈数字化.谈企业架构,但是感觉谈的总是IT?知道好像不对,但是又好像也无法告诉别人这和传统的IT架构有什么不一样?网上找资料,看了很多也摸不到门路,也不知道别人讲的对不对.对了还好 ...
- BABOK - 企业分析(Enterprise Analysis)
BABOK - 企业分析(Enterprise Analysis)概要 发表于2013年10月9日由周金根 描述 企业分析描述我们如何捕捉.提炼并明晰业务需要,并定义一个可能实现这些业务需要的一个方案 ...
- 企业架构与建模之使用ArchiMate进行分析
企业架构与建模之使用ArchiMate进行分析(全系列完) 4. 使用ArchiMate进行分析 正如前面所说的那样,一个企业整体效率的提升有时并不是通过某一个领域内的优化就能达到的,而且这种忽视全局 ...
- 企业架构研究总结(45)——企业架构与建模之使用ArchiMate进行分析(全系列完)
4. 使用ArchiMate进行分析 正如前面所说的那样,一个企业整体效率的提升有时并不是通过某一个领域内的优化就能达到的,而且这种忽视全局的做法往往还会造成不必要的浪费.由此可见,一个能够跨越各个领 ...
- 企业架构与建模之ArchiMate的由来和详述(上)
终于完成了关于企业架构框架理论的总结,谢谢各位看官的支持,能挺过之前过于理论化的叙述而坚持到现在着实不易,笔者也自愧没有实践经验可以分享,希望日后有兴趣的看官能够不吝赐教.在本系列后面的也是最后一个大 ...
- 企业架构研究总结(41)——企业架构与建模之ArchiMate的由来和详述(上)
终于完成了关于企业架构框架理论的总结,谢谢各位看官的支持,能挺过之前过于理论化的叙述而坚持到现在着实不易,笔者也自愧没有实践经验可以分享,希望日后有兴趣的看官能够不吝赐教.在本系列后面的也是最后一个大 ...
随机推荐
- [转帖]一次SSL握手异常,我发现JDK还有发行版区别
https://www.cnblogs.com/codelogs/p/16633704.html 原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处. 简介# 最近,我们一个 ...
- [转帖]Linux下进程管理知识(详细)总结
一.简介 本文主要详细介绍进程相关的命令的使用.进程管理及调度策略的知识. 二.常用的命令解析 1.ps命令 命令选项 解析 -a 显示一个终端所有的进程 -u 显示进程的归属用户和内存占用情况 -x ...
- [转帖]jemalloc内存分配算法
https://www.cnblogs.com/xiaojiesir/p/15450732.html jemalloc内存分配算法简介 jemalloc 是由 Jason Evans 在 FreeBS ...
- BPF的简单学习
BPF的简单学习 前言 本来规划过年期间学习一下bpf相关的内容 但是因为自己没有坚持学习,所以到最后一天才开始整理. 本来想深入学习一下相关内容,但是已经感觉已经无法完成. 最近大半年进行了很多性能 ...
- 2024年最新的Python操控微信教程
自从微信禁止网页版登陆之后,itchat 库实现的功能也就都不能用了,那现在 Python 还能操作微信吗?答案是:可以! 在Github上有一个项目叫<WeChatPYAPI>可以使用 ...
- 你不知道的Promise状态变化机制
1.Promise中PromiseStatus的三种状态 var p = new Promise((resolve, reject) => { // resolve 既是函数也是参数,它用于处理 ...
- [置顶] python常用web开发框架
Flask篇 第一篇:初识Flask.快速启动 第二篇:Flask四剑客 第三篇:Flask的配置文件 第四篇:Flask路由 第五篇:Flask模板渲染 第六篇:Flask的请求与响应 第七篇:Fl ...
- 通过Demo学WPF—数据绑定(一)✨
前言 想学习WPF,但是看视频教程觉得太耗时间,直接看文档又觉得似懂非懂,因此想通过看Demo代码+文档的方式进行学习. 准备 微软官方其实提供了WPF的一些Demo,地址为:microsoft/WP ...
- tensorflow语法【tf.gather_nd、reduce_sum、collections.deque 、numpy.random.seed()、tf.gradients()】
相关文章: [一]tensorflow安装.常用python镜像源.tensorflow 深度学习强化学习教学 [二]tensorflow调试报错.tensorflow 深度学习强化学习教学 [三]t ...
- Linux虚拟机追加扩展磁盘
一.使用VMware给虚拟机追加磁盘 使用VMware打开虚拟机设置对话框,选择硬盘,点击右侧的扩展按钮,输入扩展后的磁盘容量. 点击扩展按钮.提示磁盘已成功扩展. 二.对闲置的空间进行分区 上面扩展 ...