The S3 Viewpoint is concerned with the identification and definition of service interfaces.
Usage
The intended usage of the S3 includes:
- Service-oriented architecture governance.
- Detailed Service specification.
- Service interoperability.
Creating a Service Interfaces diagram
A service presents one or more interfaces to consumers (a “consumer” being any agent capable of using the service; i.e. a person, an organization, a system or another service). A service may also be capable of using interfaces exposed by other services, and the architect may specify these as used interfaces. This view specifies the service interfaces as well as the provision and consumption of interfaces by services.
To create a Service Interfaces diagram:
- Click on Service Interfaces in the Action Artifact area, and then select Create New Diagram.
- Type the diagram name and press Enter.
- A blank diagram is created and you can start constructing the view. Reuse ServiceSpecifications (recommended) through dragging and dropping them from the Model Explorer.
- Add ServicePort(s) to ServiceSpecifications. A ServicePort is an interaction point for a ServiceSpecification through which it can interact with the outside environment and which is defined by a ServiceInterface.
- To model the service interfaces provided by a service, create a ServiceInterface on the diagram first. Then, connect the ServicePort and the ServiceInterface with a Realization connector.
- To model the service interfaces required by a service, create a ServiceInterface on the diagram first. Then, connect the ServicePort and the ServiceInterface with a Usage connector.
- To define the operations of a ServiceInterface, create a view for the ServiceInterface by performing a copy-and-paste (Ctrl-C and then Ctrl-V) on it.
- Right-click on the ServiceInterface and select Presentation Options > Class from the popup menu.
- Right-click on the ServiceInterface (in class shape) and then select Add > Operation to define an operation.
Note that it is acceptable to define a ServiceInterface and its operation before connecting it with any ServiceSpecification.