2021-09-06 企业架构之应用架构

有关企业架构的定义非常多,根据自己的理解简化下其含义,企业架构如同战略规划,可以帮助企业完成业务以及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)进行通信。

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

应用架构设计的一些建议

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

系统定位和边界要清晰,对应的业务定位和边界要清晰

系统要实现松耦合,高内聚

易变的,尝试中的新业务要避免影响现有业务的稳定性

系统之间数据要实现单向流转

架构设计核心目标是支持业务,有些时候不合理的存在是合理的

应用架构跟随业务而变

一些参考架构图

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

四类视图:

应用视图:展示应用与子应用,并定义应用对业务能力的支撑关系。  重点在应用

应用模块视图:展现应用和子应用下的功能,交互关系,功能和组织单元对应关系。重点在功能与系统的对应关系

应用功能视图:同上,重点在功能的交互关系。

应用用例视图:展现每个精细化的功能用例,与开发直接衔接。


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

作者:Real_man

链接:https://www.jianshu.com/p/03f1810439c3

来源:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

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