




已阅读5页,还剩59页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
应用架构设计实践 Author 谢峰 架构概念应用架构介绍火龙果架构培养体系应用架构案例 内容介绍 架构概念应用架构介绍火龙果架构培养体系应用架构案例 架构基本概念 什么是架构 定义了系统的组织 组成系统的结构元素 接口以及这些元素在协作中的行为 关系的设计和管理原则 架构基本概念 什么是架构基线 构建基线架构基线 架构基线是一个 小的 皮包骨架的 系统 是系统整个生命周期的开发准则 适用于所有的迭代周期 系统实施系统实施基于架构基线 在架构基线的指导下 完成系统的构件 节点 使 基线 进化为性能完善的系统 系统构件 架构基线 架构基本概念 架构设计目标 理解系统架构使开发人员 管理人员 客户以及其他项目相关人员理解系统 组织开发通过明确划分的子系统 以及接口 降低协调开发的成本 鼓励重用设计良好可重用的子系统加速系统的构建进程 进化系统应对变化环境 构建弹性系统避免变化对系统产生非期望的效果 架构基本概念 架构分类 业务架构 BusinessArchitecture 技术架构 TechnicalArchitecture 企业架构 EnterpriseArchitecture 架构分类 业务架构 业务架构是对需求的描述 以及业务模型的定义 其中包括领域模型 DomainObject 业务流程模型 BusinessProcessModel 系统参与者 Actor 架构分类 技术架构 技术架构是对系统使用的技术一个规范性的定义 它包含非功能性的可重用构件 系统结构的设计规范 开发规范 物理环境 测试环境 部署环境的定义 以及系统配置管理 架构分类 企业架构 企业架构指的是在对一个企业的业务战略和流程理解基础之上 进行信息化的顶层设计 对企业现有的业务架构和技术架构进行有效的整合 形成灵活健壮的IT结构 构建的和谐IT环境 架构分类 宏观架构 MacroscopicalArchitecture 架构概念应用架构介绍火龙果架构培养体系应用架构案例 应用架构介绍 业务架构示例 应用架构介绍 技术架构组成 CoreArchitecture Subscription DataAnalysis BPM Trace Utilities Toolkits Schedule Connector Connector Connector Portal PMI RuleEngine 应用架构介绍 系统协同 ApplicationA ApplicationB Connector MiddleDB Connector WebService ApplicationA ApplicationB ApplicationA ApplicationB Connector JCA 应用架构介绍 设计原则 分而自治 BoundaryOfResponsibility 面向服务 ServiceOriented 协同规划 Collaboration 应用架构介绍 分而自治 分而自治 BoundaryOfResponsibility 功能性与非功能性之分通用与定制之分 应用架构介绍 面向服务 面向服务 ServiceOriented 面向接口组件黑盒规范的服务描述 应用架构介绍 协同规划 协同规划 Collaboration 泛化连接器松散耦合简单部署 应用架构介绍 应用架构实现方法论 整体规划VerticalSolution UseCase DomainModel BusinessSequence etc HorizontalSolution Prototype Components ServicePublication TechnicalDecision 环境配置WorkspaceIDE编码实现ObjectOrientedDesignPatternTesting 应用架构介绍 应用架构实现方法论 续 部署DeploymentScriptApplicationServiceEnvironmentTesting 架构概念应用架构介绍火龙果架构培养体系应用架构案例 架构概念应用架构介绍火龙果架构培养体系应用架构案例 应用架构案例 案例背景 本案例是一个实际的企业级应用系统 主要作用是为企业的其他信息系统提供相关的数据分析服务 包括报表 图表 和Dashboard 系统目标构建一个数据分析服务组件能够支持数据分析资源扩展提供标准的数据分析服务 被其他企业信息系统所使用系统环境支持分布式应用支持多种协议提供定时服务提供订阅服务运行高性能提供管理控制台设计约束需要支持热部署 应用架构案例 架构设计路线图 应用架构案例 系统整体需求描述 提供统一的数据分析服务提供定时服务 定时产生数据分析结果 月报 年报 周报 提供订阅服务 输出数据分析结果支持多交互协议支持多数据分析资源的扩展支持运行时的扩展性 热部署 应用架构案例 确定架构范围 针对需求 确定设计点 作为架构设计的范围 应用架构案例子架构 分析 设计 实现与验证集成系统总体架构 功能架构 子系统划分 对于任何系统而言 系统的架构都需要从对系统的分解入手 划分子系统的主要目的在于 简化系统设计工作提高并行开发效率便于系统架构的扩展 功能架构 子系统划分分析 功能性划分 功能性组件数据分析组件 提供数据分析基本服务 产生数据分析结果 图片 文件 定时服务组件 提供定时机制 定时调用数据分析服务和订阅服务订阅服务组件 提供订阅服务基本服务 Mail FTP 管理控制台 系统服务配置设定 定时服务 订阅服务 非功能性划分 非功能性组件部署管理组件 运行时装载数据分析的模版 计算组件 数据源 数据访问组件 提供访问数据源服务 数据库 文件 外部交互适配器 提供支持多种交互协议的连接适配器 SOAP RMI IIOP 通用与定制之分 定制性组件JasperReport 提供基于JasperReport的数据分析服务CrystalReport 提供基于水晶报表的数据分析服务 功能架构 子系统划分设计 根据原则划分好的子系统 需要有明确的接口定义 来代表其子系统提供的功能 功能架构 子系统划分实现与验证 在系统实施过程中 一般子系统会使用不同的工作目录来实现 每个工作目录会需要包含下列信息 源程序组件依赖配置部署脚本测试程序 逻辑架构 系统分层 系统分层的主要目的在于 细化子系统 确定子系统组件之间的协作关系提高子系统的可重用性提高子系统的可测试性提高子系统的可维护性提高子系统的可扩展性 逻辑架构 系统分层分析 定义分层边界划分原则本系统按照服务消费者和服务提供者关系来划分层次定义消费者和服务提供者关系 逻辑架构 系统分层设计 可扩展架构 支持资源扩展 数据分析资源包括各种数据分析实现技术 支持资源扩展的主要需求如下 支持数据分析资源的可替换支持数据分析资源的可升级实现统一的数据分析服务接口 可扩展架构 支持资源扩展分析 通用性和定制性划分特定数据分析资源需要定制统一的数据分析接口代表通用行为通用性和定制性结合行为抽象 抽象特定数据分析资源的通用行为实现独立 把特定数据分析资源的实现看成是行为抽象的一个特定实现 可扩展架构 支持的资源扩展设计 J2EEPattern 策略模式 现流行方式是采用Spring的ApplicationContext或者反射模式 可扩展架构 支持的资源扩展实现 定义接口publicinterfaceReportingServiceIF byte loadReport StringreportId Mapcontext intbinaryType 定义Spring配置通过制定BeanName来判断使用那个实现类ReportingServiceIFservice ReportingServiceIF ApplicationCtx getBean serviceName byte reportBinary service loadReport reportId context binaryType 外部接口架构 系统外部接口支持多种交互协议 系统的外部接口会被多种交互协议所调用 对于外部接口架构来说 主要需求如下 支持系统外部接口调用协议扩展重用数据分析服务组件简化外部接口调用的实现 外部接口架构 系统外部接口支持多种交互协议分析 职责划分协议适配器 适配器负责使用特定交互协议调用数据分析服务重用数据分析组件 数据分析组件不涉及具体的协议交互泛化连接器接口抽象交互行为 定义统一的交互接口封装特定协议交互细节 屏蔽交互复杂性 外部接口架构 系统外部接口支持多种交互协议设计 J2EEPattern Fa ade模式 通过coarse grained的接口 屏蔽了低层次的实现细节 这也是fa ade模式的一种应用 外部接口架构 系统外部接口支持多种交互协议设计 J2EEPattern 策略模式 Delegate Delegate模式 对于具体的调用实现类来说 它不负责具体的业务逻辑处理 而只是负责代理特定的业务实现对象 并且封装对这个对象的引用过程 常用的方式有ServiceLoacator 封装了SOAP RemoteInterface LocalInterface的调用 外部接口架构 系统外部接口支持多种交互协议设计 外部接口架构 系统外部接口支持多种交互协议实现 EJBAdapterpublicinterfaceReportingServiceEJBAdapterextendsEJBObject byte loadReport StringserviceClassName StringreportId Mapcontext intbinaryType throwsRemoteException EJBDelegatepublicclassReportingServiceEJBDelegateimplementsPCEReportingServiceDelegateIF publicbyte loadReport StringserviceName StringreportId Mapcontext intbinaryType byte binaryArray null ReportingServiceEJBAdapterHomeremoteHome ReportingServiceEJBAdapterHome ServiceLocator getInstance getRemoteHome ReportingServiceEJBAdapter ReportingServiceEJBAdapterHome class ReportingServiceEJBAdapterremote remoteHome create binaryArray remote loadReport serviceName reportId context binaryType returnbinaryArray 可靠性架构 异常处理机制 异常处理是系统可靠性的表现 异常分为三种 无法恢复异常 记录异常日志可恢复异常 通知使用者通过特定操作修复异常容错异常 系统根据发生的异常类型决定通过特定逻辑修复异常 可靠性架构 异常处理机制分析 架构统一使用稳定的架构控制异常 包括捕获 日志 跳转异常处理职责划分 判断异常处理范围 处理不了 就抛出异常包装 低层次异常需要被高层次异常包装 1 N 可靠性架构 异常处理机制设计 可靠性架构 异常处理机制设计 可靠性架构 异常处理机制实现 对于不可恢复异常而言 典型的实现方式如下 try callService catch RuntimeExceptionex 低层次的Exceptiontracer logError ex thrownewNewRuntimeException e 高层次的Exception 不可恢复异常向上层抛出 它面对的不是许许多多低层次的Exception 而是它的直接下层组件的Exception 对于可恢复的异常而言 典型的实现方式就是直接在catch中 进行新的逻辑处理 而不是继续向上层抛出 可维护性架构 运行时的扩展性 运行时可扩展性要求服务能及时更新 其中包括 更新数据分析逻辑计算组件服务更新数据分析模版更新数据源装载组件服务更新数据分析结构 这也是常说的热部署 可维护性架构 运行时的扩展性分析 资源的热部署 相关配置文件更新业务组件的热部署 可维护性架构 运行时的扩展性设计 可维护性架构 运行时的扩展性实现与验证 构建资源管理文件系统构造自定义ClassLoader扫描资源管理文件系统 栽入ClassPath更新服务 替换自定义ClassLoader 应用架构案例子架构 分析 设计 实现与验证集成系统总体架构 架构集成 为什么要进行架构集成把系统的不同问题的设计进行有效的结合系统的整体架构不是简单的堆砌 需要各个部分的协调架构集成的时机在每个子架构设计过程中 不断地集成集成的策略持续的集成 集成会引起对架构的重新认识架构需要不断地在集成中重构 总体架构集成 逻辑架构集成 总体架构集成 逻辑架构集成 总体架构集成 物理架构集成 总体架构集成 架构集成策略 面向接口本系统子系统之间都通过接口进行交互 接口的实现组件都允许被替换 Mocker对于未完成
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 经营单位安全管理制度编制纲要
- 2021年教师节颁奖典礼动态
- 颅脑损伤护理查房
- 恩派雅(N.Paia)品牌分析与二次增长战略报告
- 儿童电除颤教学课件
- 创意美术字教学课件
- 新解读《GB-T 36780 - 2018辣椒轻斑驳病毒检疫鉴定方法》
- 用电申请业务知识培训课件
- 贵州省黔西南州2024-2025学年高二下学期期末学业质量监测 化学试卷
- 急性乳突炎切开引流护理查房
- 喜茶运营管理手册和员工操作管理手册
- 比亚迪汉DM-i说明书
- 心肾综合征及其临床处理
- 普通高中课程方案
- 2022年山东高考生物试卷真题及答案详解(精校版)
- GB/T 38936-2020高温渗碳轴承钢
- 高考地理一轮复习课件 【知识精讲+高效课堂】 农业区位因素及其变化
- 教师专业发展与名师成长(学校师范专业公共课)
- 互通立交设计课件
- 畜牧兽医法规课件
- 生物竞赛辅导 动物行为学第七章 行为发育(38)课件
评论
0/150
提交评论