饶国政天津大学计算机学院模型驱动架构面向服务的分析和建模:方法和过程CASE工具:IBMWebSphere案例研究2019/10/1822019/10/183SOAProjectTeamServiceRegistryServiceSubmissionServiceAuditCenterOfExcellence部署管理实现组合分析建模SOA规划和管理SOAValues0Modeling2Design3Development4Integration5Deployment&Management6Monitoring1ServiceReuseSystemReconfigurationServiceChangeManagement2019/10/184多样的平台◦多样的HardwareArchitecturePentium,PowerPC,PA-RISC,Sparc,370,…◦多样的NetworksEthernet,ATM,IP,SS7,Applealk,USB,Firewire,…◦多样的ProgrammingLanguagesC/C++.Java,VB,C#,…◦多样的OperatingSystemsUnix,Windows,NT/XP.Mainframe,Mobile,…◦多样的MiddlewaresJAVA/CORBA,COM+/.NET,WebServices,….2019/10/186集成的挑战◦跨中间件的集成◦跨中间件系统设计2019/10/187H/WOSApp.H/WOSApp.H/WOSApp.H/WOSApp.MiddlewareH/WOSApp.H/WOSApp.H/WOSApp.H/WOSApp.MiddlewareH/WOSApp.H/WOSApp.H/WOSApp.H/WOSApp.MiddlewareCrossMiddleware-Integration-SystemDesign允许定义的机器可读的应用和数据模型,使长期的适应:◦实现新基础设施可以整合或重用已有设计实现◦集成自动生产数据集成的桥梁和连接到新的一体化基础设施◦维护设计采用机器可读形式◦测试和仿真开发模型能有效满足要求,针对各种基础设施进行测试,并可以直接用于模拟正在设计系统的行为。2019/10/188捕获通常在代码和开发过程中丢失的设计信息基本工作:◦系统生成;◦分析;◦仿真;◦测试生成;◦文件生成;◦….特定领域的建模语言增强了生成,优化,早期错误检测等2019/10/1891989:OMGestablishedStandardizationofDistributedObjectMiddleware◦1995:CORBA2;2002:CORBA3ModelingStandardization◦1997:UML(UnfiedModelingLanguage)◦1997:MOF(MetaObjectFacility)◦1999:XMI(XMLMetadataInterchange)◦2001:Application-SpecificUMLProfiles(EDOC,EAI)Architecture(ReferenceModel)◦1990:OMA(ObjectManagementArchitecture)◦2001:MDA(ModelDrivenArchitecture)2001-:startingstandardizationbasedonMDA2019/10/1810UML:UnifiedModelingLanguage◦强调建模架构,对象及对象之间的相互作用,数据建模方面的问题,以及设计方面的构造和组装XMI:XMLMetadataInterchange◦标准交换机制,用于各种工具、库和中间件中。MOF:MetaObjectFacility◦提供标准的建模和交换结构.MDA:ModelDrivenArchitecture◦由OMG制定的建模标准;◦可以使用任何主流的开放或专有平台实现,包括CORBA技术,Java,.NET,XMI/XML和基于Web的平台。2019/10/1811提供一个开放的,供应商中立的方法来挑战的业务和技术的变化。分离的一个系统运行规范和系统使用平台能力的细节方式,Providesanapproachfor,andenablestoolsto◦指定一个独立于支持它平台系统;◦指定平台;◦为系统选择某一特定平台;◦对某一特定平台变换系统规范目的◦通过架构分离关注,提高可移植性,互操作性和可重用性2019/10/18122019/10/1813CIM:ComputationIndependentModel◦一个计算独立的系统视图;◦阐明要求,但隐藏实现细节和系统实施;◦架设领域专家和技术专家之间的沟通桥梁;PIM:PlatformIndependentModel◦一个平台独立独立的系统视图;◦展示足够的独立性,以便其映射到一个或多个平台◦抽象技术细节,定义一整套服务。PSM:PlatformSpecificModel◦平台相关的独立的系统视图;◦结合PIM规范的细节,说明该系统如何使用特定类型平台2019/10/1814CIMPIMPSM模型变换是相同的系统从一种模式到另一种模式的转换过程◦标识;◦元模型转化;◦模型转换;◦模式的应用;◦模型融合;2019/10/1815CIMPIMPSMTransformation2019/10/1816PlatformIndependentModel(PIM)ImplementationInEJBebXMLmessageDefinitionBridgePlatformSpecificModel(PSM)InebXMLPlatformSpecificModel(PSM)InCORBA2019/10/1817RequirementAnalysisDesingCodingTestingDeploymentMostlytextDiagram&textDiagram&textcodecodeIterativeProcessProgrammer’sshortcut传统生命周期过程MDA生命周期过程RequirementAnalysisDesingCodingTestingDeploymentCIMPIMPSMcodecodeMDAProcess保持知识的投资◦独立的执行平台;◦使得隐性知识明确。开发速度◦大多数实现是自动生成的。实现质量◦专家为开发者提供了转换模板。维护和文档◦设计和分析模型后,不放弃文档;◦从技术规范到执行100%可追踪。2019/10/18182019/10/1820Layer1:业务系统层◦现有的应用,所谓的遗留系统CRMandERPpackagedapplicationsolderobject-orientedsystemimplementations,businessintelligenceapplications.◦要充分利用现有的系统和整合利用面向服务的集成技术。Layer2:企业组件层◦企业组件负责对外服务功能实现和保持服务质量◦管理和控制的企业资产,企业或业务单位的层面资金。◦Ť通常使用基于容器的技术,如执行组件,负荷管理,高可用性和负载平衡的应用服务器2019/10/1821Layer3:服务层.◦业务选择存储和陈列的服务;◦可以发现或静态绑定和调用,可能的话,可编排成一个综合的服务。◦实现一些机制,包括企业业务范围组件、业务单元组件,以及在某些情况下,针对具体项目的组件,一个以服务描述形式的扩展接口子集◦使用接口提供的功能提供在运行时实现的服务。◦孤立的或作为一个组件服务存在。Level4:业务流程组成或编排层◦服务捆绑成一个编排的流,作为一个单一的应用程序共同作用。◦这些应用程序支持的具体用例和业务流程。2019/10/1822Layer5:访问或表示层.◦SOAdecouplestheuserinterfacefromthecomponents,thelayerprovidesanaccesschanneltoaserviceorcompositionofservices.Level6:集成(ESB).◦Enablestheintegrationofservicesthroughtheintroductionofareliablesetofcapabilities,suchasintelligentrouting,protocolmediation,andothertransformationmechanisms,oftendescribedastheESB.Level7:服务质量(QoS).◦Thecapabilitiesrequiredtomonitor,manage,andmaintainQoSsuchassecurity,performance,andavailability.◦Abackgroundprocessthroughsense-and-respondmechanismsandtoolsthatmonitorthehealthofSOAapplications.2019/10/18232019/10/1824建模,分析,设计方法和活动是定义SOA的基础.◦定义中的内容每个SOA层。◦在每一层做出关键的体系结构决策。◦混合方法自顶向下:业务驱动自底向上:遗产系统投资SoftwareSkills&Support2019/10/1825OOAD:Object-Orientedanalysis&DesignBPM:BusinessProcessModelingEA:EnterpriseArchitectureService-OrientedModeling&AnalysisOOAD◦类层次,粒度小。◦商业服务模式较低的抽象层次◦有关各方如继承等强的关联导致紧耦合——一种依赖BPM◦不够系统的原理,其中有许多不同的风格,公式和资产EA◦没有企业级的进程或服务的视图。◦通用架构,并没有下降达到设计域;解决方案和企业架构存在一个根本的鸿沟。2019/10/18262019/10/1827Object-OrientedClassLayerComponentLayerServiceLayerComponent-OrientedService-Oriented2019/10/1828VacancyComponentApplicationComponentEmp.RecordComponentCareerComponentRecruitmentServiceEmployeeServiceRecruitmentEmployeeManageEmployeesHumanResourcesFunctionalDomainSoftwareComponentBusinessProcessBusinessServicesSoftwareServicesBusinessLayerServiceLayerComponentLayer2019/10/1829ServiceIdentificationServiceCategorizationServiceExposureDecisionsChoreographyOrCompositionQualityofserviceCustomerViewComponentIdentificationServiceAllocationtoComponentsComponentSpecificationLayeringtheComponentServicerealizationTechnicalPrototypingServiceManagementProductselectionStandardsimplementationArchitecturalDecisions(state,flow,Dependen