Wednesday 2 March 2011

SOA

The service oriented architecture is a design paradigm to build computer software as services.Applying the set of well defined guidelines of SOA results in units of software partitioned into operational capabilities, each designed to solve an individual concern.

In order to describe the evolution of SOA first we need to define the problems that were faced by developers and how did they come up with a solution.Early programmers realised that they were not able to reuse code that they coded ,so so came up with a solution called modular design.Then they were cutting and pasting their modules into other applications and that this started to create a maintenance problems when a bug was discovered in a function somewhere, they had to track down all of the applications.

Researchers proposed  object oriented software design  to solve this, and many more, problems. Again, as software complexity grew, developers started to see that developing and maintaining software was complex and they wanted a way to reuse and maintain functionality, not just code.To address the above problem component based software was introduced.

Component-based software is a good solution for reuse and maintenance, but it doesn't address all of the complexities developers are faced with today. Today there are many problems  like distributed software, application integration, varying platforms, varying protocols, various devices, the Internet, etc.

To address these problems SOA was introduced with well defined components,standards.guidelines.


A service in SOA has functionality with three properties:
  1. The interface contract to the service is platform-independent.
  2. The service can be dynamically located and invoked.
  3. The service is self-contained. That is, the service maintains its own state. 












No comments:

Post a Comment