一文说清楚企业IT系统架构
架构是构建复杂系统方法,通过分解系统为多个子系统,从而降低复杂度,更好的规划和实现系统。 当提到架构的时候,它通常有如下含义
- 架构是系统早期的产物,用于指导系统的实现
- 架构采用多个视角对系统的解读,因此一个系统拥有多个视角的架构。
- 架构分解系统为多个更容易理解和实现的子系统或组件,并包含了子系统或者组件之间的关联关系。
架构思想本质上是多层次多角度的建立系统的模型,这不仅仅用在IT行业,还普遍在建筑行业,生产领域,军工领域
以人体模型为例子:可以从中西医角度建模,以中医角度为例子,人体包含了奇经八脉。进一步分解,足底的经络又包含了足三阴、足三阳六条经络。
以建立六代战斗机机为例子:可以从气动模型,数据链路,航电系统等角度对战斗机建模。航电系统可以细分为武器,动力,隐身,综合航电等
企业的IT系统架构,从不同的视角分为业务架构,应用架构,数据架构,技术架构,这4个通常被业界称为4A(Architecture)架构,每种架构又可以进一步细分
- 业务架构从业务角度出发,说明了系统需要做什么,业务架构来源于业务需求,企业战略。 业务架构的主要包含了业务流程,业务功能和业务数据
- 数据架构来也来源于业务架构,描述业务架构产生的业务信息的逻辑结构和关系,包括概念模型、逻辑模型和物理模型以及数据分布
- 应用架构说明了怎么使用IT技术实现业务架构中的业务流程和约束
- 技术架构依据数据架构,应用架构,从各个角度描述系统的IT实现,含了软件架构,部署(物理)架构,开发架构,运行架构。通过架构的多个视角来指导软件的实现。实现软件架构及其高质量约束是本书的重点
下图展示了企业各个架构的关系,利益相关人,以及架构的输出结果。

各个架构简要说明如下,并在本章后面章节详细说明。需要注意:“主要输出”一栏列举出对于软件架构师最重要内容,比如大型企业的数据架构会输出数据质量,数据标准等数据管理,这部分主要是数据架构师和数据团队关心。软件架构师主要关心的是数据模型
| 名词 | 含义 | 相关人 | 主要的输出 |
|---|---|---|---|
| 公司战略 | 公司战略通常来自于市场需求,竞争对手的产品,或者国家政策导向,政策法规。公司战略将通过业务需求迭代实现 | 企业高层 | 战略白皮书 |
| 业务架构 | 定义企业的业务战略、组织结构、业务需求,关键业务流程,分支业务流程。 | 业务架构师 | 业务流程,业务功能,业务数据 |
| 数据架构 | 支持业务架构的数据模型,数据分布,数据流,以及相应的数据管理办法 | 数据架构师 | 概念模型,逻辑模型,数据物理模型 |
| 应用架构 | 面向IT实现的应用架构,说明了系统应该提供什么样的功能才能满足业务架构和数据架构 | 应用架构师 | 应用功能架构 |
| 技术架构 | 描述了支持业务、数据和应用服务所需的逻辑软件和硬件能力;这包括软件,IT基础设施、中间件、网络、通信等 | 技术架构师 | 软件架构,开发架构,部署架构,运行时刻系统架构等 |
技术架构是本书的的内容,又细分为如下架构:
| 名词 | 含义 |
|---|---|
| 软件架构 | 软件架构包含了架构风格和质量属性。架构风格根据业务架构,应用架构和数据架构,决定了以何种模式拆分系统以易于理解和实现。质量属性则是如何架构以满足业务的高可用,高性能,故障可恢复等要求 |
| 开发架构 | 开发架构又称为代码架构,主要为开发人员提供切实可行的指导以实现软件产品,包含了技术选型,代码框架,模块管理,配置管理,技术规范等,开发人员依次为起点实现软件系统。 |
| 部署架构 | 部署架构着重考虑运行系统是如何部署在计算机、网络等硬件设施的。部署架构还要考虑软件系统和包括硬件在内的整个IT系统之间是如何相互影响的,由于一部分运行质量属性需要硬件或网络的支持,所以物理架构必须关注如何配置硬件和网络来满足软件系统的质量属性。如可靠性、可伸缩性、性能,安全性等方面要求。 |
| 运行架构 | 通常架构注重系统静态视图,运行架构则描述了软件系统主要的数据流向和数据的更改。 或者系统内部关键组件运行状态。比如一个企业消息中心,运行架构描述了在消息接收者出现宕机情况下,消息发送者,消息中心,消息接收者的各个状态 |
《开放组体系结构框架TOGAF》 和 《FEAF联邦企业架构》 ,均为成熟且经过实践检验的架构方法,为企业提供了一套系统化的架构开发与管理框架。本章中的业务架构,数据架构和应用架构的概念来自于这俩套理论体系。但他们对软件技术架构,尤其高质量的软件架构实现,缺少指导。这也是本书写作的原因。
