80c5ef127211c4e219d657a86221a63f.ppt
- Количество слайдов: 57
OMG Soa. ML Service oriented architecture Modeling Language UML Profile and Metamodel for Services - Tutorial introduction to Soa. ML Arne J. Berre, SINTEF OMG Feb 9 th, 2009
Object Management Group The Soa. ML submission team § Submitters § Supporters – 88 Solutions – Everware-CBDI – Adaptive – General Services Administration – EDS – Visum. Point – Model Driven Solutions – Mega – BAE Systems – Capgemini – DERI – University of Innsbruck – Fujitsu – DFKI – Fundacion European Software Institute – France Telecom R&D – Hewlett-Packard – NKUA – University of Athens – International Business Machines – Oslo Software – MEGA International – SINTEF – MID Gmb. H – THALES Group – Rhysome – University of Augsburg – Softeam – Wilton Consulting Group – Telelogic AB Soa. ML Specification – Revised UPMS Submission
Object Management Group Introduction to Soa. ML concepts Soa. ML Specification – Revised UPMS Submission
Object Management Group Soa. ML Goals § Intuitive and complete support for modeling services in UML § Support for bi-directional asynchronous services between multiple parties § Support for Services Architectures where parties provide and use multiple services. § Support for services defined to contain other services § Easily mapped to and made part of a business process specification § Compatibility with UML, BPDM and BPMN for business processes § Direct mapping to web services § Top-down, bottom up or meet-in-the-middle modeling § Design by contract or dynamic adaptation of services § To specify and relate the service capability and its contract § No changes to UML Soa. ML Specification – Revised UPMS Submission
Object Management Group Service § Service is defined as an offer of value to another party, enabled by one or more capabilities. § Here, the access to the service is provided using a prescribed interface and is exercised consistent with constraints and policies as specified by the service contract. A service is provided by a participant acting as the provider of the service—for use by others. The eventual consumers of the service may not be known to the service provider and may demonstrate uses of the service beyond the scope originally conceived by the provider. [OASIS RM] Soa. ML Specification – Revised UPMS Submission
Object Management Group Business Focused SOA Using Model Driven Architecture Business Concerns Business Model Enterprise Goals (e-SOA) Services Roles, Collaborations & Interactions Process. Policy & Information Technology Specification JMS, JEE, Web Services WSDL, BPEL, XML Schema Soa. ML Specification – Revised UPMS Submission Line-Of-Sight Customers Logical System Model Technology. Costs (t-SOA), Services Components Interfaces, Agility & Data Messages Refinement & Automation Platform Computation Specific Independent Model MDA Terms
Object Management Group Incorporating Legacy Analysis Soa. ML Specification – Revised UPMS Submission
Object Management Group Value derived from the architecture Component Acquisition Specification Web Services Test & Simulation OMB 300 Components FEA/FTF BRM SRM DRM* Deployment Data Business Driven Technology Facilitating Business Processes Soa. ML Specification – Revised UPMS Submission Adapters
Object Management Group Focus on the Business Model Business Concerns Business Model Business Services (e-SOA) Roles, Collaborations & Interactions Process & Information Logical System Model Technology Services (t-SOA), Components Interfaces, Messages & Data Technology Specification JEE, JMS, Web Services WSDL, BPEL, XML Schema Soa. ML Specification – Revised UPMS Submission
Object Management Group SOA Marketplace Example Order Conformation Shipped Mechanics Are Us Dealer Acme Industries Manufacturer Status Ship Req Shipped Physical Delivery Delivered Get. It. There Freight Shipper Soa. ML Specification – Revised UPMS Submission
Object Management Group Order Conformation Provider Consumer Marketplace Services Shipped Mechanics Are Us Dealer Consumer Acme Industries Manufacturer Status Ship Req Shipped Provider Physical Delivery Provider Get. It. There Freight Shipper Soa. ML Specification – Revised UPMS Submission Delivered Consumer
Object Management Group Business Motivation Modeling with BMM Soa. ML Specification – Revised UPMS Submission
Object Management Group Business Motivation Model (BMM) integration • Business requirements can be captured using the OMG Business Motivation Model (BMM). • Any UML Behaviored. Classifier including (for example a Services. Contract) may realize the BMM Motivation concept of motivation realization. This allows services models to be connected to the business motivation and strategy linking the services to the things that make them business relevant. Soa. ML Specification – Revised UPMS Submission
Object Management Group BMM with Means. Realizations Soa. ML Specification – Revised UPMS Submission
Object Management Group Business Process Modeling with BPMN Soa. ML Specification – Revised UPMS Submission
Object Management Group Capability Modeling with Soa. ML capabilities Soa. ML Specification – Revised UPMS Submission
Object Management Group Modeling Services with Capabilities § Capabilities model the service contract combined with the capability to provide it § A network of capabilities helps to identify and define services § Capabilities can then be assigned to participants Soa. ML Specification – Revised UPMS Submission
Object Management Group Service Architecture Modeling with Soa. ML collaboration models Soa. ML Specification – Revised UPMS Submission
Object Management Group Services Architecture Ship Status service Purchasing service Shipping service A Services. Architecture (or SOA) is a network of participant roles providing and consuming services to fulfill a purpose. The services architecture defines the requirements for the types of participants and service realizations that fulfill those roles. The services architecture puts a set of services in context and shows how participants work together for a community or organization without required process management. A community Services. Architecture is defined using a UML Collaboration. Soa. ML Specification – Revised UPMS Submission
Object Management Group Inside the Manufacturer Order Conformation Shipped Order Processing Service Accounting Ship Req Shipped Delivered Soa. ML Specification – Revised UPMS Submission
Object Management Group Services architecture for a participant Participant. Architecture is the high-level services architecture of a participant that defines how a set of internal and external participants use services to implement the responsibilities of the participant. A participant will also frequently have a business process. Soa. ML Specification – Revised UPMS Submission
Object Management Group Participants represent logical or real people or organizational units that participate in services architectures and/or business processes. In Soa. ML participants provide and use services, defining their external contract Soa. ML Specification – Revised UPMS Submission Participant
Object Management Group Participants with Service. Point and Request. Point Participant Request. Point – point where the dealer uses the purchasing service Soa. ML Specification – Revised UPMS Submission Service. Point – point where the manufacturer offers the purchasing service
Object Management Group Service. Contract A Service. Contract defines the terms, conditions, interfaces and choreography that interacting participants must agree to (directly or indirectly) for the service to be enacted - the full specification of a service which includes all the information, choreography and any other “terms and conditions” of the service. A Service. Contract is binding on both the providers and consumers of that service. The basis of the service contract is also a UML collaboration that is focused on the interactions involved in providing a service. A participant plays a role in the larger scope of a Services. Architecture and also plays a role as the provider or user of services specified by Service. Contracts. Soa. ML Specification – Revised UPMS Submission
Object Management Group Service Contract Role within service Service interface corresponding to role Information processed by order processor type Service interface corresponding to role Information received by orderer The service contract specifies the details of the service – what information, assets and responsibilities are exchanged and under what rules Soa. ML Specification – Revised UPMS Submission
Object Management Group Simple Protocol Choreography for Ordering Service Contract Soa. ML Specification – Revised UPMS Submission
Object Management Group Compound services Compound Services are defined by using more granular services to “build up” an enterprise scale service type Each composed service becomes a port on the service interface Soa. ML Specification – Revised UPMS Submission
Object Management Group Real Example - Financial Management Enterprise Context • The service-oriented business architecture of an enterprise is modeled as a Collaboration of enterprise-level Participants. This is the use of A service contract specification Soa. ML Specification – Revised UPMS Submission External enterprise level participants Our Focus
Object Management Group Inside Financial Management Service representing delegated responsibility for interaction with an external participant. Roles of participants inside of finance Soa. ML Specification – Revised UPMS Submission Service representing interaction with another participant within Financial Management.
Object Management Group A Composite Service Contract Financial Management is responsible for providing a number of Acquisition Accounting services. Soa. ML Specification – Revised UPMS Submission
Object Management Group Simple Bill Submission Service Contract • A service contract is modeled as a UML Collaboration. • The required conversation may be specified using an Owned Behavior (e. g. , Interaction or Activity) Indicates ownership Note that, while one Participant requests the service and the other responds, information may flow both ways during the interaction. First the submitter submits a bill to the receiver… …then either the bill is successfully delivered or it is returned. Soa. ML Specification – Revised UPMS Submission
Object Management Group Process Activities Inside a Participant (Outside of Soa. ML) • Workflow is modeled using UML Activities. Activity Sent event Received event Information flow Soa. ML Specification – Revised UPMS Submission
Object Management Group Record Unfilled Customer Order Behavior • Ultimately, behavior can be specified using basic UML Activity Diagrams. Control flow Soa. ML Specification – Revised UPMS Submission
Object Management Group Information Modelling with UML/(Soa. ML) class models Soa. ML Specification – Revised UPMS Submission
Object Management Group Information Model – For Messages and Entities A term in the vocabulary represents a class of things to be described. Entities may be described as having a unique identity. A relation between terms is described by an association between classes. Attributes specify descriptive information having simple types. An un-shaded class is not detailed on this diagram. This means “zero or more” A class may be specialized into subclassifications. This indicates a compositional (as opposed to referential) association. This means “one or more” This is a constraint that defines the sub-classification. Soa. ML Specification – Revised UPMS Submission
Object Management Group Integrating the Information Model with SOA The process model describes how business activities are (or are to be) carried out. Workflow Business transaction Activities Implicit memory of business information State changes due to the activities The information model details the vocabulary of the business entities and transactions used in the process model. Soa. ML Specification – Revised UPMS Submission Business transaction
Object Management Group Service Modelling with Soa. ML Port/Connector models Soa. ML Specification – Revised UPMS Submission
Object Management Group Service. Points and Service Participants A Service. Point is the offer of a service by one participant to others using well defined terms, conditions and interfaces. A Service. Point defines the connection point through which a Participant offers its capabilities and provides a service to clients. A Service. Point is a mechanism by which a provider Participant makes available services that meet the needs of consumer requests as defined by Service. Interfaces, Interfaces and Service. Contracts. A Service. Point is represented by a UML Port on a Participant stereotyped as a «Service. Point» , . Soa. ML Specification – Revised UPMS Submission
Object Management Group Service. Interface a Service. Interface can be the type of a service port. The service interface has the additional feature that it can specify a bi-directional service – where both the provider and consumer have responsibilities to send and receive messages and events. The service interface is defined from the perspective of the service provider using three primary sections: the provided and required Interfaces, the Service. Interface class and the protocol Behavior. Soa. ML Specification – Revised UPMS Submission
Object Management Group Participant with Service. Point A Service. Point is the point of interaction on a Participant where a service. On a service provider this can be thought of as the “offer” of the service (based on the service interface). The Service. Point is the point of interaction for engaging participants in a service via its service interfaces. Soa. ML Specification – Revised UPMS Submission
Object Management Group Participant with Service. Points and Request. Points The type of a Request. Point is also a Service. Interface, or UML Interface, as it is with a Service point. The Request. Point is the conjugate of a Service. Point in that it defines the use of a service rather than its provision. This will allow us to connect service providers and consumers in a Participant. Soa. ML Specification – Revised UPMS Submission
Object Management Group Participants may be assemblies of other Participants Participant Request. Point – needs typed by Service. Interface Service. Point – capabilities typed by Service. Interface Participant part Soa. ML Specification – Revised UPMS Submission
Object Management Group Document and RPC Style service operation parameters Soa. ML Specification – Revised UPMS Submission
Object Management Group Agent and Milestones § Agent § Milestone – autonomous entity – defines a value of progress – has its own lifecycle behavior – attached to behavioral elements – can adapt to the environment – is used especially for dynamic analysis of behavior that does not necessarily end • also through modification of its definition Soa. ML Specification – Revised UPMS Submission
Object Management Group Milestone A Milestone is a means for depicting progress in behaviors in order to analyze liveness. Milestones are particularly useful for behaviors that are long lasting or even infinite. A Milestone can be understood as a “mythical” Signal. A mythical Signal is a conceptual signal that is sent from the behavior every time a point connected to the Milestone is passed during execution. The signal is sent to a conceptual observer outside the system that is able to record the origin of the signal, the signal itself and its progress value. Soa. ML Specification – Revised UPMS Submission
Object Management Group Mappings from Soa. ML to technology representations Soa. ML Specification – Revised UPMS Submission
Object Management Group Technology Architecture Business Concerns One GSA/FMEA Business Model Business Services (b-SOA) Roles, Collaborations & Interactions Process & Information Logical System Model Technology Services (t-SOA), Components Interfaces, Messages & Data Technology Specification JEE, JMS, Web Services WSDL, BPEL, XML Schema Soa. ML Specification – Revised UPMS Submission
Object Management Group Receivables Accounting Component Architecture User of a consumed service by multiple internal parts. Soa. ML Specification – Revised UPMS Submission
Object Management Group Technology Architecture Business Concerns Business Model Business Services (b-SOA) Roles, Collaborations & Interactions Process & Information Logical System Model Technology Services (t-SOA), Components Interfaces, Messages & Data Technology Specification JEE, JMS, Web Services WSDL, BPEL, XML Schema Soa. ML Specification – Revised UPMS Submission
Object Management Group Example Web Services Generation
Object Management Group Example Transaction Message XML Document
Object Management Group Implementation of service components public class Asset_Completion_Establishment_Consumer. Asset_Completion_Establishment_Provider_Interface. Internal { … … static public Document establish_asset_completion(Document request) throws Checked. Exception { …… return gov. gsa. fmea. Asset_Record_Manager. Asset_Completion_Establishment_Provider_Interface. Internal. establish_asset_completion(request); } Soa. ML Specification – Revised UPMS Submission
Object Management Group Mapping – Classes
Object Management Group End result – this executes Service representing delegated responsibility for interaction with an external participant. Roles of participants inside of finance Soa. ML Specification – Revised UPMS Submission Service representing interaction with another participant within Financial Management.
Object Management Group On this infrastructure Soa. ML Specification – Revised UPMS Submission
Object Management Group Relating to other standards § Soa. ML integration with BPMN 2. 0 and BPDM will be related to the ongoing BPMN 2. 0 standardization § Extensions for Agents and semantic services will also relate to semantics, ontologies and other OMG metamodels like ODM and SBVR § Limited BMM integration is included to tie services to the business Soa. ML Specification – Revised UPMS Submission


