- JDO
-
Die Java Data Objects (JDO) sind eine offizielle Sun-Spezifikation für ein herstellerunabhängiges Framework zur persistenten Speicherung von Java-Objekten.
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.
Die erste Version von JDO wurde im Mai 2001 von bekannten Unternehmen wie Sun, IBM und Apple verabschiedet. Die Verabschiedung von JDO 2 erfolgte am 1. Mai 2006. Zur Zeit (2. Quartal 2007) wird an der Spezifikation von Version 2.1 gearbeitet.[1]
Inhaltsverzeichnis
Entwicklung
JDO wurde von der Object Data Management Group ODMG beeinflusst und 1999 als JSR-12 ins Leben gerufen. Für JDO 1.0 wurde von Sun sowohl die API (Spezifikation), als auch Technology Compatibility Kit (TCK, Kompatibilitätstests) und Reference Implementation (RI, Referenzimplementierung) entwickelt und bereitgestellt. JDO 1 wurde komplett an die Apache Software Foundation übergeben, die es im Rahmen des Apache DB Project betreut. JDO 2 wie es aus JSR-243 hervorging wird nun von Apache vorangebracht. Bei der Wahl der Referenzimplementierung für JDO 2 wurde aus Zeitgründen das Apache-eigene OJB-Projekt übergangen und stattdessen JPOX als RI bestimmt.[2] Im Rahmen des ersten Maintenance Releases (JDO 2.1) sind hauptsächlich Änderungen geplant um JDO für die neuen Spracheigenschaften von Java 5, wie zum Beispiel Annotations, Generics und Aufzählungstypen (
enum
), zu erweitern. Im weiteren ist eine Annäherung an die JPA-Spezifikation geplant um ein gewisses Maß an Interoperabilität zu gewährleisten.[3]EJB 3.0 respektive die Java Persistence API (JPA) wurde maßgeblich 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 vergleichbare Möglichkeiten wie andere leichtgewichtige Lösungen. So zeigt eine Gegenüberstellung 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.
Weblinks
- Apache-JDO-Projekt
- Suns JDO-Seiten
- JSR 243: JavaTM Data Objects 2.0 – An Extension to the JDO specification
- JSR 12: JavaTM Data Objects (JDO) Specification
- JDO-Portal
- JPOX – eine Open-Source-Implementierung (Referenzimplementierung)
Einzelnachweise
Wikimedia Foundation.