25.01.2015 Views

Cost-Based Optimization of Integration Flows - Datenbanken ...

Cost-Based Optimization of Integration Flows - Datenbanken ...

Cost-Based Optimization of Integration Flows - Datenbanken ...

SHOW MORE
SHOW LESS
  • 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 Preliminaries and Existing Techniques<br />

integration flow. Second, the flow meta model describes the operational aspects in terms<br />

<strong>of</strong> the control flow and the data flow.<br />

Message Meta Model<br />

Assume a sequence 2 <strong>of</strong> incoming messages M = {m 1 , m 2 , . . . , m n } that is processed by an<br />

integration flow. We model each message m i as a (t i , d i , a i )-tuple, where t i ∈ Z + denotes<br />

the incoming timestamp <strong>of</strong> the message, d i denotes a semi-structured (self-describing) tree<br />

<strong>of</strong> name-value data elements that represents the payload <strong>of</strong> the message, and a i denotes a<br />

list <strong>of</strong> additional, atomic name-value attributes, which is used for meta data and message<br />

protocol information.<br />

Example 2.3 (Order Message). We assume a simple order message that has been received<br />

from a Web shop in the form <strong>of</strong> a proprietary binary message. This message has been<br />

transformed into an internal XML representation by an inbound adapter:<br />

ti = 61238178981000 //Fr Jun 25 7:16:21 2010<br />

di = "<br />

7000000<br />

1001<br />

2010-06-25<br />

398.80<br />

<br />

<br />

109 4.0<br />

49.95 1<br />

Color: blue<br />

<br />

<br />

57 1.0<br />

199.00 1<br />

<br />

<br />

"<br />

ai = msgtype,<br />

"web_order";<br />

RcvPort, "5010"’;<br />

RcvAdapter, "WSO";<br />

We received this message at timestamp t 1 = 61238178981000 (Fr Jun 25 7:16:21 2010).<br />

The content <strong>of</strong> the message is represented by the semi-structured tree <strong>of</strong> data elements d i ,<br />

which includes the general order information as well as two detailed orderlines. Finally,<br />

the list a i <strong>of</strong> key/value pairs is used to hold meta data such as the message type that has<br />

been annotated by the configured inbound adapter instance.<br />

Using the tree <strong>of</strong> name-value data elements d i , we can represent heterogeneous data<br />

formats and all operators can be realized according to this internal representation.<br />

2 We use the term sequence for finite and infinite sequences (or synonymously streams) <strong>of</strong> incoming<br />

messages. In case <strong>of</strong> infinite sequences, we have n = ∞.<br />

22

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!