1、冯志勇天津大学计算机学院模型驱动架构面向服务的分析和建模:方法和过程CASE工具:IBM WebSphere案例研究2022-8-1622022-8-163SOA Project TeamServiceRegistryServiceSubmissionService AuditCenter Of Excellence部署部署管理管理实现实现组合组合分析分析建模建模SOA规划和管理 SOA ValuesModelingDesignDevelopmentIntegrationDeployment&ManagementMonitoringServiceReuseSystem Reconfigurat
2、ionService Change Management2022-8-164多样的平台 多样的 Hardware Architecture Pentium,PowerPC,PA-RISC,Sparc,370,多样的 Networks Ethernet,ATM,IP,SS7,Applealk,USB,Firewire,多样的Programming Languages C/C+.Java,VB,C#,多样的 Operating Systems Unix,Windows,NT/XP.Mainframe,Mobile,多样的 Middlewares JAVA/CORBA,COM+/.NET,Web S
3、ervices,.2022-8-166集成的挑战 跨中间件的集成 跨中间件系统设计2022-8-167H/WOSApp.H/WOSApp.H/WOSApp.H/WOSApp.MiddlewareH/WOSApp.H/WOSApp.H/WOSApp.H/WOSApp.MiddlewareH/WOSApp.H/WOSApp.H/WOSApp.H/WOSApp.MiddlewareCross Middleware-Integration-System Design允许定义的机器可读的应用和数据模型,使长期的适应:实现 新基础设施可以整合或重用已有设计实现 集成 自动生产数据集成的桥梁和连接到新的一体
4、化基础设施 维护 设计采用机器可读形式 测试和仿真 开发模型能有效满足要求,针对各种基础设施进行测试,并可以直接用于模拟正在设计系统的行为。2022-8-168捕获通常在代码和开发过程中丢失的设计信息基本工作:系统生成;分析;仿真;测试生成;文件生成;.特定领域的建模语言增强了生成,优化,早期错误检测等2022-8-1691989:OMG establishedStandardization of Distributed Object Middleware 1995:CORBA 2;2002:CORBA 3Modeling Standardization 1997:UML(Unfied Mod
5、eling Language)1997:MOF(Meta Object Facility)1999:XMI(XML Metadata Interchange)2001:Application-Specific UML Profiles(EDOC,EAI)Architecture(Reference Model)1990:OMA(Object Management Architecture)2001:MDA(Model Driven Architecture)2001-:starting standardization based on MDA2022-8-1610UML:Unified Mod
6、eling Language 强调建模架构,对象及对象之间的相互作用,数据建模方面的问题,以及设计方面的构造和组装XMI:XML Metadata Interchange 标准交换机制,用于各种工具、库和中间件中。MOF:Meta Object Facility 提供标准的建模和交换结构.MDA:Model Driven Architecture 由OMG制定的建模标准;可以使用任何主流的开放或专有平台实现,包括CORBA技术,Java,.NET,XMI/XML和基于Web的平台。2022-8-1611提供一个开放的,供应商中立的方法来挑战的业务和技术的变化。分离的一个系统运行规范和系统使用平
7、台能力的细节方式,Provides an approach for,and enables tools to 指定一个独立于支持它平台系统;指定平台;为系统选择某一特定平台;对某一特定平台变换系统规范目的 通过架构分离关注,提高可移植性,互操作性和可重用性2022-8-16122022-8-1613CIM:Computation Independent Model 一个计算独立的系统视图;阐明要求,但隐藏实现细节和系统实施;架设领域专家和技术专家之间的沟通桥梁;PIM:Platform Independent Model 一个平台独立独立的系统视图;展示足够的独立性,以便其映射到一个或多个平台
8、 抽象技术细节,定义一整套服务。PSM:Platform Specific Model 平台相关的独立的系统视图;结合PIM规范的细节,说明该系统如何使用特定类型平台 2022-8-1614CIMPIMPSM模型变换是相同的系统从一种模式到另一种模式的转换过程 标识;元模型转化;模型转换;模式的应用;模型融合;2022-8-1615CIMPIMPSMTransformation2022-8-1616Platform Independent Model(PIM)Implementation In EJBebXML messageDefinition BridgePlatform Specific
9、 Model(PSM)In ebXMLPlatform Specific Model(PSM)In CORBA2022-8-1617RequirementAnalysisDesingCodingTestingDeploymentMostly textDiagram&textDiagram&textcodecodeIterativeProcessProgrammersshortcut传统生命周期过程MDA生命周期过程RequirementAnalysisDesingCodingTestingDeploymentCIMPIMPSMcodecodeMDAProcess保持知识的投资 独立的执行平台;
10、使得隐性知识明确。开发速度 大多数实现是自动生成的。实现质量 专家为开发者提供了转换模板。维护和文档 设计和分析模型后,不放弃文档;从技术规范到执行 100 可追踪。2022-8-16182022-8-1620Layer 1:业务系统层 现有的应用,所谓的遗留系统 CRM and ERP packaged applicationsolder object-oriented system implementations,business intelligence applications.要充分利用现有的系统和整合利用面向服务的集成技术。Layer 2:企业组件层 企业组件负责对外服务功能实现和
11、保持服务质量 管理和控制的企业资产,企业或业务单位的层面资金。通常使用基于容器的技术,如执行组件,负荷管理,高可用性和负载平衡的应用服务器2022-8-1621Layer 3:服务层.业务选择存储和陈列的服务;可以发现或静态绑定和调用,可能的话,可编排成一个综合的服务。实现一些机制,包括企业业务范围组件、业务单元组件,以及在某些情况下,针对具体项目的组件,一个以服务描述形式的扩展接口子集 使用接口提供的功能提供在运行时实现的服务。孤立的或作为一个组件服务存在。Level 4:业务流程组成或编排层 服务捆绑成一个编排的流,作为一个单一的应用程序共同作用。这些应用程序支持的具体用例和业务流程。20
12、22-8-1622Layer 5:访问或表示层.SOA decouples the user interface from the components,the layer provides an access channel to a service or composition of services.Level 6:集成(ESB).Enables the integration of services through the introduction of a reliable set of capabilities,such as intelligent routing,protoco
13、l mediation,and other transformation mechanisms,often described as the ESB.Level 7:服务质量(QoS).The capabilities required to monitor,manage,and maintain QoS such as security,performance,and availability.A background process through sense-and-respond mechanisms and tools that monitor the health of SOA a
14、pplications.2022-8-16232022-8-1624建模,分析,设计方法和活动是定义SOA的基础.定义中的内容每个SOA层。在每一层做出关键的体系结构决策。混合方法 自顶向下:业务驱动 自底向上:遗产系统投资SoftwareSkills&Support2022-8-1625OOAD:Object-Oriented analysis&DesignBPM:Business Process ModelingEA:Enterprise ArchitectureService-Oriented Modeling&AnalysisOOAD 类层次,粒度小。商业服务模式较低的抽象层次 有关各
15、方如继承等强的关联导致紧耦合一种依赖BPM 不够系统的原理,其中有许多不同的风格,公式和资产EA 没有企业级的进程或服务的视图。通用架构,并没有下降达到设计域;解决方案和企业架构存在一个根本的鸿沟。2022-8-16262022-8-1627Object-OrientedClassLayerComponentLayerService LayerComponent-OrientedService-Oriented2022-8-1628VacancyComponentApplicationComponentEmp.RecordComponentCareerComponentRecruitmentS
16、erviceEmployee ServiceRecruitmentEmployeeManageEmployeesHuman ResourcesFunctionalDomainSoftwareComponentBusinessProcessBusinessServicesSoftwareServicesBusinessLayerServiceLayerComponentLayer2022-8-1629ServiceIdentificationServiceCategorizationServiceExposureDecisionsChoreographyOrCompositionQuality
17、of serviceCustomerViewComponentIdentificationServiceAllocation toComponentsComponentSpecificationLayering theComponentServicerealizationTechnical PrototypingServiceManagementProduct selectionStandardsimplementationArchitecturalDecisions(state,flow,Dependencies)ProviderViewService categorization and
18、aggregationPolicies and aspectsProcess:meet-in-the-middle Broking 2022-8-16302022-8-1631Domain DecompositionGoal-Service ModelingExisting System AnalysisComponent FlowspecificationInformationspecificationSubsystemAnalysisComponent specificationService FlowspecificationMessage&eventspecificationServi
19、ce realization decisionsService allocationto componentsComponent layerIdentificationSpecificationRealizationServicespecificationIdentifies services through 领域分解(Top down analysis)已有系统分析(Bottom up analysis)目标服务模型2022-8-1632IdentificationSpecificationRealizationDomain DecompositionGoal-Service Modelin
20、gExisting System AnalysisService RepositoryTop-DownAnalysisBottom-UpAnalysisAlign Service withBusiness GoalsTop-down 业务用例的蓝图提供了为商业服务规范。域分解:将业务域分解为功能和子系统。流或过程分解成流程,分流程和高级别业务用例。用例是业务服务好的候选。暴露在边界的企业。在跨企业的业务范围内2022-8-1633Domain DecompositionGoal-Service ModelingExisting System AnalysisComponent Flowspec
21、ificationInformationspecificationSubsystemAnalysisComponent specificationService FlowspecificationMessage&eventspecificationService realization decisionsService allocationto componentsComponent layerIdentificationSpecificationRealizationServicespecificationBottom-up 过程或现有系统的分析 为支持业务流程基本服务功能的执行提供成本更低
22、的解决方案,现有系统的分析和选择是可行的候选。从传统的模块和包装应用总分析和利用API,事务和模块。构件的遗留系统支持服务功能,需要重新模块化的现有资产。2022-8-1634Domain DecompositionGoal-Service ModelingExisting System AnalysisComponent FlowspecificationInformationspecificationSubsystemAnalysisComponent specificationService FlowspecificationMessage&eventspecificationServi
23、ce realization decisionsService allocationto componentsComponent layerIdentificationSpecificationRealizationServicespecificationMiddle-Out Goal-service modeling Identify Goals and Sub-Goals Identify Services for Sub-goals Identify key performance indicators&metrics for sub-goals and services 2022-8-
24、1635Domain DecompositionGoal-Service ModelingExisting System AnalysisComponent FlowspecificationInformationspecificationSubsystemAnalysisComponent specificationService FlowspecificationMessage&eventspecificationService realization decisionsService allocationto componentsComponent layerIdentification
25、SpecificationRealizationServicespecification服务分类。服务流程规范。消息和活动规范。子系统的分析。构件规格说明。2022-8-1636IdentificationSpecificationRealization服务分类和类型 分类服务纳入服务体系,反映了复合或分形性质的服务 服务可以而且应当由细粒度组件和服务组成 分类有助于确定组成和分层,以及基于分层协调构建相互依存服务。缓解服务扩散综合征 2022-8-1637Domain DecompositionGoal-Service ModelingExisting System AnalysisComp
26、onent FlowspecificationInformationspecificationSubsystemAnalysisComponent specificationService FlowspecificationMessage&eventspecificationService realization decisCionsService allocationto componentsComponent layerIdentificationSpecificationRealizationServicespecification子系统分析 指定子系统之间的相互依存和流。在域分解时基于
27、确定的用例,识别子系统的接口外部服务 创建子系统内部设计模型。确定实施大粒度组件实现服务的构建。2022-8-1638Domain DecompositionGoal-Service ModelingExisting System AnalysisComponent FlowspecificationInformationspecificationSubsystemAnalysisComponent specificationService FlowspecificationMessage&eventspecificationService realization decisCionsServ
28、ice allocationto componentsComponent layerIdentificationSpecificationRealizationServicespecification组件规范。指定的执行服务组件细节。数据Data 规则Rules 服务Services 配置描述Configurable profile 变异 Variations 指定和管理信息和事件 2022-8-1639Domain DecompositionGoal-Service ModelingExisting System AnalysisComponent FlowspecificationInfo
29、rmationspecificationSubsystemAnalysisComponent specificationService FlowspecificationMessage&eventspecificationService realization decisionsService allocationto componentsComponent layerIdentificationSpecificationRealizationServicespecification服务的实现方式决策。分配服务至组件。分配组件至SOA层2022-8-1640IdentificationSpec
30、ificationRealization服务配置 指定已确定的服务到子系统,其中有实现其发布的功能企业组件。指定的服务和组件,以便在SOA层实现。主要架构决策文档和决议 应用架构。技术业务架构。设计和使用以支持SOA在运行时的实现2022-8-1641Domain DecompositionGoal-Service ModelingExisting System AnalysisComponent FlowspecificationInformationspecificationSubsystemAnalysisComponent specificationService Flowspecif
31、icationMessage&eventspecificationService realization decisionsService allocationto componentsComponent layerIdentificationSpecificationRealizationServicespecification服务实现决策。实现服务和组件,选择实现替代品 从现有的图书馆。定制。集成。转换。认购和外包。其他业务功能包括:安全,管理和监控服务。2022-8-1642Domain DecompositionGoal-Service ModelingExisting System
32、AnalysisComponent FlowspecificationInformationspecificationSubsystemAnalysisComponent specificationService FlowspecificationMessage&eventspecificationService realization decisionsService allocationto componentsComponent layerIdentificationSpecificationRealizationServicespecification2022-8-1644Busine
33、ss Application ServicesProcessServicesInformation ServicesDevelopment ServicesInteraction ServicesPartner ServicesConnectivity Services Business Innovation and Optimization Services ArchitectDeveloperTester Business AnalystIntegration DeveloperDashboardsPortletsBusiness ProcessesData ModelsPartner P
34、rofilesApp ComponentsAdaptersApplication&Information AssetsIT Services ManagementWebSphere Business ModelerRational/WebSphere ToolsA business process modeling tool that 构建、设计、分析和生成业务流程报告。集成新的和修订的工作流。定义组织、资源和商业项目。Objectives 整理现有的程序。确定人员、系统和设施等方面的需求。规划现有程序和系统的变化。测试和分析现有和拟议的过程2022-8-1645建模、模拟和度量业务流程 过程
35、建模。业务项目模型。资源建模。组织建模。结构模型。分析。过程模拟。2022-8-1646基本的业务建模方式 Business Modeling mode 业务分析,业务过程模型高层视图。创建和显示顺序流中等的业务建模方式 技术上更注重用户。指定并查看更多过程和数据模型的细节。例如,业务规则和逻辑,数据的属性。高级业务建模方式 全面详细的过程模型和数据模型。用于软件应用基础的模型。例如,调用的特点,静态域,实例相关性,模拟参数2022-8-1647企业的文档,工作成果,或用于对某一特定业务商品。创建、组装、检查、测试、修改或工作所依赖的所有。当它们是通过从一个步骤到下一个过程模型时,业务项目也可
36、以进行更改。例如,一个客户订单可能被指定为开放的,经过工作、核实并最终关闭,当它是通过从任务到任务的一个特定过程模型。2022-8-1648每个公司的资源模型,如雇员,计算机,车辆,或电力。用于执行一项任务或一个项目可派和使用的人、设备或材料过程模型。依赖于过程模型中需求的复杂水平,可以指定角色、成本和时间表的资源。2022-8-1649业务流程图 过程描述了一系列的任务,而过程由连接器联系在一起。一个过程可以包含多个分支路径,在过程执行中作出的决策。一个进程也可以包含子过程两种建模方式 自由形式布局:最大的灵活性来安排过程图表。泳到布局:根据您指定的特征,如组织单位,位置,资源定义,作用或分
37、类等,安排要素。2022-8-16502022-8-1651TaskDecisionBranchesMergeStopTask Classification2022-8-1652ProjectTreeOutlineViewProcessEditorAttributeView2022-8-1654汽车贷款流程2022-8-1655业务目标业务目标SOA 价值价值现有问题现有问题降低成本降低欺诈风险建立集中的企业服务总线,屏蔽具体的服务实现,保持IT系统的柔性流程自动化,提供实时的流程监控和管理客户专员获取客户历史记录,然后人工计算风险等级由于各地的业务差别,计算风险等级的政策不一致在申请过程中,
38、客户以及客户代表无法了解申请进度并及时反馈引入业务规则作为服务实现方式,保证系统灵活性的同时,提高工作效率2022-8-1656Business ComponentsBusiness GoalBusiness Process2022-8-16571.1存款0 存贷款流程存贷款流程1.2汽车贷款1.2.1申请贷款1.2.2确认申请1.2.3评估信用等级1.2.4核定期限1.2.5审批1.2.6担保1.2.7发放贷款1.2.3.1获取存款记录1.2.3.2获取贷款记录1.2.3.3计算信用等级1.2.6.1申请担保1.2.6.2提供担保2022-8-1658业务目标业务目标关键业务指标关键业务指标
39、相关服务相关服务BG.1 降低成本BG.2 降低欺诈风险销售成本降低10%坏账率到3%以下用户自服务比率提高到85%1.2.1 申请贷款1.2.2 确认申请1.2.3 评估信用等级1.2.3.1 获取存款记录1.2.3.2 获取贷款记录1.2.3.3 计算信用等级1.2.4 核定期限1.2.5 审批1.2.6 担保1.2.6.1 申请担保1.2.6.2 提供担保1.2.7 发放贷款2022-8-1659系统编号系统名称相关服务平台接口类型APP1贷款系统获取贷款记录AIXWAS v5EJBAPP2核心系统获取存款记录CICS/390TerminalAPP3保险公司担保系统提供担保Windows
40、.NETFax/CallWeb Service2022-8-1660客户服务 1.2.1 申请贷款 1.2.2 确认申请 1.2.3.1 获取存款记录 1.2.3.2 获取贷款记录 1.2.4 核定期限 1.2.5 审批 1.2.6 担保 1.2.6.1 申请担保 1.2.6.2 提供担保 1.2.7 发放贷款风险管理 1.2.3 评估信用等级 1.2.3.3 计算信用等级2022-8-1661Business Data ModelingBusiness Process ModelingOrganization ModelingSimulation ReportBusiness Monitor
41、ing要系统部署之前找到的瓶颈;以资源消费统计分析为基础优化资源配置。2022-8-1662Simulation Control Real Time Simulation StatisticsSimulation TimeCurrent ProcessBottleneckQueue分析与建模是业务驱动、服务为中心的系统开发的一个关键过程。SOA的依据模型驱动的开发,它定义由独立的计算模型,平台独立的模型,平台的具体模式一个自动化的转变过程。SOMA确定了服务识别、规范和实现主要活动。2022-8-1663Frank Truyen,“The Fast Guide to Model Driven
42、Architecture”,Cephas Consulting Corp.,2006.OMG,“MDA Guide Version 1.0.1”,2003.Krzysztof Czarnecki,“Model Driven Architecture”,2004.Olaf Zimmermann,Pal Krogdahl,and Clive Gee,“Elements of Service-Oriented Analysis and Design”,June 2004.Ali Arsanjani,“Service-Oriented Modeling and Architecture”,Nov.2004.Keith Leve and Ali Arsanjani,“A Goal-driven Approach to Enterprise Component Identification and Specification”,Communications of the ACM,Oct.2002.2022-8-1664