最近写了两篇关于企业架构的文章,我认为在信息化领域对企业架构的认知应该是默认的常识 ,但还是发现一些人还是对企业架构一无所知,却总想对企业架构评论一下。想澄清几个企业架构的基本概念吧。
一、企业架构是经验的承载
架构一词是从英文Architecture翻译而来,但是Architecture直译过来翻译为建筑学,只有在软件领域,Architecture才被翻译为架构。
可以认为架构一词是软件借鉴建筑学经验,从建筑学引申出来的概念,人类有几千年设计建造建筑的经验,在实践中总结了丰富的建筑设计的成功模式;计算机软件的发展历史开始于20世纪50年代,在需求驱动下快速发展起来,在软件实现的过程中,软件行业可借鉴的经验和模式非常稀缺;于是软件行业从业者借鉴了很多建筑学领域的成功模式,包括软件架构、软件设计模式等概念都是软件行业从建筑学的成功模式借鉴而来的;在20世纪60年代,E·W·戴克斯特拉(计算机先驱,图灵奖获得者)就开始研究软件架构(Software Architecture)的概念,进入20世纪90年代,随着计算机软件的普及,软件架构的概念逐渐流行,被广泛应用。
企业应用软件的开发借鉴了建筑学经验,软件开发通常包括两方面工作:软件设计和软件工程。在企业信息化的长期实践中,总结完善了企业信息化的方法论:企业架构(Enterprise Architecture)。
企业架构的价值
1、理清系统结构和关系:系统在构建的构成中参与者包括战略相关、业务相关、技术相关等不同角色,需要用相应角色熟悉的语言描述业务或技术;这就需要从不同视角、不同维度对系统做清晰的描述,企业架构提供了不同维度的描述框架,帮助用户快速理解系统结构和关系。
2、项目质量保证:在构建系统的时候,需要考虑系统安全、信息安全、系统的弹性、系统之间的互操作、与设备的连接、数据管理、数据分析、智能控制、组件动态组合等多个方面的要求,而最佳实践的架构或者参考架构已经充分考虑这些问题,根据架构的指导,可以避免在这些方面出现设计缺陷,从而保证信息化项目的交付质量;
3、 经验的复用:企业架构是从成功案例的经验中总结出来的整体结构与组件的抽象描述,成功案例的经验通过架构传递给新的应用协同的结构设计者,以方便成功经验的复用。
4、 承载标准:在企业信息化时代,架构研究者提供了非常多的参考架构,这些架构中已经融入了技术标准、行业标准。比如工业4.0参考架构模型RAMI(Reference Architecture Model Industry 4.0),是基于标准的一套体系架构,为工业4.0的解决方案、实践提供了一套完整的架构参考,在RAMI中包含了IEC 62890/IEC62264/IEC 61512标准,参考RAMI架构制定的方案通常可以满足相应标准的要求。
所以企业架构的主要价值是将已有的成功经验(标准、方法、项目结构)复用的工具,如果做颠覆式的创新(打破传统束缚的创新),企业架构没有意义。
在一个交流群中,我提的任何观点,都会有人反对,其中就有人提出:
MUSK肯定不知道啥是企业架构,他是自己想怎么变就怎么就怎么变。我理解企业架构是为了方便IT人自己如何服务于客户将需求转变为产品。
我们承认MUSK是天才,只有总结出MUSK成功的模式之后才能去学MUSK的创新,不然盲目学MUSK是容易把自己公司搞死的。
企业架构是总结了项目成功的模式的经验总结。
二、TOGAF是应用最广的企业架构
企业架构是在上个世纪90年代,随着计算机的发展和企业应用实践得以演进和发展。主要有Zachman,EAP,FEA(F),TOGAF, DoDAF等几种框架。
其中应用最广的企业架构是TOGAF。
TOGAF是由The Open Group架构论坛来开发和维护的。TOGAF第一版于1995年开发,当时是基于美国国防部的信息管理技术架构框架(Technical Architecture Framework for Information Management,TAFIM)。从这个坚实的基础开始,The Open Group架构论坛就一直在定期开发TOGAF的各个后续版本,并将每个版本都发布在The Open Group的网站上。
TOGAF文档的结构:
非常有趣的是,我开始知道TOGAF,是因为打听华为方法论时,华为的朋友不告诉我,让我参考TOGAF,因为华为是中国企业赞助TOGAF的级别最高的赞助商。而且华为将TOGAF作为IT规划的方法论。
华为有自己的战略和业务架构的版本,也可以叫EA。叫啥不重要
看了这个在微信群的讨论,他搞错了方向:华为的IT规划的方法本身就是企业架构,而且是借鉴了TOGAF的架构。
华为作为科技领先的企业,的确是中国民族企业的骄傲。但华为能够成功,是借鉴了很多先进经验的,比如企业架构。
而华为强,但华为不能成为一些外行吹牛的本钱:动辄就把华为经验搬出来,当你把华为经验作为谈资的时候,似乎应该把华为的精髓学不到。连华为的怎么用EA都不知道,就把华为抬出来。
我有一个习惯,当遇到不了解的概念的时候,先把概念了解清楚了再在群里交流。如果连概念都不理解,这个概念下很多隐含的内容不了解,会容易闹笑话的。