OMG SoaML Service oriented architecture Modeling Language -

OMG SoaML Service oriented architecture Modeling Language -

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

Object Management Group < < S e rv i c e C o m p on e n t> > A s s e t L i fe c y c l e A c c o u n t i n g S e r v i c e s Implementation of service components < < S e r v ic e C o m p o n e n t> > : A s s et R e c o r d M a n ag e r : Asset Record Establishment Provider <> <> : Asset Record Update Provider : Asset Acquisition Notification Provider : Asset Cost Accumulation Provider : Asset Completion Establishment Provider : Asset Ownership Establishment Provider : Asset Valuation NotificationProvider : Asset ConditionNotification Provider : Asset Status Change NotificationProvider : Asset Transfer Notification Provider : Asset Disposal Notification Provider <> <> <>

: R e c e iv ab l e E s ta b li s h m en t C on s u m e r : G e n e ra l L e d g er P o s tin g C o n s u m er : A s s e t T ra c k in g C o n s u m er : A s s e t D e p re c ia t i on C on s u m e r : E x p en s e A c c ru a l C o n s u m e r <> <> <> <> < < D a ta C o m p o n e nt> > : P ar t y D a ta M a n a g e r <> <> < < D a ta C o m p o ne n t> > <> : P r o p e r t y D a t a M a n a g er : Asset RecordQuery Provider < < S e r v ic e C o m p o n e n t> >

: A s s et P r o j e c t M a n a g e r <> : Asset Project Establishment Provider : Asset Project Update Provider : Asset Project Status Notification Provider : Asset Project Query Provider : A s s e t C o m pl eti o n E s ta b li s h m en t C on s u m e r <> <> : A s s et D is p o s a l N o t if ic a tio n C on s u m e r <> < < D a ta C o m po n e n t > > : Project Data Manager public class Asset_Completion_Establishment_ConsumerAsset_Completion_Establishment_Provider_InterfaceInternal { static public Document establish_asset_completion(Document request) throws CheckedException { return gov.gsa.fmea.Asset_Record_Manager. Asset_Completion_Establishment_ProviderAsset_Completion_Establishment_Provider_InterfaceInternal. establish_asset_completion(request); }

SoaML Specification Revised UPMS Submission Object Management Group Mapping Classes identity=http://ocfo.gsa.gov/fmea/organization/1> true true identity=URI> ABC123 ABC123

Vienna Vienna VA VA
identity=http://ocfo.gsa.gov/fmea/organization/1/> identity=/> SoaML Specification Revised UPMS Submission Object Management Group

End result this executes 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 On this infrastructure VPN SAML Https Web Service Finance Users SAML Identity Management

FMS FTP Server FAS TIRES NEAR AR FMEA Adapter Server Billing Transactions TIRES Adapter Vehicle Master Vehicle Adapter Web Service

JMS IRIS STAR Adapter JMS FMEA Integration Server PBS Pegasys / Momentum Fixed Assets Module JMS Session Management Service Service FMEA Service

Work Unit Service Service Data Manager Logs VPN FMEA DBMS Server FMEA Data SQL Net Momentum Adapter SoaML Specification Revised UPMS Submission Pegasys /Momentum Service

FMEA Service User Interface FMEA Services Server SOA JMS Broker IRIS Adapter Building Data STAR Https: Load Balancer FMEA Presentation Server NEAR Project

Data SOA Web Service Adapters SAML Https : * Any server may be clustered or combined as required GSA SecureNet /MultiNet Financial Network 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 SoaML Specification Revised UPMS Submission Object Management Group

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, . SoaML Specification Revised UPMS Submission Object Management Group 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. SoaML Specification Revised UPMS Submission

Object Management Group Participant with ServicePoint A ServicePoint 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 ServicePoint is the point of interaction for engaging participants in a service via its service interfaces. SoaML Specification Revised UPMS Submission Object Management Group 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. 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 Document and RPC Style service operation parameters SoaML 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 SoaML Specification Revised UPMS Submission Object Management Group Milestone Milestone Order <1> Milestone Order <0> 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. SoaML 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 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. SoaML Specification Revised UPMS Submission Object Management Group BMM with MeansRealizations SoaML Specification Revised UPMS Submission Object Management Group Relating to other standards SoaML 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 SoaML Specification Revised UPMS Submission

Recently Viewed Presentations

  • Parent Articulation Training Program (PAT-P)

    Parent Articulation Training Program (PAT-P)

    Parent Articulation Training Program Webpage Hard to Serve Families Workshops are held centrally at the OCDSB Office, on several evenings throughout the school year Upon request, workshops can also be held at schools by region These interactive, fun and motivating...
  • UNITED NATIONS INDUSTRIAL DEVELOPMENT ORGANIZATION UNIDOs Programme for

    UNITED NATIONS INDUSTRIAL DEVELOPMENT ORGANIZATION UNIDOs Programme for

    UNITED NATIONS INDUSTRIAL DEVELOPMENT ORGANIZATION UNIDO's Programme for Industrial Upgrading and Restructuring The CHALLENGE TO PRODUCE GOODS AND SERVICES The CHALLENGE TO IMPROVE QUALITY AND PRODUCTIVITY It is a Total Business (company-wide) concept rather than just the "rationalization of production":...
  • Trench warfare - Mrs. Etsell`s Weebly

    Trench warfare - Mrs. Etsell`s Weebly

    Both sides believed that WW I would be a short war. ... Battles of the Marne 1914: This battle took place in September, 1914 after the Germans had advanced into France under the Schlieffen Plan. ... In the first week...
  • Alphabet Of Lines - Henry County School District

    Alphabet Of Lines - Henry County School District

    Introduction to the Alphabet of Lines. In order to understand what the drafter is trying to get across, you must be able to understand the symbols and lines he uses. Each line has a definite form and line weight. The...
  • Using Social Media in the Classroom: Assessment of its ...

    Using Social Media in the Classroom: Assessment of its ...

    Using Social Media in the Classroom: Assessment of its Effectiveness Jennifer Wright. Western Kentucky University. IULILC 2014. August 1, 2014. Introduce yourself and provide background about the project.
  • An Update 2012 National Fuel Gas Code BECS Committee Meeting ...

    An Update 2012 National Fuel Gas Code BECS Committee Meeting ...

    7.13.2.3 The length of the jumper between the connection to the gas piping system and the grounding electrode system shall not exceed 75 ft (22 m). Any additional electrodes shall be bonded to the electrical service grounding electrode system or...
  • Behavioral Treatment of Chronic Pain

    Behavioral Treatment of Chronic Pain

    ACT Hexaflex. Chronic Pain- Unwillingness vs. Acceptance. Experiential Avoidance: Pain Phobia- Avoid pain at all costs "I can't do that" "If I don't take pain medication, I can't function" ...
  • A Brief Introduction of Color-Superconductivity

    A Brief Introduction of Color-Superconductivity

    The numerical results for the CSL phase have been presented. Outlook The numerical result for other spin-one phases. Calculation of the bulk viscosity Study of the interplay between Urca and non-leptonic processes in the bulk viscosity Acknowledgement My advisor Dr....