MetaCart Sign in to MyCiteSeerX

Include Citations | Advanced Search | Help

Disambiguated Search | Include Citations | Advanced Search | Help

Safe Query Objects: Statically-Typed Objects as Remotely-Executable Queries

by William Cook ,  Siddhartha Rai
Add To MetaCart

Abstract:

When building scalable systems that involve general-purpose computation and persistent data, object-oriented languages and relational databases are often essential components. Yet the impedance mismatch between these technologies has not been completely overcome by existing integration approaches. Call level interfaces like ODBC and JDBC are an unsafe and fragile form of metaprogramming: database queries are constructed at runtime as strings and executed as programs against the database engine. Object/relational mapping and persistent object systems do not support query shipping, in which complex queries are sent to the database for execution. This paper presents safe query objects, an integrated approach to impedance mismatch that allows query behavior to be defined using statically-typed objects and methods. In addition, safe query objects support query shipping by automatically generating code to execute queries remotely in a relational database. A concrete implementation of this solution is presented using the OpenJava macro language and Java Data Objects.

Citations

131 Orthogonally persistent object systems – ATKINSON, R - 1995
77 Domain Specific Embedded Compilers – Leijen, Meijer - 1999
62 Performance tradeoffs for client-server query processing – Franklin, Jonsson, et al. - 1996
60 OpenJava: A Class-based Macro System for Java – Tatsubori, Chiba, et al. - 2000
52 Static Checking of Dynamically Generated Queries in Database Applications – GOULD, SU, et al. - 2004
46 N.: MOCHA: a selfextensible database middleware system for distributed data sources – Rodriguez-Martinez, Roussopoulos - 2000
45 Accomplishments and research challenges in metaprogramming – Sheard
43 Computation migration: Enhancing locality for distributed-memory parallel systems – Hsieh, Wang, et al. - 1993
24 Issues in the design of object-oriented database programming languages – Bloom, Zdonik
21 Implementation of multiple specialization in logic programs – Puebla, Hermenegildo - 1995
18 Mapping Objects to Tables – A Pattern Language – Keller - 1997
10 SchemeUnit and SchemeQL: Two little languages – Welsh, Solsona, et al. - 2002
9 Java Data Objects (JDO – Russell - 2003
7 Representing database programs as objects – Maier - 1987
7 SQL/CLI - a new binding style for SQL – Venkatrao, Pizzo - 1995
5 Hibernate your data. onJava.com – Cengija - 2004
5 Oracle Application Server TopLink application developers guide, 10g (9.0.4). Oracle Corporation – Dub, Sapir, et al. - 2003
5 Linguistic reflection in Java – Kirby, Morrison, et al. - 1998
2 An approach to evolving database dependent systems – Grechanik, Perry, et al. - 2002
1 Creating reports with query objects – Brant, Yoder - 2000
1 DB/ADO: Making universal data access a reality – OLE - 1998