架构笔记汇总

简介: 架构笔记汇总

《业务架构·应用架构·数据架构实战》读书笔记

架构全景图

015988adbdca41994c78849a9b4160ec.png

fb1bdfc847fb9faeb8acf8f79d61f46c.png

  1. 战略是公司高层的设计,却是业务架构师的需求;
  2. 业务架构师的工作是“战略入、业务架构出”;
  3. 业务架构是业务架构师的设计,却是数据、应用、技术架构师的需求;
  4. 环环相扣,上层驱动下层,下层支撑上层。

战略驱动的业务架构设计

什么是业务架构?

业务架构是企业治理结构、商业能力与价值流的正式蓝图。

业务架构明确定义企业的治理结构、业务能力、业务流程、业务数据。其中,业务能力定义企业做什么,业务流程定义企业怎么做。

业务架构的实际工作内容

73469676c56a24fc6d25015f542e1355.png

  • 组织结构 - 包括组织结构、业务渠道、合作伙伴;
  • 业务流程 - 包括主干流程、分支流程、业务规则;
  • 业务功能 - 包括价值链、功能域、功能子域;
  • 商业模式
  • 业务数据 - 数据域、数据模型、数据规则;

以“中国铁路 12306 网站”为例,简单说明一下业务架构的内容:

  • 组织架构 - 在原组织结构基础上,新建 IT 运维中心和电话客服中心;
  • 业务流程 - 先登录、后抢票、再支付、超时未支付则释放票源;
  • 业务功能 - 线上购票、线上支付、线上退票、线上点餐等;
  • 商业模式 - 线上购票,省时省力;
  • 业务数据 - 用户账户、列车时刻表、坐席数据、订单、支付记录等;

业务驱动的应用架构设计

什么是应用架构?

应用架构是—组应用系统及其交互关系的描述,其中的每个应用系统都是一个“逻辑功能组”用于支撑业务功能、管理数据资产。

【注意】应用架构不是“某应用的架构”。

必须强调,应用架构不关注“每个应用的内部”:

  • 既不关注每个应用本身的架构;
  • 也不关注每个应用的实现技术;

【注意】应用架构的目标,是定义 支持业务 和 处理数据 需要的哪些应用系统。

需要注意的是,“应用架构” 不是 “应用程序的架构”,而是要定义:

  • 整个企业关注哪些类型的应用系统;
  • 这些应用系统需要执行哪些操作才能管理数据并将信息呈现给企业人员;

应用架构中的“应用”,不应被描述为具体的计算机系统,而应被描述为“逻辑功能组”,这些逻辑功能组负责支持 “数据架构中数据对象的管理” 或支持 “业务架构中的业务功能”。也就是说,识别应用是需要的,定义应用功能是需要的,但不需要指出应用的具体实现技术。

应用架构的实际工作内容

69c934808b21398e1d330f86a7a48613.png

应用需求

  • 应用功能:应用系统或子系统具有的能力。多指用户可见的能力。
  • 应用服务:应用系统或子系统具有的能力。含用户不可见的能力。例如,数据缓存服务、加密传输服务、压缩传输服务。

应用项目

  • 需求分配:把应用服务指派给应用组件。
  • 应用组件:应用服务的承担者,是应用架构要识别的主要对象。
  • 应用项目:定义成工作包。例如,前端工作包、后端工作包。

应用集成

  • 应用集成:不同应用之间,以及应用与第三方系统之间的交互关系。
  • 组件协作:应用组件之间的交互关系。
  • 接口定义:识别应用间交互的接口有哪些。

研发管理

  • 路径管理:又称产品里程碑管理。即产品在某个时间点要达到的标准。
  • 接口管理:长期的、跨实施阶段的接口标准的管理。
  • 项目管理:由 PMO 牵头。

业务驱动的应用架构设计步骤

b514ad283a5c7ad0cdcc41c0464fde6f.png

以 “智能物流柜” 为例,讲解下应用架构设计:应用架构设计 - 智能物流柜

业务驱动的数据架构设计

什么是数据架构?

数据架构是通过对齐企业战略得到的数据资产管理蓝图。

具体而言,该蓝图用于指导如何分析数据需求、如何做好响应设计。

数据架构描述企业的:

  • 主要数据类型及其来源;
  • 逻辑数据资产;
  • 物理数据资产;
  • 数据管理资源;
  • 上述所有内容的结构和交互;

数据架构的实际工作内容:

3f6abfb33764e7847c54b02d8dd78c6c.png

  • 数据类型及其来源 - 例如一个电商企业需要操作日志、生产库、BI 库,这三类数据;
  • 数据模型 - 例如日志模型、进销存模型、BI 星型模型,以及跨业务的主数据模型;
  • 数据存储 - 例如日志采用文本文件存储,其他采用关系型数据库存储;
  • 数据流 - 例如从查找商品,到下订单涉及的数据流;
  • 数据管理 - 例如数据安全的规定,包括物理安全、网络安全、系统安全、应用安全、数据安全、管理安全;

