What is Service-Oriented Architecture?

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

Ads

Tutorials   
Jersey - Java Framework for RESTful Web services Web Services in Java Tutorial for Beginners Web Services Growth Apache Axis2 Tomcat: Installing Apache Axis2 on Tomcat Introduction to Web services technologies Installing axis2 eclipse plugin Axis2 Eclipse plugin Tutorial Axis2 ant wsdl2java - Learn WSDL2java utility of Axis2 with example Axis2 client - Axis2 Client example Apache Axis2 Hello World Example Downloading and Installing Apache Axis2 Apache Axis2 Introduction Apache Axis2 - Apache Axis2 Tutorial Database driven webservices JAX-RPC Advance Concepts Security in Web Service Application Using JAX-RPC WSDL program SOAP Header SOAP with Attachments API for Java Ejb Webservice Java Client webservice Web Service WEBSERVICE USING APACHE AXIS- TUTORIAL-2 J2ME CLIENT FOR EJB & EJB-WEBSERVICE WEBSERVICE USING APACHE AXIS TUTORIAL-2 Web Services Tutorials and Links WEBSERVICE USING APACHE AXIS - TUTORIAL-2 AXIS FOR EJB-WEBSERVICE (part-5) WEBSERVICE USING APACHE AXIS TUTORIAL-2 UNDERSTANDING APACHE AXIS WEBSERVICE USING APACHE AXIS TUTORIAL-1 WEBSERVICE USING APACHE AXIS TUTORIAL-2 UNDERSTANDING APACHE AXIS (part-2) WEBSERVICE USING APACHE AXIS -TUTORIAL-2 UNDERSTANDING APACHE AXIS What is Service-Oriented Architecture? Developing Axis Web services with XML Schemas. Web Services - Web Services Tutorials WEBSERVICE USING APACHE AXIS TUTORIAL-2 UNDERSTANDING APACHE AXIS J2EE Web Service Development with Attachments Using Axis J2EE Web Service Development with Attachments Using Axis SOA and Web Services Web Services Examples in NetBeans SOA and Web Services

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
Ads