Database Reference
In-Depth Information
The purpose of SOA is to allow users to combine fairly large chunks of
functionality to form ad hoc applications built almost entirely from exist-
ing software services. The larger the chunks, the fewer are the interfaces
required to implement any given set of functionality. However, very large
chunks of functionality may not prove sufficiently granular for easy reuse.
Each interface brings with it some amount of processing overhead, so there
is a performance consideration in choosing the granularity of services.
SOA as an architecture relies on service orientation as its fundamental
design principle. If a service presents a simple interface that abstracts away
its underlying complexity, then users can access independent services
without knowledge of the service's platform implementation.
The main benefit of SOA is to allow simultaneous use and easy mutual
data exchange between programs of different vendors without additional
programming or making changes to the services. These services are also
reusable, resulting in lower development and maintenance costs and pro-
viding more value once the service is developed and tested. Having reus-
able services readily available also results in quicker time to market.
There are no industry standards relating to the exact composition of a
service-oriented architecture, although many industry sources have pub-
lished their own principles. Some of these principles include the following:
Standardized service contract : Services adhere to a communications
agreement, as defined collectively by one or more service-descrip-
tion documents.
Service loose coupling : Services maintain a relationship that mini-
mizes dependencies and only requires that they maintain an aware-
ness of each other.
Service abstraction : Beyond descriptions in the service contract, ser-
vices hide logic from the outside world.
Service reusability : Logic is divided into services with the intention
of promoting reuse.
Service autonomy : Services have control over the logic they encapsulate.
Service statelessness : Services minimize resource consumption by
deferring the management of state information when necessary
Service discoverability : Services are supplemented with communicative
metadata by which they can be effectively discovered and interpreted.
Service composability : Services are effective composition partici-
pants, regardless of the size and complexity of the composition.
Search WWH ::




Custom Search