Introduction<o>
SOA
is an architectural style that enables the creation of applications
that are built by combining loosely coupled and interoperable services.
These services inter-operate based on a formal interface definition
that is independent of the underlying platform and programming
language. Web services technology is a collection of standards
(or emerging standards) that can be used to implement an SOA. Web
services technology is vendor- and platform-neutral, interoperable, and
supported by many vendors today.<o>
<o>
Problem with existing approach<o>
IT
departments are managing increasingly complex IT portfolios. Yet as
business needs change, these departments must still ensure that their
technologies remain aligned with business goals. This results in many
applications that may or may not be integrated with existing
architecture. Also results in redundant infrastructure solutions of
functionalities and applications which increase the complexity and cost
for IT. It becomes very hard or impossible to modify this portfolio to accommodate changes in business process.
As a consequence system architects around the world agreed upon concept of SOA to address the existing challenges.
<o>
What is SOA?<o>
<o>
Service
orientation is an approach to organizing distributed IT resources into
an integrated solution that breaks down information silos and maximizes
business agility. Service orientation modularizes IT resources,
creating loosely coupled business processes that integrate information
across business systems.
Service
Oriented Architecture (SOA) ultimately enables the delivery of a new
generation of dynamic applications (sometimes called composite
applications). These applications provide end users with more accurate
and comprehensive information and insight into processes, as well as
the flexibility to access it in the most suitable form and presentation
factor, whether through the Web or through a rich client or mobile
device. Dynamic applications are what enable businesses to improve and
automate manual tasks, to realize a consistent view of customers and
partner relations, and to orchestrate business processes that comply
with internal mandates and external regulations. The net result is that
these businesses are able to gain the agility necessary for superior
marketplace performance.
<o>
But, in real world SOA means different things to different level. IBM is defining as follows:<o>
A service
is representative of a repeatable business task. Services are used to
encapsulate the functional units of an application by providing an
interface that is well defined and implementation independent. Services
can be invoked (consumed) by other services or client applications.
Service orientation defines a method of integrating business applications and
<o>
SOA: "From a business perspective, SOA defines a set of business services
composed to capture the business design that the enterprise wants
to expose internally, as well as its customers and partners. From an
architecture perspective, SOA is an architectural style that supports
service orientation. At an implementation level, SOA is fulfilled using
a standards based infrastructure, programming model and technologies
such as Web services. From an operational perspective, SOA includes a
set of agreements between service consumers and providers that specify
the quality of service, as well as reporting on the key business and IT
metrics.".
References:<o>
<o>
[1] SOA Foundation Service Creation Scenario Redbooks [Pg: 3-22].<o>
[2] Microsoft Architect Journal: Journal 1 [pg: 10-17].<o>
[3] Microsoft Architect Journal: Journal 2 [pg: 11-32].<o>
[4] http://www.microsoft.com/biztalk/solutions/soa/overview.mspx
[5] http://www.microsoft.com/biztalk/solutions/soa/soafaq.mspx
[6] http://www.cbdiforum.com [CBDI]<o>
[7] http://www.msdn.com
<o>