Java Data Objects
Die Java Data Objects (JDO) sind eine offizielle SUN-Spezifikation für ein herstellerunabhängiges Framework zur persistenten Speicherung von Java-Objekten in transaktionalen Datenspeichern, zum Beispiel relationalen Datenbanken.
Die erste Version von JDO wurde im Mai 2001 von bekannten Firmen wie Sun, IBM und Apple verabschiedet. Die Verabschiedung von JDO 2 erfolgte am 1. Mai 2006.
In der JDO-Spezifikation wird eine einheitliche Schnittstelle für den Zugriff auf persistente Daten definiert. Die Art und Weise der physikalischen Speicherung ist nicht festgelegt. So können die Objektinformationen in Datenbanken (relational oder objektorientiert), Dateien oder weiteren Speichern abgelegt werden.
Mit Hilfe von JDO kann der Programmierer Datenobjekte ohne Kenntnis der Speichermechanismen bearbeiten. Dadurch müssen sich Entwickler nicht mehr mit den Interna von Datenbanken auseinandersetzen, sie können sich auf die reine Applikationslogik konzentrieren.
Entwicklung
Bisher wurde von SUN JDO (1) sowohl die API (Spezifikation), als auch TCK (Kompatibilitätstests) und RI (Referenzimplementierung) entwickelt und bereitgestellt. JDO 1 wurde nun komplett an Apache übergeben. JDO 2 wie es aus JSR-243 hervorging wird nun komplett von Apache vorangebracht. Als Referenzimplementierung für JDO 2 wurde JPOX bestimmt. EJB 3.0 respektive die Persistence API wurde massgeblich von leichtgewichtigen Ansätzen wie JDO oder auch Hibernate beeinflusst.
Bewertung
SUNs Schritt JDO abzugeben ist nachvollziehbar und konsequent, da es problematisch sein kann zwei verschiedene Persistenzansätze parallel und gleichrangig voranzutreiben. Es existieren zwar zahlreiche JDO Unterstützungen und Implementierungen (freie und kommerzielle), auch ist gerade JDO 2 sehr leistungsstark, dennoch lässt sich erkennen, dass durch eine strategische "Abkehr" SUNs die anderen standardisierten Lösungen gestärkt werden. So bietet EJB 3 als Implementierung der Java Persistence API mittlerweile verbleichbare Möglichkeiten wie andere "leichtgewichtige" Lösungen. So zeigt ein Vergleich von JDO und EJB 3, dass beide Lösungen auch mit der Standard Edition arbeiten können. Ein Vergleich von JDO und Hibernate zeigt, dass auch hier beide Lösungen mit POJOs auskommen.
Siehe auch
Weblinks
- http://java.sun.com/products/jdo/ - JDO Homepage
- http://www.jdocentral.com/ - JDO Portal
- http://www.jpox.org/ JPOX - eine Open Source Implementierung (Referenzimplementierung)