It is an architectural design pattern that concerns itself with defining loosely-coupled relationships between producers and consumers.t is an architecture that relies on service-orientation as its fundamental design principle. In an SOA environment independent services can be accessed without knowledge of their underlying platform implementation. These concepts can be applied to business, software and other types of producer/consumer systems.
Every business comprises core and non-core functions. The core functionality doesn't change very frequently and the non-core changes very frequently. For example, the retail store will always sell goods and this will be one of the core functions, but the way it will sell the goods might differ with time and market needs, etc. These are the non-core functions which change very frequently.
In the software industry, it is very much desirable that the functions which changes frequently should be decoupled by the functions that changes frequenly. So, SOA will be a segregation of the core business functions into independent services that don't change frequently.
Service-oriented architecture (SOA) is an architectural style where existing or new functionalities are grouped into atomic services. These services communicate with each other by passing data from one service to another, or by coordinating an activity between one or more services.
SOA can be acheived through Web Services. The major objective of a web service is to create a functional unit available from outside the system or from internet via standard internet protocol. There are three major roles that SOA building block can play:
Service Provider
Service provider is who is actually providing the service. The system which wants to be accessible from outside over internet.Service Broker
The service broker, also known as service registry, is responsible for making the Web service interface and implementation access
information available to any potential service requestor.
Service requestor
The service requestor or Web service client locates entries in the broker registry using various find operations and then binds to the
service provider in order to invoke one of its Web services.
Web Oriented Architecture
WOA is a Web Service style of implementing SOA but the focus is on the REST,an increasingly popular, powerful, and simple method of leveraging HTTP as a Web service in its own right.
It is very clear that WOA is nothing but a SOA implementation using REST. That means people who are doing WOA is doing SOA.
WOA term is coined by Nicholas Gall and according to him : " WOA is an architectural style that is a substyle of SOA based on the architecture of the WWW with the following additional constraints: globally linked, decentralized, and uniform intermediary processing of application state via self-describing messages or In short WOA = SOA + WWW + REST ".

Since WOA is a substyle of SOA (ie it imposes additional constraints above and beyond those imposed by SOA), you may be interested in Nicholas definition of SOA:
" An architectural style in which certain discrete functions are packaged into modular, shareable, distributable elements ("services"), which can be invoked by consumers in a loosely coupled manner or in short SOA = modular + distributable + sharable + loosely coupled. "

No comments:
Post a Comment