1 / 64

面向服务的分析和建模

面向服务的分析和建模. 冯志勇 天津大学计算机学院. 大纲. 模型驱动架构 面向服务的分析和建模 : 方法和过程 CASE 工具 : IBM WebSphere 案例研究. SOA 规划和管理. SOA Project Team. Center Of Excellence. Monitoring. Deployment & Management. Integration. Development. SOA Values. Modeling. 0. 1. 6. 5. 4. 2. 分析 建模. Service Submission.

Download Presentation

面向服务的分析和建模

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 面向服务的分析和建模 冯志勇 天津大学计算机学院

  2. 大纲 • 模型驱动架构 • 面向服务的分析和建模: 方法和过程 • CASE工具: IBM WebSphere • 案例研究

  3. SOA规划和管理 SOA Project Team Center Of Excellence Monitoring Deployment & Management Integration Development SOA Values Modeling 0 1 6 5 4 2 分析 建模 Service Submission Service Audit Design 3 Service Reuse Service Registry 实现 组合 Service Change Management System Reconfiguration 部署 管理 以服务为中心的系统开发

  4. IBM 基础架构

  5. 模型驱动的架构

  6. 动机 • 多样的平台 • 多样的 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 Services, ….

  7. App. App. App. App. App. App. App. App. App. App. App. App. • Cross Middleware • Integration • System Design Middleware Middleware Middleware OS OS OS OS OS OS OS OS OS OS OS OS H/W H/W H/W H/W H/W H/W H/W H/W H/W H/W H/W H/W 动机 • 集成的挑战 • 跨中间件的集成 • 跨中间件系统设计

  8. 动机 • 允许定义的机器可读的应用和数据模型,使长期的适应: • 实现 • 新基础设施可以整合或重用已有设计实现 • 集成 • 自动生产数据集成的桥梁和连接到新的一体化基础设施 • 维护 • 设计采用机器可读形式 • 测试和仿真 • 开发模型能有效满足要求,针对各种基础设施进行测试,并可以直接用于模拟正在设计系统的行为。

  9. 模型的角色 • 捕获通常在代码和开发过程中丢失的设计信息 • 基本工作: • 系统生成; • 分析; • 仿真; • 测试生成; • 文件生成; • …. • 特定领域的建模语言增强了生成,优化,早期错误检测等

  10. OMG 建模活动 • 1989: OMG established • Standardization of Distributed Object Middleware • 1995: CORBA 2; 2002: CORBA 3 • Modeling Standardization • 1997: UML (Unfied Modeling 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 MDA

  11. OMG建模标准 • UML: Unified Modeling Language • 强调建模架构,对象及对象之间的相互作用,数据建模方面的问题,以及设计方面的构造和组装 • XMI: XML Metadata Interchange • 标准交换机制,用于各种工具、库和中间件中。 • MOF: Meta Object Facility • 提供标准的建模和交换结构. • MDA: Model Driven Architecture • 由OMG制定的建模标准; • 可以使用任何主流的开放或专有平台实现,包括CORBA技术,Java, .NET, XMI/XML和基于Web的平台。

  12. OMG 模型驱动的架构 • 提供一个开放的,供应商中立的方法来挑战的业务和技术的变化。 • 分离的一个系统运行规范和系统使用平台能力的细节方式, • Provides an approach for, and enables tools to • 指定一个独立于支持它平台系统; • 指定平台; • 为系统选择某一特定平台; • 对某一特定平台变换系统规范 • 目的 • 通过架构分离关注,提高可移植性,互操作性和可重用性

  13. MDA in the Context

  14. MDA 模型 • CIM: Computation Independent Model • 一个计算独立的系统视图; • 阐明要求,但隐藏实现细节和系统实施; • 架设领域专家和技术专家之间的沟通桥梁; • PIM: Platform Independent Model • 一个平台独立独立的系统视图; • 展示足够的独立性,以便其映射到一个或多个平台 • 抽象技术细节,定义一整套服务。 • PSM: Platform Specific Model • 平台相关的独立的系统视图; • 结合PIM规范的细节,说明该系统如何使用特定类型平台 CIM PIM PSM

  15. Transformation 模型转化 • 模型变换是相同的系统从一种模式到另一种模式的转换过程 • 标识; • 元模型转化; • 模型转换; • 模式的应用; • 模型融合; CIM PIM PSM

  16. MDA 场景 Platform Independent Model (PIM) Platform Specific Model (PSM) In CORBA Platform Specific Model (PSM) In ebXML Bridge Implementation In EJB ebXML message Definition

  17. Requirement Requirement Analysis Analysis Desing Desing Coding Coding Testing Testing Deployment Deployment MDA 对开发过程的影响 传统生命周期过程 MDA生命周期过程 Mostly text CIM Iterative Process Diagram & text PIM MDA Process Diagram & text PSM code code Programmer’s shortcut code code

  18. MDA收益 • 保持知识的投资 • 独立的执行平台; • 使得隐性知识明确。 • 开发速度 • 大多数实现是自动生成的。 • 实现质量 • 专家为开发者提供了转换模板。 • 维护和文档 • 设计和分析模型后,不放弃文档; • 从技术规范到执行 100 %可追踪。

  19. 面向服务的分析和建模方法和过程

  20. SOA分层模型

  21. SOA分层模型 • Layer 1:业务系统层 • 现有的应用,所谓的遗留系统 • CRM and ERP packaged applications • older object-oriented system implementations, • business intelligence applications. • 要充分利用现有的系统和整合利用面向服务的集成技术。 • Layer 2:企业组件层 • 企业组件负责对外服务功能实现和保持服务质量 • 管理和控制的企业资产,企业或业务单位的层面资金。 • Ť通常使用基于容器的技术,如执行组件,负荷管理,高可用性和负载平衡的应用服务器

  22. SOA分层模型 • Layer 3: 服务层. • 业务选择存储和陈列的服务; • 可以发现或静态绑定和调用,可能的话,可编排成一个综合的服务。 • 实现一些机制,包括企业业务范围组件、业务单元组件,以及在某些情况下,针对具体项目的组件, 一个以服务描述形式的扩展接口子集 • 使用接口提供的功能提供在运行时实现的服务。 • 孤立的或作为一个组件服务存在。 • Level 4:业务流程组成或编排层 • 服务捆绑成一个编排的流,作为一个单一的应用程序共同作用。 • 这些应用程序支持的具体用例和业务流程。

  23. SOA分层模型 • Layer 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, protocol 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 applications.

  24. 建模,分析,设计方法和活动是定义SOA的基础. 定义中的内容每个SOA层。 在每一层做出关键的体系结构决策。 混合方法 自顶向下: 业务驱动 自底向上: 遗产系统投资 面向服务的分析和建模 Software Skills & Support

  25. Why OOAD, BPM, EA are not enough Service-Oriented Modeling & Analysis OOAD: Object-Oriented analysis & Design BPM: Business Process Modeling EA: Enterprise Architecture

  26. Why OOAD, BPM, EA are not enough • OOAD • 类层次,粒度小。 • 商业服务模式较低的抽象层次 • 有关各方如继承等强的关联导致紧耦合——一种依赖 • BPM • 不够系统的原理,其中有许多不同的风格,公式和资产 • EA • 没有企业级的进程或服务的视图。 • 通用架构,并没有下降达到设计域; 解决方案和企业架构存在一个根本的鸿沟。

  27. Why OOAD, BPM, EA are not enough Service-Oriented Service Layer Component Layer Component-Oriented Class Layer Object-Oriented

  28. Why OOAD, BPM, EA are not enough Functional Domain Human Resources Business Layer Business Process Manage Employees Business Services Recruitment Employee Service Layer Software Services Recruitment Service Employee Service Component Layer Software Component Vacancy Component Application Component Emp. Record Component Career Component

  29. Service Identification Service Categorization Service Exposure Decisions Choreography Or Composition Quality of service Customer View Component Identification Component Specification Service realization Service Management Standards implementation Provider View Service Allocation to Components Layering the Component Technical Prototyping Product selection Architectural Decisions (state, flow, Dependencies) 面向服务的分析和建模: 角色和活动

  30. SOA Design Principles • Service categorization and aggregation • Policies and aspects • Process: meet-in-the-middle • Broking

  31. 面向服务的分析和建模: 方法和过程 Domain Decomposition Goal-Service Modeling Existing System Analysis Identification Component Flow specification Service Flow specification Subsystem Analysis Service specification Specification Component specification Information specification Message & event specification Service realization decisions Realization Service allocation to components Component layer

  32. Identification Specification Realization 服务识别 • Identifies services through • 领域分解(Top down analysis) • 已有系统分析(Bottom up analysis) • 目标服务模型 Top-Down Analysis Align Service with Business Goals Domain Decomposition Goal-Service Modeling Existing System Analysis Bottom-Up Analysis Service Repository

  33. Domain Decomposition Goal-Service Modeling Existing System Analysis Identification Component Flow specification Service Flow specification Subsystem Analysis Service specification Specification Component specification Information specification Message & event specification Service realization decisions Realization Service allocation to components Component layer 服务识别 • Top-down • 业务用例的蓝图提供了为商业服务规范。 • 域分解:将业务域分解为功能和子系统。 • 流或过程分解成流程,分流程和高级别业务用例。 • 用例是业务服务好的候选。 • 暴露在边界的企业。 • 在跨企业的业务范围内

  34. Domain Decomposition Goal-Service Modeling Existing System Analysis Identification Component Flow specification Service Flow specification Subsystem Analysis Service specification Specification Component specification Information specification Message & event specification Service realization decisions Realization Service allocation to components Component layer 服务识别 • Bottom-up • 过程或现有系统的分析 • 为支持业务流程基本服务功能的执行提供成本更低的解决方案,现有系统的分析和选择是可行的候选。 • 从传统的模块和包装应用总分析和利用API,事务和模块。 • 构件的遗留系统支持服务功能,需要重新模块化的现有资产。

  35. Domain Decomposition Goal-Service Modeling Existing System Analysis Identification Component Flow specification Service Flow specification Subsystem Analysis Service specification Specification Component specification Information specification Message & event specification Service realization decisions Realization Service allocation to components Component layer 服务识别 • Middle-Out • Goal-service modeling • Identify Goals and Sub-Goals • Identify Services for Sub-goals • Identify key performance indicators & metrics for sub-goals and services

  36. Identification Specification Realization 服务定义 • 服务分类。 • 服务流程规范。 • 消息和活动规范。 • 子系统的分析。 • 构件规格说明。

  37. Domain Decomposition Goal-Service Modeling Existing System Analysis Identification Component Flow specification Service Flow specification Subsystem Analysis Service specification Specification Component specification Information specification Message & event specification Service realization decisCions Realization Service allocation to components Component layer 服务定义 • 服务分类和类型 • 分类服务纳入服务体系,反映了复合或分形性质的服务 • 服务可以而且应当由细粒度组件和服务组成 • 分类有助于确定组成和分层,以及基于分层协调构建相互依存服务。 • 缓解服务扩散综合征

  38. Domain Decomposition Goal-Service Modeling Existing System Analysis Identification Component Flow specification Service Flow specification Subsystem Analysis Service specification Specification Component specification Information specification Message & event specification Service realization decisCions Realization Service allocation to components Component layer 服务定义 • 子系统分析 • 指定子系统之间的相互依存和流。 • 在域分解时基于确定的用例,识别子系统的接口外部服务 • 创建子系统内部设计模型。 • 确定实施大粒度组件实现服务的构建。

  39. Domain Decomposition Goal-Service Modeling Existing System Analysis Identification Component Flow specification Service Flow specification Subsystem Analysis Service specification Specification Component specification Information specification Message & event specification Service realization decisions Realization Service allocation to components Component layer 服务定义 • 组件规范。 • 指定的执行服务组件细节。 • 数据Data • 规则Rules • 服务Services • 配置描述Configurable profile • 变异 Variations • 指定和管理信息和事件

  40. Identification Specification Realization 服务实现 • 服务的实现方式决策。 • 分配服务至组件。 • 分配组件至SOA层

  41. Domain Decomposition Goal-Service Modeling Existing System Analysis Identification Component Flow specification Service Flow specification Subsystem Analysis Service specification Specification Component specification Information specification Message & event specification Service realization decisions Realization Service allocation to components Component layer 服务实现 • 服务配置 • 指定已确定的服务到子系统,其中有实现其发布的功能企业组件。 • 指定的服务和组件,以便在SOA层实现。 • 主要架构决策文档和决议 • 应用架构。 • 技术业务架构。 • 设计和使用以支持SOA在运行时的实现

  42. Domain Decomposition Goal-Service Modeling Existing System Analysis Identification Component Flow specification Service Flow specification Subsystem Analysis Service specification Specification Component specification Information specification Message & event specification Service realization decisions Realization Service allocation to components Component layer 服务实现 • 服务实现决策。 • 实现服务和组件,选择实现替代品 • 从现有的图书馆。 • 定制。 • 集成。 • 转换。 • 认购和外包。 • 其他业务功能包括:安全,管理和监控服务。

  43. CASE 工具: IBM WebSphere

  44. IBM WebSphere Integration Reference Architecture Business Analyst Integration Developer Tester Developer Architect Rational/WebSphere Tools WebSphere Business Modeler Development Services Dashboards Business Innovation and Optimization Services Interaction Services ProcessServices Information Services Business Processes Portlets Data Models Connectivity Services Business Application Services Application & Information Assets Partner Services Partner Profiles App Components Adapters IT Services Management

  45. WebSphere业务建模 工具 • A business process modeling tool that • 构建、设计、分析和生成业务流程报告。 • 集成新的和修订的工作流。 • 定义组织、资源和商业项目。 • Objectives • 整理现有的程序。 • 确定人员、系统和设施等方面的需求。 • 规划现有程序和系统的变化。 • 测试和分析现有和拟议的过程

  46. 业务建模 • 建模、模拟和度量业务流程 • 过程建模。 • 业务项目模型。 • 资源建模。 • 组织建模。 • 结构模型。 • 分析。 • 过程模拟。

  47. 业务建模方式 • 基本的业务建模方式 Business Modeling mode • 业务分析,业务过程模型高层视图。 • 创建和显示顺序流 • 中等的业务建模方式 • 技术上更注重用户。 • 指定并查看更多过程和数据模型的细节。 • 例如,业务规则和逻辑,数据的属性。 • 高级业务建模方式 • 全面详细的过程模型和数据模型。 • 用于软件应用基础的模型。 • 例如,调用的特点,静态域,实例相关性,模拟参数

  48. 业务项目建模 • 企业的文档,工作成果,或用于对某一特定业务商品。 • 创建、组装、检查、测试、修改或工作所依赖的所有。 • 当它们是通过从一个步骤到下一个过程模型时,业务项目也可以进行更改。 • 例如,一个客户订单可能被指定为开放的,经过工作、核实并最终关闭,当它是通过从任务到任务的一个特定过程模型。

  49. 资源建模 • 每个公司的资源模型,如雇员,计算机,车辆,或电力。 • 用于执行一项任务或一个项目可派和使用的人、设备或材料过程模型。 • 依赖于过程模型中需求的复杂水平,可以指定角色、成本和时间表的资源。

  50. 过程建模 • 业务流程图 • 过程描述了一系列的任务,而过程由连接器联系在一起。 • 一个过程可以包含多个分支路径,在过程执行中作出的决策。 • 一个进程也可以包含子过程 • 两种建模方式 • 自由形式布局:最大的灵活性来安排过程图表。 • 泳到布局:根据您指定的特征,如组织单位,位置,资源定义,作用或分类等,安排要素。

More Related