1k likes | 1.2k Views
服务科学概论. 第 4 章 面向服务的建模与架构( SOMA ). 本讲义部分内容参考自 IBM 、哈工大徐晓飞教授、北航张莉教授、及众多网络资料,谨表感谢!. 面向服务的分析与设计. 面向服务的分析与设计 ——SOAD. 以业务目标和需求为导向,推动设计、开发和测试,将业务流程转换为对业务进行了自动化和整合的复合应用程序; 跟踪整个生命周期中的需求,从业务目标到软件设计与编码资产,再到复合应用程序; 设计整合的解决方案,确保高灵活性,能够随着企业需求变更而适应; 最大限度的提高资产冲用、减少冗余; 最终,从头开始高质量的进行构建。.
E N D
服务科学概论 第4章 面向服务的建模与架构(SOMA) 本讲义部分内容参考自IBM、哈工大徐晓飞教授、北航张莉教授、及众多网络资料,谨表感谢!
面向服务的分析与设计——SOAD • 以业务目标和需求为导向,推动设计、开发和测试,将业务流程转换为对业务进行了自动化和整合的复合应用程序; • 跟踪整个生命周期中的需求,从业务目标到软件设计与编码资产,再到复合应用程序; • 设计整合的解决方案,确保高灵活性,能够随着企业需求变更而适应; • 最大限度的提高资产冲用、减少冗余; • 最终,从头开始高质量的进行构建。 山东大学软件学院 SSME V4.0
BPM, EA, and OOAD positioning 山东大学软件学院 SSME V4.0
SOAD and its ingredients:OOAD, BPM, and EA 山东大学软件学院 SSME V4.0
Main concepts of SOAD • Main concepts • Business goals • Business processes • Business service • IT service • Service comonent • Component • Relationships between concepts • B goal – B proc • B proc – B service • B servise – IT service • IT servise – Service component • Service component - component 山东大学软件学院 SSME V4.0
Relationships between SOAD concepts - The SOAD service definition hierarchy 山东大学软件学院 SSME V4.0
Relationships between SOAD concepts –SOA layeredarchitecture 山东大学软件学院 SSME V4.0
SOA reference architecture - Services 山东大学软件学院 SSME V4.0
Business service concept • Business can understand • Common language between business and IT • Reusable (in multiple channels, ...) • Basis of business driven development • Basis of business flexibility • Building blocks of business processes • Like “elementary business case” • see account balance, cash out from ATM, make payment (order) • Clear INTERFACE for sending and giving “documents” • Call style, event driven interaction point between business process and IT • Has lifesycle (who owns, who pays, ...) – SOA governance 山东大学软件学院 SSME V4.0
SOAD – roles and responsibilities 山东大学软件学院 SSME V4.0
Requiremnts management 山东大学软件学院 SSME V4.0
Business proc modelling and analysis 山东大学软件学院 SSME V4.0
Service oriented modelling, analysis, design 山东大学软件学院 SSME V4.0
Business brocess choerography and mediation 山东大学软件学院 SSME V4.0
User interface development 山东大学软件学院 SSME V4.0
Test (early, often) 山东大学软件学院 SSME V4.0
本章内容 2 3 4 1 SOA系统分层结构 SOMA方法框架 SOMA方法实现 案例分析 山东大学软件学院 SSME V4.0
SOA应用的典型多层架构 山东大学软件学院 SSME V4.0
SOA应用的典型多层架构 山东大学软件学院 SSME V4.0
The SOA Layers • Layer 1: 遗留系统 • Existing custom built applications, called legacy systems • CRM and ERP packaged applications • older object-oriented system implementations, • business intelligence applications. • To leverage existing systems and integrate them using service-oriented integration techniques. • Layer 2: 企业功能构件层 • Enterprise components that are responsible for realizing functionality and maintaining the QoS of the exposed services. • Managed, governed set of enterprise assets that are funded at the enterprise or the business unit level. • Typically uses container-based technologies such as application servers to implement the components, workload management, high-availability, and load balancing. 山东大学软件学院 SSME V4.0
The SOA Layers • Layer 3: 服务层 • The services the business chooses to fund and expose • Can be discovered or be statically bound and then invoked, or possibly, choreographed into a composite service. • Mechanism to take enterprise scale components, business unit specific components, and in some cases, project-specific components, and externalizes a subset of their interfaces in the form of service descriptions. • Provide service realization at runtime using the functionality provided by their interfaces. • Exist in isolation or as a composite service. • Level 4: 业务过程层(服务组合与协同层) • Services are bundled into a flow through orchestration or choreography, and thus act together as a single application. • These applications support specific use cases and business processes. 山东大学软件学院 SSME V4.0
The SOA Layers • 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. 山东大学软件学院 SSME V4.0
SOA的分层结构 presentation At the heart of SOA is the Service Model that defines services and components that realize them 山东大学软件学院 SSME V4.0
What is a service model? • The service model is a key work product used to document the results of a service modeling exercise • Various decisions are made and models created during: • Identification of services • Specification of services • Realization of services • The service model documents the decisions made in this process, and captures the design aspects and models that will be used in implementing the creation and assembly of services 山东大学软件学院 SSME V4.0
Components of a service model 山东大学软件学院 SSME V4.0
SOMA is … • SOMA refers to the more general domain of service modeling necessary to design and create SOA. • SOMA covers a broader scope and implements service-oriented analysis and design (SOAD) through the identification, specification and realization of services, components that realize those services (a.k.a. "service components"), and flows that can be used to compose services 山东大学软件学院 SSME V4.0
业务与IT的密切融合:On Demand Flexible Business Transformation Business Process Outsourcing Mergers, Acquisitions & Divestitures Composable Processes (e.g., CBM) Requires Service-Oriented Modeling (SOMA) Flexible IT Cost Containment Greater ROI for IT dollars Better Use if IT Assets Improved Quality of Deployed Systems On Demand Operating Environment Composable Services for SOA Service Oriented Architecture (SOA) Development Infrastructure Management Software Development Integration Infrastructure Management 山东大学软件学院 SSME V4.0
<< Input from: Business Componentization/Analysis >> Identification of candidate Services, Components, Flows Specification of Services, Components, Flows Realization Decisions << Output to: SOA Implementation >> Service-Oriented Modeling & Architecture [SOMA] Method IBM announced Service-Oriented Modeling and Architecture (SOMA) as the first publicly announced SOA-related methodology in 2004 • Identifies candidate services and enterprise components. • Selects and specifies the services that will be exposed and what enterprise components are needed • Captures services realization decisions 山东大学软件学院 SSME V4.0
服务消费者 5 6 7 8 JService Portlet WSRP B2B 其他 消费者 4 业务流程 流程编排 3 整合(企业服务总线方法) 数据架构与业务智能 QoS安全管理与 监控基础设施服务 服务 原子与组分 服务提供商 2 服务组件 1 定制应用 OO应用 成套应用 成套应用 定制应用 操作系统 合成 服务原子 注册 SOMA各阶段所覆盖的范围 • SOMA的核心是:识别、规定和实现服务(services)、用来支持服务的构件(components)、以及服务之间形成的协同(choreography) << 输入自: 业务组件化/分析 >> 识别 备选服务与流程 规定 服务,组件与流程 实现 决策 <<输出至: SOA实施>> 山东大学软件学院 SSME V4.0
SOMA gets inputs from business componentization and analysis activities, and produces outputs necessary for SOA implementation. The analysis and modeling performed during SOMA is technology and product agnostic, but establishes a context for making technology and product specific decisionsin later phases of the lifecycle. << Input from: Business Componentization /Analysis >> SOMA <<Output to: SOA Implementation >> SOMA核心思想 Links Business Intent and IT Implementation 山东大学软件学院 SSME V4.0
What we do? Identification of Candidate Services and Flows How we do it? Specification of Services, Components, and Flows Realization Decisions • 识别候选服务和流程 • 设计服务、组件和流程 • 用编程语言实现服务 SOMA的三个主要的步骤 • 基于服务的建模和架构过程包含三个主要的步骤:服务,组件和流程的识别,规定和实现 山东大学软件学院 SSME V4.0
<<Object>> <<Object>> <<Object>> 3个建模对象 业务流程 (Flows) 服务 Atomic and Composite 服务组件 SOMA was created to specifically address modeling (analysis, identification, and specification) of all three constructs. 山东大学软件学院 SSME V4.0
SOMA方法实现 How to combine a top-down, business-driven approach with a bottom-up approach, leveraging legacy investments
SOMA方法实现途径 • SOMA:通过面向服务的建模、分析和设计技术与活动,构造SOA应用。 • 定义SOA各层次中包含的元素; • 在每一层次作出关键的体系结构设计决策; • SOMA的途径:混合式 自顶向下 从业务需求出发,通过模型驱动,构造SOA蓝图; 自底向上 充分利用遗留系统的投资,封装可被服务使用的功能; 山东大学软件学院 SSME V4.0
Activities of service-oriented modeling 山东大学软件学院 SSME V4.0
Domain Decomposition Goal-Service Modeling Existing Asset Analysis service flow specification component flow specification Subsystem Analysis Service Specification Component Specification message & event specification information specification Realization Decisions service allocation to components technical feasibility exploration component layering SOMA里面的活动 Identification Specification Realization 山东大学软件学院 SSME V4.0
<<component>> << Input from: Business Componentization / Analysis >> DialogueControl <<component>> <<component>> SecurityProcessing AccountProcessing <<component>> AccountMgr <<component>> <<component>> RelationalDBMS ApplicationServer <<component>> STEP 1 STEP 2 STEP 3 STEP 4 STEP 5 STEP 6 SecurityMgr Architecture Vision /Planning Insight Investment SOMA IT Infrastructure Assessment Interpret Business Strategy Business Process Analysis Opportunities Definition Define Business Component Model Investment Roadmap Application Systems Analysis Service Portfolio Service Hierarchy (Core) System to Business Component Overlay Leading Business Practices Business Strategy Summary List of Opportunities and Recommendations [Rationalization] Project Prioritization Criteria Component Business Model with Components and Services Description Service Exposure Systems and Information Shortfall Assessment Goals, [ KPI’s Metrics] Multi- Generational Investment Plan As-Is Level 1 Process Model (within BC) Service Dependencies Business Component Collaborations Service Model ARC 101 Architecture Overview Diagram Service Composition Elements of Current IT Environment Level 1 As-Is Process State Assessment Service NFRs “Heat” Map Hygiene Factors [NFR] Level 1 to-beBusiness Process Service Messages Realization Decisions Process Gap Analysis Service Component Model ARC119 Non-Functional Requirements State Management Decisions << Output to: SOA Implementation >> 开始:Business Componentization Provides Essential SOMA Inputs Note: Although CBM inputs are depicted, SOMA can be used with other business analysis techniques. 山东大学软件学院 SSME V4.0
服务识别 • SOMA identifies services, component boundaries, flows, compositions, and information through complementary techniques which include domain decomposition, goal-service modeling and existing asset analysis. • In the top-down view, a blueprint of business use cases provides the specification for business services. -> domain decomposition • In the bottom-up portion of the process or existing system analysis, existing systems are analyzed and selected as viable candidates to the implementation of underlying service functionality that supports the business process. • The middle-out view consists of goal-service modeling to validate and unearth other services not captured by either top-down or bottom-up service identification approaches. 山东大学软件学院 SSME V4.0
服务识别 • 怎样从商业动机和战略、业务功能性区域及已存在的资源来识别需要的功能,IBM SOMA 描述了三种技术: • Goal-service modeling, which identifies capabilities needed to realize business requirements such as strategies and goals • Domain decomposition, which uses activities in business processes and other descriptions of business functions to identify needed capabilities • Existing asset analysis, which mines capabilities from existing applications • 通过使用目标服务建模与域分解技术,我们就可以识别需要的功能,来处理购买订单 山东大学软件学院 SSME V4.0
Service Litmus Tests Universal (out-of-the-box) Business Alignment Composability Externalized Service Description Redundancy Elimination/Reusability Feasibility of Implementation Business Entity based Services (for Information Services only) Custom Client/Project Defined SLTs Service Service Service Service Apply SLTs (Standard and Custom) Apply Priority, Weight & Calculate Service Rating for each litmus test Make exposure decisions Service Service Service Litmus Tests (石蕊试验 SLTs) Service Litmus Tests (SLTs) Are Gating Criteria Used to Determine If a Candidate Service Should Be Exposed Candidate Services Determine Exposure Scope Exposed Services Exposure Scope Department/Division Line-of- Business Enterprise Eco-system 山东大学软件学院 SSME V4.0
服务实现 • The software that realizes a given service must be selected or custom built. Other options that are available include integration, transformation, subscription and outsourcing of parts of the functionality using Web services. • Top-down domain decomposition is conducted in parallel with a bottom-up analysis of existing legacy assets that are candidates for componentization (modularization) and service exposure. To catch the business intent behind the project and to align services with this business intent, goal-service modeling is conducted. 山东大学软件学院 SSME V4.0
服务实现 • A service defines a set of capabilities (provided by service providers) that meet the needs of service consumers, or users. The first step in service implementation design is to provision the services. That is, we must figure out which service providers will be providing which service capabilities. • 在 SOMA 中,服务实现处理的是架构性决策问题,它关注的是方案的模板与模式、SOA 引用架构的具体内容、技术上的可实现性以及原型问题 山东大学软件学院 SSME V4.0
SOA model example: Analyze existing functions 山东大学软件学院 SSME V4.0
SOA model example: Initial service specification • The activity Service Identification introduces a number of techniques for identifying the services and operations on services which are required to support a solution • This example is a form of legacy renewal, the transformation of existing functionality to a services model • The first aspect is to develop the set of Service Specifications that will provide the contracts for the services implementing the required functions 山东大学软件学院 SSME V4.0
SOA model example: Service design • In this step, you make the transition from the set of candidate services that were identified earlier into the detailed design of the services you intend to build 山东大学软件学院 SSME V4.0
SOA model example: Message design • Captures the actual messages exchanged between the operations described on the service specifications 山东大学软件学院 SSME V4.0
SOA model example: Service realization • From the Service design model you can use tools to transform the model into code. The code being generated can be an EJB implementation for deployment in a J2EE environment 山东大学软件学院 SSME V4.0