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...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
2.1 <strong>Integration</strong> <strong>Flows</strong><br />
execution. During execution <strong>of</strong> these flows, the outbound adapters are used as services<br />
(gateways) in order to actively invoke external systems, where they transform the internal<br />
format back to the proprietary message representations. The inbound and outbound<br />
adapters hide syntactic heterogeneities <strong>of</strong> external systems, while structural heterogeneities<br />
are addressed by schema transformation as part <strong>of</strong> the plan execution within the process<br />
engine. Note that each supported proprietary application, data format or standard protocol<br />
requires such specific inbound and outbound adapters. This concept <strong>of</strong> inbound and<br />
outbound adapters in combination with the common internal message format (in terms<br />
<strong>of</strong> XML or other tree-structured data representations) is crucial in order to reduce the<br />
complexity <strong>of</strong> such an execution component for two reasons. First, for n incoming formats<br />
and m outgoing formats, we reduced the number <strong>of</strong> required transformation services (e.g.,<br />
for transforming an XML message to a binary EDIFACT message) from n · m to n + m<br />
because we only need individual mappings (transformations) between the internal format<br />
and the sets <strong>of</strong> incoming and outgoing formats. Second, using the common format, all<br />
operators <strong>of</strong> the process engine need only to be realized once, according to this internal<br />
format, and the specific characteristics <strong>of</strong> external systems are hidden from the process<br />
engine by a generic outbound adapter interface.<br />
The deployment <strong>of</strong> integration flows finally combines both the modeling and execution<br />
components. Typically, an XML representation <strong>of</strong> the modeled integration flow is used<br />
in order to transfer the flow specification to the execution component, where the flow<br />
parser is used in order to create an internal plan <strong>of</strong> the integration flow. All analysis<br />
and optimization procedures then work on this plan representation. Finally, the plan<br />
is compiled into an executable form. In this context, we distinguish several different<br />
execution models and approaches that we will discuss in detail in Subsection 2.1.4.<br />
As already mentioned, there are plenty <strong>of</strong> application examples for imperative integration<br />
flows [BH08, CHX08, GGH00, SAP03, MS09, ACG + 08, CEB + 09]. Due to (1) the<br />
high number <strong>of</strong> heterogeneous systems and applications and (2) the continuous change<br />
<strong>of</strong> technology that reasons heterogeneity, the need for efficient integration will constantly<br />
remain in the future.<br />
2.1.3 Modeling <strong>Integration</strong> <strong>Flows</strong><br />
With regard to the overall system architecture, one important aspect is how to model integration<br />
flows. Essentially, we classify existing approaches <strong>of</strong> specification models using the<br />
two criteria (1) flow structure and (2) flow semantics. Figure 2.3 illustrates the resulting<br />
classification <strong>of</strong> integration flow modeling approaches. In contrast to declarative queries<br />
that are specified with descriptive languages, imperative integration flows are typically<br />
specified using prescriptive languages.<br />
Modeling <strong>Integration</strong> <strong>Flows</strong><br />
Structure<br />
Directed<br />
Graph<br />
Hierarchy <strong>of</strong><br />
Sequences<br />
Source<br />
Code<br />
Fixed<br />
Flow<br />
Semantics<br />
data flow control flow data flow control flow control flow control flow<br />
Figure 2.3: Classification <strong>of</strong> Modeling Approaches for <strong>Integration</strong> <strong>Flows</strong><br />
9