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