Skip to main content

Application Integration::Direct Connection application pattern::Runtime patterns

Overview

On this page, two categories of Runtime patterns are described:

Generic DC runtime patterns

When using the Direct Connection runtime pattern, shown in the first figure below, the source application uses a connector to access the target application.

The connector itself may be explicitly or implicitly modeled. If the connector is explicitly modeled, the modeler can use decomposition and abstraction techniques to expand the connector to the appropriate level of detail.

The term Connector may be qualified by both the connector variation and by the interaction variation. Some examples are:

The source and target applications both rely on services provided by their respective hosting servers. These are modeled using the Application Server/Services component.

The Rules Directory and Domain QoS Providers may or may not exist. If they do exist, it is a modeling decision as to whether they need to be shown in the Runtime pattern. For example, analysis may determine that connection rules are not an important part of the solution, so the Rules Directory may be left off the Runtime pattern.


Direct Connection runtime pattern

Direct Connection runtime pattern Two Application Server / Services nodes are connected via a Connector node. Additionally a Rules Directory node and a Domain QoS Providers may or may not exist. Application Server / Services Connector Application Server / Services Rules Directory Domain QoS Provider
Design Last Updated: 10-20-2004
(Click a node to get a detailed explanation.)

The basic Direct Connection runtime pattern allows integration between a source and target application that use different protocols using a single adapter connector. Direct Connection using a single adapter connector is shown in the figure below.


Direct Connection using single adapter

Direct Connection using a single adapter Two Application Server / Services nodes are connected via a Adapter Connector node
Application Server / Services Application Server / Services Adaptar Connector
Design Last Updated: 10-20-2004
(Click a node to get a detailed explanation.)

Direct Connection can also be implemented using federated adapters, as shown in the figure below, to improve reuse potential in multiple point to point scenarios. It supports conversion of the request and response into a common protocol between the adapters.


Direct Connection using federated adapters (aka coupling adapters)

Direct Connection using federated adapters (aka coupling adapters) Two Application Server / Services nodes are connected via two federated Adapter Connector nodes
Application Server / Services Application Server / Services Adaptar Connector Adaptar Connector
Design Last Updated: 10-20-2004
(Click a node to get a detailed explanation.)

SOA profile

In this second section we specialize the Direct Connection pattern for the SOA environment using the SOA profile. The SOA profile terminology is indicated using the [SOA] qualifier.


[SOA]Direct Connection

[SOA]Direct Connection
Application Server / Services Application Server / Services Application Server / Services
Design Last Updated: 10-20-2004
(Click a node to get a detailed explanation.)

There are two ways of modelling the service bus. Either as a line as shown or as an elongated node as used for the Enterprise Service Bus in the more advanced patterns. The service bus provides a base SOA pattern. Increasingly an Enterprise Service Bus will be used to realise the service bus supporting multiple Process Integration patterns over a common ESB. The figure above shows a service consumer connected to two other service providers via a simple service bus. The application pattern overlays in the figure above show that multiple Direct Connection application patterns can be deployed using the service bus. The service consumer (or Source Application) can use the service bus to initiate direct connections to two service providers; one to Target Application 1 and the other to Target Application 2.

In order to focus on the service bus concept, we do not explicitly model adapter connectors or connection rules. The service bus concept is, however, an extension of the Direct Connection with federated adapters runtime pattern described above that enables a set of connected Direct Connections. The service bus approach:


[SOA]Direct Connection with federated adapters

[SOA]Direct Connection
Application Server / Services Application Server / Services Application Server / Services Adaptar Connector Adaptar Connector Adaptar Connector
Design Last Updated: 10-20-2004
(Click a node to get a detailed explanation.)

The figure above shows the service bus with the adapter connectors explicitly modelled. The common protocol or format of the service bus is of 'X'-type, and 'X'-type adapter connectors are used to bridge the various service consumers/providers of different types. We call a connected set of 'X'-type adapter connectors such as this an 'X'-type bus. Examples include a HTTP service bus or a JMS service bus.

The service bus can span across multiple system/application tiers, and may extend beyond the enterprise boundary.

A Rules Repository node may also be included to model a service directory, allowing services to be discovered within and outside the enterprise.

You may notice that we don't have separate Runtime patterns for the message and call variations of the Direct Connection application pattern. It is still important to identify that your business scenario requires a message or call application pattern, because you can use this knowledge as a consideration when selecting a Product mapping. In the next section we highlight Product mappings that have a more natural fit to the Application pattern message variation or the Application pattern call variation using both the SOA and Generic runtime patterns.

SOA

The original set of PI patterns is intended to satisfy a wide generic set of integration requirements, not just SOA. The SOA profile specialises these more general patterns for the SOA environment.

App Server/Services

Applications rely on services provided by their hosting server to interact with other applications. These are modeled using the application server/service node. Some examples of services provided by this node include:

Connector

Connectors provide the connectivity between two components. A connector is always present to facilitate interaction between two components.

Depending on the required level of detail, a connector can be:

  • A primitive (or unmodelled) connector, represented by a simple line between components
  • A component (or modelled) connector, represented by a rectangle on a line between components

A connector may be an adapter connector, a path connector, or both. See the following two sections respectively.

Rules Directory

The rules directory contains the rules generally used to control the mode of operation of an interaction, depending on external factors. Examples of such rules are:

  • Business data mapping rules (for adapter connectors)
  • Process execution rules and intermediate results
  • Autonomic rules (such as priority in a shared environment)
  • Security rules
  • Capacity and availability rules

The rules directory may or may not exist. If it exists, it can still be left off the Runtime pattern when analysis determines that interaction rules are not an important part of the solution, for example.

Domain QoS Providers

The integration pattern for a domain is composed of a topology pattern and domain Quality of Service (QoS) providers. Intra-enterprise integration and inter-enterprise integration are both examples of domains. This combination of the topology pattern and QoS providers is used to describe observed patterns in the domain, as follows:
Integration pattern = topology pattern + QoS providers

You can use the QoS capabilities framework to address the particular QoS concerns for the domain:

  • Autonomic
  • Availability
  • Federation
  • Performance
  • Security
  • Standards compliance
  • Transactionality

The domain QoS providers may or may not exist. If one exists, it can still be left off the Runtime pattern when analysis determines that domain QoS providers are not an important part of the solution, for example.

Adapter Connector

Adapter connectors are concerned with enabling logical connectivity. They bridge the gap between the context schema and protocols used by the source and target components. These connectors support the transformation of data and protocols.