版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
应用架构设计实践Author:谢峰应用架构设计实践Author:谢峰架构概念应用架构介绍火龙果架构培养体系应用架构案例内容介绍架构概念内容介绍架构概念应用架构介绍火龙果架构培养体系应用架构案例架构概念架构基本概念——什么是架构定义了系统的组织,组成系统的结构元素、接口以及这些元素在协作中的行为,关系的设计和管理原则。架构设计架构基本概念——什么是架构定义了系统的组织,组成系统的结构元架构基本概念——什么是架构基线构建基线架构基线:架构基线是一个“小的、皮包骨架的”系统,是系统整个生命周期的开发准则,适用于所有的迭代周期;系统实施系统实施基于架构基线,在架构基线的指导下,完成系统的构件、节点,使“基线”进化为性能完善的系统;系统构件架构基线架构基本概念——什么是架构基线构建基线系统构件架构基线架构基本概念——架构设计目标理解系统架构使开发人员、管理人员,客户以及其他项目相关人员理解系统;组织开发通过明确划分的子系统,以及接口,降低协调开发的成本;鼓励重用设计良好可重用的子系统加速系统的构建进程;进化系统应对变化环境,构建弹性系统避免变化对系统产生非期望的效果;架构基本概念——架构设计目标理解系统架构基本概念——架构分类业务架构(BusinessArchitecture)技术架构(TechnicalArchitecture)企业架构(EnterpriseArchitecture)架构基本概念——架构分类业务架构(BusinessArch架构分类——业务架构业务架构是对需求的描述,以及业务模型的定义,其中包括领域模型(DomainObject),业务流程模型(BusinessProcessModel),系统参与者(Actor)。架构分类——业务架构业务架构是对需求的描述,以及业务模型的定架构分类——技术架构技术架构是对系统使用的技术一个规范性的定义,它包含非功能性的可重用构件,系统结构的设计规范,开发规范,物理环境,测试环境,部署环境的定义,以及系统配置管理。架构分类——技术架构技术架构是对系统使用的技术一个规范性的定架构分类——企业架构企业架构指的是在对一个企业的业务战略和流程理解基础之上,进行信息化的顶层设计,对企业现有的业务架构和技术架构进行有效的整合,形成灵活健壮的IT结构,构建的和谐IT环境。架构分类——企业架构企业架构指的是在对一个企业的业务战略和流架构分类——宏观架构(MacroscopicalArchitecture)业务架构技术架构应用系统业务架构技术架构应用系统业务架构技术架构应用系统企业架构架构分类——宏观架构(MacroscopicalArch架构概念应用架构介绍火龙果架构培养体系应用架构案例架构概念应用架构介绍——业务架构示例LogisticalOperationalPlatform
HorizontalSolutionUserManagementPermissionManagementSeaFreightAirFrieghtRoadFrieightCRM
HorizontalSolutionUserManagementPermissionManagementContactManagementTransactionManagementCustomerManagementConnector
HorizontalSolutionDTSSingleSignOn
HorizontalSolutionPMIBridge
Bridge
Bridge
应用架构介绍——业务架构示例LogisticalHoriz应用架构介绍——技术架构组成PresentationBusinessPersistenceCoreArchitectureSubscriptionDataAnalysisBPMTraceUtilitiesToolkitsScheduleConnectorConnectorConnectorTechnicalArchitecturePortalPMIRuleEngine应用架构介绍——技术架构组成PresentationBusi应用架构介绍——系统协同ApplicationAApplicationBConnector(MiddleDB)Connector(WebService)ApplicationAApplicationBApplicationAApplicationBConnector(JCA)应用架构介绍——系统协同ApplicationAAppli应用架构介绍——设计原则分而自治(BoundaryOfResponsibility)面向服务(ServiceOriented)协同规划(Collaboration)应用架构介绍——设计原则分而自治(BoundaryOfR应用架构介绍——分而自治分而自治(BoundaryOfResponsibility)功能性与非功能性之分通用与定制之分应用架构介绍——分而自治分而自治(BoundaryOfR应用架构介绍——面向服务面向服务(ServiceOriented)面向接口组件黑盒规范的服务描述应用架构介绍——面向服务面向服务(ServiceOrien应用架构介绍——协同规划协同规划(Collaboration)泛化连接器松散耦合简单部署应用架构介绍——协同规划协同规划(Collaboration应用架构介绍——应用架构实现方法论整体规划VerticalSolution(UseCase,DomainModel,BusinessSequence,etc)HorizontalSolution(Prototype,Components,ServicePublication,TechnicalDecision)环境配置WorkspaceIDE编码实现ObjectOrientedDesignPatternTesting应用架构介绍——应用架构实现方法论整体规划应用架构介绍——应用架构实现方法论(续)部署DeploymentScriptApplicationServiceEnvironmentTesting应用架构介绍——应用架构实现方法论(续)部署架构概念应用架构介绍火龙果架构培养体系应用架构案例架构概念应用架构设计模板课件架构概念应用架构介绍火龙果架构培养体系应用架构案例架构概念应用架构案例——案例背景本案例是一个实际的企业级应用系统,主要作用是为企业的其他信息系统提供相关的数据分析服务,包括报表,图表,和Dashboard。系统目标构建一个数据分析服务组件能够支持数据分析资源扩展提供标准的数据分析服务,被其他企业信息系统所使用系统环境支持分布式应用支持多种协议提供定时服务提供订阅服务运行高性能提供管理控制台设计约束需要支持热部署应用架构案例——案例背景本案例是一个实际的企业级应用系统,主应用架构案例——架构设计路线图应用架构案例——架构设计路线图应用架构案例——系统整体需求描述提供统一的数据分析服务提供定时服务,定时产生数据分析结果(月报,年报,周报)提供订阅服务,输出数据分析结果支持多交互协议支持多数据分析资源的扩展支持运行时的扩展性,热部署应用架构案例——系统整体需求描述提供统一的数据分析服务应用架构案例——确定架构范围设计问题设计策略优先级子系统划分确定系统边界和每个子系统的职责高系统层次划分按照系统层次的从低到高,确定每个层次的组件高支持资源扩展采用策略模式,泛化服务接口高支持多种交互协议采用代理模式和Façade模式,调用报表服务高处理各层次异常采用责任链模式,分划异常的处理高支持运行时扩展确定划分热部署边界,组件部署分离高特定数据分析资源实现使用特定报表技术,适配服务接口中实现定时服务使用定时服务组件,调用数据分析服务接口中实现订阅服务使用定制的订阅技术,并且开发接口给定时服务使用中管理控制台使用B/S架构定制界面,设定各个服务组件的配置低针对需求,确定设计点,作为架构设计的范围应用架构案例——确定架构范围设计问题设计策略优先级子系统划分应用架构案例子架构:分析、设计、实现与验证集成系统总体架构应用架构案例功能架构——子系统划分
对于任何系统而言,系统的架构都需要从对系统的分解入手。划分子系统的主要目的在于:简化系统设计工作提高并行开发效率便于系统架构的扩展功能架构——子系统划分 对于任何系统而言,系统的架构都需要从功能架构——子系统划分分析功能性划分——功能性组件数据分析组件:提供数据分析基本服务,产生数据分析结果(图片,文件)定时服务组件:提供定时机制,定时调用数据分析服务和订阅服务订阅服务组件:提供订阅服务基本服务,(Mail,FTP)管理控制台:系统服务配置设定(定时服务,订阅服务)非功能性划分——非功能性组件部署管理组件:运行时装载数据分析的模版,计算组件,数据源;数据访问组件:提供访问数据源服务(数据库,文件)外部交互适配器:提供支持多种交互协议的连接适配器(SOAP,RMI-IIOP)通用与定制之分——定制性组件JasperReport:提供基于JasperReport的数据分析服务CrystalReport:提供基于水晶报表的数据分析服务功能架构——子系统划分分析功能性划分——功能性组件功能架构——子系统划分设计根据原则划分好的子系统,需要有明确的接口定义,来代表其子系统提供的功能DAOServicevoidinsert()voidupdate()voiddelete()ObjectfindByPk()ScheduleServicevoidexecuteSchedule()SubscriptionServicevoidnotifySubscriber()J2EEConnectorCrystalReportServiceJasperReportServiceOLAPServiceRepportingServicebyte[]loadReport(StringreportId,Mapcontext,inttype)voiddeploy()DeploymentManagementService功能架构——子系统划分设计根据原则划分好的子系统,需要有明确功能架构——子系统划分实现与验证在系统实施过程中,一般子系统会使用不同的工作目录来实现。每个工作目录会需要包含下列信息:源程序组件依赖配置部署脚本测试程序功能架构——子系统划分实现与验证在系统实施过程中,一般子系统逻辑架构——系统分层系统分层的主要目的在于:细化子系统,确定子系统组件之间的协作关系提高子系统的可重用性提高子系统的可测试性提高子系统的可维护性提高子系统的可扩展性逻辑架构——系统分层系统分层的主要目的在于:逻辑架构——系统分层分析定义分层边界划分原则本系统按照服务消费者和服务提供者关系来划分层次定义消费者和服务提供者关系数据分析服务消费者Browser,JavaClientApplication,C++Client…数据分析服务提供者数据分析运算组件数据源提供组件协议适配器数据分析资源消费服务逻辑架构——系统分层分析定义分层边界划分原则数据分析服务消费逻辑架构——系统分层设计逻辑架构——系统分层设计可扩展架构:支持资源扩展
数据分析资源包括各种数据分析实现技术。支持资源扩展的主要需求如下:支持数据分析资源的可替换支持数据分析资源的可升级实现统一的数据分析服务接口可扩展架构:支持资源扩展数据分析资源包括各种数据分析实现技可扩展架构:支持资源扩展分析通用性和定制性划分特定数据分析资源需要定制统一的数据分析接口代表通用行为通用性和定制性结合行为抽象,抽象特定数据分析资源的通用行为实现独立,把特定数据分析资源的实现看成是行为抽象的一个特定实现可扩展架构:支持资源扩展分析通用性和定制性划分可扩展架构:支持的资源扩展设计J2EEPattern:策略模式现流行方式是采用Spring的ApplicationContext或者反射模式。构造策略实现对象策略行为接口策略实现可扩展架构:支持的资源扩展设计J2EEPattern:策略可扩展架构:支持的资源扩展实现定义接口publicinterfaceReportingServiceIF{ byte[]loadReport(StringreportId,Mapcontext,intbinaryType);}定义Spring配置<beanid="jasper"class="com.wn.pce.reportingservice.platform.jasper.PCEReportingServiceJasperImpl"destroy-method="close"><propertyname="dataSourceLoader"ref="defaultSourceLoader"/></bean>通过制定BeanName来判断使用那个实现类ReportingServiceIFservice=(ReportingServiceIF)ApplicationCtx.getBean(serviceName);byte[]reportBinary=service.loadReport(reportId,context,binaryType);
可扩展架构:支持的资源扩展实现定义接口外部接口架构:系统外部接口支持多种交互协议
系统的外部接口会被多种交互协议所调用,对于外部接口架构来说,主要需求如下:支持系统外部接口调用协议扩展重用数据分析服务组件简化外部接口调用的实现外部接口架构:系统外部接口支持多种交互协议系统的外部接口会外部接口架构:系统外部接口支持多种交互协议分析职责划分协议适配器:适配器负责使用特定交互协议调用数据分析服务重用数据分析组件:数据分析组件不涉及具体的协议交互泛化连接器接口抽象交互行为,定义统一的交互接口封装特定协议交互细节,屏蔽交互复杂性外部接口架构:系统外部接口支持多种交互协议分析职责划分外部接口架构:系统外部接口支持多种交互协议设计J2EEPattern:Façade模式通过coarse-grained的接口,屏蔽了低层次的实现细节,这也是façade模式的一种应用。协议适配器协议适配器外部接口架构:系统外部接口支持多种交互协议设计J2EEPa外部接口架构:系统外部接口支持多种交互协议设计J2EEPattern:策略模式,DelegateDelegate模式,对于具体的调用实现类来说,它不负责具体的业务逻辑处理,而只是负责代理特定的业务实现对象,并且封装对这个对象的引用过程。常用的方式有ServiceLoacator,封装了SOAP,RemoteInterface,LocalInterface的调用。协议调用代理外部接口架构:系统外部接口支持多种交互协议设计J2EEPa外部接口架构:系统外部接口支持多种交互协议设计外部接口架构:系统外部接口支持多种交互协议设计外部接口架构:系统外部接口支持多种交互协议实现EJBAdapterpublicinterfaceReportingServiceEJBAdapterextendsEJBObject{ byte[]loadReport(StringserviceClassName,StringreportId,Mapcontext,intbinaryType)throws RemoteException;}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;}外部接口架构:系统外部接口支持多种交互协议实现EJBAda可靠性架构:异常处理机制异常处理是系统可靠性的表现,异常分为三种:无法恢复异常,记录异常日志可恢复异常,通知使用者通过特定操作修复异常容错异常,系统根据发生的异常类型决定通过特定逻辑修复异常可靠性架构:异常处理机制异常处理是系统可靠性的表现,异常分为可靠性架构:异常处理机制分析架构统一使用稳定的架构控制异常,包括捕获,日志,跳转异常处理职责划分,判断异常处理范围,处理不了,就抛出异常包装,低层次异常需要被高层次异常包装(1*N)可靠性架构:异常处理机制分析架构统一可靠性架构:异常处理机制设计可靠性架构:异常处理机制设计可靠性架构:异常处理机制设计可靠性架构:异常处理机制设计可靠性架构:异常处理机制实现对于不可恢复异常而言,典型的实现方式如下:try{ callService();}catch(RuntimeExceptionex){//低层次的Exception tracer.logError(ex); thrownewNewRuntimeException(e);//高层次的Exception}不可恢复异常向上层抛出,它面对的不是许许多多低层次的Exception,而是它的直接下层组件的Exception。对于可恢复的异常而言,典型的实现方式就是直接在catch中,进行新的逻辑处理,而不是继续向上层抛出。可靠性架构:异常处理机制实现对于不可恢复异常而言,典型的实现可维护性架构:运行时的扩展性
运行时可扩展性要求服务能及时更新,其中包括:更新数据分析逻辑计算组件服务更新数据分析模版更新数据源装载组件服务更新数据分析结构这也是常说的热部署!可维护性架构:运行时的扩展性运行时可扩展性要求服务能及时更可维护性架构:运行时的扩展性分析资源的热部署,相关配置文件更新业务组件的热部署可维护性架构:运行时的扩展性分析资源的热部署,相关配置文件更可维护性架构:运行时的扩展性设计可维护性架构:运行时的扩展性设计可维护性架构:运行时的扩展性实现与验证构建资源管理文件系统构造自定义ClassLoader扫描资源管理文件系统,栽入ClassPath更新服务,替换自定义ClassLoader可维护性架构:运行时的扩展性实现与验证构建资源管理文件系统应用架构案例子架构:分析、设计、实现与验证集成系统总体架构应用架构案例架构集成为什么要进行架构集成把系统的不同问题的设计进行有效的结合系统的整体架构不是简单的堆砌,需要各个部分的协调架构集成的时机在每个子架构设计过程中,不断地集成集成的策略持续的集成,集成会引起对架构的重新认识架构需要不断地在集成中重构架构集成为什么要进行架构集成总体架构集成——逻辑架构集成J2EEServiceAdministrativeServiceVerticalSolutionFacilityCoreServiceBasicInfrastructureRepportingServiceResourceManagementServiceDeploymentManagementServiceAdministratorManagementServiceDAOServiceJ2EEConnectorOLAPServiceJasperReportServiceCrystalReportServiceSubscriptionServiceScheduleService总体架构集成——逻辑架构集成J2EEServiceAdmi总体架构集成——逻辑架构集成总体架构集成——逻辑架构集成总体架构集成——物理架构集成总体架构集成——物理架构集成总体架构集成——架构集成策略面向接口本系统子系统之间都通过接口进行交互;接口的实现组件都允许被替换;Mocker对于未完成的子系统,可以通过建立Mocker来模拟这个子系统CruiseControl+Ant+MavenCruiseControl是持续集成的强力工具,通过定制好的Ant或者Maven脚本,CruiseControl可以持续调用这两种脚本完成实际情况的部署,以便尽早发现架构集成的问题。总体架构集成——架构集成策略面向接口总体架构集成——架构集成测试与验证集成测试功能性测试黑盒测试边界测试非功能性测试性能测试可操作性测试架构验证耦合性验证性能验证扩展性验证总体架构集成——架构集成测试与验证集成测试谢谢!-关心您的软件工程实践-Thankyouforyourattendance!谢谢!-关心您的软件工程实践-Thankyoufor应用架构设计实践Author:谢峰应用架构设计实践Author:谢峰架构概念应用架构介绍火龙果架构培养体系应用架构案例内容介绍架构概念内容介绍架构概念应用架构介绍火龙果架构培养体系应用架构案例架构概念架构基本概念——什么是架构定义了系统的组织,组成系统的结构元素、接口以及这些元素在协作中的行为,关系的设计和管理原则。架构设计架构基本概念——什么是架构定义了系统的组织,组成系统的结构元架构基本概念——什么是架构基线构建基线架构基线:架构基线是一个“小的、皮包骨架的”系统,是系统整个生命周期的开发准则,适用于所有的迭代周期;系统实施系统实施基于架构基线,在架构基线的指导下,完成系统的构件、节点,使“基线”进化为性能完善的系统;系统构件架构基线架构基本概念——什么是架构基线构建基线系统构件架构基线架构基本概念——架构设计目标理解系统架构使开发人员、管理人员,客户以及其他项目相关人员理解系统;组织开发通过明确划分的子系统,以及接口,降低协调开发的成本;鼓励重用设计良好可重用的子系统加速系统的构建进程;进化系统应对变化环境,构建弹性系统避免变化对系统产生非期望的效果;架构基本概念——架构设计目标理解系统架构基本概念——架构分类业务架构(BusinessArchitecture)技术架构(TechnicalArchitecture)企业架构(EnterpriseArchitecture)架构基本概念——架构分类业务架构(BusinessArch架构分类——业务架构业务架构是对需求的描述,以及业务模型的定义,其中包括领域模型(DomainObject),业务流程模型(BusinessProcessModel),系统参与者(Actor)。架构分类——业务架构业务架构是对需求的描述,以及业务模型的定架构分类——技术架构技术架构是对系统使用的技术一个规范性的定义,它包含非功能性的可重用构件,系统结构的设计规范,开发规范,物理环境,测试环境,部署环境的定义,以及系统配置管理。架构分类——技术架构技术架构是对系统使用的技术一个规范性的定架构分类——企业架构企业架构指的是在对一个企业的业务战略和流程理解基础之上,进行信息化的顶层设计,对企业现有的业务架构和技术架构进行有效的整合,形成灵活健壮的IT结构,构建的和谐IT环境。架构分类——企业架构企业架构指的是在对一个企业的业务战略和流架构分类——宏观架构(MacroscopicalArchitecture)业务架构技术架构应用系统业务架构技术架构应用系统业务架构技术架构应用系统企业架构架构分类——宏观架构(MacroscopicalArch架构概念应用架构介绍火龙果架构培养体系应用架构案例架构概念应用架构介绍——业务架构示例LogisticalOperationalPlatform
HorizontalSolutionUserManagementPermissionManagementSeaFreightAirFrieghtRoadFrieightCRM
HorizontalSolutionUserManagementPermissionManagementContactManagementTransactionManagementCustomerManagementConnector
HorizontalSolutionDTSSingleSignOn
HorizontalSolutionPMIBridge
Bridge
Bridge
应用架构介绍——业务架构示例LogisticalHoriz应用架构介绍——技术架构组成PresentationBusinessPersistenceCoreArchitectureSubscriptionDataAnalysisBPMTraceUtilitiesToolkitsScheduleConnectorConnectorConnectorTechnicalArchitecturePortalPMIRuleEngine应用架构介绍——技术架构组成PresentationBusi应用架构介绍——系统协同ApplicationAApplicationBConnector(MiddleDB)Connector(WebService)ApplicationAApplicationBApplicationAApplicationBConnector(JCA)应用架构介绍——系统协同ApplicationAAppli应用架构介绍——设计原则分而自治(BoundaryOfResponsibility)面向服务(ServiceOriented)协同规划(Collaboration)应用架构介绍——设计原则分而自治(BoundaryOfR应用架构介绍——分而自治分而自治(BoundaryOfResponsibility)功能性与非功能性之分通用与定制之分应用架构介绍——分而自治分而自治(BoundaryOfR应用架构介绍——面向服务面向服务(ServiceOriented)面向接口组件黑盒规范的服务描述应用架构介绍——面向服务面向服务(ServiceOrien应用架构介绍——协同规划协同规划(Collaboration)泛化连接器松散耦合简单部署应用架构介绍——协同规划协同规划(Collaboration应用架构介绍——应用架构实现方法论整体规划VerticalSolution(UseCase,DomainModel,BusinessSequence,etc)HorizontalSolution(Prototype,Components,ServicePublication,TechnicalDecision)环境配置WorkspaceIDE编码实现ObjectOrientedDesignPatternTesting应用架构介绍——应用架构实现方法论整体规划应用架构介绍——应用架构实现方法论(续)部署DeploymentScriptApplicationServiceEnvironmentTesting应用架构介绍——应用架构实现方法论(续)部署架构概念应用架构介绍火龙果架构培养体系应用架构案例架构概念应用架构设计模板课件架构概念应用架构介绍火龙果架构培养体系应用架构案例架构概念应用架构案例——案例背景本案例是一个实际的企业级应用系统,主要作用是为企业的其他信息系统提供相关的数据分析服务,包括报表,图表,和Dashboard。系统目标构建一个数据分析服务组件能够支持数据分析资源扩展提供标准的数据分析服务,被其他企业信息系统所使用系统环境支持分布式应用支持多种协议提供定时服务提供订阅服务运行高性能提供管理控制台设计约束需要支持热部署应用架构案例——案例背景本案例是一个实际的企业级应用系统,主应用架构案例——架构设计路线图应用架构案例——架构设计路线图应用架构案例——系统整体需求描述提供统一的数据分析服务提供定时服务,定时产生数据分析结果(月报,年报,周报)提供订阅服务,输出数据分析结果支持多交互协议支持多数据分析资源的扩展支持运行时的扩展性,热部署应用架构案例——系统整体需求描述提供统一的数据分析服务应用架构案例——确定架构范围设计问题设计策略优先级子系统划分确定系统边界和每个子系统的职责高系统层次划分按照系统层次的从低到高,确定每个层次的组件高支持资源扩展采用策略模式,泛化服务接口高支持多种交互协议采用代理模式和Façade模式,调用报表服务高处理各层次异常采用责任链模式,分划异常的处理高支持运行时扩展确定划分热部署边界,组件部署分离高特定数据分析资源实现使用特定报表技术,适配服务接口中实现定时服务使用定时服务组件,调用数据分析服务接口中实现订阅服务使用定制的订阅技术,并且开发接口给定时服务使用中管理控制台使用B/S架构定制界面,设定各个服务组件的配置低针对需求,确定设计点,作为架构设计的范围应用架构案例——确定架构范围设计问题设计策略优先级子系统划分应用架构案例子架构:分析、设计、实现与验证集成系统总体架构应用架构案例功能架构——子系统划分
对于任何系统而言,系统的架构都需要从对系统的分解入手。划分子系统的主要目的在于:简化系统设计工作提高并行开发效率便于系统架构的扩展功能架构——子系统划分 对于任何系统而言,系统的架构都需要从功能架构——子系统划分分析功能性划分——功能性组件数据分析组件:提供数据分析基本服务,产生数据分析结果(图片,文件)定时服务组件:提供定时机制,定时调用数据分析服务和订阅服务订阅服务组件:提供订阅服务基本服务,(Mail,FTP)管理控制台:系统服务配置设定(定时服务,订阅服务)非功能性划分——非功能性组件部署管理组件:运行时装载数据分析的模版,计算组件,数据源;数据访问组件:提供访问数据源服务(数据库,文件)外部交互适配器:提供支持多种交互协议的连接适配器(SOAP,RMI-IIOP)通用与定制之分——定制性组件JasperReport:提供基于JasperReport的数据分析服务CrystalReport:提供基于水晶报表的数据分析服务功能架构——子系统划分分析功能性划分——功能性组件功能架构——子系统划分设计根据原则划分好的子系统,需要有明确的接口定义,来代表其子系统提供的功能DAOServicevoidinsert()voidupdate()voiddelete()ObjectfindByPk()ScheduleServicevoidexecuteSchedule()SubscriptionServicevoidnotifySubscriber()J2EEConnectorCrystalReportServiceJasperReportServiceOLAPServiceRepportingServicebyte[]loadReport(StringreportId,Mapcontext,inttype)voiddeploy()DeploymentManagementService功能架构——子系统划分设计根据原则划分好的子系统,需要有明确功能架构——子系统划分实现与验证在系统实施过程中,一般子系统会使用不同的工作目录来实现。每个工作目录会需要包含下列信息:源程序组件依赖配置部署脚本测试程序功能架构——子系统划分实现与验证在系统实施过程中,一般子系统逻辑架构——系统分层系统分层的主要目的在于:细化子系统,确定子系统组件之间的协作关系提高子系统的可重用性提高子系统的可测试性提高子系统的可维护性提高子系统的可扩展性逻辑架构——系统分层系统分层的主要目的在于:逻辑架构——系统分层分析定义分层边界划分原则本系统按照服务消费者和服务提供者关系来划分层次定义消费者和服务提供者关系数据分析服务消费者Browser,JavaClientApplication,C++Client…数据分析服务提供者数据分析运算组件数据源提供组件协议适配器数据分析资源消费服务逻辑架构——系统分层分析定义分层边界划分原则数据分析服务消费逻辑架构——系统分层设计逻辑架构——系统分层设计可扩展架构:支持资源扩展
数据分析资源包括各种数据分析实现技术。支持资源扩展的主要需求如下:支持数据分析资源的可替换支持数据分析资源的可升级实现统一的数据分析服务接口可扩展架构:支持资源扩展数据分析资源包括各种数据分析实现技可扩展架构:支持资源扩展分析通用性和定制性划分特定数据分析资源需要定制统一的数据分析接口代表通用行为通用性和定制性结合行为抽象,抽象特定数据分析资源的通用行为实现独立,把特定数据分析资源的实现看成是行为抽象的一个特定实现可扩展架构:支持资源扩展分析通用性和定制性划分可扩展架构:支持的资源扩展设计J2EEPattern:策略模式现流行方式是采用Spring的ApplicationContext或者反射模式。构造策略实现对象策略行为接口策略实现可扩展架构:支持的资源扩展设计J2EEPattern:策略可扩展架构:支持的资源扩展实现定义接口publicinterfaceReportingServiceIF{ byte[]loadReport(StringreportId,Mapcontext,intbinaryType);}定义Spring配置<beanid="jasper"class="com.wn.pce.reportingservice.platform.jasper.PCEReportingServiceJasperImpl"destroy-method="close"><propertyname="dataSourceLoader"ref="defaultSourceLoader"/></bean>通过制定BeanName来判断使用那个实现类ReportingServiceIFservice=(ReportingServiceIF)ApplicationCtx.getBean(serviceName);byte[]reportBinary=service.loadReport(reportId,context,binaryType);
可扩展架构:支持的资源扩展实现定义接口外部接口架构:系统外部接口支持多种交互协议
系统的外部接口会被多种交互协议所调用,对于外部接口架构来说,主要需求如下:支持系统外部接口调用协议扩展重用数据分析服务组件简化外部接口调用的实现外部接口架构:系统外部接口支持多种交互协议系统的外部接口会外部接口架构:系统外部接口支持多种交互协议分析职责划分协议适配器:适配器负责使用特定交互协议调用数据分析服务重用数据分析组件:数据分析组件不涉及具体的协议交互泛化连接器接口抽象交互行为,定义统一的交互接口封装特定协议交互细节,屏蔽交互复杂性外部接口架构:系统外部接口支持多种交互协议分析职责划分外部接口架构:系统外部接口支持多种交互协议设计J2EEPattern:Façade模式通过coarse-grained的接口,屏蔽了低层次的实现细节,这也是façade模式的一种应用。协议适配器协议适配器外部接口架构:系统外部接口支持多种交互协议设计J2EEPa外部接口架构:系统外部接口支持多种交互协议设计J2EEPattern:策略模式,DelegateDelegate模式,对于具体的调用实现类来说,它不负责具体的业务逻辑处理,而只是负责代理特定的业务实现对象,并且封装对这个对象的引用过程。常用的方式有ServiceLoacator,封装了SOAP,RemoteInterface,LocalInterface的调用。协议调用代理外部接口架构:系统外部接口支持多种交互协议设计J2EEPa外部接口架构:系统外部接口支持多种交互协议设计外部接口架构:系统外部接口支持多种交互协议设计外部接口架构:系统外部接口支持多种交互协议实现EJBAdapterpublicinterfaceReportingServiceEJBAdapterextendsEJBObject{ byte[]loadReport(StringserviceClassName,StringreportId,Mapcontext,intbinaryType)throws RemoteException;}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;}外部接口架构:系统外部接口支持多种交互协议实现EJBAda可靠性架构:异常处理机制异常处理是系统可靠性的表现,异常分为三种:无法恢复异常,记录异常日志可恢复异常,通知使用者通过特定操作修复异常容错异常,系统根据发生的异常类型决定通过特定逻辑修复异常可靠
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026重庆长安汽车股份有限公司招聘备考题库有答案详解
- 兔场夏季防暑降温饲养管理方案
- 职工职业健康检查实施方案
- 辣椒移栽定植田间管理技术规程
- 违章作业行为纠正管理办法
- 双重预防机制建设运行台账管理规范
- 茄果类青枯病防治制度
- 沙发皮革保养清洁操作指引
- 辣椒夏季降温防病方案
- 肩颈腰痛综合理疗标准
- 黑吉辽蒙2025年高考真题物理试卷【附答案】
- 2026年心理咨询师通关测试卷含完整答案详解(夺冠)
- 2026年浙江公务员考试行测真题及答案解析
- 2026中信证券总部暑期日常实习招聘笔试备考试题及答案解析
- 山东铁投集团招聘笔试真题2025
- 倒班人员作息健康管理培训
- 【英语】江苏苏州市2025-2026学年度第一学期2026届高三年级期末调研考试(苏州零模)(2.3-2.5)
- 2026年口腔技术员-通关题库附答案详解【培优A卷】
- AI生成式内容赋能智慧文旅:2026沉浸式体验应用案例与趋势
- 药品采购绩效考核制度
- 2025湖南大学出版社有限责任公司招聘笔试历年难易错考点试卷带答案解析2套试卷
评论
0/150
提交评论