Tuesday 26 April 2011

Principles of SOA

The principles of Soa include the following:

1)Explicit boundaries:It means that everything needed by the service to provide its functionality should be passed to it when its invoked.All the access to the service should be done via the publicly exposed interfaces and there is no need of hidden assumptions to invoke the service.

2)Shared contract and schema: A contract(service description) is shared between the producer and the consumer.And this should give all the things needed for a consumer or producer to share data.

3)Policy driven:To interact with a service two conditions should me met:
a)The provider's functionality,syntax, semantics should fit consumer requirements.
b)The technical capabilities and needs must match.

4)Autonomous:The services should be autonomous meaning its relation is only with the outside world.The components should be modifiable,collaborative.So that any kind of service or combined services can be given.
5)wire formats,not programming language api's:To ensure to the fullest accessibility,a service must be accessible from any platform that supports exchange of the messages adhering to the service interface.The following conditions are met:

  • All message formats are described using an open standard, or a human readable description
  • It is possible to messages adhering to those schemas with reasonable effort without requiring a specific programmer’s library
  • The semantics and syntax for additional information necessary for successful communication, such as headers for purposes such as security or reliability, follow a public specification or standard
  • At least one of the transport (or transfer) protocols used to interact with the service is a (or is accessible via a) standard network protocol
6)Document oriented:To interact with services,data is always passed as documents.A document is explicitly modeled and its a container of data.This document shall be self descriptive.

7)Loosely coupled:It means that the services and kind of services should always be loosely coupled so that any service can be collaborated to give a new service.Some of the dimensions where loose coupling is needed are time,location,type,version,interface etc.

8)Standard-compliant:It clearly indicates that soa approach should be on standards than any owned api's or formats.This principle clearly indicates the use of relying on standards than any other thing.

9)Vendor independent:No architectural pattern should depend on the vendor particular.Because this always affects interoperability and portability.This indicates that any service can be built only on standards not worrying about product.


No comments:

Post a Comment