Developing software for networked systems has always been a challenging task and
the current trend of Service-Oriented Architecture (SOA) is obviously fascinating
and exigent. SOA allows users to distribute applications to multiple locations across
the Internet and allows the reuse of code, which made it widely accepted.
An SOA application should handle and process as much load as is dumped on it without
compromise on the efficiency of the performance, which is a tedious task. It is
usually deployed in a server farm in a load balanced environment. An SOA application
should assure to handle and process as many load as that is dumped on it which is
a tedious task and at the same time no compromise on the efficiency of the performance.
It is usually deployed in a server farm in a load balanced environment and it has
to take extensive measures to enhance the performance and scalability of the application
even though it is designed to provide these. The way of coding the application,
storing it and accessing it, all matters to have a good SOA1 (David Chou et al.,
2010).
A true SOA application should scale easily as far as the application architecture
is concerned. It has two components: service components and client applications.
The client application may be a web application, another service or any other application
that relies on the SOA service component. The application is broken up into smaller
chunks and these components run on separate servers as independent components.
Designing the interface to invoke specific methods, designing the services offered
by the SOA, choosing the right communication protocol, etc., should be done with
utmost perfection. For users and services to communicate with each other while using
web services, a service contract describing the services is usually written using
web service description language in which all services offered are listed. From
the list, the users can select their preference, which is implemented using universal
description discovery and integration. Protocols like simple object access protocol
or representation state transfer protocol are used to enable smooth communication,
which helps the SOA to be capable of organizing and utilizing distributed capabilities
that may be under different ownership domains (Natis, 2007 and Schlimmer and Young,
2000).
|