Service-Oriented Architecture (SOA)
A White Paper by:
Director - Business Development
Rightway Solution (India) Pvt. Ltd.
Service-Oriented Architecture (SOA)
Service-Oriented Architecture (SOA) is an architectural style whose primary goal is to achieve loose coupling or minimal dependency among interacting software agents. The idea of
SOA departs significantly from that of object-oriented client server programming, which strongly suggests that you should bind data and its processing together. SOA introduces the
concept of interacting software agents – service provider and service consumer. Service provider provides a service which the service consumer consumes. The provisioning of the
service is over the Internet or Intranet.
1 of 4
Figure 1: Software Agents in SOA Architecture
Is an implementation of a well-defined business functionality, such as check customer credit, provide weather data, consolidate drilling reports
Can be consumed by clients in multiple applications or business processes
May be composed of other services
Appears as a composite whole to consumers of the service
Is implementation-independent and can be developed in many development environments
Features Of SOA
Some of the features of SOA are listed below:
SOA requires separation of the service interface from its implementation. The consumers only interact with the interfaces and are not concerned with how these services will
execute their requests.
Services are self-contained and modular in design which ensures that any changes in them do not need to be reflected in the consumer's design.
SOA promises interoperability between heterogeneous applications and technologies. For instance, a service can be built using Microsoft technologies and the consumer using
To make a service available for use by consumers, the service providers register their service in a public registry. A registry is nothing but a collection of services, their description and
their addresses. The registry is used by consumers to find services that match their requirements. If the registry has a service with matching criteria, it provides the consumer with the
address for that service. The consumer accesses the service, binds to the service by calling its visible interfaces and invokes the methods provided by the service.
SOA's find-bind-execute paradigm is shown in the following diagram.
Figure 2: Find-Bind-Execute Paradigm of SOA
Before SOA can be implemented, the system designers should first identify the existing applications and new business processes that have to be implemented as services. The SOA
implementation project is an iterative one composed of three phases: Expose, Compose, and Consume.
Expose: The expose phase of SOA focuses on the existing applications and data that are to be exposed as services. If the existing applications can be exposed as services then
new applications in service-enabling technologies are created. The expose phase also specifies how the services are implemented.
Compose: Services can be combined into more complex services or cross-functional business processes. As the services exist independently, they can be combined and reused
with maximum flexibility.
Consume: Once a new application has been created and existing applications have been marked as service-ready, that service is made available for access by clients which can
be other IT systems or end-users. Clients can consume the service through a number of ways, including web portals, rich clients, Microsoft Office business applications, and mobile
Benefits Of SOA
SOA provides the framework using which the creation and management of integrated systems and applications are simplified and a company's IT assets are aligned with the business
model. Some of the ways in which an organization's business infrastructure is benefitted are as follows:
Productivity and flexibility: SOA leverages the existing systems and applications to become more productive and more profitable to the business. SOA also enables development of
new applications with cross-functional capabilities which can interoperate with each other irrespective of the underlying platforms and development language.
Speed and cost-effectiveness: The design of a service is standardized and one service can be used in multiple applications. Therefore, the services that can be combined into
2 of 4
higher-level, composite services as new business needs arise. This lowers the cost of solution development and testing, reduces redundancy, and speeds time to business value.
Manageability and security: SOA enables the consumer applications to access the services and not the applications running behind those services. This provides the means for
protecting existing applications without inhibiting the deployment of new capabilities. As a strong authentication and authorization model is used for all services and as services exist
independently of one another, the SOA approach provides greater overall security.
SOA And Web Services
The most prevalent way of realizing SOA is using Web services. While SOA provides the principles, Web services provide a strategy using which SOA can be implemented. Web
services can also be defined as software systems which support interoperable machine-to-machine interaction over a network. Web services are developed using a set of XML-based
open standards, such as Web Service Definition Language (WSDL), Simple Object Access Protocol (SOAP), and Universal Description Discovery and Integration (UDDI). These
standards provide a common way for defining, publishing, and using Web services. Web services are created using development environments and deployed on the Application server.
Many companies like Sun, Microsoft, IBM, HP, and others provide tools that enable creation and deployment of Web services.
Sun's Support for SOA
Sun provides Java Web Services Developer Pack and Java 2 Platform, Enterprise Edition (J2EE) to develop Web services that implement SOA. The J2EE platform enables you to build
using wizards and deploy Web services on the Application server platform. It provides all the tools required for building, testing, and deploying Web services and service consumers.
These consumers can interoperate with different kinds of Web services running on Java- or non-Java-based platforms. Moreover, these tools enable businesses to expose their
existing J2EE applications as Web services. Servlets and Enterprise Java Beans (EJBs) can be converted to Web services that can be accessed by Java- and non-Java-based
consumers. J2EE applications can act as Web service consumers themselves and they can communicate with other Web services, regardless of how they are developed.
Microsoft's Support for SOA
All aspects of SOA architecture can be built using Microsoft technologies. Visual Studio is the professional development environment for building applications on the Windows platform.
The .NET Framework provides Web services support that enables .NET developers to develop, discover, debug, deploy, and consume Web services using any of the more than 20
programming languages supported on .NET. The additional components of the .NET Framework 3.0 for building and leveraging Web services are Windows Communication Foundation
(WCF), Windows Workflow Foundation (WF), Windows CardSpace, and Windows Presentation Foundation.
Visual Studio enables consumption of Web services in Windows, Web, Mobile and Office-based applications. Other Microsoft products that can consume Web services are Windows
Vista and Microsoft Office.
Moving Towards SOA
Most of the successful information design companies have shown a keen interest in SOA and have even specified the strategy and roadmap for SOA implementation. Sun has
introduced SOA Readiness Assessment which helps companies move towards service orientation. Oracle has added SOA-based study materials in its knowledge base which consists
of best practices and design patterns. It is available for public viewing. IBM on the other hand, has introduced a prescription 5-phase approach to service orientation which starts with
Strategizing for SOA and ends with Managing SOA. Microsoft has also added SOA as one of the core capabilities in the Application Platform Infrastructure Optimization (APIO) model.
This model is used as a tool by companies to assess the maturity of the existing technology platform and identify possible products or solutions that help them reach their desired state.
The introduction of SOA offers potential for lower costs and greater flexibility. An important feature of SOA is the separation of service access from service implementation. The services
are consumed by clients that are not concerned with how these services will execute their requests and using what platform the services were developed. This opens up a plethora of
opportunities in the area of application inter-operability.
Open Group, SOA Source Book, http://www.opengroup.org/projects/soa-book/ (Accessed on: 25th February, 2009)
Qusay H. Mahmoud, Service-Oriented Architecture (SOA) and Web Services: The Road to Enterprise Application Integration (EAI), http://java.sun.com/developer
/technicalArticles/WebServices/soa/ (Accessed on: 25th February, 2009)
Hao He, What Is Service-Oriented Architecture, http://webservices.xml.com/pub/a/ws/2003/09/30/soa.html (Accessed on: 25th February, 2009)
Service-oriented architecture (SOA) definition, http://www.service-architecture.com/web-services/articles/service-oriented_architecture_soa_definition.html (Accessed on: 25th
John Fronckowiak, SOA Best Practices and Design Patterns, http://www.oracle.com/technologies/soa/docs/soa-bp-design-patterns-whitepaper.pdf (Accessed on: 25th
Microsoft, Enabling "Real World SOA" through the Microsoft Platform, http://www.microsoft.com/downloads/details.aspx?FamilyID=3052c7b2-246e-456b-8e26-08aff6c6bf7c&
DisplayLang=en (Accessed on: 25th February, 2009)
IBM, Extend the value of your core business systems., ftp://ftp.software.ibm.com/software/solutions/pdfs/Transforming_legacy_applications_into_an_SOA_framework.pdf
(Accessed on: 25th February, 2009)
For more information, visit www.rightwaysolution.com, or write to firstname.lastname@example.org.
Corporate Head Office
Rightway Solution (India) Pvt. Ltd.
A/301, 3rd Floor, Smita Tower
Opp. Vishramnagar Garden
Nr. Subhas Chowk
Ahmedabad - 380052
3 of 4