Information Technology Reference
In-Depth Information
which it combines in a logical flow. Applications are integrated at the inter-
face (contract) and not at the implementation level. This allows greater flex-
ibility since applications are built to work with any implementation of a
contract, rather than take advantage of a feature or idiosyncrasy of a par-
ticular system or implementation. For example, different service providers
(of the same interface) can be dynamically chosen based on policies, such
as price, performance, or other QoS guarantees, current transaction volume,
and so on.
Another important characteristic of an SOA is that it allows many-to-many
integration; that is, a variety of consumers across an enterprise can use and
reuse applications in a variety of ways. This ability can dramatically reduce
the cost/complexity of integrating incompatible applications and increase
the ability of developers to quickly create, reconfigure, and repurpose appli-
cations as business needs arise. Benefits include reduced IT administration
costs, ease of business process integration across organizational departments
and with trading partners, and increased business adaptability.
SOA is a logical way of designing a software system to provide services
to either end-user applications or to other services distributed in a network,
via published and discoverable interfaces. To achieve this, SOA reorganizes
a portfolio of previously siloed software applications and support infra-
structure in an organization into an interconnected collection of services,
each of which is discoverable and accessible through standard interfaces and
messaging protocols. Once all the elements of an SOA are in place, existing
and future applications can access the SOA-based services as necessary. This
architectural approach is particularly applicable when multiple applications
running on varied technologies and platforms need to communicate with
each other.
The essential goal of an SOA is to enable general-purpose interoperability
among existing technologies and extensibility to future purposes and archi-
tectures. SOA lowers interoperability hurdles by converting monolithic and
static systems into modular and flexible components, which it represents as
services that can be requested through an industry standard protocol. Much
of SOA's power and flexibility derives from its ability to leverage standards-
based functional services, calling them when needed on an individual basis
or aggregating them to create composite applications or multistage business
processes. The building-block services might employ preexisting components
that are reused and can also be updated or replaced without affecting the
functionality or integrity of other independent services. In this latter regard,
the services model offers numerous advantages over large monolithic appli-
cations, in which modifications to some portions of the code can have unin-
tended and unpredictable effects on the rest of the code to which it is tightly
bundled. Simply put, an SOA is an architectural style, inspired by the service-
oriented approach to computing, for enabling extensible interoperability.
SOA as a design philosophy is independent of any specific technology,
for example, Web Services or J2EE. Although the concept of SOA is often
Search WWH ::




Custom Search