Sunday, 17 February 2008

SOA Design Points

It is good from a design perspective to separate out api from implementation.

SOA and service-orientation are implementation-agnostic paradigms that can be realized with any suitable technology.

Loose coupling - Services maintain a relationship that minimizes dependencies and only require tat they retain an awareness of each other.

Service contract - Services adhere to a communications agreement, a defined collectively by one or more service descriptions and related documents.

Autonomy - Services have control over the logic they encapsulate.

Abstraction - Beyond what is described in the service contract, services hide logic from the outside world

Reusability - Logic is divided into services with the intention of promoting resuse.

Composability - Collections of services can be coordinated and assembled to form composite services.

Statelessness = Services minimize retaining information specific to an entity.

Discoverability - Services are designed to be outwardly descriptive so that they can be found and assessed via available discovery mechanisms.


Services understand each other through use of service descriptions (ie. wsdl) A service description has a name and location of service. The manner in which services use service descriptions results in a relationship classified as loose coupling.


SOA is a term that represents a model in which automation logic is decomposed into smaller, distinct unit of logic. Collectively, these units comprise a larger piece of business automation logic. Individually, these units can be distributed. (Note: City scenario, lots of businesses some offer same services etc.. but agree on common language, common currency..)


The concern addressed by a service can be small or large


No comments: