Suche

Implementierung eines JDBC-Treiber für Preference SQL


Ausgangslage

Die Datenbank-Abfragesprache Preference SQL (PSQL) ermöglicht es Programmierern, in ihren Anwendungen nicht nur herkömmliche, harte Abfragen auf Datenbanken auszufüren, sondern auch Benutzerpräferenzen zu unterstützen.

In Java existiert für Anfragen auf SQL-Datenbanken die genormte und breit unterstützte Schnittstelle JDBC. Obwohl PSQL diese zum Zugriff auf Datenbanken verwendet, kann es selbst nicht darüber angesprochen werden. Im Rahmen dieser Arbeit soll ein bereits am Lehrsuhl rudimentär entwickelter JDBC-Treiber für PSQL weiterentwickelt werden. Dieser soll JDBC 2.0 konform implementiert werden und neben PSQL-Abfragen auch die vollständige SQL-DDL von Oracle und MySQL unterstützen. Dazu ist eine Anpassung des PSQL-Parsers notwendig. Zusätzlich bleibt abzuklären, inwiefern eine JDBC 4.0 Unterstützung möglich ist und sollte ggf. implementiert werden.

Um die Verwendung von Preference SQL noch weiter zu vereinfachen, soll außerdem die Möglichkeit geschaffen werden, auf eine lokale Installation von Preference SQL zu verzichten. Dafür soll mit Hilfe geeigneter Teile der Java Enterprise Edition eine Art von Mikro-DB-Server entstehen, der PSQL versteht. Durch geschickte Wahl von Java-Enterprise-Komponenten ist es automatisch möglich, einen solchen Server mit Hilfe von Web Services anzusprechen. Dadurch soll es möglich sein, auch mit anderen Programmiersprachen die vorhandene PSQL-Implementierung zu verwenden.

Aufgaben

  • Erstellung einer JDBC-kompatiblen API für Preference SQL mittels Java RMI
  • Unterstützung von SQL-DDL in PSQL
  • Erstellung einer Client/Server-fähigen PSQL-Variante

Voraussetzungen

  • Java-Programmierkenntnisse
  • JDBC Kenntnisse
  • Kenntnisse in Datenbanksysteme

Hilfreiche Kenntnisse

  • Preference SQL
  • Java Platform, Enterprise Edition
  • Web Services

Sonstiges

  • Quellcode der Implementierung muss lauffähig in unserem CVS System verwaltet und auf CD inkl. schriftlicher Ausarbeitung (PDF) abgeliefert werden
  • Software wird vor Abgabe begutachtet

Ansprechpartner

Markus Endres