next up previous
Next: Syntax of the Up: The Experimental Implementation Previous: Expert Query Tracing

Generic Wrapper Design

 

Wrappers are software modules that are responsible for connecting individual information sources to external users. In the DIOM system, a wrapper receives and translates instructions written in the DIOM-IQL language into executable local repository commands. For example, a wrapper to Oracle DBMS receiving a DIOM-IQL query will translate the IQL into the Oracle SQL equivalent using the local equivalent relations and attribute names. The subquery execution module then sends the query to the local manager for local execution. The local query result packaging module takes the returned result which is in local format and normalizes the data into a DIOM-specific data format. Depending on the functionality of the local repository the wrapper may have to perform different amounts of processing (e.g., text based records would require all processing done by the wrapper vs. database repository where much processing can be done by the repository).

In order to support semi-automatic generation of wrappers, the wrapper software module consists of a two-tier design: the generic wrapper function suite and the source-dependent wrapper function suite. All wrappers support the generic function suite which is then mapped to the source-dependent functions. The generic function suite for the wrapper design is grouped into query, update, and wrapper metadata functions. Each of these functions is in turn composed of lower level functions. Only those methods that are local to the repository need to be re-implemented.

The primary difference between the various Diorama wrappers (e.g., wrapper to Oracle vs. wrapper to Lycos) lies in the connection complexity of the generic wrapper functions to the source-dependent functions and the amount of processing that a wrapper does compared to the local source.





Ling Liu
Thu Aug 15 17:49:43 MDT 1996