Business Ecology Initiative & Service-Oriented Solution

Michael Poulin

Evolution of principles of Service Orientation: Service Composability and Discoverability, part 7

user-pic
Vote 0 Votes


While all SO principles are important, concrete economic situation affects principle priorities. For example, when an organisation extends its business in new market or when the economy streams down into a crisis, the external environment changes faster than usual. In such situations, an ability of the business to react quickly to the change becomes crucial for the success if not critical if this is the matter of survival. One of the most effective mechanisms of quick reaction to the changes is based on the capability to compose and re-compose new solutions at the speed of change arrivals. That is, the priority of the SO principle of Service Composability increases significantly in the described cases.

In both old and modern definition of the Service Composability principle, services are viewed as parts of compositions: 'Services are effective composition participants, regardless of the size and complexity of the composition'. It is interestingly to note that in spite of the direct links to the service compositions, the explanations of this principle never admitted the compositions themselves as services. This creates a false impression that a service body cannot consist of a composition of other services as well as that a composition of the service compositions is impossible. It is even odder because etymology of word 'composable' leads to the meaning 'of being composed' rather than 'to participate as-is in the composition'.

Addressing actual business needs via Service Orientation, I believe that SO principle of Service Composability must include both cases where a service may be an effective part of the composition as well as where a service may comprise a composition of other services, i.e. a service can perform as a composition container. As we can see, a notion of service composition facilitates contractual autonomy, service state management and service discoverability. If the service represents a composition of other services and other compositions of services, we have to deal with relatively complex issue of service ownership, service management authority and accountability that are addressed in the social structure of the organisation experiencing Service Orientation. This is not an issue if we use Service Orientation to model real business world. If you are interested in this topic, I can refer you to the 'Business via Service View' and 'Social Structure Model' described in the public draft of Reference Architecture for SOA from OASIS.

In consequence of this observation, the SO principle of Service Composability may be formulated as follows: 'Services are effective composition participants as well as effective composition containers, regardless of the size and complexity of the composition'. We can strength service composition by the notion of service collaboration, i.e. by adding an interactive order to the collection of services. This has a bit unexpected upshot: a service may be represented as a collaborative process, i.e. as a composition of services performing ordered activities, as well as a process may be represented as a service, i.e. an entity that realises concrete business tasks and produces the RWE. That is, service and process in the service-oriented eco-system are interchangeable forms of business functionality.

Talking now about Service Discoverability principle, I can witness that this is the only one principle that survived the time and has not significantly changed. Thomas Erl says about this principle: 'This service-orientation principle is related to, but distinct from, discoverability on an architectural level ... On a service level, the principle of discoverability refers to the design of an individual service so that it becomes as discoverable as possible, regardless of whether a discoverability product or extension actually exists in its surrounding implementation environment'.

The principle definition nicely points to two things that are very important to the service discovering: supplemented meta-data and meta-data by which the service may be effectively interpreted. I am re-phrasing the principle to point to a meta-data document supplementing a service and to a registry/repository of such documents. While registry/repository is an element of infrastructure and may be absent, the supplementing meta-data document is due. OASIS SOA RM standard identifies such document as 'service description'.

Currently, the standard specifies only basic categories of information that should be represented in the service description. OASIS SOA Reference Architecture (RA) work-in-the progress articulates more details about these categories of information. Until OASIS SOA RA is not voted into the standard, I can only speculate and offer you my version of service description based on the SOA RM and RA-draft and illustrated in the following picture.
Service Description Document Content-compressed.jpg
View image
From the diagram, we can see that the service description includes following categories of information: service business functionality and RWE, service interfaces offered to the consumers and related protocols/end-points, run-time policies, basic non-functional metrics, and execution contexts where the business functionality, RWE, and metrics are guaranteed by the service provider. The service description may be versioned and represented specifically to different categories and audiences of potential consumers. The service contracts may be derived from the service description, as we mentioned in the discussion about service contract post, and include a sub-set of service interfaces, policies, reachability entities and metrics. The service description document is the one that has to be constructed in the way to 'be effectively discovered and interpreted' by potential service consumers when they look up for the service capabilities to satisfy the consumer needs.

I can only add here is that this principle equally applies to the service compositions, more accurately - to the service collaborations. Since service collaboration may have its own business value, it deserves being maintained as such and discovered. As we said above, a service collaboration may be represented as a self-sufficient service at both architectural and service levels, and, thus, may be based on the Service Discoverability principle.

(to be continued)

Thumbnail image for Speaking_Qcon_London_03.jpg

Leave a comment

In this blog, Michael Poulin writes about business and technology ideas, concepts, methodologies and solutions leading to service-oriented enterprise, the primary instrument for obtaining business objectives in fast-changing environments.

Michael Poulin

Michael Poulin is an enterprise-level solution architect working in the financial industry in the U.K. and the United States.

He specializes in building bridges between business needs and technology capabilities with emphasis on business and technical efficiency, scalability, robustness and manageability. He writes about service orientation, application security and use of modern technologies for solving business problems. He contributes to OASIS SOA standards as an independent member and is listed in the the international "Who's Who of Information Technology" for 2001. View more

Subscribe

 Subscribe in a reader

Recently Commented On

Categories

Monthly Archives

Blogs

ADVERTISEMENT