All runtime elements of architecture reside in this layer. Effectively, this layer can conceptually be thought of as the runtime or deployment time of the solution. If we conduct a thought experiment and “freeze” the operations within this layer in a frame of time and expand it out, we will discover the separation of concerns that tend to cluster building blocks within the architecture: the aspects most closely connected with the consumption of the services, the processes that are choreographed into a flow, the services whose interfaces are exposed for consumption, the Service Components that will ultimately be used to realize the implementation of the services, along with the other four major cross-cutting and supporting concerns (integration, information, Quality of Service (QoS) factors, and governance).
This layer describes the runtime and deployment infrastructure; the programs, platforms, application servers, containers, runtime environments, packaged applications, virtual machines, etc. that are on the hardware and are needed to support the SOA solution. These specifically include:
This layer represents a “snapshot” and logical categorization and generalization of the runtime environment. As such, this layer supports all the capabilities of the infrastructure that are needed for running/executing all software. Therefore, this layer supports the execution of the capabilities and responsibilities of the other layers of the SOA RA, including the components implementing the services; i.e., those components that a service relies on for providing it with its functional capabilities.
For example, if we have a capability for an SOA that involves systems using mainframe and J2EE platforms, the Operational Systems Layer would instantiate the necessary Architecture Building Blocks (ABBs) in the Integration Layer and Service Component Layer and the underlying mainframe and J2EE components which provide the functional capability.
We can express this as a formula such as:
Operational Systems Layer = [Infrastructural elements of all other layers] + [Underlying infrastructure to run the infrastructural elements (i.e., Operating Systems, etc.)] + [Elements that realize the Functional Components of services]
Thus this layer provides the building blocks supporting the operational systems which implement the functional capabilities of the other horizontal layers and the supporting/cross-cutting layers. In particular, the capabilities supported by this layer include providing operational and runtime hosting, infrastructure services and infrastructure virtualization, functional delivery support including support for service implementations, and realizations.
This layer represents the intersection point between the actual runtime infrastructure and the rest of the SOA which runs on that infrastructure. In addition, it is the integration point for an underlying Infrastructure as a Service (IaaS) construct and the rest of the SOA in the wider context of cloud computing. Key requirements for this layer are outlined in the capability section describing the capabilities provided to fulfill those requirements.
There are multiple categories of capabilities that the Operational Systems Layer needs to support. These categories of capabilities are:
This layer features the following capabilities:
The ABBs responsible for providing these sets of capabilities in the Operational Systems Layer are:
Capability Category |
ABB Name |
Supported Capabilities |
Service Delivery |
Solution Component |
1-4 |
|
Implementation Controller |
5-10 |
|
Integration Layer: Integration Controller |
5 |
|
Applications (Packaged and Custom) |
2, 4 |
|
Legacy System |
4 |
|
Database |
3 |
|
Quality of Service Layer: Policy Enforcer |
|
|
Quality of Service Layer: Access Controller |
2 |
Runtime Environment |
Runtime Hosting Environment |
11-13 |
|
Solution Platform |
12 |
|
Solution Building Block |
15-16 |
|
Deployment Unit |
14 |
Virtualization and Infrastructure Services |
Hardware |
17 |
|
Virtualized Infrastructure |
18-19 |
|
Quality of Service Layer: IT Systems Manager |
20 |
|
Quality of Service Layer: Security Manager |
21 |
ABB to Capability Mapping for the Operational Systems Layer
This ABB represents realization of subsystems that represent logical groupings of functionality and associated functionally cohesive services. Its bill of material contains the Service Component, Functional Components, and Technical Components from the Service Component Layer realizing services that provide well-defined interfaces for the subsystems. For example, it could be an invocation of a legacy component, or an existing or new database request, application, or a component wrapped within a Commercial Off-The-Shelf (COTS) package. Thus, it is a runtime instantiation of a group of cohesive components residing within a subsystem that collectively provide an implementation for a set of related services.
This ABB receives a request to invoke an underlying Solution Component and delegates it to the appropriate Solution Component. It also incorporates logic for composition and decomposition of legacy applications into Solution Components. This is required because historically most legacy applications have not been written with the intent of being elements in an SOA and the service Solution Components within them need to be exposed through service composition and decomposition.
This ABB is responsible for coordinating and brokering or mediating the interactions between the applications, database, security, etc. that need to work in concert to effectively provide a runtime experience.
This ABB represents the applications that are running as units of execution within the runtime environment.
This ABB describes the legacy systems running in the Operational Systems Layer.
This ABB represents the databases running in the Operational Systems Layer.
See Policy Enforcer ABB in the Quality of Service Layer.
See Access Controller ABB in the Quality of Service Layer.
This ABB provides support for operational and runtime services. These include software services such as the operating system instance on which the Solution Platforms run, as well as underlying infrastructural services such as hardware support, memory, storage, networks, etc.
This ABB supports the software environment in which the Solution Components and Solution Building Blocks deploy and run. Examples would be Java Virtual Machines (JVMs) hosting a Service Container Solution Building Block, or a CICS environment.
This ABB represents the runtime component of ABBs from other layers in the SOA RA. Thus, for example, a Mediation ABB from the Integration Layer runs as a Solution Building Block.
This ABB represents an executable application that can be deployed as a single unit (e.g., exe, war, ear, etc.) in the target hosting environment. This ABB is deployed on Solution Platforms.
This ABB represents an abstraction of the physical hardware that is the platform on which Deployment Units are actually deployed and are executing (running).
This ABB supports the utilization of infrastructure in a virtualized manner by the operational and hosting runtime environment. Thus, the use of shared disk space in a cloud environment would be an example.
See IT Systems Manager ABB in the Quality of Service Layer.
See Security Manager ABB in the Quality of Service Layer.
The ABBs in the Operational Systems Layer can be thought of as being logically partitioned into the categories that support:
In the Structural Overview of the Layer diagrams in this specification, the ABBs are color-coded to match the other layers in the architecture that they belong to. For example, in the following diagram the ABBs from the Quality of Service Layer are a dark gray, while the ABBs from the Integration Layer are a black.
ABBs in the Operational Systems Layer
The Solution Component ABB represents realization of subsystems that represent logical grouping of functionality and associated functionally cohesive services. Its bill of material contains the Service Component, Functional Components, and Technical Components from the Service Component Layer realizing services providing well-defined interfaces for the subsystems. Requests are first validated as secure by the Access Controller ABB and Security Manager ABB in the Quality of Service Layer, and then translated into Solution Component ABB requests by the Implementation Controller ABB and executed by the Solution Components in the Solution Platform.
The runtime hosting and operational environment capability is supported by the Solution Platform ABB and Runtime Hosting Environment ABB. Thus, both ABBs from all layers of the SOA RA run as Solution Building Blocks on the Solution Platform hosted by the Runtime Hosting Environments.
The infrastructure services and infrastructure virtualization capability basically is responsible for exposing the underlying infrastructure in an on-demand manner, encapsulating the invoking ORE and enabling rapid scaling.
In the following diagram, the arrows between the ABBs indicate an interaction from one ABB to another.
Relationships among ABBs in the Operational Systems Layer
There is a significant intersection between the Operational Systems Layer and all other layers of the SOA RA as this layer provides the actual runtime environment to the other layers to execute at runtime. It intersects with the rest of the SOA RA including, of course, the cross-cutting and supporting layers, such as the Quality of Service Layer which acts as an aggregation point for monitoring, managing, and securing the runtime environment.
We will summarize this connection below in terms of intersection with the rest of the SOA RA including cross-cutting or supporting layers.
The Operational Systems Layer relies on cross-cutting layers of the architecture to fulfill its responsibilities.
It relies on the Quality of Service Layer for the following capabilities:
It relies on the Information Layer for the following capabilities:
It relies on the Integration Layer for the following capabilities:
It relies on the Governance Layer for the following capabilities:
Key Interactions of Operational Systems Layer with Cross-Cutting Layers
Therefore, Operational Systems Layer interfaces with the following ABBs of cross-cutting layers of the architecture to provide its capabilities:
The Operational Systems Layer provides the runtime environment for other horizontal layers that are more functional in nature. Each of the other horizontal layers – namely, Consumer Layer, Business Process Layer, Services Layer, Service Component Layer – have some functional ABBs and some supporting ABBs that are needed to provide a runtime environment for the functional aspects of the solution. In a nutshell, the functional ABBs of the solution get rendered into a Solution Component in the Operational Systems Layer during runtime, whereas supporting ABBs get rendered into Solution Building Blocks in the Operational Systems Layer during runtime.
Key Interactions of Operational Systems Layer with Horizontal Layers
The capabilities supported by the Operational Systems Layer include enablement of infrastructure services for realizing the SOA; i.e., the (re-)use and composition of assets required as infrastructural elements for running the SOA.
From an SOA perspective, the Operational Systems Layer enables organizations to integrate in a perimeter-less, cross-organizational manner, such as Cloud-based virtualization in the form of SaaS applications which involves the integration of infrastructure services used in the Cloud, and the re-use of existing application assets originating from the diverse portfolio of custom and packaged applications that are running within an organization. This integration in a perimeter-less, cross-organizational fashion enables the foundation for service re-use by allowing the sharing of functionality and supporting capabilities across the portfolio.
In particular, this layer directly influences the overall cost of implementing SOA solutions within enterprises, the alignment and legacy modernization impact of SOA, the re-use of legacy solutions, and the positioning of SOA for next-generation SOA evolution, such as Cloud Computing.
Finally, it is important to note that a service executes its functionality through building blocks that are assets in this layer. For example, a patient record update service that contracts to update patient records does so using different components running in application assets hosted in the Operational Systems Layer.
A number of existing software systems are part of this layer. Those systems include but are not limited to:
Considerations when using this layer include:
When dealing with virtualized infrastructure, it is important to consider the following:
As described in the first paragraph, the Operational Systems Layer supports all the capabilities of the infrastructure that are needed for running/executing all software. Therefore, this layer supports the execution of the capabilities and responsibilities of the other layers of the SOA RA, including the components implementing a service itself and the components that provide the SOA capabilities like Service Container ABB from the Services Layer, Data Transformer ABB from the Integration Layer, Process Flow Manager ABB from the Business Process Layer, etc.
The Solution Building Block in the Operation Systems Layer is defined as representing the runtime component of ABBs from other layers in the SOA RA. Thus, for example, a Protocol Conversion ABB in the Integration Layer runs as a Solution Building Block in the Operational Systems Layer. But a business service, such as Get Customer Information, runs ultimately as a Solution Component.
In the description of the various layers this infrastructural support from a deployment perspective will be mentioned several times. The service container component will be introduced in the Services Layer, but will actually contain/deploy components from both the Services Layer and the Service Component Layer. All runtime building blocks from the other layers will be deployed directly as Solution Building Blocks, as mentioned above.
In Deployment View of the SOA RA this deployment view of the SOA RA is visualized.
Deployment View of the SOA RA
The light gray colored building blocks are from the Operational Systems Layer. The dark gray colored building blocks are partly generalized building blocks from the other layers.