A Middleware Framework for the Persistence and Querying of Java Objects

This paper presents the adaptable and flexible architecture of a middleware framework for the persistence and querying of Java objects. The framework is composed of two sub-frameworks, each responsible for one aspect: persistence and queries. The persistence framework considers two kinds of objects: Memory instances (MI), which represent Java objects holding the data to be made persistent, and Data Store instances (DSI), which represent data items stored within data stores. It thus concentrates on the binding chain between a DSI and an MI, providing the management of the structural projection of persistent objects to a particular data store when performing I/Os. The query framework makes it possible to express, optimize and evaluate queries over heterogeneous data stores and in particular over the persistence framework objects. Query expression is independent of any query language and can be mapped to several standards. The middleware presented in this paper has been integrated in several contexts, thus validating its adaptability and flexibility.

[1]  Sacha Krakowiak,et al.  PerDiS: Design, Implementation, and Use of a PERsistent DIstributed Store , 1999, Advances in Distributed Systems.

[2]  Malcolm P. Atkinson,et al.  Providing Orthogonal Persistence for Java (Extended Abstract) , 1998, ECOOP.

[3]  Ralph E. Johnson Frameworks = (Components + Patterns) -- How frameworks compare to other object-oriented reuse techniques. , 1997 .

[4]  Anura Gurugé,et al.  Universal Description, Discovery, and Integration , 2004 .

[5]  Gio Wiederhold,et al.  Mediators in the architecture of future information systems , 1992, Computer.

[6]  Jennifer Widom,et al.  The TSIMMIS Approach to Mediation: Data Models and Languages , 1997, Journal of Intelligent Information Systems.

[7]  Ronald Morrison,et al.  Preface to special issue on persistent object systems , 2005, The VLDB Journal.

[8]  Ronald Morrison,et al.  Orthogonally persistent object systems , 1995, The VLDB Journal.

[9]  Patrick Valduriez,et al.  Scaling heterogeneous databases and the design of Disco , 1996, Proceedings of 16th International Conference on Distributed Computing Systems.

[10]  Jean-Bernard Stefani,et al.  Jonathan: an open distributed processing environment in Java , 1999, Distributed Syst. Eng..

[11]  Malcolm P. Atkinson,et al.  Design Issues for Persistent Java: A Type-Safe, Object-Oriented, Orthogonally Persistent System , 1996, POS.

[12]  Luis Gravano,et al.  The Stanford Digital Library metadata architecture , 1997, International Journal on Digital Libraries.

[13]  Hamid Pirahesh,et al.  Extensible query processing in starburst , 1989, SIGMOD '89.

[14]  Ralph E. Johnson,et al.  Frameworks = (components + patterns) , 1997, CACM.

[15]  Mary Roth,et al.  Don't Scrap It, Wrap It! A Wrapper Architecture for Legacy Data Sources , 1997, VLDB.

[16]  Laura M. Haas,et al.  Transforming Heterogeneous Data with Database Middleware: Beyond Integration , 1999, IEEE Data Eng. Bull..

[17]  R. G. G. Cattell,et al.  Recent books , 2000, IEEE Spectrum.

[18]  Stanley B. Zdonik,et al.  A query algebra for object-oriented databases , 1990, [1990] Proceedings. Sixth International Conference on Data Engineering.

[19]  Ronald Morrison,et al.  An Approach to Persistent Programming , 1989, Comput. J..