Concept: The Service Interface
The service interface is the central structural concept in service solution design.
Main Description

The Service Interface

Service interfaces are key specification elements within service design.  A service interface must specify everything that a potential consumer of the service needs to know to decide if they are interested in using the service, as well as exactly how to use it. It must also specify everything a service provider must know to successfully implement the service. At the heart of SOA is the construction of service value chains that connect consumer needs with compatible provider capabilities. Service interfaces define the goals, needs and expectations of consuming participants as well as the value propositions, capabilities and commitments of provider participants. They therefore provide the information necessary to determine compatible needs and capabilities.

Ideally, this information is provided in a single place. This makes it easy to search asset repositories for reusable services and to get all of the necessary information without having to navigate many different documents or search for related elements. Service interfaces include at least this information:

  • The name of the service, suggesting its purpose.
  • The provided and required interfaces, thereby defining the functional capabilities that are provided by the service and those that it requires of its consumers Note: This is not about how the service is implemented, but rather the interaction between the consumers and providers for this service.
  • Any protocol that specifies rules for how the functional capabilities are used or in what order.
  • Constraints that reflect what successful use of the service is intended to accomplish and how it will be evaluated.
  • Qualities that service consumers expect to receive and that providers are expected to provide, such as cost, availability, performance, footprint, suitability to the task, competitive information, and so forth.
  • Policies for using the service, such as security and transaction scopes for maintaining security and integrity or for recovering from the inability to successfully perform the service or any required service.

Service interfaces are modeled in SoaML using the ServiceInterface model element.