Harmony:
An Distributed Object Query Service

Modern software artifacts consist of components that cooperate. A middleware layer separates the front ends of an application from its back ends. This gives rise to location and implementation transparency. In other words, changes to component implementations or component relocation do not affect the clients. This reduces the complexity of applications and promotes interoperability. CORBA is a standard specification of such a middleware layer, which has gained considerable attention in recent years, also from industry. It specifies a communication infrastructure for arbitrary heterogeneous components of distributed systems. Furthermore, it defines a set of basic system services and standard components. One service that is of particular interest from an information system point of view is the Object Query Service (OQS). The OQS allows for declarative access to heterogeneous storage systems.

Modern software artifacts consist of components that cooperate. A middleware layer separates the front ends of an application from its back ends. This gives rise to location and implementation transparency. In other words, changes to component implementations or component relocation do not affect the clients. This reduces the complexity of applications and promotes interoperability. CORBA is a standard specification of such a middleware layer, which has gained considerable attention in recent years, also from industry. It specifies a communication infrastructure for arbitrary heterogeneous components of distributed systems. Furthermore, it defines a set of basic system services and standard components. One service that is of particular interest from an information system point of view is the Object Query Service (OQS). The OQS allows for declarative access to heterogeneous storage systems.

Accepting the importance of CORBA and the Object Query Service specification as a given, we for our part have designed and realized an implementation of this service called Harmony. The aim of the Harmony prototype is to investigate the feasibility, the techniques, and the architectures for higher level object management in distributed systems. We are interested in how middleware services can export database functionality over data in external repositories. The Harmony system serves us as vehicle to investigate especially query optimization and execution techniques for such open, heterogeneous environments.

Harmony's main technical characteristics are data-flow evaluation, bulk-transfer, and intra-query parallelism: internally, Harmony evaluates a query in a dataflow manner according to an execution plan. Each operation of the plan corresponds to a QueryableCollection object instantiated before evaluating the query. These objects actually implement the query algebra operators of Harmony. In addition to the usual operators, the query algebra includes meta operators. Meta operators do not change the data stream, but perform some control function. This allows us to introduce bulk transfer and intra-query parallelism.

References

Lukas Relly and Uwe Röhm, Plug and Play: Interoperability in Concert. In: A. Vckovski et al. (Eds.), Interoperating Geographic Information Systems, Proceedings of the 2nd International Conference, INTEROP'99, pages 277-291, Zurich, Switzerland, March 10-12, 1999.

Uwe Röhm and Klemens Böhm, Working Together in Harmony - An Implementation of the CORBA Object Query Service and its Evaluation. In: M. Kitsuregawa et al. (Eds.), Data Engineering, Proceedings of the 15th International Conference, ICDE99, pages 238-247, Sydney, Australia, March 23-26, 1999.

contacts: Prof. H.-J. Schek

!!! Dieses Dokument stammt aus dem ETH Web-Archiv und wird nicht mehr gepflegt !!!
!!! This document is stored in the ETH Web archive and is no longer maintained !!!