Understanding SOA, ESB and Web Services
Service-oriented architecture (SOA) is an architectural approach
to development that turns traditional techniques upside down. SOA
encourages organizations to think in terms of actual business services
and the associated data, rather than low level technology details.
Rather than developing applications from the ground up, SOA frees
organizations to start with high level business definitions for
data, interfaces, documents, and processes. SOA then maps these
high level service definitions onto new or existing infrastructure,
regardless of the details, location, or programming language in
which systems were written.
Business Agility: The Driving Force for Service-Oriented Architecture
Organizations in all sectors of business and government are pursuing
Service Oriented Architecture initiatives in response to their need
for increased business agility. Over the past decades, organizations
have built, purchased, and customized infrastructure and business
applications to the point that their challenge is no longer in automating
a particular point business function, but in accessing data and
functionality in these systems more efficiently, and combining functionality
from multiple systems to more closely represent their true, composite,
business processes. Implementation of a Service-Oriented Architecture
enables companies to better leverage their existing technology assets,
gain increased transparency into their data and processes in real-time,
synchronize redundant systems, and map new and existing business
processes onto their myriad systems to seamlessly align their IT
infrastructure with their business needs.
SOA: The Architectural Approach
SOA refers to defining services or interfaces - usually coarse grained
business services, such as "issue a purchase order", for
example - as reusable pieces of software that can be invoked by
other applications and combined in a loosely coupled manner to model
complete business processes. The concept of SOA is not new. In fact,
there have been many enabling technologies for building SOA over
the years, including CORBA, DCOM, and even MQSeries. These technologies
provided advancements at the time, but were limiting in a number
of ways. So why all the fuss over Web services as an enabler for
SOA?
Download Principles of SOA Design whitepaper.
Web services: The Enabling Technology for SOA
"Web services" describes a standardized way of constructing
and integrating applications using open standards over an Internet
backbone. What makes the application of Web services as an enabling
technology for SOA so powerful is that for the first time we have
an underlying mechanism that uses well defined, standardized interfaces,
effectively freeing the calling program from the need to deal with
the intricacies of the underlying applications. Web services are
self-describing, use widely accepted standards, and are accessible
over a wide variety of transports, including (and especially) HTTP.
An exciting by-product of the prevalence of Web services is that
new standards are being rapidly developed and adopted to describe
functionality that has previously been available only through proprietary
protocols. As an example, proprietary Business Process Modeling
(BPM) products, which require specialized developer skill-sets and
force vendor lock-in, have been commercially available for years.
Recently though, all of the major software vendors have converged
around the Business Process Execution Language (BPEL4WS) standard
put forth by the OASIS standards committee, providing a welcome,
Web services standards-based alternative for creating sophisticated
business processes (including long running, asynchronous processes).
Similarly, the WS-ReliableMessaging standard provides guaranteed
message delivery through the use of Web services and XML over HTTP,
enabling standards-based message delivery inside and across the
firewall, providing a complement or even a replacement to JMS. Development
and widespread adoption of additional standards are providing Web
services based alternatives to the variety of proprietary functionality
on the market, providing lower cost, simpler ways to harness your
IT assets, without requiring vendor lock-in or proprietary developer
skill-sets. As one leading industry analyst recently wrote, "the
use of the Web services stack as a cheaper, simpler EAI alternative
is a no-brainer."
Read more on Web services.
Enterprise Service Bus: The Product Implementation
The Enterprise Service Bus, or ESB, is a new product category at
the intersection of SOA, application integration, and business process
modeling. The ESB promotes a fast, straightforward way to build
a Service-Oriented Architecture, and provides a standards-based,
simpler approach to application integration. The Enterprise Service
Bus is an infrastructure-agnostic suite of products that provide
Web service enablement, processing, and monitoring capabilities,
graphical data mapping and transformation, routing, and orchestration
capabilities that leverage your existing infrastructure of application
servers, transports, applications, and data. Use of an ESB typically
results in an order of magnitude better ROI than traditional integration
approaches.
To learn more
about Cape Clear ESB, download the ESB whitepaper.
If you are interested in finding out more about ESB and SOA, see: