The Service Oriented Architecture is an architectural design which includes collection of services in a network which communicate with each other. The complication of each service is not noticeable to other service. The service is a kind of operation which is well defined, self contained that provides separate functionality such as checking customer account details, printing bank statements etc and does not depend on the sate of other services.
The first report published on SOA by the analysts Roy W.Schulte and Yefim V.Natis in 1996.
SOA is widely used in market which responds quickly and makes effective changes according to market situations.
The SOA keep secret the implementation details of the subsystems.
It allows interaction of new channels with customers, partners and suppliers.
It authorizes the companies to select software or hardware of their choice as it acts as platform independence.
SOA uses interfaces which solves the difficult integration problems in large systems.
SOA communicates customers, providers and suppliers with messages by using the XML schema.
It uses the message monitoring to improve the performance measurement and detects the security attacks.
As it reuses the service, there will be lower software development and management costs.
SOA allows reuse the service of an existing system alternately building the new system.
It allows plugging in new services or upgrading existing services to place the new business requirements.
It can enhance the performance, functionality of a service and easily makes the system upgrade.
SOA has capability to adjust or modify the different external environments and large applications can be managed easily.
The companies can develop applications without replacing the existing applications.
It provides reliable applications in which you can test and debug the independent services easily as compared to large number of code.
SOA requires high investment cost (means large investment on technology, development and human resource).
There is greater overhead when a service interacts with another service which increases the response time and machine load while validating the input parameters.
SOA is not suitable for GUI (graphical user interface) applications which will become more complex when the SOA requires the heavy data exchange.