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.

Entwicklung

Bearbeiten

JDO wurde von der Object Database Management Group (ODMG) beeinflusst und 1999 als JSR-12 ins Leben gerufen. Die erste Version von JDO wurde im Mai 2001 von bekannten Unternehmen wie Sun, IBM und Apple verabschiedet. 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 später komplett an die Apache Software Foundation übergeben, die es im Rahmen des Apache DB Project betreut.

Ab der Version 2 vom 1. Mai 2006 wird JDO, wie es aus JSR-243 hervorgeht, 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 (inzwischen durch DataNucleus abgelöst) als RI bestimmt.[1]

Die Maintenance Release JDO 2.1 vom 2. August 2007 brachte Unterstützung für Java 5 Annotations, Generics und Aufzählungstypen (enum). Die Release JDO 2.2 vom 10. Oktober 2008 war lediglich eine Bug Fix Release.[2]

EJB 3.0 respektive die Jakarta Persistence API (JPA) wurde maßgeblich von leichtgewichtigen Ansätzen wie JDO oder auch Hibernate beeinflusst.

Bewertung

Bearbeiten

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 Jakarta 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.

Bearbeiten

Einzelnachweise

Bearbeiten
  1. Wiki-Seite mit dem Hinweis auf JPOX als JDO-Referenzimplementierung.
  2. JDO News.

📚 Artikel Terkait di Wikipedia

Jakarta Persistence API

Objektdatenbanken muss weiterhin auf Java Data Objects oder ähnliche Frameworks ausgewichen werden. Die Service Data Object (SDO) API hingegen dient hauptsächlich

JSON

Die JavaScript Object Notation (JSON []) ist ein kompaktes Datenformat in einer einfach lesbaren Textform für den Datenaustausch zwischen Anwendungen

Hibernate (Framework)

ermöglicht es, gewöhnliche Objekte mit Attributen und Methoden (im Java-Umfeld Plain Old Java Objects oder POJOs genannt) in relationalen Datenbanken zu speichern

Open Data Protocol

OASIS freigegeben. OData nutzt Funktionalitäten aus AtomPub und JSON (JavaScript Object Notation) in Verbindung mit REST-Prinzipien. Browser OData-Explorer

Java Specification Request

Ein Java Specification Request (JSR) ist eine Anforderung einer neuen Java-Spezifikation oder einer wichtigen Änderung einer existierenden Java-Spezifikation

JDO

JDO steht für: Flughafen Juazeiro do Norte in Brasilien (IATA-Code) Java Data Objects Framework zur persistenten Speicherung von Java-Objekten

SAP

Notierung der Business-Objects-Aktien und der ORNANE bei EURONEXT aufgehoben (Delisting). Die Notierung der Business Objects American Depositary Shares

Microsoft Access Database

Programmierer über Data Access Objects (DAO), ActiveX Data Objects (ADODB/ADOX), ADO.NET, Open Database Connectivity (ODBC), Remote Data Objects (RDO), OLE DB