Cost-Based Optimization of Integration Flows - Datenbanken ...
Cost-Based Optimization of Integration Flows - Datenbanken ...
Cost-Based Optimization of Integration Flows - Datenbanken ...
- No tags were found...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
2 Preliminaries and Existing Techniques<br />
Message Broker [IBM10], MS Biztalk Server [Mic10], or Oracle SOA Suite [Ora10]. We<br />
generalize this widely-accepted 1 common architecture to a reference architecture for integration<br />
flows in order to survey existing work with regard to modeling, executing, and<br />
optimizing integration flows. Furthermore, this system architecture—which is illustrated<br />
in Figure 2.2—represents the foundation <strong>of</strong> this thesis from a system architecture perspective.<br />
In detail, two major components are relevant: (1) a modeling component for<br />
integration flow specification and (2) a runtime execution component that executes deployed<br />
integration flows.<br />
Modeling [Subsection 2.1.3]<br />
Flow<br />
Designer<br />
Flow<br />
External<br />
System<br />
External<br />
System<br />
External<br />
System<br />
Inbound<br />
Adapter 1<br />
...<br />
Inbound<br />
Adapter n<br />
sync<br />
async<br />
Plan<br />
Process Engine<br />
Scheduler<br />
Outbound<br />
Adapter 1<br />
...<br />
...<br />
Outbound<br />
Adapter k<br />
External<br />
System<br />
External<br />
System<br />
External<br />
System<br />
External<br />
System<br />
Temporary Datastore<br />
Execution [Subsection 2.1.4]<br />
Figure 2.2: Reference System Architecture for <strong>Integration</strong> <strong>Flows</strong><br />
The modeling component is used for specifying complex integration tasks by integration<br />
flows in the form <strong>of</strong> graphs or hierarchies <strong>of</strong> operators and edges. Typically, the<br />
configuration and administration <strong>of</strong> the execution environment is done via this modeling<br />
component as well. From a research perspective, we concentrate only on the specification<br />
<strong>of</strong> integration flows and discuss a classification as well as related approaches and languages<br />
in Subsection 2.1.3.<br />
The execution component consists <strong>of</strong> a set <strong>of</strong> inbound adapters, multiple message queues,<br />
an internal scheduler (for time-based integration flows), a central process execution engine,<br />
a set <strong>of</strong> outbound adapters, and a temporary data store (persistence <strong>of</strong> messages and<br />
configuration meta data). The inbound adapters listen for incoming messages, transform<br />
them into a common format (e.g., XML), and either append the messages to inbound<br />
queues (in case <strong>of</strong> asynchronous flow execution) or directly forward them to the process<br />
engine (in case <strong>of</strong> synchronous flow execution). Typically, those inbound adapters are<br />
realized as decoupled listener threads (e.g., a TCP Listener) or standard APIs (e.g., an<br />
HTTP implementation). Existing integration platforms provide many different technical<br />
and application-level adapters for domain-specific data exchange standards such as HL/7<br />
(Health Level 7) [hl707] or DICOM (Digital Imaging and Communications in Medicine)<br />
[dic09] and proprietary system APIs (e.g., SAP R/3). Within the process engine, compiled<br />
plans <strong>of</strong> deployed integration flows are executed. For this purpose, this engine includes<br />
a flow parser for the deployment <strong>of</strong> integration flows and a runtime environment for the<br />
1 There are plenty <strong>of</strong> existing application integration platforms. For a detailed survey <strong>of</strong> the major<br />
products, we refer the interested reader to a related study conducted by the market research organization<br />
Gartner [TSN + 08] and to a survey on SQL support in workflow products [VSRM08].<br />
8