MINERVA: Model drIveN and sErvice oRiented framework for the continuous business process improVement & relAted tools
Tools Dimension / Eclipse SoaML plug-in
The SoaML standard (OMG, 2009) is an UML2 profile and metamodel to provide support for the modeling of services by means of specific stereotypes with defined semantic and syntax over known UML2 elements. As there are only few implementations of SoaML and mostly commercial ones, we have developed our own tool to integrate in the Eclipse environment to be able to import the XMI file of the SoaML service model we generate and visualize the service models graphically, and to export the service models created in XMI format for interoperability with other tools.
The Eclipse SoaML plug-in we have developed provide support for the diagrams defined in the standard: ServicesArchitecture, ServiceContract, Participants (class and component), Interfaces (class and component), MessageTypes and Capabilities, integrating UML diagrams such as Sequence diagram for choreographies modeling when needed.
The Eclipse SoaML plug-in can be downloaded along with its installation requirements for EMF, GEF, UML2 extender and Papyrus plug-in from here.
This diagram allows to define the Participants and Services in the collaborative business process between different organizations, and the roles each Participant plays within each ServiceContract.
Fig. 1. ServicesArchitecture diagram in SoaML for an example business process from a Hospital
The Participants diagram shows the defined Participants and the provided and consumed services. The stereotype Service (which is a specialization of an UML Port) refers to a service provided by the Participant with the defined Interface. The stereotype Request (which is also a specialization of an UML Port) refers to a service that is required by the Participant with the defined Interface provided for the interaction with its counterpart in a service provided by another Participant.
Fig. 2. Participants diagram in SoaML
The Interfaces diagram shows the different types of Interface modeling that the SoaML standard provides: UML simple interface bidirectional, UML simple Interface unidirectional and ServiceInterface which is defined by realizing and using UML simple interfaces and adding information as provided in a ServiceContract for example showing the choreography of the services' interface.
Fig. 3. Interfaces diagram in SoaML: UML simple bidirectional, unidirectional and ServiceInterface
ServiceContract diagram (and corresponding Interfaces)
The ServiceContract diagram is also an UML collaboration which allows the definition of the roles involved in the realization of the associated service. The consumer and provider role are modeled base on the defined interfaces, and linked with a ServiceChannel element for communication.
Fig. 4. ServiceContract diagram in SoaML and associated interfaces
The MessageType diagram allows the definition of messages to be interchanged by the defined services.
Fig. 5. MessageTypes diagram in SoaML
The Capabilities diagram allows the definition of capabilities required that will be realized by the defined services and participants.
Fig. 5. Capabilities diagram in SoaML
Author: Andrea Delgado 2010