|
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
|
Current Comments
7 comments so far (post your own) View All Comments Latest 10 Comments:This is the valuable information for beginners of SOA and webserices.
Posted by Jaipal Gadeela on Monday, 03.24.08 @ 14:37pm | #54138
The information is vaulable from a beginners perspective, ie is provided in very simple words..
Posted by Rohit on Friday, 11.2.07 @ 23:32pm | #35428
i'm developing webservice to check email address, i use java languge but i don't know how to create webservice ?
Posted by Chuong Nguyen on Sunday, 10.14.07 @ 18:51pm | #33813
It is better to give one real time example. No individual examples as given above.
Suppose A, B are sevices.
How A requires the service of B.
For example which service will require weather information from Weather Services.
Posted by Raghu nath on Friday, 10.12.07 @ 20:10pm | #33446
Respected sir/madam,
i vishwanath studying in diploma III year, from our college we selected to do project on Email server please guide me to complete.
with regard
Posted by Vishwanath Honakatti on Saturday, 08.4.07 @ 13:59pm | #22642
This is the valuable information for beginners of SOA and webserices.
Posted by Vamsee M. on Wednesday, 07.18.07 @ 10:08am | #21484
This is the valuable information for beginners of SOA and webserices.
Posted by JAIPAL REDDY on Monday, 04.23.07 @ 11:30am | #14791