Service Oriented Architecture
Service
oriented architecture expresses a software architecture that
defines the use of loosely coupled software services to support the
requirements of the business processes. Resources on a network in
an SOA environment are made available as independent services that
can be accessed without knowledge of their underlying platform implementation.
A service oriented architecture is not tied to a specific technology.
It may be implemented using a wide range of technologies, or Web Services.
SOA can be implemented,
using a file system mechanism to communicate data conforming
to a defined interface specification between processes conforming
to the SOA concept. The key is independent services with defined interfaces
that can be called to perform their tasks in a standard way, without
the service having knowledge of the calling application, and without
the application having knowledge of how the service actually performs
its tasks.
SOA
can also be regarded as a style of information systems architecture
that enables the creation of applications that are built by combining
loosely coupled and inter operable services. These services operate
based on a formal definition that is independent of the underlying
platform and programming language. The interface definition hides
the implementation of the language-specific service. SOA based systems
can therefore be independent of development technologies and platforms.
Services written in C# running on .Net platforms and services written
in Java running on Java EE platforms, for example, can both be consumed
by a common composite application. Applications running on either
platform can also consume services running on the other as Web services
SOA Web Services
SOA
may be built on Web services standards that have gained broad industry acceptance.
These standards, referred to as web service specifications, also provide
greater operation and some protection from lock in to proprietary
vendor software. One can, however, implement SOA using any service
based technology.
Service
oriented architecture is often defined as services exposed using the
Web Services Protocol . The base level of
web services standards relevant to SOA includes the following:
The
web service does not necessarily need to use any or all of these standards
to be service oriented. For example, some service oriented systems
have been implemented using Corba, Jini and REST.
SOA
can support integration and consolidation activities within complex
enterprise systems, but SOA does not specify or provide a methodology
or framework for documenting capabilities or services.