




已阅读5页,还剩58页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
应用架构设计实践,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或者反射模式。,可扩展架构:支持的资源扩展实现,定义接口publicinterfaceReportingServiceIFbyteloadReport(StringreportId,Mapcontext,intbinaryType);定义Spring配置通过制定BeanName来判断使用那个实现类ReportingServiceIFservice=(ReportingServiceIF)ApplicationCtx.getBean(serviceName);bytereportBinary=service.loadReport(reportId,context,binaryType);,外部接口架构:系统外部接口支持多种交互协议,系统的外部接口会被多种交互协议所调用,对于外部接口架构来说,主要需求如下:支持系统外部接口调用协议扩展重用数据分析服务组件简化外部接口调用的实现,外部接口架构:系统外部接口支持多种交互协议分析,职责划分协议适配器:适配器负责使用特定交互协议调用数据分析服务重用数据分析组件:数据分析组件不涉及具体的协议交互泛化连接器接口抽象交互行为,定义统一的交互接口封装特定协议交互细节,屏蔽交互复杂性,外部接口架构:系统外部接口支持多种交互协议设计,J2EEPattern:Faade模式,通过coarse-grained的接口,屏蔽了低层次的实现细节,这也是faade模式的一种应用。,外部接口架构:系统外部接口支持多种交互协议设计,J2EEPattern:策略模式,Delegate,Delegate模式,对于具体的调用实现类来说,它不负责具体的业务逻辑处理,而只是负责代理特定的业务实现对象,并且封装对这个对象的引用过程。常用的方式有ServiceLoacator,封装了SOAP,RemoteInterface,LocalInterface的调用。,外部接口架构:系统外部接口支持多种交互协议设计,外部接口架构:系统外部接口支持多种交互协议实现,EJBAdapterpublicinterfaceReportingServiceEJBAdapterextendsEJBObjectbyteloadReport(StringserviceClassName,StringreportId,Mapcontext,intbinaryType)throwsRemoteException;EJBDelegatepublicclassReportingServiceEJBDelegateimplementsPCEReportingServiceDelegateIFpublicbyteloadReport(StringserviceName,StringreportId,Mapcontext,intbinaryType)bytebinaryArray=null;.ReportingServiceEJBAdapterHomeremoteHome=(ReportingServiceEJBAdapterHome)ServiceLocator.getInstance().getRemoteHome(ReportingServiceEJBAdapter,ReportingServiceEJBAdapterHome.class);ReportingServiceEJBAdapterremote=remoteHome.create();binaryArray=remote.loadReport(serviceName,reportId,context,binaryType);returnbinaryArray;,可靠性架构:异常处理机制,异常处理是系统可靠性的表现,异常分为三种:无法恢复异常,记录异常日志可恢复异常,通知使用者通过特定操作修复异常容错异常,系统根据发生的异常类型决定通过特定逻辑修复异常,可靠性架构:异常处理机制分析,架构统一使用稳定的架构控制异常,包括捕获,日志,跳转异常处理职责划分,判断异常处理范围,处理不了,就抛出异常包装,低层次异常需要被高层次异常包装(1*N),可靠性架构:异常处理机制设计,可靠性架构:异常处理机制设计,可靠性架构:异常处理机制实现,对于不可恢复异常而言,典型的实现方式如下:trycallService();catch(RuntimeExceptionex)/低层次的Exceptiontracer.logError(ex);thrownewNewRuntimeException(e);/高层次的Exception不可恢复异常向上层抛出,它面对的不是许许多多低层次的Exception,而是它的直接下层组件的Exception。对于可恢复的异常而言,典型的实现方式就是直接在catch中,进行新的逻辑处理,而不是继续向上层抛出。,可维护性架构:运行时的扩展性,运行时可扩展性要求服务能及时更新,其中包括:更新数据分析逻辑计算组件服务更新数据分析模版更新数据源装载组件服务更新数据分析结构,这也是常说的热部署!,可维护性架构:运行时的扩展性分析,资源的热部署,相关配置文件更新业务组件的热部署,可维护性架构:运行时的扩展性设计,可维护性架构:运行时的扩展性实现与验证,构建资源管理文件系统构造自定义ClassLoader扫描资源管理文件系统,栽入ClassPath更新服务,替换自定义ClassLoader,应用架构案例子架构:分析、设计、实现与验证集成系统总体架构,架构集成,为什么要进行架构集成把系统的不同问题的设计进行有效的结合系统的整体架构不是简单的堆砌,需要各个部分的协调架构集成的时机在每个子架构设计过程中,不断地集成集成的策略持续的集成,集成会引起对架构的重新认识架构需要不断地在集成中重构,总体架构集成逻辑架构集成,总体架构集成逻辑架构集成,总体架构集成物理架构集成,总体架构集成架构集成策略,面向接口本系统子系统之间
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 时间管理课件导入模板
- 安全事故预防培训
- 大学生心理培训大纲
- 时间位移新课标课件
- 2025版社区建设捐赠合同范本
- 二零二五年度城市绿化工程连带责任保证方式担保合同
- 2025版建筑垃圾运输合同范本环境友好型运输
- 2025版电动伸缩门研发、生产及销售合作协议
- 二零二五年度购物卡线上线下跨区域合作合同
- 二零二五年度高端白酒品牌独家代理销售合同
- JJG 703-2003光电测距仪行业标准
- 淋巴漏的护理诊断及护理措施
- 部编小学语文单元作业设计五年级上册第二单元
- 25题后期-剪辑-特效岗位常见面试问题含HR问题考察点及参考回答
- 2024年辽宁交投集团招聘笔试参考题库附带答案详解
- 高考英语必背1500个真题高频词汇- 高考英语一轮复习
- 人体足解剖学
- 机械基础 第三版 课件 (郁志纯)模块三 机械零件的精度
- 环境监测仪器设备采购投标方案(技术标)
- 【食品零食】桂格燕麦食品抖音账号运营方案
- 食材供应服务投标方案(完整技术标)
评论
0/150
提交评论