1 / 57

Tutorial introduction to SoaML Arne J. Berre, SINTEF

OMG SoaML Service oriented architecture Modeling Language - UML Profile and Metamodel for Services. Tutorial introduction to SoaML Arne J. Berre, SINTEF. Submitters 88Solutions Adaptive EDS Model Driven Solutions Capgemini Fujitsu Fundacion European Software Institute

Download Presentation

Tutorial introduction to SoaML Arne J. Berre, SINTEF

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. OMG SoaMLService oriented architecture Modeling Language - UML Profile and Metamodel for Services Tutorial introduction to SoaML Arne J. Berre, SINTEF

  2. Submitters 88Solutions Adaptive EDS Model Driven Solutions Capgemini Fujitsu Fundacion European Software Institute Hewlett-Packard International Business Machines MEGA International MID GmbH Rhysome Softeam Telelogic AB Supporters Everware-CBDI General Services Administration VisumPoint Mega BAE Systems DERI – University of Innsbruck DFKI France Telecom R&D NKUA – University of Athens Oslo Software SINTEF THALES Group University of Augsburg Wilton Consulting Group The SoaML submission team

  3. Introduction to SoaML concepts

  4. 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

  5. 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]

  6. MDA Terms Computation Independent Model Platform Independent Model Refinement & Automation Line-Of-Sight Platform Specific Model Business Focused SOA Using Model Driven Architecture Business Concerns Goals Policy Customers Costs Agility Business Model Enterprise Services (e-SOA) Roles, Collaborations & Interactions Process & Information Logical System Model Technology Services (t-SOA), Components Interfaces, Messages & Data Technology Specification JMS, JEE, Web Services WSDL, BPEL, XML Schema

  7. Incorporating Legacy Analysis

  8. Value derived from the architecture Component Acquisition Specification Web Services Test & Simulation OMB 300 Components FEA/FTF BRM SRM DRM* Adapters Deployment Data Business Driven Technology Facilitating Business Processes

  9. 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

  10. SOA Marketplace Example Physical Delivery Order Conformation Shipped Mechanics Are Us Dealer Acme Industries Manufacturer Status Ship Req Shipped Delivered GetItThere Freight Shipper

  11. Marketplace Services Physical Delivery Order Consumer Provider Conformation Shipped Mechanics Are Us Dealer Acme Industries Manufacturer Status Ship Req Consumer Consumer Shipped Provider Delivered Provider GetItThere Freight Shipper

  12. Business Motivation Modeling with BMM

  13. Business Motivation Model (BMM) integration • Business requirements can be captured using the OMG Business Motivation Model (BMM). • Any UML BehavioredClassifier including (for example a ServicesContract) 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.

  14. BMM with MeansRealizations

  15. Business Process Modeling with BPMN

  16. Capability Modeling with SoaML capabilities

  17. 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

  18. Service Architecture Modeling with SoaML collaboration models

  19. Services Architecture Purchasing service Shipping service Ship Status service A ServicesArchitecture (or SOA) is a network of participant roles providing and consumingservices 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 ServicesArchitectureis defined using a UML Collaboration.

  20. Order Processing Accounting Service Inside the Manufacturer Order Conformation Shipped Ship Req Shipped Delivered

  21. 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.

  22. Participants Participant 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

  23. Participants with ServicePoint and RequestPoint Participant Participant RequestPoint – point where the dealer uses the purchasing service ServicePoint – point where the manufacturer offers the purchasing service

  24. 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.

  25. Information processed by order processor Service interface corresponding to role type type Service interface corresponding to role Information received by orderer Service Contract Service Contract Role within service Role within service The service contract specifies the details of the service – what information, assets and responsibilities are exchanged and under what rules

  26. Simple Protocol Choreography for Ordering Service Contract

  27. Compound services type type Each composed service becomes a port on the service interface Compound Services are defined by using more granular services to “build up” an enterprise scale service

  28. Real Example - Financial Management Enterprise Context • The service-oriented business architecture of an enterprise is modeled as a Collaboration of enterprise-level Participants. External enterprise level participants This is the use of A service contract specification Our Focus

  29. Inside Financial Management Service representing delegated responsibility for interaction with an external participant. Service representing interaction with another participant within Financial Management. Roles of participants inside of finance

  30. A Composite Service Contract Financial Management is responsible for providing a number of Acquisition Accounting services.

  31. 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.

  32. Process Activities Inside a Participant (Outside of SoaML) • Workflow is modeled using UML Activities. Activity Sent event Received event Information flow

  33. Record Unfilled Customer Order Behavior • Ultimately, behavior can be specified using basic UML Activity Diagrams. Control flow

  34. Information Modelling with UML/(SoaML) class models

  35. Information Model – For Messages and Entities A term in the vocabulary represents a class of things to be described. A relation between terms is described by an association between classes. Entities may be described as having a unique identity. 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 sub-classifications. This indicates a compositional (as opposed to referential) association. This means “one or more” This is a constraint that defines the sub-classification.

  36. Integrating the Information Model with SOA The process model describes how business activities are (or are to be) carried out. Workflow Business transaction Activities Business transaction 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.

  37. Service Modelling with SoaML Port/Connector models

  38. ServicePoints and Service Participants A ServicePoint is the offer of a service by one participant to others using well defined terms, conditions and interfaces. A ServicePoint defines the connection point through which a Participant offers its capabilities and provides a service to clients. A ServicePoint is a mechanism by which a provider Participant makes available services that meet the needs of consumer requests as defined by ServiceInterfaces, Interfaces and ServiceContracts. A ServicePoint is represented by a UML Port on a Participant stereotyped as a «ServicePoint», .

  39. ServiceInterface a ServiceInterface 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 ServiceInterface class and the protocol Behavior.

  40. Participant with ServicePoint A ServicePointis 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 ServicePoint is the point of interaction for engaging participants in a service via its service interfaces.

  41. Participant with ServicePoints and RequestPoints The type of a RequestPoint is also a ServiceInterface, or UML Interface, as it is with a Service point. The RequestPoint is the conjugate of a ServicePoint 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.

  42. Participants may be assemblies of other Participants Participant ServicePoint – capabilities typed by ServiceInterface RequestPoint – needs typed by ServiceInterface Participant part

  43. Document and RPC Style service operation parameters

  44. Agent autonomous entity has its own lifecycle behavior can adapt to the environment also through modification of its definition Milestone defines a value of progress attached to behavioral elements is used especially for dynamic analysis of behavior that does not necessarily end Agent and Milestones

  45. 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.

  46. Mappings from SoaML to technology representations

  47. 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

  48. Receivables Accounting Component Architecture User of a consumed service by multiple internal parts.

  49. 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

  50. Example Web Services Generation <wsdl:portType name=“BillSubmission.BillSubmissionReceiverInterface"> <wsdl:operation name=“submitBill"> <wsdl:input message="tns:BillSubmissionCluster“ name=“billSubmission"> </wsdl:input> </wsdl:operation> </wsdl:portType> <wsdl:portType name=“BillSubmission.BillSubmissionSubmitterInterface"> <wsdl:operation name=“notifyBillDelivered"> <wsdl:input message="tns:BillDeliveredCluster“ name=“billDelivered"> </wsdl:input> </wsdl:operation> <wsdl:operation name=“notifyBillReturned"> <wsdl:input message="tns:BillReturnedCluster“ name=“billReturned"> </wsdl:input> </wsdl:operation> </wsdl:portType>

More Related