The SOA solution stack, shown below, is an SOA reference model depicting the conceptual (high level of abstraction)
view of an SOA solution.
Sometimes referred to as "the SOA layered architecture", this model introduces layers and concepts such as business
process, service, or service component, as well as the relationships between them.
It is independent of the technology used for implementation.

There are five horizontal layers that relate to the overall functionality of the SOA solution. The vertical layers are
nonfunctional in nature and support various concerns that cut across the functional layers.
The five functional layers are as follows (bottom to top):
-
Operational systems: Represents existing IT assets, and shows which IT investments are valuable and can be
leveraged in an SOA.
-
Service components: Realize services, possibly by using one or more applications in the operational systems
layer. As you can see on the model, consumers and business processes do not have direct access to components, but
just services. Existing components can be internally reused, or leveraged in an SOA if appropriate.
-
Services: Represents the services that have been deployed to the environment. These services are governed
discoverable entities.
-
Business Process: Represents the operational artifacts that implement business processes as choreographies
of services.
-
Consumers: Represents the channels that are used to access business processes, services, and applications.
The four nonfunctional layers are (left to right):
-
Integration: Provides the capability to mediate, route, and transport service requests to the correct
service provider.
-
Quality of service: Provides the capability to address the nonfunctional requirements of an SOA (for
example, reliability and availability).
-
Information architecture: Provides the capability to support data, metadata, and business intelligence.
-
Governance: Provides the capability to support business operational life cycle management in SOA.
The SOA solution stack is a partially layered architecture. One layer does not solely depend upon the layer below it;
for example, a consumer can access the business process layer as a service or the service layer directly, but not
beyond the constraints of the SOA architectural style. Further, a solution does not necessarily need to include all
layers. For example, a solution that does not include process choreography would omit the Business Process layer.
Each of the layers is described further in [ARS07] and [PRT07].
|