Software Architecture-What is SOA?

SOA is not a implementation/programming technology or service itself.
According to wiki SOA can be defined as:

SOA is an architecture style consists of design principles and rules based on loosely coupled services used in system development and integration in computing with following characteristics:
Standardized service contract – Services adhere to a communications agreement, as defined collectively by one or more service-description documents.
Service Loose Coupling – Services maintain a relationship that minimizes dependencies and only requires that they maintain an awareness of each other.
Service abstraction – Beyond descriptions in the service contract, services hide logic from the outside world.
Service reusability – Logic is divided into services with the intention of promoting reuse.
Service autonomy – Services have control over the logic they encapsulate.
Service granularity – A design consideration to provide optimal scope and right granular level of the business functionality in a service operation.
Service statelessness – Services minimize resource consumption by deferring the management of state information when necessary
Service discoverability – Services are supplemented with communicative meta data by which they can be effectively discovered and interpreted.
Service composability – Services are effective composition participants, regardless of the size and complexity of the composition.
Service normalization – Services are decomposed and/or consolidated to a level of normal form to minimize redundancy. In some cases, services are denormalized for specific purposes, such as performance optimization, access, and aggregation.
Service optimization – All else equal, high-quality services are generally preferable to low-quality ones.
Service relevance – Functionality is presented at a granularity recognized by the user as a meaningful service.
Service encapsulation – Many services are consolidated for use under the SOA. Often such services were not planned to be under SOA.
Service location transparency – This refers to the ability of a service consumer to invoke a service regardless of its actual location in the network. This also recognizes the discoverability property (one of the core principle of SOA) and the right of a consumer to access the service. Often, the idea of service virtualization also relates to location transparency. This is where the consumer simply calls a logical service while a suitable SOA-enabling runtime infrastructure component, commonly a service bus, maps this logical service call to a physical service.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: