Home Webservices What is Service-Oriented Architecture?
Questions:Ask|Latest

 
 

Share on Google+Share on Google+

What is Service-Oriented Architecture?

Advertisement
Service Oriented Architecture or SOA for short is a new architecture for the development of loosely coupled distributed applications.

What is Service-Oriented Architecture?

Service Oriented Architecture or SOA for short is a new architecture for the development of loosely coupled distributed applications. In fact service-oriented architecture is collection of many services in the network. These services communicate with each other and the communications involves data exchange & even service coordination. Earlier SOA was based on the DCOM or Object Request Brokers (ORBs). Nowadays SOA is based on the Web Services.

Broadly 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. Example of Services are Loan Processing Services, which can be self-contained unit for process the Loan  Applications. Other example may be Weather Services, which can be used to get the weather information. Any application on the network can use the service of the Weather Service to get the weather information.

Connections:

Connections means the link connecting these self-contained distributed services with each other, it enable client to Services communications. In case of Web services SOAP over HTTP is used to communicate the between services.

The following figure is a typical example of the service-oriented architecture. It shows how a service consumer sends a service request to a service provider. After accepting the request, service provider send a message to the service consumer. In this case a service provider can also be a service consumer.

Different Technologies Used:

SOA is much different from point-to-point architectures. SOA comprise loosely coupled, highly interoperable application services. These services can be developed in different development technologies (such as Java, .NET, C++, PERL, PHP), the software components become very reusable i.e. the same C# (C Sharp) service may be used by a Java application and / or any other programming language. WSDL defines an standard,  which encapsulates / hides the vendor / language specific implementation from the calling client / service.

SOA definitions
(From 
http://en.wikipedia.org/wiki/Service-oriented_architecture )

Term Definition / Comment
service (Ideally) a self-contained, stateless business function which accepts one or more requests and returns one or more responses through a well-defined, standard interface. Services can also perform discrete units of work such as editing and processing a transaction. Services should not depend on the state of other functions or processes. The technology used to provide the service, such as a programming language, does not form part of this definition.
orchestration Sequencing services and providing additional logic to process data. Does not include data presentation.
stateless Not depending on any pre-existing condition. In a SOA, services should not depend on the condition of any other service. They receive all information needed to provide a response from the request. Given the statelessness of services, service consumers can sequence (orchestrate) them into numerous flows (sometimes referred to as pipelines) to perform application logic.
provider The function which performs a service in response to a request from a consumer.
consumer The function which consumes the result of a service supplied by a provider.
discovery Service oriented architecture relies on the ability to identify services and their capabilities. Therefore, a SOA depends on a directory which describes the services available in its domain.
binding The relationship between a service provider and consumer is dynamic; it is established at runtime by a binding mechanism.

Why SOA?

SOA architecture enables seamless Enterprise Information Integration. Here are some of the Benefits of the Service Oriented Architecture:

  • Due to its platform independence, it allows companies to use the software and hardware of their choice .
  • There is no threat of vendor lock-in
  • SOA enables incremental development, deployment, and maintenance.
  • Companies can use the existing software (investments) and use SOA to build applications without replacing existing applications
  • The training costs are low, so the available labor pool can be used for running the applications
Advertisement

If you enjoyed this post then why not add us on Google+? Add us to your Circles



Liked it!  Share this Tutorial


Follow us on Twitter, or add us on Facebook or Google Plus to keep you updated with the recent trends of Java and other open source platforms.

Posted on: March 10, 2008

Related Tutorials

Ask Questions?    Discuss: What is Service-Oriented Architecture?   View All Comments

Post your Comment


Your Name (*) :
Your Email :
Subject (*):
Your Comment (*):
  Reload Image
 
 
Comments
Aparna
June 29, 2011
Good introduction to SOA

I am new to WebServices and this tutorial provides best introduction ,easy to understand and well explained.. Thank you
Nano
August 18, 2011
SOA

Excelent
sudheer
August 30, 2011
Superb

Explanation is very good
Arvind
September 7, 2011
Soa

this is very nice
Shyam B
November 9, 2011
Great work !

Great Article.. Understood SOA from scratch:)
ramu
December 26, 2011
what is the need soa

good tutorial
ramu
December 26, 2011
what is soa

good tutorial
venkat
May 7, 2012
Regarding SOA & XML processing

Hi, Can u please explain the relation between SOA and XML.while the process running,how the flow of execution will done internally between SOA and XML,webservices
Kenny
July 19, 2012
Great Job

Great introduction to somemthing I used to view as black magic, like recursive fractions in base 3 :)
vasu
July 20, 2012
soa testing

hi this is sreenivasulu. i have experience with SOAPUI testing. i want to move SOA Testing. how do my experience helping for SOA Testing. is there any tool for soa testing. could you please help me on 1. what are scope for soa testing job in future
shireesh
August 9, 2012
Market for SOA

Recently i got trained in SOA in my current organization. Please could anybody tell, how is the market for SOA.
DMCA.com