As service portfolios increase in size, Service Compositions will become an increasingly vital design aspect – not to mention a vital one – in the building of service oriented solutions. The primary reason why this principle is of such importance is because it makes sure that services can be designed in such a fashion so as to participate as effective controllers or members of the compositions.
For a service to be composable, an emphasis must also be placed on the design of Service Operations. Composability can be viewed as another form of reuse. Thus, operations should always be designed in a standardized fashion – with the right level of granularity – in order to maximize opportunities for composition.
A common Service Oriented Architecture extension that underlines composability’s relevance is known as orchestration. With orchestration, service oriented Business processes are able to be expressed through composition languages like WS BPEL. This essentially classifies the process as a service composition that is represented by a parent process service. Either way, a service has to be very composable, no matter whether or not immediate composition requirements are already in existence.
In Service Oriented Architecture, each of the principles is related to all the others in some way. Service Composability, for instance, is a principle that is influenced by the extent to which many other principles are applied in a collective fashion.
Discoverability is also connected to effective composition. One of the primary rules of service abstraction is that services must be representative of a range of logic from other types of supported sources – that includes other services. When services encapsulate others, then a composition has occurred.
In order to construct an effective composition, the designer of the service will have to find a means of discovering the most suitable services in order to act as members of the composition.
Moreover, once the composition has been finished and deployed, potential clients of the service that represents the composition will greatly benefit from an awareness of its capabilities and its existence, as well as its purpose.
Discovery supports and enables all of these scenarios – by doing so, it effectively furthers the cause of service orientation and Service Oriented Architecture.