A Generic and Portable Database API

Studenteropgave: Speciale (inkl. HD afgangsprojekt)

  • Claus Abildgaard Christensen
  • Steen Gundersborg
  • Kristian de Linde
  • Jacob Richard Thornber
4. semester, Datalogi, Kandidat (Kandidatuddannelse)
Most application developers do not fully master SQL as well as their favorite programming language, e.g., Java or C++. Furthermore, repetitive or equivalent SQL statements make it problematic and time consuming to test database interactions spread throughout an entire application. Hence, a need for a database abstraction layer exists. We suggest encapsulating SQL and database access via an Application Programming Interface (API).

We design and implement a generic and portable API. Generic refers to the fact that no vendor specific features, like Oracle''s embedded Java, have been used in the design of the API. It aims at providing most used functionality in application development. To accommodate needs for extending the API, the design is modular. The goal of being portable is being independent from programming-language paradigms. Two versions of the API have been proposed: A static and a dynamic one. The static API catches many errors at compile-time, increasing the number of methods. In contrast, the dynamic API has fewer methods but most error checking is deferred until run-time.

Furthermore, a generator for the API has been designed and implemented. Currently, the generator is capable of generating a PL/SQL specific API for the Oracle platform. The generated API covers most commonly used functionalities in database application development.
Udgivelsesdatojun. 2004
ID: 61060908