OMG SoaML Service oriented architecture Modeling Language - UML Profile and Metamodel for Services SOA SIG presentation/demonstration ystein Haugen/Arne J. Berre, SINTEF, Jim Amsden, IBM, Cory Casanave, ModelDriven Solutions OMG 11/04/2008 Object Management Group The SoaML submission team Submitters Supporters 88Solutions Everware-CBDI Adaptive General Services Administration EDS VisumPoint
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 GmbH THALES Group Rhysome University of Augsburg Softeam Wilton Consulting Group Telelogic AB SoaML Specification Revised UPMS Submission Object Management Group SoaML 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 SoaML 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 servicefor 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] SoaML Specification Revised UPMS Submission Object Management Group Business Focused SOA Using Model Driven Architecture Business Concerns BusinessModel Model Business EnterpriseGoals Services(e-SOA)
(e-SOA) Enterprise Services Roles,Collaborations Collaborations&&Interactions Interactions Roles, Process Information Policy Process &&Information Agility TechnologySpecification Specification Technology JMS,JEE, JEE,Web WebServices Services JMS, WSDL,BPEL, BPEL,XML XMLSchema Schema WSDL, SoaML Specification Revised UPMS Submission
Line-Of-Sight Customers Logical SystemModel Model Logical System TechnologyServices Services(t-SOA), (t-SOA), Technology Costs Components Components Interfaces,Messages Messages&&Data Data Interfaces, Refinement & Automation Platform Platform Computation Specific Independent Independent Model Model Model
MDA Terms Object Management Group Incorporating Legacy Analysis SoaML Specification Revised UPMS Submission Object Management Group Value derived from the architecture Business Concerns Component Acquisition Specification Customers Logical SystemModel Model Logical System Technology Services -SOA), TechnologyCosts Services (t(t-SOA), Components
Components Interfaces,Messages Messages&&Data Data Interfaces, OMB 300 FEA/FTF BRM SRM DRM* Web Services OneGSA GSABusiness BusinessModel Model One Business Services (b -SOA) Goals (b -SOA) Business Services Roles,Collaborations Collaborations&&Interactions Interactions Roles,
Process & Information Policy Process & Information Test & Simulation TechnologySpecification Specification Technology Web Services Web Services WSDL,BPEL, BPEL,XML XMLSchema Schema WSDL, Deployment Components Data Business Driven Technology Facilitating Business Processes SoaML 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 SoaML 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 GetItThere Freight Shipper SoaML 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 GetItThere Freight Shipper SoaML Specification Revised UPMS Submission Delivered Consumer Object Management Group Services Architecture
Ship Status service Purchasin g service Shippin g service A ServicesArchitecture (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 ServicesArchitecture is defined using a UML Collaboration. SoaML Specification Revised UPMS Submission Object Management Group Inside the Manufacturer Order Conformation Shipped Order Processing Service Accounting
Ship Req Shipped Delivered SoaML Specification Revised UPMS Submission Object Management Group Services architecture for a participant ParticipantArchitecture 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. SoaML Specification Revised UPMS Submission Object Management Group Participants Participant Participants represent logical or real people or organizational units that participate in services architectures and/or business processes. In SoaML participants provide and use services, defining their external contract SoaML Specification Revised UPMS Submission Participant Object Management Group
Participants with ServicePoint and RequestPoint Participant Participant RequestPoint point where the dealer uses the purchasing service SoaML Specification Revised UPMS Submission ServicePoint point where the manufacturer offers the purchasing service Object Management Group ServiceContract A ServiceContract 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 ServiceContract 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 ServicesArchitecture and also plays a role as the provider or user of services specified by ServiceContracts.
SoaML Specification Revised UPMS Submission Object Management Group Service Contract Service Contract Role within service Role within service Service interface corresponding to role Information processed by order processor type 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 SoaML Specification Revised UPMS Submission Object Management Group Simple Protocol Choreography for Ordering Service Contract SoaML 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 type Each composed service becomes a port on the service interface
SoaML 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 SoaML 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 SoaML Specification Revised UPMS Submission Service representing interaction with another participant within Financial Management. Object Management Group A Composite Service Contract Financial Financial Management Management is is responsible responsible for for providing providing a number number of of Acquisition Acquisition Accounting Accounting services. services.
SoaML 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 Note that, that, while while one one Participant Participant requests requests the the service service and and the the other other responds, responds, information information may may flow flow both both
ways ways during during the the interaction. interaction. First First the the submitter submitter submits submits aa bill bill to to the the receiver receiver then then either either the the bill bill is is successfully successfully delivered delivered or or itit is is returned. returned.
SoaML Specification Revised UPMS Submission Object Management Group Process Activities Inside a Participant (Outside of SoaML) Workflow is modeled using UML Activities. Activity Activity Sent Sent event event Received Received event event Information Information flow flow SoaML Specification Revised UPMS Submission Object Management Group Record Unfilled Customer Order Behavior Ultimately, behavior can be specified using basic
UML Activity Diagrams. Control Control flow flow SoaML Specification Revised UPMS Submission Object Management Group Information Model For Messages and Entities A A term term in in the the vocabulary vocabulary represents represents aa class class of of things things to to be be described. described. Entities Entities may may be
be described described as as having having aa unique unique identity. identity. A A relation relation between between terms terms is is described described by by an an association association between between classes. classes. Attributes Attributes specify specify descriptive descriptive information information
having having simple simple types. types. An un-shaded class is not detailed on this diagram. This means zero or more A A class class may may be be specialized specialized into into subsubclassifications. classifications. This indicates a compositional (as opposed to referential) association. This means one or more This is a constraint that defines the sub-classification. SoaML Specification Revised UPMS Submission
Object Management Group Integrating the Information Model with SOA The The process process model model describes describes how how business business activities activities are are (or (or are are to to be) be) carried carried out. out. Workflow Business transaction Activities Implicit memory of business information
State changes due to the activities The The information information model model details details the the vocabulary vocabulary of of the the business business entities entities and and transactions transactions used used in in the the process process model. model. SoaML Specification Revised UPMS Submission Business transaction 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 SoaML Specification Revised UPMS Submission Object Management Group Participants may be assemblies of other Participants Participant RequestPoint needs typed by ServiceInterface ServicePoint capabilities typed by ServiceInterface Participant part SoaML Specification Revised UPMS Submission Object Management Group
Receivables Accounting Component Architecture User User of of aa consumed consumed service service by by multiple multiple internal internal parts. parts. SoaML 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 SoaML Specification Revised UPMS Submission Object Management Group Example Web Services Generation SoaML Specification Revised UPMS Submission Object Management Group
Example Transaction Message XML Document
SoaML Specification Revised UPMS Submission Object Management Group Implementation of service components A s s et A c c ou n ti n g Ser v i c e s T ie r {Language = "J ava+XM L", Technic al Archit ect ure = "JEE-Mes saging" }
<
> <> <> <> : As set Lif ec yc le Acc ounti ng Servi ces : Receiv ables Acc ounti ng <> <> : Proper ty Dat a Manager : Proj ec t Dat a Manager <> : Part y Dat a Manager Note stereotypes for provisioning are not part of SoaML this shows one way to do it. SoaML Specification Revised UPMS Submission