Skip to main content

Application Integration::Federation application pattern::Runtime patterns

Federation application pattern::Runtime pattern

Federation::Runtime pattern Application Server / Services Data Server Services Data Server Services Data Integration
Design Last Updated: 10-20-2004
(Click a node to get a detailed explanation.)

The Data Integration node is at the core of the Federation runtime pattern. It contains the knowledge and functionality that enables real-time access to and manipulation of data in disparate locations and formats across multiple Data Server/Services nodes. The function of the Data Integration node is invoked by an Application Server/Services node, which may be entirely separate, or integrated with the Data Integration functionality.

A Data Server/Services node is a generic data storage node that provides managed, persistent storage of any type of data and a means to directly access and manipulate that data. The data may be stored in files and accessed through file I/O routines or may be stored in a database with more structured and managed access methods.

The flow is as follows:

  1. A requesting application makes a query of data from the "federated" data source, for example, a simple SQL Select request.
  2. The Data Integration node processes the request, and utilizing its metadata (which defines the data sources) passes on the requests to the appropriate data sources.
    In many cases, the data integration/federation logic within the Data Integration node may be logically separate from the data connector logic. This data connector logic spreads out the overhead of making the query to multiple data sources, allowing the queries to run in parallel against each database. When performance is of major concern, multiple logical data connectors may exist to process queries against a single data source - the idea here being to prevent any single node in the process from becoming a bottleneck if too many requests run against one data source.
  3. In all cases, the results that are returned from each individual data source must then be aggregated and normalized by the data integration layer so that these results appear to be from one "virtual" data source.
  4. The results are then sent back to the requesting application, which has no idea that multiple data sources were involved.

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:

Data Integration

A data integration node is a specialized application or data server that is optimised for real-time access (read-only or sometimes read/write) to remote data sources, understanding how to access diverse data structures and stores and how to manipulate and process the resulting data. A data integration node typically operates in an "on-line" mode, allowing real-time access to remote data sources either for users, as part of a business process, or for applications, as part of a business or population process.

Data Server/Services

A Data Server/Services node is a generic data storage node that provides managed, persistent storage of any type of data and a means to directly access and manipulate that data. The data may be stored in files and accessed through file I/O routines or may be stored in a database with more structured and managed access methods.