In this newsletter we continue the theme of introducing some of the modelling
extensions provided with Enterprise Architect. The subject of this newsletter
is Service Oriented Modelling Language, or SoaML.
In Enterprise Architect SoaML is provided via MDG Technology as a UML
Profile and is included as standard in the following editions of Enterprise
- Business & Software Engineering
- Systems Engineering
- Ultimate Edition
A service is an offer of value to another through a well-defined 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 organizing and understanding [representations of] organizations,
communities and systems to maximize agility, scale and interoperability.
The SOA approach is simple – people, organizations and systems provide services to
each other. These services allow us to get something done without doing it
ourselves or even without knowing how to do it -enabling us to be more efficient
and agile. Services also enable us to offer our capabilities to others in
exchange for some value – thus establishing a community, process, or marketplace.
The SOA paradigm works equally well for integrating existing capabilities as
for creating and integrating new capabilities.
SOA 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 Modelling
Language (UML). The profile uses the built-in extension mechanisms of UML to
define SOA concepts in terms of existing UML concepts.
For detailed information on SoaML, visit:
The Goals of SoaML
- Intuitive and complete support for modelling 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 and BPMN for business processes.
- Direct mapping to web services.
- Top-down, bottom-up, or meet-in-the-middle modelling.
- Design by contract or dynamic adaption of services.
- To specify and relate the service capability and its contract.
- No changes to UML.
Getting Started with SoaML and Enterprise Architect
Enterprise Architect provides a MDG UML profile for SoaML that can be used
as desired to add service modelling to any project. Two diagrams are provided
(both of which are variants of standard UML diagrams):
- SoaML Component Diagram
- SoaML Sequence Diagram
These diagrams are added to any Enterprise Architect project in the usual
manner, and when one of these diagrams is chosen then the following SoaML
toolboxes are added to the standard UML and EA toolboxes:
We now present some examples of the use of SoaML in the context of a Retirement
Insurance Benefit domain. The first example is a SoaML Component Diagram
aimed at modelling the opt-level collaboration between elements known as
Participants and services known as ServiceContract.
The next diagram takes us down a layer of abstraction and “opens up” one of
the ServiceContracts defined above. (Of course these diagrams can be linked by
using hyerlinks). This diagram is a SoaML Sequence Diagram and shows the
interaction between elements defined as Roles inside a ServiceContract.
The next diagram is another SoaML Component Diagram and is used to model the
relationship between a ServiceContract, its Roles and the Interfaces derived
from the diagram above that provide the necessary implementation.
The Classes referred to here as types of parameters are added to the EA
model in the usual manner and provide a link from the Services Model to the
Design and Implementation models.
Finally, by re-using elements defined already, we can formulate a SoaML
Component Diagram which models the Service Usage.
In this newsletter we have outlined the SoaML MDG UML profile that is available for Enterprise Architect together with how to get started using the technology.