Você está na página 1de 5

Service Oriented Architecture (SOA)

Service-oriented architecture (SOA) is an approach to loosely coupled, protocol


independent, standards-based distributed computing where software resources available
on the network are considered as Services.

SOA is believed to become the future enterprise technology solution that promises the
agility and flexibility the business users have been looking for by leveraging the
integration process through composition of the services spanning multiple enterprises.

Characteristics
• The software components in a SOA are services based on standard protocols.
• Services in SOA have minimum amount of interdependencies.
• Communication infrastructure used within an SOA should be designed to be
independent of the underlying protocol layer.
• Offers coarse-grained business services, as opposed to fine-grained software-
oriented function calls.
• Uses service granularity to provide effective composition, encapsulation and
management of services.

Service Granularity
Service granularity refers to the scope of functionality a service exposes. Fine-grained
services provide a small amount of business-process usefulness, such as basic data
access. Coarse-grained services are constructed from fine-grained services that are
intelligently structured to meet specific business needs.

Service Composition

Service Management
There are three levels of service management
• Management of the services and their interfaces

Service Oriented Architecture – Paras Verma - 1 -


• Management of the underlying system
• Management of the interaction between the services and the underlying system

SOA Meta-Model
SOA is a form of enterprise architecture and can be represented using models. SOA
meta-model is a model that contains the following three models.

Differences: SOA vs. Existing Model Driven Architecture (MDA)

SOA is an alternative model to the more traditionally tightly-coupled object-oriented


models like Common Object Request Broker Architecture (CORBA) and Distributed
Component Object Model (DCOM). In SOA individual services can be build with object-
oriented designs but the overall design of SOA is service-oriented.

SOA today differs in the usage of a more generic standard-based interface language
XML (eXtensible Markup Language) used in Web Services Definition Language (WSDL)
compared to the older Interface Definition Language (IDL) found in CORBA.

SOA is based on the concept of using services that can communicate through standard
protocols like SOAP allowing a more loosely coupled architecture. In older models
objects were more tightly coupled due to the usage of vendor specific communication
standards.

IBM’s MQSeries is yet another message-oriented middleware system but it lacks the
organized workflow definition required for the services to interoperate. SOA supports the
composition of coarse-grained services from fine-grained services to provide a business
solution in an easily deployable and usable manner. For interoperability of services
spanning multiple enterprises, SOA should provide service level agreements and
operational policies.

Web Services and SOA


Web Services are an open standards-based way of creating and offering SOAs.

Web Services are able to exchange structured documents that contain different amounts
of information, as well as information about that information, known as metadata. In
other words, Web Services can be coarse grained. Such coarse granularity is one of the
most important features of SOAs.

SOA Implementation Framework

Service Oriented Architecture – Paras Verma - 2 -


Service-Oriented Architecture Implementation Framework (SOAIF) provides the run-time
deployment infrastructure for SOA across the network by incorporating all the software
required to develop, deploy, secure, manage, and extend service-oriented processes
and solutions.

SOA Implementation Framework

Enterprise Service Bus (ESB)


ESB is the backbone of SOA that acts as a message broker providing a message
queuing system using industry standard specifications for messaging such as SOAP, or
JMS (Java Message Service).

Expert Sally Hudson, an IDC analyst, describes the Enterprise Service Bus as an open
standards-based messaging means designed to provide interoperability between larger-
grained applications and other components via simple standard adapters and interfaces.

ESB Architecture

Service Oriented Architecture – Paras Verma - 3 -


ERP .NET Web Services

Transformation Connection
(XSLT) JCA SOAP/ SOAP/ Layer
HTTP HTTP

Communication
Reliable Asynchronous Secure Messaging Layer

SOAP/HTTP
JMS Connection
C/C++ Legacy Layer
J2EE
Application

Re-architecture to SOA
Encapsulate software components, applications and underlying systems with Web
Services interfaces

Compose (virtualizing) these fine-grained functional Web Services into coarse-grained


business services

Benefits
• Provides location independence: Services need not be associated with a
particular system on a particular network
• Protocol-independent communication framework renders code reusability
• Offers better adaptability and faster response rate to changing business
requirements
• Allows easier application development, run-time deployment and better service
management
• Loosely coupled system architecture allows easy integration by composition of
applications, processes, or more complex services from other less complex
services
• Provides authentication and authorization of Service consumers, and all security
functionality via Services interfaces rather than tightly-coupled mechanisms
• Allows service consumers (ex. Web Services) to find and connect to available
Services dynamically

Why Not SOA


• For a stable or homogeneous enterprise IT environment, SOA may not be
important or cost effective to implement.
• If an organization is not offering software functionality as services to external
parties or not using external services, which require flexibility and standard-
based accessibility, SOA may not be useful.
• SOA is not desirable in case of real time requirements because SOA relies on
loosely coupled asynchronous communication.

Self Management Using SOA

Service Oriented Architecture – Paras Verma - 4 -


Web Services now lack workflow support, asynchronous communication and standards
for efficient interoperability, dynamic integration and deployment which can be provided
using SOA.

SOA leverages the management functionality of the services in its implementation


framework which can be effectively used to provide better self-management for the
services within the infrastructure.

Service Oriented Architecture – Paras Verma - 5 -

Você também pode gostar