《业务架构·应用架构·数据架构实战》读书笔记
架构全景图
- 战略是公司高层的设计,却是业务架构师的需求;
- 业务架构师的工作是“战略入、业务架构出”;
- 业务架构是业务架构师的设计,却是数据、应用、技术架构师的需求;
- 环环相扣,上层驱动下层,下层支撑上层。
战略驱动的业务架构设计
什么是业务架构?
业务架构是企业治理结构、商业能力与价值流的正式蓝图。
业务架构明确定义企业的治理结构、业务能力、业务流程、业务数据。其中,业务能力定义企业做什么,业务流程定义企业怎么做。
业务架构的实际工作内容
- 组织结构 - 包括组织结构、业务渠道、合作伙伴;
- 业务流程 - 包括主干流程、分支流程、业务规则;
- 业务功能 - 包括价值链、功能域、功能子域;
- 商业模式;
- 业务数据 - 数据域、数据模型、数据规则;
以“中国铁路 12306 网站”为例,简单说明一下业务架构的内容:
- 组织架构 - 在原组织结构基础上,新建 IT 运维中心和电话客服中心;
- 业务流程 - 先登录、后抢票、再支付、超时未支付则释放票源;
- 业务功能 - 线上购票、线上支付、线上退票、线上点餐等;
- 商业模式 - 线上购票,省时省力;
- 业务数据 - 用户账户、列车时刻表、坐席数据、订单、支付记录等;
业务驱动的应用架构设计
什么是应用架构?
应用架构是—组应用系统及其交互关系的描述,其中的每个应用系统都是一个“逻辑功能组”用于支撑业务功能、管理数据资产。
【注意】应用架构不是“某应用的架构”。
必须强调,应用架构不关注“每个应用的内部”:
- 既不关注每个应用本身的架构;
- 也不关注每个应用的实现技术;
【注意】应用架构的目标,是定义 支持业务 和 处理数据 需要的哪些应用系统。
需要注意的是,“应用架构” 不是 “应用程序的架构”,而是要定义:
- 整个企业关注哪些类型的应用系统;
- 这些应用系统需要执行哪些操作才能管理数据并将信息呈现给企业人员;
应用架构中的“应用”,不应被描述为具体的计算机系统,而应被描述为“逻辑功能组”,这些逻辑功能组负责支持 “数据架构中数据对象的管理” 或支持 “业务架构中的业务功能”。也就是说,识别应用是需要的,定义应用功能是需要的,但不需要指出应用的具体实现技术。
应用架构的实际工作内容
应用需求
- 应用功能:应用系统或子系统具有的能力。多指用户可见的能力。
- 应用服务:应用系统或子系统具有的能力。含用户不可见的能力。例如,数据缓存服务、加密传输服务、压缩传输服务。
应用项目
- 需求分配:把应用服务指派给应用组件。
- 应用组件:应用服务的承担者,是应用架构要识别的主要对象。
- 应用项目:定义成工作包。例如,前端工作包、后端工作包。
应用集成
- 应用集成:不同应用之间,以及应用与第三方系统之间的交互关系。
- 组件协作:应用组件之间的交互关系。
- 接口定义:识别应用间交互的接口有哪些。
研发管理
- 路径管理:又称产品里程碑管理。即产品在某个时间点要达到的标准。
- 接口管理:长期的、跨实施阶段的接口标准的管理。
- 项目管理:由 PMO 牵头。
业务驱动的应用架构设计步骤
以 “智能物流柜” 为例,讲解下应用架构设计:应用架构设计 - 智能物流柜。
业务驱动的数据架构设计
什么是数据架构?
数据架构是通过对齐企业战略得到的数据资产管理蓝图。
具体而言,该蓝图用于指导如何分析数据需求、如何做好响应设计。
数据架构描述企业的:
- 主要数据类型及其来源;
- 逻辑数据资产;
- 物理数据资产;
- 数据管理资源;
- 上述所有内容的结构和交互;
数据架构的实际工作内容:
- 数据类型及其来源 - 例如一个电商企业需要操作日志、生产库、BI 库,这三类数据;
- 数据模型 - 例如日志模型、进销存模型、BI 星型模型,以及跨业务的主数据模型;
- 数据存储 - 例如日志采用文本文件存储,其他采用关系型数据库存储;
- 数据流 - 例如从查找商品,到下订单涉及的数据流;
- 数据管理 - 例如数据安全的规定,包括物理安全、网络安全、系统安全、应用安全、数据安全、管理安全;
双轮驱动的技术架构设计
什么是技术架构?
技术架构描述:
- 需要哪些 技术服务;
- 选择哪些 技术组件 来实现 技术服务;
- 技术服务 与 技术组件 之间的交互关系;
技术服务,可以是:
- 硬件能力 - 例如服务器、磁盘阵列、GPU 并行计算、GPS 定位;
- 网络能力 - 例如局域网、移动互联网、现场总线、宽带要求;
- 软件能力 - 例如负载均衡服务、数据复制服务、MQ 服务、RPC 服务、广播服务等;
技术组件,可以是:
- 技术平台 - 例如 J2EE;
- 技术框架 - 例如 Spring;
- 技术产品 - 例如 Tomcat;
技术架构的实际工作内容
1、技术需求:
- 技术服务;
- 技术参考架构(技术栈);
2、技术选型:
- 技术平台(运行平台、开发平台);
- 技术组件(技术产品、技术框架、中间件);
3、物理选型:
- 硬件;
- 网络;
4、分布设计:
- 部署结构;
- 负载均衡;
5、选型管理:
- 技术指标;
- 选型标准;
如何基于评估做技术选型
- 需求满足度;
- 受认可程度;
- 周边产品支持度;
- 使用广泛性;
- 合法合规性;
- 文档可获得性;
- 产品完整性;
- 技术成熟性;
- 系统稳定性;
- 可测试性;
- 遗漏系统兼容性;
- 国际化支持;
- 缺陷数量;