Tuesday 26 April 2011

Principles of SOA

Following are the principles of SOA:


  1. Re usability: One of the main feature of Services are that they can be reused. This helps in saving the redevelopment time and helps reducing the cost of the Application being created
  2. Formal Contract: Each service need to share following formal contract, like Service Endpoint, service Operation, Every input and output for each operation, and rules and characterstics of the operation of the services. This help in communicating the services to each other and reduces the ambiguity.
  3. Loose Coupling: The services are loosely coupled meaning that the services keep the information being independent of each other.
  4. Abstraction: Services hide the underlying logic. They provide interface for the users to work upon. A client does not know about the underlying logic.
  5. Composable: Services are composable in the sense that more than one services can be taken together to create a new service. This is done by creating a common interface to all the underlying services.
  6. Autonomous: Services are meant to be autonomous that is they should not depend on other services for the execution of there services. They can provide their services on their own. There are two types of  autonomy is there: Service level autonomy and pure autonomy.
  7. Stateless: The services should be stateless this is because if the services will hold the state it will not be possible for other client to discover the service. The services may remain stateful for a small period of time but this should not be for longer time interval. 
  8. Discoverable: The discoverable services help to reduce the conflicts. If the services are not discoverable, there may exhist redundant services. 

No comments:

Post a Comment