Wednesday 2 March 2011

Evolution of SOA

According to IBM, SOA can be defined in several ways depending upon the point of view:
From the point of view of:SOA is
Business executive and business analystA set of services that constitutes IT assets (capabilities) and can be used for building solutions and exposing them to customers and partners
Enterprise architectA set of architectural principles and patterns addressing overall characteristics of solutions: modularity, encapsulation, loose coupling, separation of concerns, reuse, composability, and so on
Project managerA development approach supporting massive parallel development
Tester or quality assurance engineerA way to modularize, and consequently simplify, overall system testing
Software developerA programming model complete with standards, tools, and technologies, such as Web services
The above set of definitons gives a clear picture of what are the capabilities of SOA, It is seen as set of services, sometime as set of architectural principles. Each has their own way to look into this.

To begin with,lets see what was there before SOA,In the mid and late 90s the evolution of WEB was at its peak(DOT COM boom), People started looking at the WEB as a good platform for extending their business, Many of them ported their business as web application, but this has its own limitations, In beginning, these web application were built as single Monolithic application, the underlying architecture was Client Server architecture. The user used to interact though this application to access the server.

This has got several problems, like access to the data required by others, this lead to development of new softwares like screen scrapping. But this was not the complete solution to the problem. To overcome this problem, the services has been improvised, these were the API to the various application needed.

But now the problem was how to access this. Due to the different specifications and standard being used. The direct interaction was not possible. To overcome this broker agents were introduced. But this was not able to solve the comlete problem of consistency. 
To overcome this,the new architecture has been introduced SOA. This uses XML based language for the communication between different identity. The SOAP is used for the communication between the service provider and the requester of that service. WSDL is used for describing the services provided by the various service providers. UDDI is used to describe and integrate them.

The SOA is playing important role in integrating the various services, as it is platform independent. Many organizations e.g. W3C, OASIS are working in the direction of standardization of the architecture and specification of SOA. Many companies like Microsoft, IBM, Sun Microsystems are also trying to make a standard for these.

No comments:

Post a Comment