企业架构之应用架构

有关企业架构的定义非常多,根据自己的理解简化下其含义,企业架构如同战略规划,可以帮助企业完成业务以及IT战略规划,基于业务来驱动的,是企业信息系统中有体系的,普遍的问题解决方案。

根据TOGAF企业架构工具,其又将企业架构分为业务架构,应用架构,数据架构和技术架构。业务架构为主,应用、数据、和技术架构为支撑业务架构,实现业务战略目标。

  • 业务架构:企业治理结构、商业能力与价值流的正式蓝图;定义业务能力,业务流程,业务数据; 流程&蓝图
  • 数据架构:数据的收集,治理,服务等相关数据资产
  • 应用架构:根据业务场景需要,设计软件的功能分配,集成交互,服务总线(规范与标准)
  • 技术架构:从技术实现的角度考虑应用的各种功能,技术选型等。

这里主要学习企业的应用架构

什么是应用架构?

以网络为基础,搭建信息平台,统一应用标准,集成业务应用,走集成化、低成本的发展道路,最终实现以应用系统为中心的互联结构。

企业应用架构是指一整套软件系统的构建,通过合理的划分和设计组合在一起,支持企业方方面面的经营运作。

应用架构介于业务与技术之间,是对整个系统实现的总体架构,需要指出系统的层次、系统开发的原则、系统各个层次的应用服务。

应用架构(Application Architecture)是描述了IT系统功能和技术实现的内容。

根据各种定义,提取其关键点,应用架构必须包含什么:

  • 描述了软件系统有哪些功能。
  • 有一套标准和原则组合各种功能

简言之:应用架构是软件功能与功能的组合原则。

为什么需要应用架构?

1、从工作职能的角度看,应用架构对应的是产品功能规划。

从公司的职能分配,以及检索应用架构的信息来看,应用架构是产品经理关心的事情。做个猜测:业务架构对应的是业务需求;应用架构对应产品功能规划;技术架构对应的则是技术实现;标准化的流程中业务需求一般不会直接传递到开发人员手上,需要经过产品进行需求的抽象和功能标准化。

2、应用架构介于业务与技术之间,确保技术实现满足业务场景的需要。要平衡业务和技术的复杂度,保证系统形散神不散

3、既然应用架构是业务与技术的桥梁,借用一句经典的话

有系统的地方就需要架构,大到航空飞机,小到一个电商系统里面的一个功能组件都需要设计和架构。

如何建设应用架构?

典型应用架构

分层架构、单体架构、微服务架构、事件驱动架构、面向服务(SOA)架构,参考:https://www.redhat.com/zh/topics/cloud-native-apps/what-is-an-application-architecture

  • 分层或 N 层架构是一种传统架构,通常用于构建内部和企业应用,而且常常与传统应用相关联。
  • 微服务既是一种架构,也是构建软件的方法。在微服务中,应用被拆分成最小的组件,彼此独立。其中的每一个组件或流程都是一个微服务。
  • 对于事件驱动系统而言,事件的捕获、通信、处理和持久保留是解决方案的核心结构。这和传统的请求驱动模型有很大不同。事件是指系统硬件或软件的状态出现任何重大改变。而事件的来源可能是内部也可能是外部原因。
  • 面向服务的架构(SOA)是一种非常成熟的软件设计模式,它有点类似于微服务架构模式。 SOA 将应用构建为可重复使用的离散型服务,这些服务会通过企业服务总线(ESB)进行通信。

各种架构模式,我理解是架构的标准方式。

应用架构设计的一些建议

不论是架构师,产品条线负责人,或某个系统的产品负责人,都要有架构设计的理念和知识,尤其是后端产品经理,必须充分理解企业应用架构的基本概念。

  1. 系统定位和边界要清晰,对应的业务定位和边界要清晰
  2. 系统要实现松耦合,高内聚
  3. 易变的,尝试中的新业务要避免影响现有业务的稳定性
  4. 系统之间数据要实现单向流转
  5. 架构设计核心目标是支持业务,有些时候不合理的存在是合理的

应用架构跟随业务而变

一些参考架构图

一切图都是为了表达服务,根据不同的场景,绘制不同类型的应用架构图:

四类视图:

  • 应用视图:展示应用与子应用,并定义应用对业务能力的支撑关系。 重点在应用
  • 应用模块视图:展现应用和子应用下的功能,交互关系,功能和组织单元对应关系。 重点在功能与系统的对应关系
  • 应用功能视图:同上,重点在功能的交互关系。
  • 应用用例视图:展现每个精细化的功能用例,与开发直接衔接。
img
Application Enterprise Architecture Diagram | Enterprise Architecture Diagram Template

最后

能力有限,暂时总结这些。

参考:

应用架构、业务架构、技术架构和业务流程图:https://www.huaweicloud.com/articles/3728914ba1ecee2fa06785d44884bb9b.html

什么是应用架构? https://www.redhat.com/zh/topics/cloud-native-apps/what-is-an-application-architecture

谈谈应用架构的演变史:http://www.woshipm.com/pd/586436.html

架构设计概要、业务、应用、技术、数据架构:https://segmentfault.com/a/1190000038579086

应用架构的使命是什么?https://developer.aliyun.com/article/716280

你可能感兴趣的:(企业架构之应用架构)