SOA MDA and SoaML Introduction
Slides by Arne Jrgen Berre, Cory Casanave, Stle Walderhaug, Erlend Stav, Babak Farshchian, OMG, et al. (see references page at the end)
Plan for SoaML lectures
Now: Introduction to MDD of SOA, and the role of SoaML (1 hour) 1500-1700 today: SoaML Standard, Process for SoaML-based MDD
MDD of enterprise SOA
MDA Terms Computation Independent Model
Business Concerns
Business Model Goals Enterprise Services (e-SOA) Roles, Collaborations & Interactions Policy Process, Information & Rules Logical System Model Technology Services (t-SOA), Components, Costs BPM Interfaces, Messages & Data Agility Technology Specification JMS, JEE, Web Services, .NET WS*, BPEL, XML Schema
May 2009
Refinement & Automation
Line-Of-Sight
Platform Specific Model
Platform Independent Model
Customers
Copyright 2009 Data Access Technologies, Inc. Model Driven Solutions
MDA Terms
Business Architecture Model (BAM)
2. Business Processes 1. Business Goals
Computation Independent Model
3. Capabilities
4. Services Architecture 5. Service Contracts and Behaviour 6. Model to Model (M2M) Transformation
Software Architecture Model (SAM)
Platform Independent Model
8. Interfaces and Messages 11. Services Orchestration
7. Service Interfaces 9. Service Choreographies
10. Software Components 12. Model to Text (M2T) Transformation
PlatformSpecific Model (PSM)
Platform Specific Model
Cloud, Web Services, JEE, MAS, P2P/Grid, SWS
BPMN
BPDM
BMM
EPC UPMS 2.0 ?
CIM Business Models
SoaML/UPMS SoaML / UPMS (core)
Service Variability
PIM Models
UPMS WSA
EDA
PIM4 SWS
PIM4 Agents
P2P/Grid/ Components
PIMs for different Architectural Styles
WS, WSMO, OWL-S, JACK, JADE, JXTA, OGSA, J2EE, CORBA Realisation Technologies
PSM Models
J2EE, NetWeaver, .Net
Process vs. artifacts
Process (Proprietary) Artifacts (SoaML)
SoaML standard does not define any process
Possible process for CIMPIM
Other
SoaML
Linking business to IT architecture
BMM BPMN
SoaML (starts here)
Linking IT architecture to IT services
Components implement the service interfaces providing the link to systems.
Copyright 2009 Data Access Technologies, Inc. Model Driven Solutions
Ports on the participating components provide and require the service interfaces for each service provided or used May 2009
Definition of service in SoaML
A service is value delivered to another through a welldefined interface and available to a community (which may be the general public). A service results in work provided to one by another. Service Oriented Architecture (SOA) is a way of describing and understanding organizations, communities and systems to maximize agility, scale and interoperability. SOA, then, is an architectural paradigm for defining how people, organizations and systems provide and use services to achieve results. SoaML provides a standard way to architect and model SOA solutions using the Unified Modeling Language (UML).
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 Scope
Extensions to UML2.1 to support the following new modeling capabilities:
Identifying services Specifying services Defining service consumers and providers Policies for using and providing services. Defining classification schemes Defining service and service usage requirements and linking them to related OMG metamodels, such as the BMM and BPMN 2.0.
SoaML focuses on the basic service modelling concepts SoaML is NOT a methodology
A foundation for further extensions both related to integration with other OMG metamodels like BPMN 2.0, SBVR, OSM, ODM and others.
SoaML Overview
SoaML metamodel and UML Profile Service capabilities Services, services contracts and service specifications Service data Services Architecture Service Classification Unifying collaboration modeling and composite structures Milestones Integration with other submissions
BMM Integration
SoaML Key concepts
Services architecture specification of community
Participants role Service contracts collaboration (provide and consume)
Service contract specification of service
Role Provider and consumer Interfaces Choreography (protocol, behaviour)
Service interface bi-directional service Simple interface one-directional service Message Type data exchanged between services
The SoaML Profile
SoaML is defined as a small set of UML stereotypes. These specialize a UML tool for use with SoaML. Standard UML can be used as well, as part of a SoaML model. Some tools provide enhanced SoaML support.
Copyright 2009 Data Access Technologies, Inc. Model Driven Solutions
May 2009
Current SoaML Support
OMG Web site
SoaML Wiki: http://www.SoaML.org Specification: http://www.omgwiki.org/SoaML/doku.php?id=specification
Known SoaML Tooling
Cameo SOA+ (NoMagic) UML with SoaML Modeling and Provisioning ModelPro (ModelDriven.org) Open Source MDA provisioning for SoaML Enterprise Architect (Sparx) SoaML Profile for UML tool Objecteering (Softeam) SoaML Profile for UML Tool RSA (IBM) UML tool with SoaML & code generation [Not yet released]
References
Enterprise-SOA with SoaML, Cory Casanave, Model Driven Solutions SoaML Tutorial, SHAPE FP7 Project, Arne J. Berre, Brian Elvesaeter, Dima Panfilenko, Andrey Sadovykh