The Service-Oriented Approach

 

To begin with, it is worth considering the shifts in paradigm in software development and system design and the reasons why Web services and service oriented architecture are being discussed become apparent.  There are many definitions of Web services because Web services mean different things to different people.  The terms "Service" and "Web Service" are used loosely and at times to present the same thing.  In actual fact the two are very different in that Web services are used to connect Services together using well-defined standards.  A service-oriented architecture promotes the use of services that are network addressable and have a well-defined interface.  A service describes its interface in terms of its business function(s), message(s) it understands, the input type(s) and the output types(s).  These descriptions are useful because consumers of the service can be configured to communicate with the service appropriately and practically.

 

The Architecture requires a mechanism by which Services can publicise themselves to the consuming community.  This prompts the idea of yellow pages and directories where consumers can find out about the services and their interfaces.  But then a consumer may find in the directory more than one service that could fulfil its requirement(s).  How does the consumer decide which service to bind to? This seems to suggest that description of the service must also say something about the quality of the service.  This could be in ter4ms of the response time, availability, saleability, charges levied (per transaction?), as well as other services the service integrates with to carry out the business function.

 

A service is behaviour that is provided by a component for use by any other component based only on the interface contract. A service has a network-addressable interface. A service stresses interoperability and a service may be dynamically discovered and used.

 

For example, think of a human resources application, components of which could be national insurance contribution (NIC, which calculates NIC on a given income) and income tax (ITAX, which calculates income tax based on the week number in the financial year, weekly income, tax code, total income and tax to the point of calculation).  For the computation of wage slip, a WS component may consume the services of ITAX and NIC components, in which case it has to clearly know not only what method of transport it requires to connect to these components but also what their payload type is (what the data and format of data are for the input to the services and the expected output from the services).

 

At what point is a service discovered and bound to? What is late binding?

 

 

Back to home