Example: ServicePoint (SoaML)
ServicePoints can be typed either by a simple UML Interface or by a ServiceInterface. An instance of each situation is shown here.
Relationships
Related Elements
Main Description

The following two examples show (1) a model of a Participant that has a ServicePoint typed by a ServiceInterface, and (2) a Participant with a ServicePoint that is typed by a simple UML Interface.

In Figure 1, an invoicing service is provided by an Invoicer Participant. The Invoicer Participant is seen to realize the Invoicing UseCase that describes the high-level requirements for the service provider and its services. The invoicing ServicePoint is typed by the InvoicingService ServiceInterface that defines the interface to the service.  A ServiceInterface, rather than a UML Interface, was used here because use of the Service requires a protocol that describes the choreography between the service provider and the service consumer.  This follows from the ServiceInterface having both a provided interface and a required interface.  The protocol definition is not part of this example.

The Invoicer Participant has two ownedBehaviors, one an Activity and the other an OpaqueBehavior that are the methods for the Operations provided through the invoicing service and model the implementation of those capabilities - no stereotypes are provided as these are standard UML constructs.

Figure 1.  ServicePoint typed with a ServiceInterface

  

Figure 2 shows an example of a scheduling Service provided by a Scheduling Participant. In this case, the type of the Service is a simple Interface indicating what capabilities are provided through the Service, and that consumers are not required to provide any capabilities and there is no protocol for using the service capabilities. SoaML allows Services type typed by a simple interface in order to support this common case.

Figure 2.  ServicePoint typed with a simple UML Interface

   

More Information