Enterprise Architect version 15.2



My Profile

Social Media Channels

facebook  twitter  youtube   linkedin

Wednesday, 18 May 2011 14:29

An Overview of SoaML

Written by
Rate this item
(2 votes)

Dunstan Thomas Consulting 

In Enterprise Architect SoaML is provided via MDG Technology as a UML Profile and is included as standard in the following editions of Enterprise Architect:

  • Corporate
  • Business & Software Engineering
  • Systems Engineering
  • Ultimate Edition

Introducing SoaML

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: http://www.soaml.org

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):

  1. SoaML Component Diagram
  2. 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 tutorial, we have outlined the SoaML MDG UML profile that is available for Enterprise Architect together with how to get started using the technology.

Read 12139 times Last modified on Thursday, 05 March 2015 10:56

Sam Nice

Dunstan Thomas Consulting

More in this category: Colour your Knowledge »

1 comment

  • Comment Link tlw1999 Monday, 16 September 2013 15:20 posted by tlw1999

    Do you have a Sparx EA project file you can share that shows how you built up the models. I'm having a devil of a time understanding what to create in what order to leverage the profile to do a top down end to end service design to deployment. If you have something I can use to figure out how all the EA objects interrelate that would be ideal. Sparx while providing the SOAml profile doesn't give any help I can find on how to use it.

Login to post comments