双轮驱动的技术架构设计

什么是技术架构?

技术架构描述:

  1. 需要哪些 技术服务
  2. 选择哪些 技术组件 来实现 技术服务
  3. 技术服务技术组件 之间的交互关系;

技术服务,可以是:

  • 硬件能力 - 例如服务器、磁盘阵列、GPU 并行计算、GPS 定位;
  • 网络能力 - 例如局域网、移动互联网、现场总线、宽带要求;
  • 软件能力 - 例如负载均衡服务、数据复制服务、MQ 服务、RPC 服务、广播服务等;

技术组件,可以是:

  • 技术平台 - 例如 J2EE;
  • 技术框架 - 例如 Spring;
  • 技术产品 - 例如 Tomcat;

技术架构的实际工作内容

1、技术需求:

  • 技术服务;
  • 技术参考架构(技术栈);

2、技术选型:

  • 技术平台(运行平台、开发平台);
  • 技术组件(技术产品、技术框架、中间件);

3、物理选型:

  • 硬件;
  • 网络;

4、分布设计:

  • 部署结构;
  • 负载均衡;

5、选型管理:

  • 技术指标;
  • 选型标准;

如何基于评估做技术选型

  1. 需求满足度;
  2. 受认可程度;
  3. 周边产品支持度;
  4. 使用广泛性;
  5. 合法合规性;
  6. 文档可获得性;
  7. 产品完整性;
  8. 技术成熟性;
  9. 系统稳定性;
  10. 可测试性;
  11. 遗漏系统兼容性;
  12. 国际化支持;
  13. 缺陷数量;
目录
相关文章
|
5月前
|
监控 负载均衡 Dubbo
|
9天前
|
机器学习/深度学习 网络架构 计算机视觉
目标检测笔记(一):不同模型的网络架构介绍和代码
这篇文章介绍了ShuffleNetV2网络架构及其代码实现,包括模型结构、代码细节和不同版本的模型。ShuffleNetV2是一个高效的卷积神经网络,适用于深度学习中的目标检测任务。
37 1
目标检测笔记(一):不同模型的网络架构介绍和代码
|
6天前
|
XML 前端开发 Android开发
Kotlin教程笔记(80) - MVVM架构设计
本系列学习教程笔记详细讲解了Kotlin语法,适合需要深入了解Kotlin的开发者。对于希望快速学习Kotlin语法的读者,建议参考“简洁”系列教程。本文重点介绍了Kotlin实现MVVM架构的设计思路和代码实现,包括Model、ViewModel和View层的具体实现,以及如何通过LiveData和viewModelScope有效管理数据和内存,避免内存泄漏。此外,还讨论了MVVM架构的常见缺点及应对策略,帮助开发者在实际项目中更好地应用这一设计模式。
17 1
|
1月前
|
设计模式 Java 关系型数据库
【Java笔记+踩坑汇总】Java基础+JavaWeb+SSM+SpringBoot+SpringCloud+瑞吉外卖/谷粒商城/学成在线+设计模式+面试题汇总+性能调优/架构设计+源码解析
本文是“Java学习路线”专栏的导航文章,目标是为Java初学者和初中高级工程师提供一套完整的Java学习路线。
307 37
|
8天前
|
前端开发 测试技术 数据处理
Kotlin教程笔记 - MVP与MVVM架构设计的对比
Kotlin教程笔记 - MVP与MVVM架构设计的对比
20 2
|
8天前
|
XML 前端开发 Android开发
Kotlin教程笔记(80) - MVVM架构设计
Kotlin教程笔记(80) - MVVM架构设计
20 2
|
1月前
|
负载均衡 数据库 开发工具
|
1月前
|
Java 数据库 Maven
谷粒商城笔记+踩坑(1)——架构、项目环境搭建、代码生成器
项目介绍、项目环境搭建、docker配置mysql,redis,jdk,maven、人人开源、快速开发、安装nodejs、逆向工程搭建,人人开源代码生成器
谷粒商城笔记+踩坑(1)——架构、项目环境搭建、代码生成器
|
6天前
|
存储 前端开发 Java
Kotlin教程笔记 - MVVM架构怎样避免内存泄漏
Kotlin教程笔记 - MVVM架构怎样避免内存泄漏
|
5月前
|
运维 Oracle 容灾
Oracle dataguard 容灾技术实战(笔记),教你一种更清晰的Linux运维架构
Oracle dataguard 容灾技术实战(笔记),教你一种更清晰的Linux运维架构