Service Contract Diagram¶
The Service Contract diagram is dedicated to service contract modeling.
The following use cases are covered by this diagram:
- Simple service contract – one of the roles is an anonymous consumer;
- Binary service contract – consumer and provider roles are connected;
- Multi-party service contract – multiple consumers, providers are connected;
- Compound service contract – a service contract contains uses of other service contracts inside.
The Service Contract diagram is strictly dedicated to modeling Service Contract collaboration internals. The other elements (“Providers” and “Consumers”) are dragged and dropped from the model browser. These elements are modeled elsewhere.
Service Contract Diagram Palette¶
ServiceContract: Creates Collaboration with SoaML.ServiceContract stereotype Stereotype representation: “text” SmartAction:
- If clicked inside of exiting ServiceContract, a new CollaborationUse is created typed by a newly created additional Service Contract. This is
required for Compound Service Contracts
- When a “Provider”/”Consumer” interface is dragged/dropped inside, a new Role is created typed by those “Provider”/”Consumer”
Restriction: Only “Provider”, “Consumer”, “ServiceContract” are possible to drop inside. Roles of other types (except empty) are not allowed by service contracts.
- If clicked inside of exiting ServiceContract, a new CollaborationUse is created typed by a newly created additional Service Contract. This is required for Compound Service Contracts
Instance: Creates an anonymous role inside of service contract
Context: Simple Service Contract
Restriction: It is impossible to model instance outside of a service contract.
ServiceChannel link: Creates a Connector with SoaML.ServiceChannel stereotype
Binding link: Creates a binding between service contract collaboration use and role. Context: Compound Service Contract
Traceability link: Creates a traceability between two model elements
Note: Creates a Note for a model element
Figure 15 Service Contract Diagram Example
These are the major use cases extracted from the SoaML specification and implemented in the SoaML Modelio module.
Binary Service Contract¶
Figure 16 Binary Service Contract Use Case
Simple Service Contract¶
Figure 17 Simple Service Contract Use Case
Multi-Party Service Contract¶
Figure 18 Multi-Party Service Contract Use Case
Compound Service Contract¶
Figure 19 Compound Service Contract Use Case
Figure 20 Compound Service Interfaces Modeling – Modelio Approach