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