Ausblick JDBC
[JAVA und Datenbanken]...[JDBC-API]
Es exisiert seit März 1998 ein Entwurf von SUN für die JDBC-API
2.0.
Wir möchten im folgendem kurz auf die kommenden Veränderungen
des JDBC-API eingehen.
-
Motivation
-
Ziele des Entwurfs
-
Übersicht der Erweiterungen
-
Realsierung
Die JDBC-API 1.0 wurde sowohl von Datenbank-Entwicklern, die die JAVA
Technologie einsetzen, als auch von den Datenbank-Herstellern gut angenommen.
Daraus enstand ein Feedback mit neuen Anregungen und Verbesseungsvorschlägen.
Die JAVA-Plattform hat sich seit dem JDBC 1.0 ständig weiterentwickelt.
Es wurden zahlreiche neue APIs in JAVA integriert:
-
JTS (JAVA Transaction Service)
-
JNDI (JAVA Naming and Directory Interface)
-
JAVA Beans
Außerdem steht eine Erweiterung des SQL2-Standards in Form des SQL3-Standards
bevor.
Es besteht also eine Notwendigkeit, die JDBC-API an die weiterentwickelte
Umgebung anzupassen.
Als vorrangiges Ziel des Entwurfs ist auf jeden Fall, die vollständige
Kompatibilität zu bestehenden JDBC 1.0 Applikationen und Treibern
zu gewährleisten.
Außerdem sollte die JDBC-API die neuen JAVA-APIs nutzen und unterstützen.
Die JDBC-API muß sich an die neuen Anforderungen anpassen, um
z:B.
-
neue Datenbank-Features der DBMS nutzen zu können (erweiterte Datentypen
wie BLOBS usw.)
-
rollende Cursors zu unterstützen
Die Erweiterung des SQL2-Standards in Form des SQL3-Standards erfordert
ebenfalls eine Anpassung.
Es wird gefordert, daß die JDBC-API zwei DB-Typen untertsützen
sollte:
-
Übersicht der Erweiterungen
-
Erweiertung der Klasse ResultSet
Die Klasse ResultSet wurde dahingehend erweitert, daß jetzt ein rollender
Cursor unterstützt wird. Vorher konnte man sich nur vorwärts
durch die Ergebnismenge arbeiten.
Durch die Unterstützung des Batch Updates wird es in einer Anforderung
an die DB möglich sein, mehrere Update-Operation (insert,update,delete)
abzusetzten. Diese Erweiterung führt zu einer Performancesteigerung
bei einer großen Anzahl von Update-Operationen.
Es ist die Unterstützung von erweiterten Datentypen für die Speicherug
von persistenten JAVA-Objekten geplant. Außerdem soll eine Abbildung
auf SQL3-Datentypen, wie z.B. BLOBS, strukturierte Typen.
Eine Applikation muß die Abbildung von SQL3 auf JAVA-Klassen
vornehmen können.
Durch dieses Interface können bestimmte Zeilen als Menge gekapselt.
Ein RowSet-Objekt ist an eine Datenquelle angeschlossen. Bei Abbruch
der Verbindung von der Datenquelle kann auf dem RowSet-Objekt weiter gearbeitet
werden. Es wird ein optimistisches Sperrverfahren für DB angewendet.
-
JNDI ( JAVA Naming and Directory Interface)
Das JAVA Naming and Directory Interface kann im Zusammenarbeit mit JDBC
Treibermanager eingesetzt werden.
Bei JNDI wird einem logischen Namen eine bestimmte Datenbank-Instanz
und ien JDBC-Treiber für Datenbankzugriff zugeordnet.
Dadurch erreicht man, daß der JAVA Code unabhängig von eiinem
JDBC-Treiber und der JDBC-URL wird. Im JAVA-Code wird der logische Name
verwendet.
-
Verteilte Transaktionsunterstützung
Diese Erweiterung erlaubt einem JDBC-Treiber die Unterstützung des
Standard 2-Phasen-Speerprotokolls durch die Nutzung des JAVA Transaction
Sevice (JTS).
-
Neues Paket javax.sql
-
Neue Klassen und Interfaces im Paket java.sql
Autor: Sven Garske
Last Updated on $Date: 1998/08/18 20:34:50 $