UniKL Logo

Lehrgebiet Informationssysteme

FB Informatik

FB Informatik
 
LG IS
AG DBIS
AG HIS
Jobs / Tasks
Courses
Publications
Contact
Misc
Impressum
(C) AG DBIS
 

Generating Call-Level Interfaces for Advanced Database Application Programming


Udo Nink, Theo Härder, Norbert Ritter

Department of Computer Science
University of Kaiserslautern
P O Box 3049, 67653 Kaiserslautern, Germany
e-mail: {haerder,ritter}@informatik.uni-kl.de


Paper as gzipped PostScript


Abstract

It has ever been a hard problem to provide application programming interfaces for database systems without sacrificing some advantages of either the database management system or of the programming languages. Various approaches have been proposed. We discuss application programming interfaces with respect to SQL3 and its object-relational extensions as well as to object-oriented programming languages. It is argued that generated call-level interfaces are better suited than classical call-level interfaces and language embeddings to couple database languages to object-oriented programming languages. Profiting from code generation and early binding of type information, generated call-level interfaces improve the pros of embeddings while obviating the cons of classical call-level interfaces. We propose an architecture for generated call-level interfaces consisting of a cache module, a generated run-time system, and a compiler that generates parts of the (generated) call-level interface. The partial generation is specified using a configuration language, which we propose to describe application-specific early binding of type information corresponding to data models, schemas, and queries. With this approach, one can control the sharing of database type information for application programs as well as the deferrable adaptation of applications to different needs by extending interfaces and by replacing implementations.

Keywords

Application Programming Interfaces, Call-Level Interfaces, Host Language Integration, Complex Objects.


in: Proc. 25th Int. Conf. on Very Large Data Bases, Edingurgh, 1999, pp. 575-586.