HOME | J2ME | Struts | AJAX | SOAP | SOA MEDIA STREAMING AXIS |
SOA Tutorial
Introduction
Web Services, XML, WSDL & SOAP
Use SOA Judiciously
SOA - Big Picture

 

 

Introduction to Service-Oriented Architecture (SOA)

Back | Tutorial Home | Next

Service-Oriented Architecture (SOA) is a new buzz word in the world of computing. SOA has evolved from age old computing concepts like modular/OOPS programming, Component based development(CBD) and distributed computing. It differentiates each module as a separate service. And a group of these services form parts of a Service-Oriented-Architecture of a system.

W3C defines SOA as “A set of components which can be invoked, and whose interface descriptions can be published and discovered”

Service

The corner stone of SOA is a Service. A Service runs as a separate entity and has specific functionality in the form of requests and responses. The underlying complexity of each service is not visible to the other services. They just need to know the request and response formats and query the service accordingly. The Service which responds to a request is called Service Provider and a Service which request for some data becomes a Service Consumer. Same Service can be a both Provider and Consumer of other services. Below picture shows one such relationship that could exist.

Services have following essential features

Visibility

A Service Consumer should have prior knowledge of the access specifications to access a consumer. A Service provider has the right to reject the request from consumer if it feels that the consumer is not supposed to access it. These security settings are essential so that consumer access is preset for only valid users.

Service Contracts

A Service will be only useful if it comes with proper description(service contracts) of how a service can be accessed. The details of these descriptions will include

  • Transport layer – Network protocol, Proxies, VPN’s etc
  • Services or tasks hosted by the service
  • Security policies the consumer needs to follow to access provider.
  • Data format of request and responses
Major Advantages of SOA
  • Each service is loosely coupled or loosely independent of the other systems in the architecture.
  • Services can sit different operating systems
  • Each service can be written in different programming language.
  • Complexity of each provider service is abstracted from the consumer service.

Back | Tutorial Home | Next

site comments powered by Disqus
Download our free toolbar

toolbar powered by Conduit

| Copyright © 2009. All rights reserved | Terms and Conditions | About | Contact | Feed Back |