




已阅读5页,还剩58页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
应用架构设计实践,Author:谢峰,架构概念 应用架构介绍 火龙果架构培养体系 应用架构案例,内容介绍,架构概念 应用架构介绍 火龙果架构培养体系 应用架构案例,架构基本概念什么是架构,定义了系统的组织,组成系统的结构元素、接口以及这些元素在协作中的行为,关系的设计和管理原则。,架构基本概念什么是架构基线,构建基线 架构基线:架构基线是一个“小的、皮包骨架的”系统,是系统整个生命周期的开发准则,适用于所有的迭代周期; 系统实施 系统实施基于架构基线,在架构基线的指导下,完成系统的构件、节点,使“基线”进化为性能完善的系统;,系统构件,架构基线,架构基本概念架构设计目标,理解系统 架构使开发人员、管理人员,客户以及其他项目相关人员理解系统; 组织开发 通过明确划分的子系统,以及接口,降低协调开发的成本; 鼓励重用 设计良好可重用的子系统加速系统的构建进程; 进化系统 应对变化环境,构建弹性系统避免变化对系统产生非期望的效果;,架构基本概念架构分类,业务架构(Business Architecture) 技术架构(Technical Architecture) 企业架构(Enterprise Architecture),架构分类业务架构,业务架构是对需求的描述,以及业务模型的定义,其中包括领域模型(Domain Object),业务流程模型(Business Process Model),系统参与者(Actor)。,架构分类技术架构,技术架构是对系统使用的技术一个规范性的定义,它包含非功能性的可重用构件,系统结构的设计规范,开发规范,物理环境,测试环境,部署环境的定义,以及系统配置管理。,架构分类企业架构,企业架构指的是在对一个企业的业务战略和流程理解基础之上,进行信息化的顶层设计,对企业现有的业务架构和技术架构进行有效的整合,形成灵活健壮的IT结构,构建的和谐IT环境。,架构分类宏观架构 (Macroscopical Architecture),架构概念 应用架构介绍 火龙果架构培养体系 应用架构案例,应用架构介绍业务架构示例,应用架构介绍技术架构组成,Core Architecture,Subscription,Data Analysis,BPM,Trace,Utilities,Toolkits,Schedule,Connector,Connector,Connector,Portal,PMI,Rule Engine,应用架构介绍系统协同,Application A,Application B,Connector (Middle DB),Connector (Web Service),Application A,Application B,Application A,Application B,Connector (JCA),应用架构介绍设计原则,分而自治(Boundary Of Responsibility) 面向服务(Service Oriented) 协同规划(Collaboration),应用架构介绍分而自治,分而自治(Boundary Of Responsibility) 功能性与非功能性之分 通用与定制之分,应用架构介绍面向服务,面向服务(Service Oriented) 面向接口 组件黑盒 规范的服务描述,应用架构介绍协同规划,协同规划(Collaboration) 泛化连接器 松散耦合 简单部署,应用架构介绍应用架构实现方法论,整体规划 Vertical Solution (Use Case, Domain Model, Business Sequence, etc) Horizontal Solution (Prototype, Components, Service Publication, Technical Decision) 环境配置 Workspace IDE 编码实现 Object Oriented Design Pattern Testing,应用架构介绍应用架构实现方法论(续),部署 Deployment Script Application Service Environment Testing,架构概念 应用架构介绍 火龙果架构培养体系 应用架构案例,架构概念 应用架构介绍 火龙果架构培养体系 应用架构案例,应用架构案例案例背景,本案例是一个实际的企业级应用系统,主要作用是为企业的其他信息系统提供相关的数据分析服务,包括报表,图表,和Dashboard。 系统目标 构建一个数据分析服务组件 能够支持数据分析资源扩展 提供标准的数据分析服务,被其他企业信息系统所使用 系统环境 支持分布式应用 支持多种协议 提供定时服务 提供订阅服务 运行高性能 提供管理控制台 设计约束 需要支持热部署,应用架构案例架构设计路线图,应用架构案例系统整体需求描述,提供统一的数据分析服务 提供定时服务,定时产生数据分析结果(月报,年报,周报) 提供订阅服务,输出数据分析结果 支持多交互协议 支持多数据分析资源的扩展 支持运行时的扩展性,热部署,应用架构案例确定架构范围,针对需求,确定设计点,作为架构设计的范围,应用架构案例 子架构:分析、设计、实现与验证 集成系统总体架构,功能架构子系统划分,对于任何系统而言,系统的架构都需要从对系统的分解入手。划分子系统的主要目的在于: 简化系统设计工作 提高并行开发效率 便于系统架构的扩展,功能架构子系统划分分析,功能性划分功能性组件 数据分析组件:提供数据分析基本服务,产生数据分析结果(图片,文件) 定时服务组件:提供定时机制,定时调用数据分析服务和订阅服务 订阅服务组件:提供订阅服务基本服务,(Mail,FTP) 管理控制台:系统服务配置设定(定时服务,订阅服务) 非功能性划分非功能性组件 部署管理组件:运行时装载数据分析的模版,计算组件,数据源; 数据访问组件:提供访问数据源服务(数据库,文件) 外部交互适配器:提供支持多种交互协议的连接适配器(SOAP,RMI-IIOP) 通用与定制之分定制性组件 JasperReport:提供基于JasperReport的数据分析服务 CrystalReport:提供基于水晶报表的数据分析服务,功能架构子系统划分设计,根据原则划分好的子系统,需要有明确的接口定义,来代表其子系统提供的功能,功能架构子系统划分实现与验证,在系统实施过程中,一般子系统会使用 不同的工作目录来实现。每个工作目录会需要 包含下列信息: 源程序 组件依赖配置 部署脚本 测试程序,逻辑架构系统分层,系统分层的主要目的在于: 细化子系统,确定子系统组件之间的协作关系 提高子系统的可重用性 提高子系统的可测试性 提高子系统的可维护性 提高子系统的可扩展性,逻辑架构系统分层分析,定义分层边界划分原则 本系统按照服务消费者和服务提供者关系来划分层次 定义消费者和服务提供者关系,逻辑架构系统分层设计,可扩展架构:支持资源扩展,数据分析资源包括各种数据分析实现技术。支持资源扩展的主要需求如下: 支持数据分析资源的可替换 支持数据分析资源的可升级 实现统一的数据分析服务接口,可扩展架构:支持资源扩展分析,通用性和定制性划分 特定数据分析资源需要定制 统一的数据分析接口代表通用行为 通用性和定制性结合 行为抽象,抽象特定数据分析资源的通用行为 实现独立,把特定数据分析资源的实现看成是行为抽象的一个特定实现,可扩展架构:支持的资源扩展设计,J2EE Pattern:策略模式,现流行方式是采用Spring的 ApplicationContext或者反射模式。,可扩展架构:支持的资源扩展实现,定义接口 public interface ReportingServiceIF byte loadReport(String reportId, Map context, int binaryType); 定义Spring配置 通过制定BeanName来判断使用那个实现类 ReportingServiceIF service = (ReportingServiceIF) ApplicationCtx.getBean(serviceName); byte reportBinary = service.loadReport(reportId, context, binaryType);,外部接口架构:系统外部接口支持多种交互协议,系统的外部接口会被多种交互协议所调用,对于外部接口架构来说,主要需求如下: 支持系统外部接口调用协议扩展 重用数据分析服务组件 简化外部接口调用的实现,外部接口架构:系统外部接口支持多种交互协议分析,职责划分 协议适配器:适配器负责使用特定交互协议调用数据分析服务 重用数据分析组件:数据分析组件不涉及具体的协议交互 泛化连接器接口 抽象交互行为,定义统一的交互接口 封装特定协议交互细节,屏蔽交互复杂性,外部接口架构:系统外部接口支持多种交互协议设计,J2EE Pattern: Faade模式,通过coarse-grained的接口,屏蔽了低层次的实现细节,这也是 faade模式的一种应用。,外部接口架构:系统外部接口支持多种交互协议设计,J2EE Pattern:策略模式,Delegate,Delegate模式, 对于具体的调用实现类来说,它不负责具体的业务逻辑处理, 而只是负责代理特定的业务实现对象,并且封装对这个对象 的引用过程。常用的方式有ServiceLoacator,封装了SOAP, Remote Interface, Local Interface的调用。,外部接口架构:系统外部接口支持多种交互协议设计,外部接口架构:系统外部接口支持多种交互协议实现,EJB Adapter public interface ReportingServiceEJBAdapter extends EJBObject byte loadReport(String serviceClassName, String reportId, Map context, int binaryType) throws RemoteException; EJB Delegate public class ReportingServiceEJBDelegate implements PCEReportingServiceDelegateIF public byte loadReport(String serviceName, String reportId, Map context, int binaryType) byte binaryArray = null; . ReportingServiceEJBAdapterHome remoteHome = (ReportingServiceEJBAdapterHome) ServiceLocator.getInstance().getRemoteHome(“ReportingServiceEJBAdapter“, ReportingServiceEJBAdapterHome.class); ReportingServiceEJBAdapter remote = remoteHome.create(); binaryArray = remote.loadReport(serviceName, reportId, context, binaryType); return binaryArray; ,可靠性架构:异常处理机制,异常处理是系统可靠性的表现,异常分为三种: 无法恢复异常,记录异常日志 可恢复异常,通知使用者通过特定操作修复异常 容错异常,系统根据发生的异常类型决定通过特定逻辑修复异常,可靠性架构:异常处理机制分析,架构统一 使用稳定的架构控制异常,包括捕获,日志,跳转 异常处理职责划分,判断异常处理范围,处理不了,就抛出 异常包装,低层次异常需要被高层次异常包装 (1*N),可靠性架构:异常处理机制设计,可靠性架构:异常处理机制设计,可靠性架构:异常处理机制实现,对于不可恢复异常而言,典型的实现方式如下: try callService(); catch (RuntimeException ex) /低层次的Exception tracer.logError(ex); throw new NewRuntimeException(e); /高层次的Exception 不可恢复异常向上层抛出,它面对的不是许许多多低层次的Exception,而是它的直接下层组件的Exception。 对于可恢复的异常而言,典型的实现方式就是直接在catch中,进行新的逻辑处理,而不是继续向上层抛出。,可维护性架构:运行时的扩展性,运行时可扩展性要求服务能及时更新,其中包括: 更新数据分析逻辑计算组件服务 更新数据分析模版 更新数据源装载组件服务 更新数据分析结构,这也是常说的热部署!,可维护性架构:运行时的扩展性分析,资源的热部署,相关配置文件更新 业务组件的热部署,可维护性架构:运行时的扩展性设计,可维护性架构:运行时的扩展性实现与验证
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年农业废弃物资源化利用项目生态农业与循环经济发展报告
- 中医医院面试题及答案
- 中医药面试题分析及答案
- 2025年康复医疗服务体系康复康复与康复康复服务创新政策分析研究报告
- 中医晓说脾胃试题及答案
- 启东数学高考试卷及答案
- 人力资源管理师模拟试题及答案
- 盘锦语文高考试卷及答案
- 爱上写作题目及答案
- matlab建模题目及答案
- 2025年度广州经营性用地供地蓝皮书
- 预防老年人保健品诈骗
- 工业互联网与石化化工行业融合应用参考指南(2025年)
- 2025山西航空产业集团有限公司校园招聘(第一批)43人笔试参考题库附带答案详解
- 基于AI的网络舆情数据采集与特征提取方法-洞察阐释
- 新修完整版:抖音网红驻签约合作合同3篇
- 矿石运输居间合同范本
- 2025年湖北省公务员录用考试《行测》真题及答案解析(记忆版)
- T/CSWSL 002-2018发酵饲料技术通则
- 涉案资金退还协议书
- 安宁疗护之症状管理
评论
0/150
提交评论