课程简介
企业架构可以辅助企业完成业务及IT战略规划,还是企业信息化规划的核心,也有助于个人职业的健康长远发展。对公司而言企业架构可以辅助企业完成业务及IT战略规划。在业务战略方面,它定义企业的愿景/使命、目标/目的/驱动力、组织架构、职能和角色;在IT战略方面,定义业务架构、数据架构、应用架构和技术架构,是IT战略规划的最佳实践的指引。企业架构是承接企业业务战略与IT战略之间的桥梁与标准接口,是企业信息化规划的核心。对个人而言有助于职业的健康长远发展,比如成为CIO,首席信息官通过指导对信息技术的利用来支持公司的目标,具备技术和业务过程两方面的知识,常常是将组织的技术调配战略与业务战略紧密结合在一起的最佳人选。
课程收益
1. 了解企业架构的设计概念
2. 掌握领域模型的微服务设计数据架构设计思路与过程
3. 熟悉运行架构的设计过程
受众人群
架构总监,架构经理,企业架构师,解决方案架构师 需要深入了解企业架构的技术人员。熟练使用Java,至少一年业务开发实际工作经验。
课程周期
3天(18小时)
课程大纲
主题 | 授课内容 |
第一章 企业架构设计概述 | 一、什么是企业架构 1. 什么是企业架构及其企业架构发展历程 2. 介绍与比较当今主流的企业架构设计框架与方法论: Zachman, TOGAF, FEAF, FEA与DDD 二、什么是架构师 1. 剖析架构师的职责、能力与思维习惯 1)剖析架构师的4种职责及其能力要求 2)解读架构师的4种类型及其在项目中的作用: Product architect, System architect, Platform architect,Enterprise architect 3)架构师的4种思维习惯: 宏观思维、抽象思维、战略思维与前瞻思维 2. 剖析架构师与架构设计的本质: 1)架构师 ≠ 技术大牛 2)架构师要能够将业务转换为技术 3)架构师能合理运用技术支撑业务 3. 如何成为一个顶级的企业架构师: 1)对业务及其痛点有深刻的理解与思考 2)能够将技术落地产生业务价值 三、企业架构设计方法论 1. 业务架构、功能架构与技术架构 1)剖析它们的概念、关系与差异 2)大前端+技术中台的建设思路 2. 架构设计5视图法 逻辑架构、数据架构、开发架构、运行架构与物理架构 |
第二章 逻辑架构设计与领域驱动 | 演练逻辑架构设计过程 一、逻辑架构的概念与重要作用 二、需求分析与逻辑架构设计 实战演练:远程智慧医疗大数据平台的逻辑架构设计过程 1. 用例模型的分析设计过程 1)系统业务规划与战略设计 2)由粗到细的用例建模过程:用例、参与者与系统边界 3)三种类型的用例描述与需求规格说明书 4)业务流程细化与行动图、序列图 2. 界面原型设计 3. 领域模型分析 演练领域驱动设计的过程 案例分析:演示电商网站付款功能代码质量下降的过程 1. 起初的设计 2. 随后的变更 3. 质量不断下降的过程 软件质量下降的根源: 1. 软件总是因变更而变得越来越复杂 2. 软件结构已经不再适应复杂的软件需求 3. 必须要调整软件结构以适应新的软件需求 DDD的业务建模过程: 1. 每次需求变更时先对需求进行领域分析 2. 基于领域分析先进行领域模型的变更 3. 基于领域模型的变更去指导程序的变更 案例:重新演练电商网站付款功能的变更过程 1) 第一个版本的领域模型与设计 2) 第一次变更的分析设计过程 3) 第二场变更的设计实现 4) 第三次变更的设计实现 5) 第四次变更与架构演化 需求确认与技术可行性分析 1. 阐述用户需求技术不可行的风险 2. 用户需求技术不可行的风险规避过程 3. 树立架构师威信与客户引导技巧 |
第三章 数据架构设计与数据库设计 | 一、数据架构设计思路与过程 1.传统的数据架构设计及其弊病 2.基于领域模型的数据架构设计 二、讲解基于领域的数据架构设计过程 1. 如何将领域模型转换为数据库设计 Ø 传统的4种关系转换为数据库设计 Ø 继承关系的3种数据库设计 2. 如何将领域模型转换为软件设计 Ø 深入理解服务、实体、值对象的概念与区别 Ø 两种不同的思路:贫血模型 vs. 充血模型 Ø 复杂业务的拆分:问题域、子域与限界上下文 三、基于领域模型的设计变更 1. 演练基于DDD的设计与变更过程 2. 演练领域模型如何指导数据库设计 3. 演练领域模型如何指导程序设计 4. 聚合、仓库与工厂:傻傻分不清 5. 限界上下文:系统拆分的利器 |
第四章 开发架构设计与架构规划 | 开发架构的概念与设计思路 一、系统规划与接口定义 案例:远程智慧医疗平台的系统规划过程 二、系统分层与技术中台设计 Ø 剖析常见的架构设计模式及其设计思想 Ø 1. 整洁架构与六边形架构设计 Ø 2. CQRS架构设计与读写分离 Ø 3. 互联网与分布式架构设计 三、开发架构的技术选型 四、软件开发规范的制订 基于领域驱动的微服务架构设计 1. 小而专的微服务设计 2. 限界上下文与微服务拆分 3. 上下文地图与微服务接口 4. 各微服务中实体、值对象与服务的设计 5. 各微服务中聚合、工厂与仓库的设计 6. 领域模型4种关系3种继承的数据库设计 7. 聚合层的设计、工厂和仓库的实现 8. 基于DDD的微服务架构分层 DDD+微服务的设计难题与解决思路 1. 跨库查询的设计难题与设计实现 2. 领域事件的通知机制与设计实现 3. 微服务接口的防腐层设计 4. 状态查询跟踪的设计思路与代码实现 基于领域驱动的技术中台建设 DDD需要强大技术架构支持 1. 降低技术门槛,减少开发工作量 → 制订规范、合理分层、降低复杂度 2. 易于业务变更,易于架构演化 → 将业务与技术解耦 3. 支持领域驱动,支持微服务 → 通用仓库、工厂及基础设施的设计 4. 平台不断完善,功能不断积累 → 敏捷架构设计:架构跑道与使能故事 支持DDD的技术架构建设思路 1. 分析当前软件架构设计与架构演化的痛点与根源 2. 阐述技术中台的建设思路 1)将业务与技术解耦 → 整洁架构与六边形架构 2)提取共性,精简业务代码 → 单Controller,单Dao 支持领域驱动+微服务的技术中台 案例:在线订餐系统的应用 1. 通用、可配置的DDD仓库与工厂的设计 2. 解决跨库的关联查询与事务处理 3. 纯洁的Service与Entity便于不断地架构演化 现有系统的整洁架构转型 1. 系统级的重构方法与步骤 2. 建立接口层解耦业务代码与技术框架的过程 3. 基于整洁架构的技术架构演化与快速交付 |
第五章 运行架构设计与技术规划 | 探讨运行架构的设计过程 1. 关注关键点与难点而不是全局 2. 属性→场景→决策的分析过程 3. 架构跑道、意图架构与使能故事 互联网分布式系统的架构演化 1. All-in-One集中式单体应用架构 2. SOA架构与消息总线ESB 3. 前后端分离与读写分离的架构设计 生产型业务系统的分布式设计 1. 数据库的横向纵向切分 Ø 1) 数据库的纵向切分与微服务的设计 Ø 2) 数据库的横向切分与分布式数据库 2. 分布式缓存的设计 3. 异步化操作与分布式队列 生产型业务系统未来的发展趋势 1. 高并发、高可用微服务的架构设计 Ø 1) 微服务的拆分与分布式云部署 Ø 2) 通过Kubernetes实现微服务的弹性扩容与高可用 Ø 3) 微服务的高可用措施:故障转移、熔断、降级、限流措施 Ø 4)云原生与Serverless架构 2. 亿级流量的架构设计:通过分层实现逐级限流 3. NewSQL数据库的原理与应用 分析型业务系统的分布式设计 1. 读写分离后查询库的设计思路 2. NoSQL数据库的原理及其应用 3. 企业数字化转型与数据中台建设 |
第六章 物理架构设计与云部署 | 探讨物理架构设计过程 1. 案例讲解一些常见物理架构设计 2. 案例讲解IT架构规划与网络部署 3. 案例讲解一些技术方案的编写 云原生(Cloud Native)的概念 1. 面向互联网分布式系统运维的难点与痛点 2. 云原生=微服务+DevOps+持续交付+容器化bus 3. 云原生架构的核心思想与“12因素(12-Factors)” 4. 云原生的设计实现:Kubernetes、微服务、服务网格 构建分布式持续集成环境 1. 什么是分布式持续集成 2. 大前端+技术中台的组织形式与微服务架构 3. 持续探索、持续集成、持续交付、按需发布的概念 云原生的自动化运维过程 1. 持续集成工具Jenkins 2. 单元测试与契约测试 3. 运行容器:Docker 4. 分布式集群管理框架:Kubernetes |
Mac Fan
百林哲咨询(北京)有限公司专家团队成员
Mac Fan
百林哲咨询(北京)有限公司专家团队成员
Mac Fan
百林哲咨询(北京)有限公司专家团队成员
Mac Fan
百林哲咨询(北京)有限公司专家团队成员
Mac Fan
百林哲咨询(北京)有限公司专家团队成员
Mac Fan
百林哲咨询(北京)有限公司专家团队成员
Mac Fan
百林哲咨询(北京)有限公司专家团队成员