Wege der Java-Integration in Oracle 9i

08.05.2003
Von Rudolf Jansen

Der Aufruf von datenbankinternen Java-Anwendungen erfolgt über Java Stored Procedures. Dies sind PL/SQL-Prozeduren, über die statische Methoden aus Java-Klassen aufgerufen werden können, die sich im Schema des aufrufenden Datenbank-Users befinden. Sowohl die Rechte zum Ausführen dieser Java Stored Procedures als auch die Rechte, unter denen die Anwendung läuft (Zugriff auf Betriebssystem-Ressourcen etc.), können feingranular vergeben werden.

Plattformunabhängigkeit geht verloren

Alle Java-Systemklassen liegen vorcompiliert in nativem Maschinencode in der Datenbank vor. Auch selbst geschriebene Anwendungen können zur Performance-Steigerung in ein solches natives Format gebracht werden. Der bekannte Java-Vorteil der Plattformunabhängigkeit geht zwar dadurch verloren, er spielt aber aufgrund der Tatsache, dass die Java-Anwendung innerhalb der Datenbank in einer fest vorgegebenen Systemumgebung abläuft, keine große Rolle.

Welcher Architekturansatz sollte also bei der Erstellung einer Java-Oracle-Anwendung gewählt werden? Bei datenintensiven Anwendungen kann PL/SQL seine Performance-Vorteile durch die nicht erforderliche Typumwandlung ausspielen, da hierbei die gleichen Datentypen wie in der Datenbank verwendet werden. Wer dagegen die mächtigen Java-APIs der J2SE einsetzen will, gleichzeitig aber den möglichen Performance-Engpass durch einen Netzwerkzugriff von einer externen Java-Anwendung auf die Datenbank umgehen möchte, der sollte den Einsatz der datenbankinternen JVM in Erwägung ziehen. Ein weiteres Kriterium für die Wahl zwischen Java und PL/SQL ist das erforderliche Know-how in der Entwicklergruppe des Projekts.

Eine klare Trennung zwischen einer externen Java-Anwendung und der Datenbank erlaubt auch eine solche Trennung innerhalb der Entwicklergruppe: Die Java-Programmierer benötigen kein spezielles Datenbank-Know-how, und die Datenbankspezialisten können sich auf die Optimierung des Datenbankschemas konzentrieren. Der Einsatz von Java in der Datenbank erfordert aber Java- und Datenbankkenntnisse bei allen beteiligten Entwicklern.

Literatur: Java und XML sind inzwischen zu Standards in Enterprise-Projekten geworden. Oracle 9i bietet eine robuste Integration dieser Techniken. Der Autor beleuchtet die Java- und XML-Fähigkeiten der Datenbank sowie deren unterschiedliche Architekturansätze. Insbesondere die mit Version 9i, Release 2, eingeführten Features zur XML-Integration werden als vielversprechend bezeichnet. Das seit April verfügbare Buch setzt Grundkenntnisse zu den genannten Themen voraus.