本章主要讲解业务驱动的应用架构设计
1 应用架构的定义
应用架构是对一组应用系统及其交互关系的描述,其中的每个应用系统都是一个“逻辑功能组”,用于支撑业务功能,管理数据资产。支撑具体业务功能、业务流程的要求;支撑具体数据资产的操作管理要求。应用架构不关注“某个应用的内部”,既不关注每个应用本身的架构,也不关注每个应用的实现技术。
2 TOGAF的应用架构方法
推荐方法分为6步
a 根据业务加购范围,识别应用程序和应用组件;
b 优化应用程序和应用组件粒度,例如讲应用分解;
c 避免应用程序和应用组件的重叠,例如将应用合并;
d 确定需要的应用系统;
e 考虑应用与业务功能,业务流程和数据的关系等;
f 考虑应用的运行、集成、迁移、开发与操作。
3 应用架构实践攻略
应用架构的实际工作内容包括四类内容:应用需求、应用项目、应用集成、研发管理。
a 确认业务功能需求
采用主干流程+分支流程/场景的方式,通过穷举的方式,尽量找到所有的分支场景
b 识别IT应用需求
根据找到的场景分支,发现应用服务,所有的业务流程片段和业务步骤实现方式无非三种:纯手工、全自动、半手工/半自动。
c 分配功能,识别应用
整理所有的应用功能和应用服务,并映射到响应的应用系统和应用组件中。
d 盘点IT应用需求
建立总体功能架构,主要是采用两种方式:功能树和层次图。功能树不如层次图清晰,因为功能树主要显示的是可见功能,而层次图会显示更多服务和需求。层次图的设计主要采用“上渠道、中业务、下支撑、右接口”的布局。
e 分配功能、识别应用(迭代)
这一步是第三步的迭代,由功能树或层次图驱动,不断的优化,形成协同的应用程序。
f 粒度优化
服务粒度的去定,是一个从设计到验证不断反复的过程。不允许出现一个服务需要多个组件实现,这种情况是服务需要拆分的强烈信号。允许一个组件实现多个服务,这是有益的,否则会形成组件竖井。
g 划分项目
通过设计目标应用架构、对比基线应用架构,进行GAP分析,从而找到那些应用服务属于增量能力,并定义成工作包。
h 集成设计、接口设计
采用时序图的方式,说明业务功能的原理,刻画应用之间的集成关系、组件协同关系和协作接口关系。
i 架构产物对比
应用架构的重点是描述方案的应用构成。对于其中的软件,需要进行分包后,由相关的责任主体设计软件架构。
总结:
本章主要是讲应用架构的设计过程,其中核心是业务流程分支场景的穷举。穷举是整个架构成功的基础,而采用Archimate工具可以提供成功率。
应用并无直接价值,价值来源于跑起来的业务流程,所以恪守业务驱动设计原则的重要性。