34.1 Vor-und Nachteile von JDBC Treibern
Wie schon zuvor erwähnt, laufen JAVA Applets auf allen Betriebssystemen (write
once - run everywhere). Leider gibt es Unterschiede bei JDBC Treibern, die
verhindern, daß man von überall unproblematisch eine Verbindung zu einem SQL
Server öffnen kann. Hier muß man zwischen den 4 verschiedenen Typen von
JDBC Treibern unterscheiden:
- Typ 1 ist eine sogenannte JDBC - ODBC Bridge, die einen ODBC
Treiber auf der Arbeitsstation (Client) erfordert. Diese Lösung eigenet sich
daher nicht für Clients im Internet, die mal eben auf Ihre MySQL Datenbank
im Internet zugreifen möchten. Auch für Systemadministratoren bedeutet dies
einen Mehraufwand, da auf jedem Client einen ODBC Treiber installiert werden
muß. Zudem kommt noch hinzu, daß jedes Stück Software weitere Fehler
beinhaltet und Probleme verursacht. Außerdem besitzt ODBC einen nicht ganz
unerheblichen Protokoll - Overhead, sodaß man beim Zugriff über das Internet
oder ISDN/Modem mit erheblichen Geschwindigkeitseinbußen rechen muß.
Zusammenfassend muß man also sagen - völlig überholt.
- Typ 2 ist eine herstellerspezifische Lösung, die anstelle der
definierten ODBC Schnittstelle eine eigene, also proprietäre Schnittstelle verwendet.
Diese muß dann natürlich sowohl auf dem Server als auch auf dem Client
installiert sein. Die Kommunikation zwischen Client und Server findet also
zwischen den beiden Treibern statt, und stellt ebenfalls eine Fehlerquelle
dar. Sofern man nicht besondere Features dieser Schnittstelle benötigt, sollte
man auf diese Variante verzichten.
- Typ 3 stellt ebenfalls eine herstellerabhängige Schnittstelle
dar. Serverseitig wird die Datenbank direkt über das Netzwerk (Port 3306/
3333) angesprochen, auf der Seite des Clients exisitert dann eine JAVA-API,
die auf dem Browser ausgeführt wird. Der Nachteil ist hier, daß diese JAVA
Bibliotheken herstellerspezifisch sind. Falls das JAVA Applet über Browser
gestartet wird, ist es zwingend erforderlich, daß Webserver und SQL Server
auf derselben IP-Nummer erreichbar sind, da es ansonsten die
Sicherheitsmechanismen im JAVA Browser ansprechen. Damit soll verhindert
werden, daß der Browser Daten von z.B. der SQL Datenbank über eine
Arbeitsstation wieder in das Internet verschicken kann. Damit könnten
Einbrecher ansonsten Daten einfach aus dem Unternehmen ins Internet
versenden, ohne daß der Anwender etwas davon merkt.
- Typ 4 ist nun der Treiber, der nun einige dieser Nachteile nicht
mehr besitzt. Schauen Sie sich die Live Demo einmal an:
http://www.rent-a-database.de/mysql/mysqllive.html. WWW-Server und MySQL Server können irgendwo im Internet
stehen und können auch lokal voneinander weit entfernt sein. Der WWW-Server
liefert das JAVA Applet, welches in dem Browser gestartet wird. Der Browser
baut so eigenständig eine Verbindung zu dem SQL Server auf. Der JDBC Typ 4
Treiber ist natürlich ebenfalls noch herstellerspezifisch, jedoch liefert
SUN mit JAVA2 und den RMI Bibliotheken endlich auch Klassen mit, die es
einem Programmierer erlauben, seine eigenen TCP/IP Protokolle zum Zugriff
auf die SQL Datenbank zu schreiben. Man kann hier recht einfach vorhandene
Klassen für seine SQL Datenbank anpassen. Für MySQL gibt es gleich 2
verschiedene JDBC Typ 4 Treiber, die auch hervorragend funktionieren. Dieser
JDBC Typ 4 Treiber ist als der einzige, der für MySQL Datenbanken im
Internet ohne Probleme seitens der Clients und des Servers verwendet werden
kann.