INTRODUCING SOA
Service Oriented Architecture (SOA)
A Service-Oriented Architecture or SOA is a design pattern which is designed to build
distributed systems that deliver services to other applications through the protocol. It is only a
concept and not limited to any programming language or platform.
What is Service?
A service is a well-defined, self-contained function that represents a unit of functionality. A
service can exchange information from another service. It is not dependent on the state of
another service. It uses a loosely coupled, message-based communication model to
communicate with applications and other services.
Service Connections
The figure given below illustrates the service-oriented architecture. Service consumer sends a
service request to the service provider, and the service provider sends the service response to
the service consumer. The service connection is understandable to both the service consumer
and service provider.
Service-Oriented Terminologies
Let's see some important service-oriented terminologies:
o Services - The services are the logical entities defined by one or more published
interfaces.
o Service provider - It is a software entity that implements a service specification.
o Service consumer - It can be called as a requestor or client that calls a service
provider. A service consumer can be another service or an end-user application.
o Service locator - It is a service provider that acts as a registry. It is responsible for
examining service provider interfaces and service locations.
o Service broker - It is a service provider that pass service requests to one or more
additional service providers.
Defining SOA
o Now that we've finished covering characteristics, we can finalize our formal
definition.
o Contemporary SOA represents an open, agile, extensible, federated, composable
architecture comprised of autonomous, QoS-capable, vendor diverse, interoperable,
discoverable, and potentially reusable services, implemented as Web services.
o SOA can establish an abstraction of business logic and technology that may introduce
changes to business process modeling and technical architecture, resulting in a loose
coupling between these models.
o SOA is an evolution of past platforms, preserving successful characteristics of
traditional architectures, and bringing with it distinct principles that foster service-
orientation in support of a service-oriented enterprise.
o SOA is ideally standardized throughout an enterprise, but achieving this state requires
a planned transition and the support of a still evolving technology set.
o Though accurate, this definition of contemporary SOA is quite detailed. For practical
purposes, let's provide a supplementary definition that can be applied to both
primitive and contemporary SOA.
o SOA is a form of technology architecture that adheres to the principles of service-
orientation. When realized through the Web services technology platform, SOA
establishes the potential to support and promote these principles throughout the
business process and automation domains of an enterprise.