High Level Overview of Service-Oriented Architecture (SOA)

Service Oriented Architecture or SOA is a systems integration architecture for the development of loosely coupled and distributed applications in an enterprise. SOA encompasses many services found on the network. These services communicate with each other and the communications involves data exchange and even service coordination. Generally SOA can be classified into two terms Services and Connections.

Services:
A service is a function or some processing logic or business processing that is well-defined, self-contained, and does not depend on the context or state of other services. An example of a service is Loan Processing or online booking of a flight. Another example may be a Weather Service, which can be used to get weather information. Any application (Service Consumer) on the network can use the Weather Service (Service Provider) to get weather information it needs.

Connections:
Connections are the link of connecting self-contained distributed services with each other, it enables the Service Consumer and Service Provider to communicate with each other. For Web services, SOAP over HTTP is typically used to communicate between services.

The following figure is a simple example of the service-oriented architecture. It shows how a service consumer sends a service request to a service provider. After accepting the request, the service provider sends a message back to the service consumer providing it with the information it needs.


SOA is different from other integration architectures, because it consists mostly of loosely coupled, highly interoperable application services. Services can be developed in different development languages (such as Java, .NET, C++, PERL, PHP) and the software components become reusable. For example the same C# service may be used by a Java application. A WSDL defines a standard, which allows different SOA components/technologies to talk to each other.

Sources:
http://en.wikipedia.org/wiki/Service-oriented_architecture
http://www.roseindia.net/webservices/

2 comments:

doomsberry said...

can u plz explain me how the interoperability carried out in terms of different programming languages.

Jack G. Zheng said...

Doomsberry, I think you have a good question here. Web service is not absolutely and automatically interoperable bettween different language platforms, especially on some complex data objects.

Post a Comment