Diese Liste enthält Tools für das
Objekt-Relationale-Mapping. Die Liste führe ich seit
1996, hauptsächlich zu Seminar-Zwecken. Manchmal kommt etwas hinzu, wenn
z.B. in den Fachzeitschriften ein neues Produkt annonciert wird, seltener
wird etwas gelöscht, da das Einstellen eines Produkts meist sang- und
klanglos geschieht. Dementsprechend sind auch die Kurzcharakteristiken auf
unterschiedlichem zeitlichen Stand.
Die Reihenfolge der Tools ist beliebig, eventuelle Kommentare sind
subjektiv zu verstehen und sagen nichts aus über Leistungsfähigkeit und
Reife. Hibernate ist derzeit die Nummer 1
im Markt, persönliche Erfahrungen und Tips zu Hibernate finden Sie
hier.
Java-Produkte
Bei den Java-Produkten ist die JDO-Unterstützung
sehr interessant, wobei JDO nicht unbedingt JDO ist! Einerseits ist JDO
(Java Data Objects) eine allgemeine Bezeichnung in Analogie zu ADO von
Microsoft, im engeren Sinn ist JDO ein Java-Standard (JSR 12) von Sun zur Speicherung von
Java-Objekten. JDO enthält eine eigene Query-Sprache, die objektorientiert
aufgebaut ist, im Gegensatz zu SQL oder EJBQL.
Eine hoch interessante Entwicklung ist, dass die
2006 verabschiedete EJB-Spezifikation 3.0 die wesentlichen gemeinsamen
Features von TopLink, Hibernate, JDO, etc. übernimmt. Das ist eine radikale
Abkehr von der bisherigen in J2EE 2.0 favorisierten Art von Persistenz. Die
Entity-Objekte werden wieder "normale" Java-Objekte, die über das Java
Persistence API (JPA) persistent gemacht werden. JPA kann sowohl mit
einem Container betrieben werden als ohne Container.
Die Version 2.0 enthält wesentliche Erweiterungen, z.B.. Criteria-Abfragen,
und wird 2009 verabschiedet werden.
Opensource oder Freeware-Produkte
|
Hibernate ist ein
Open Source-Projekt, das die transparente Persistenz von Java-Objekten
zum Ziel hat, d.h. die zu speichernden Java-Objekte sind "POJOs".
Hibernate ist ein sehr ausgereifter OR-Mapper und ist derzeit "im
Trend". Es sind verschiedene Bücher dazu erschienen, empfehlenswert
ist z.B. "Java Persistence with Hibernate" von Chr.Bauer/Gavin King,
früher als "Hibernate in Action" veröffentlicht.
Hibernate unterstützt JPA, geht aber an vielen Punkten darüber hinaus.
Es gibt auch eine Hibernate-Version für .NET.
Meine persönlichen Erfahrungen und Tips zu Hibernate finden Sie
hier.
|
|
DataNucleus bzw. JPOX
unterstützt sowohl den JDO-Standard als auch JPA.
Erweiterungsarchitekur mit Plugin's wie in Eclipse
|
| EclipseLink
enthält eine JPA-Unterstützung, die aus
TopLink Essentials weiterentwickelt wurde, und ist die
Referenzimplementierung für JPA 2.0
|
| OpenJPA ist eine
JPA-Implemtentierung von Apache
|
| CASTOR www.castor.org bildet
Java-Objekte ab a) auf XML b) auf RDBMS
|
| ObJectRelationalBridge (OJB) für Java, jakarta.apache.org/ojb/tutorial4.html unterstützt
das ODMG 3.0 API und das JDO API
|
| DbGen ein OR-Mapping -Tool für Java dbgen.sourceforge.net
|
| JRelationalFramework auf jrf.sourceforge.net
|
| www.objectstyle.org/cayenne
ist ein OR-Mapping-Produkt, das sogar GUI-Tools zur Modellierung des
Mapping beinhaltet. In diesem Artikel
wird Cayenne vorgestellt, und hier
mit Hibernate verglichen.
|
| SimpleORM auf www.simpleorm.org
|
| DBObjects ist kein Objekt-Relationales Mapper (der geht vom
Objektmodell aus und generiert ein Relationenmodell), sondern geht von
vorhandenen Tabellen aus und generiert pro Tabelle eine Klasse. www.tntsoft.de
|
| der OR-Mapping-Teil der Quasar-Architektur von sd&m ist ebenfalls
Opensource.
|
| TJDO
ist eine Open-Source-Implementierung des JDO-Standards.
JDOQL wird vollständig unterstützt.
|
| JPOX
ist eine Open-Source-Implementierung des JDO-Standards.
|
|
Versant hat sein JDO/EJB-Produkt der Opensource-Gemeinde übergeben
|
| bei den kommerziellen Produkten finden sich auch einige, bei denen
der nicht-kommerzielle Gebrauch kostenlos ist |
Kostenpflichtige Produkte für Java:
| TopLink (s.o.)
|
| Polar von IBL, Max-Lang-Str. 24, 70771 LE-Leinfelden Polar
bildet OO-Strukturen auf relationale Datenbankstrukturen ab (Mapping und
Zugriffsschicht) Sprachen: MS C++, Java, SmallTalk,
ObjectStudio RDBMS: Oracle, DB2, Sybase, ODBC Die
Firma IBL ist jetzt Teil von Plenum, und aus Polar wurde Avantis, eine
EJB-konforme Weiterentwicklung
|
| JavaBlend von Sun, ist jetzt Teil von Forte, der Entwicklungsumgebung
von Sun
|
| Cocobase von Thought Inc.: www.thoughtinc.com Object
to relational mapping - Secure Internet Database Access - Simple
Integration into existing ORBs - Turns existing Orbs into easy to use
database access system - Dynamic binding for relational, object and
mainframe databases Enthält evtl. auch eine kostenlose Version.
|
| JDX von Software Tree: www.softwaretree.com Java-RDBMS-Mapping
, nutzt JDBC, um Microsoft SQL Server, Oracle, Sybase, IBM DB2 und
andere RDBMS anzusprechen. Tool provided for relational
schema-generation given Java class definitions. Legacy relational data
may easily be mapped to Java objects - Cross-platform solution using
100% pure Java
|
| JDBCStore von LPC Consulting Services www.ilap.com/lpc/html/jdbcstore.html
|
| FrontierSuite von www.objectfrontier.com Kann
auch in jedem EJB 2.0 Application Server als CMP-Engine eingesetzt
werden (Container Managed Persistence)
|
| Novera : www.novera.com Java-RDBMS-Mapping
|
| Unidata: objects.unidata.com Java-RDBMS-Binding,
setzt auf JDBC auf, für Solaris und Win NT, $2000 pro Entwickler
|
| Watershed: www.watershed.com Java-RDBMS-Mapping
|
| SQL2Java (S2J) von www.bitmechanic.com Generator
|
| VBSF von Objectmatter www.objectmatter.com
Unterstützt
auch JDO
|
| JRELAY von ObjectIndustries www.objectindustries.com/products.html Unterstützt
jetzt auch JDO
|
| intelliBO www.intellibo.de von
Signsoft unterstützt JDO Signsoft GmbH, Dresden www.signsoft.de
|
| Kodo JDO von Solarmetric www.solarmetric.com implementiert
JDO
|
Ein Vergleich der verschiedenen Java-OR-Mapping-Tools findet sich hier.
Ein Benchmark-Suite mit ein Ergebnissen von ein paar OR-Mapping-Tools
findet sich unter http://www.polepos.org
Allgemeine Produkte
| TopLink,
otn.oracle.com/products/ias/toplink/content.html OR-Mapping für
alle Smalltalk-Dialekte, ersteVersion 1994, ständig weiterentwickelt, seit
1998 auch eine Java-Version. Ursprünglich von "The Object People",
dann verkauft an WebGain, dann an Oracle. Seitdem wieder zivile Preise.
Seit 2006 gibt es eine kostenlose open source-Basisversion von TopLink,
die auch die offizielle Referenzimplementierung des Java Persistence API
JPA (siehe hier) darstellt.
|
| Rogue Wave, Robert-Bosch-Str.5 , 63303 Dreieich www.roguewave.com/products Produkte
für C++ * DBTOOLS.H++ ist eine Klassenbibliothek, die nur die
Datenbankzugriffe kapselt. * DBFactory ist ein Produkt, das aus
Tabellen-Beschreibungen C++-Klassen generiert
* und das von Subtle entwickelte OR-Mapping -Tool
|
| Persistence: www.persistence.com Vertrieb:
Interactive Objects Software GmbH, Freiburg leistungsfähiger
als eine reine Klassenbibliothek, Zwischenschicht zum RDBMS mit Caching
der Objekte. Gute Unterstützung für das OO-Relat.-Mapping.
EJB-Application -Server
|
Einige ODBMS zeichnen sich durch gute Kopplungsmöglichkeiten mit
RDBMS aus:
| ONTOS OIS: www.ontos.com Ontos
ist ein OODBMS. OIS heißt Object Integration Server, ein spezielles
Produkt zur OO-RDBMS-Integration
|
| ObjectStore Dbconnect ObjectStore ist ein ODBMS, die
Komponente Dbconnect die Kopplung mit RDBMS
|
| O2 : www.o2tech.com O2
ist ein ODBMS mit einem "Relational Database connectivity tool", das
auch das OR-Mapping unterstützt
|
| Poet mit der "POET SQL Object Factory" www.poet.de Poet
ist ein OODBMS für C++ und Java. Mit dem gleichen API, das zur
Speicherung in das OODBMS dient, können Objekte auch in ein RDBMS (MS
SQL Server, Oracle, DB2) gespeichert werden. Dazu wird aus dem OO-Schema
automatisch ein relationales Schema generiert. Weitere Features:
Objekt-Caching, Sperren auf Objekt-Ebene, geschachtelte Transaktionen,
Abbildung auch von komplexen Datentypen. Neuer Name: "FastObjects"
|
|