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...

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 />

Table 2.2: Control-Flow-Oriented Operators<br />

Name Description Input Output Complex<br />

Switch<br />

Fork<br />

Iteration<br />

Delay<br />

Signal<br />

Content-based alternative with multiple<br />

paths (if-elseif-else semantics)<br />

Execution <strong>of</strong> multiple parallel subflows<br />

(forklanes)<br />

Loop over a sequence <strong>of</strong> operators<br />

(foreach, while)<br />

Wait until a specific timestamp or<br />

for a specified time, respectively<br />

Initiation <strong>of</strong> a signal, which could be<br />

caught by a specific signal handler<br />

(1,1) (0,0) Yes<br />

(0,0) (0,0) Yes<br />

(0,1) (0,0) Yes<br />

(0,0) (0,0) No<br />

(0,0) (0,0) No<br />

Table 2.3: Data-Flow-Oriented Operators<br />

Name Description Input Output Complex<br />

Assign Value assignment <strong>of</strong> atomic or complex<br />

(0,*) (1,1) No<br />

objects (language: XPath)<br />

Translation Execution <strong>of</strong> schema mappings, in (1,1) (1,1) No<br />

the sense <strong>of</strong> message transformations<br />

(e.g., XSLT, STX, XQuery)<br />

Selection Filtering <strong>of</strong> tuples depending on (1,1) (1,1) No<br />

content-based conditions<br />

Projection Selection <strong>of</strong> attributes depending on (1,1) (1,1) No<br />

a specific attribute list<br />

Join<br />

Join between two input messages (2,2) (1,1) No<br />

w.r.t. a join condition and a join<br />

type<br />

Setoperation Set operations (union, intersection,<br />

(2,2) (1,1) No<br />

difference) <strong>of</strong> two input<br />

messages<br />

Split<br />

Decomposition <strong>of</strong> a large message (1,1) (0,*) No<br />

into multiple smaller messages<br />

Orderby Sorting <strong>of</strong> tuples according to a (1,1) (1,1) No<br />

specified attribute<br />

Groupby Partitioning <strong>of</strong> tuples w.r.t. grouping<br />

(1,1) (1,1) No<br />

attributes and aggregate func-<br />

tions<br />

Window Partitioning <strong>of</strong> tuples for ranking (1,1) (1,1) No<br />

and correlations, without grouping<br />

Validate Validation <strong>of</strong> one input message depending<br />

(1,1) (0,0) No<br />

on a specific condition<br />

Savepoint User-defined storage <strong>of</strong> UNDO/ (1,*) (0,0) No<br />

REDO images <strong>of</strong> the input variable<br />

Action Execution <strong>of</strong> arbitrary code snippets (0,1) (0,1) No<br />

24

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

Saved successfully!

Ooh no, something went wrong!