In this work, so-called federated functions are built by interconnecting function calls to different application systems in a distributed and heterogeneous environment. These federated functions are realized as workflows, whereas the activities of the workflows are responsible for invoking the single functions.
The workflows will be integrated into a federated database system by means of wrappers, and table functions respectively. For the wrapper approach, the SQL/MED standard will be utilized, which provides the notion of foreign tables representing external data, i.e. in this case the result data of workflows. The standard provides an interface, which has to be used to implement wrapper executables that are responsible for supplying the foreign tables with external data.
In contrast to SQL/MED, the table function approach is not based on such an elaborated standard because a standardized interface for the implementation of table function executables is missing. Only the DDL and DML for defining and accessing table functions is specified.
When the FDBS receives a global SQL query referencing a foreign table or a table function, the associated wrapper executable or table function executable respectively are responsible for executing the correct workflow. The workflow then returns the result data from its execution and the executable has to convert and transform this data to correspond with the table format of the foreign table or the table function respectively.
For every workflow a separate wrapper executable has to be implemented. Therefore, the wrapper executable will be structured and divided up into different components. As a result, only some of the wrapper components have to be reimplemented for each workflow. Some components of the wrapper can also be used to build the corresponding table function executable.
In order to further decrease the efforts of implementing wrappers and table functions, a generation approach will be proposed, which minimizes the manual portion in implementing a wrapper. A user just has to specify some information like the format of the table in the federated database system and the mapping from the corresponding data structures in the workflow to this table. Using these specifications the wrapper executable, the table function executable and their associated definitions can be generated automatically.
|