|




















|
|
 |
|
 |
|
Generating Call-Level Interfaces for Advanced Database Application Programming
|
Udo Nink,
Theo Härder, and
Norbert Ritter
View Paper (PDF)
Return to High-performance Application Support
It has always been a hard problem to provide application programming interfaces (API) 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 APIs with respect to SQL3 and its object-relational extensions as well as to object-oriented programming languages. We argue that generated call-level interfaces (CLI) are better suited than classical CLIs and language embeddings to couple database languages to object-oriented programming languages. Profiting from code generation and early binding of type information, generated CLIs improve the pros of embeddings while obviating the cons of classical CLIs. We propose an architecture for generated CLIs consisting of a cache module, a generated run-time system, and a compiler that generates parts of the (generated) CLI. The partial generation is specified using a configuration language to describe application-specific early binding of type information corresponding to data models, schemas, and queries. With this approach, we 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.
Note: References link to DBLP on the Web.
-
[1]
-
Ken Arnold
,
James Gosling
: The Java Programming Language.
Addison-Wesley
1996, ISBN 0-201-63455-4
-
[2]
-
Malcolm P. Atkinson
,
Ronald Morrison
: Orthogonally Persistent Object Systems.
VLDB Journal 4(3)
: 319-401(1995)
-
[3]
-
Josephine M. Cheng
,
Nelson Mendonça Mattos
,
Donald D. Chamberlin
,
Linda G. DeMichiel
: Extending Relational Database Technology for New Applications.
IBM Systems Journal 33(2)
: 264-279(1994)
-
[4]
-
Michael J. Carey
,
David J. DeWitt
,
Jeffrey F. Naughton
: The 007 Benchmark.
SIGMOD Conference 1993
: 12-21
-
[5]
-
Kyle Geiger: Inside ODBC.
Microsoft Press
1995, ISBN 1-55615-815-7
-
[6]
-
...
-
[7]
-
...
-
[8]
-
Theo Härder
,
Klaus Meyer-Wegener
,
Bernhard Mitschang
,
Andrea Sikeler
: PRIMA - a DBMS Prototype Supporting Engineering Applications.
VLDB 1987
: 433-442
-
[9]
-
...
-
[10]
-
Theo Härder
,
Erhard Rahm
: Datenbanksysteme: Konzepte und Techniken der Implementierung. Springer 1999, ISBN 3-540-65040-7
-
[11]
-
...
-
[12]
-
Alfons Kemper
,
Donald Kossmann
: Adaptable Pointer Swizzling Strategies in Object Bases.
ICDE 1993
: 155-162
-
[13]
-
Michel Lacroix
,
Alain Pirotte
: Comparsing of database intervaces for application programming.
IS 8(3)
: 217-229(1983)
-
[14]
-
...
-
[15]
-
Karl Neumann
: Kopplungsarten von Programmiersprachen und Datenbanksprachen.
Informatik Spektrum 15(4)
: 185-194(1992)
-
[16]
-
...
-
[17]
-
...
-
[18]
-
Udo Nink
,
Norbert Ritter
: Database Application Programming with Versioned Complex Objects.
BTW 1997
: 172-191
-
[19]
-
...
-
[20]
-
...
-
[21]
-
Bjarne Stroustrup
: The C++ Programming Language, Second Edition. Addison-Wesley 1991, ISBN 0-201-53992-6
-
[22]
-
Shinji Suzuki
,
Masaru Kitsuregawa
,
Mikio Takagi
: An Efficient Pointer Swizzling Method for Navigation Intensive Applications.
POS 1994
: 79-95
-
[23]
-
Michael Stonebraker
,
Paul Brown
, Dorothy Moore: Object-Relational DBMSs, Second Edition.
Morgan Kaufmann
1998, ISBN 1-55860-452-9
@inproceedings{DBLP:conf/vldb/NinkHR99,
author = {Udo Nink and
Theo H{\"a}rder and
Norbert Ritter},
editor = {Malcolm P. Atkinson and
Maria E. Orlowska and
Patrick Valduriez and
Stanley B. Zdonik and
Michael L. Brodie},
title = {Generating Call-Level Interfaces for Advanced Database Application
Programming},
booktitle = {VLDB'99, Proceedings of 25th International Conference on Very
Large Data Bases, September 7-10, 1999, Edinburgh, Scotland,
UK},
publisher = {Morgan Kaufmann},
year = {1999},
isbn = {1-55860-615-5},
pages = {575-586},
crossref = {DBLP:conf/vldb/99},
bibsource = {DBLP, http://dblp.uni-trier.de} } },
Copyright(C) 2000 ACM
|
|
|
|
|
|
|