Objektpersistenz mit dem Torque-Framework
Dreh-Moment
von Bernhard Bablok
Erschienen im Linux-Magazin
2003/04
JSP-Seiten stellen die Datenobjekte in Webanwendungen dar. Deren Speicherung in einer Datenbank übernimmt eine weitere Abstraktionsschicht. Das muss nicht immer die gewaltige J2EE-Architektur sein, auch Torque (Drehmoment) hat den Dreh raus.
Für kleinere Webanwendungen sind sowohl komplexe J2EE-Server von Bea oder IBM, aber auch das freie JBoss[1] meist unnötig. Deshalb gibt es unabhängig von J2EE eine ganze Reihe von Frameworks für die Speicherung von Objekten in Datenbanken. Einige davon wurden schon in früheren Folgen des Coffee-Shops vorgestellt, zum Beispiel die Java Data Objects (JDO)[2] oder das im Enhydra-Server integrierte Persistenz-Framework DODS[3].
Auch das Jakarta-Projekt hat ein Teilprojekt für persistente Objekte: Torque, Englisch für Drehmoment, was auf die Herkunft aus dem Turbine-Umfeld hindeutet[4]. Der Duden kennt für "torquieren" noch eine andere Bedeutung: foltern oder quälen. Auch das hat seinen Sinn: Torque zeichnet sich durch fehlende und veraltete Dokumentationen wie kaum ein anderes Projekt aus, es war eine echte Qual, zu den ersten nutzbaren Ergebnissen zu kommen. Trotzdem: Hat man erst mal den Dreh raus, spart Torque viel Arbeit. Im Folgenden geht es also zunächst um die Integration in die Entwicklungsumgebung und anschließend um die Einbindung der Datenobjekte in die JSPs.
Download und Installation
Ein umfangreiches Binärpaket der aktuellen Version 3.0 im TGZ-Format mit 3,5 MByte Größe steht auf der Torque-Homepage[4] zum Download bereit. Das Quellpaket ist mit knapp 400 KByte deutlich kleiner, was für Java eher unüblich ist. Trotzdem ist das Binärpaket die bessere Wahl, denn es enthält alle notwendigen JARs für Entwicklung und Betrieb (insgesamt 20 Stück).
Zu empfehlen ist das Entpacken unter »/usr/local«. Um bei späteren Upgrades flexibel zu sein, liegt es nahe, einen symbolischen Link anzulegen:
# tar -xvzf ~/torque-3.0.tar.gz -C U /usr/local
# ln -sf torque-3.0 /usr/local/torque
Wer danach in allen eigenen Build-Dateien bei der Definition von Variablen nur den symbolischen Link benutzt, muss also bei neueren Versionen nur den Link anpassen.
Das Paket selbst enthält keine nennenswerte Dokumentation. Ein Dokumentationspaket ist aber auch nicht verfügbar, hier hilft nur der Weg über »wget«, um die spärlichen und teilweise veralteten Informationsfetzen von der Website zu ziehen. Die API-Dokumentation wiederum ist zu neu, sie bezieht sich bereits auf die Entwicklerversion 3.1-dev. Am besten generiert man sich daher die API-Doks direkt aus dem Quellcode.
Torque benötigt zum Betrieb das Build-Werkzeug Ant in der aktuellen 1.5-Version. Hier ist also in den meisten Fällen ein Upgrade notwendig.
Die Torque-Architektur
Torque hilft im Kern bei zwei Fragestellungen: zum einen bei der Speicherung von neuen oder geänderten Objekten (sie werden auf ein »insert« beziehungsweise »update« abgebildet) und zum anderen beim Lesen (»select«) und Löschen (»delete«) von Objekten. Die Abbildung von Java-Objekten erfolgt dabei auf Zeilen von Tabellen. Primitive Datentypen sind die Spalten, während Objektreferenzen Foreign-Keys auf weitere Tabellen sind. Die Zuordnungen werden durch eine so genannte Schema-Datei im XML-Format beschrieben, sie hat trotz Namensgleichheit aber nichts mit XML-Schema-Definitionen oder SQL-Schema-Definitionen (DDL) zu tun.
Für die Websheet-Applikation aus dem letzten Coffee-Shop, die einfache Adressen mit Name, Vorname und E-Mail-Adresse verwaltet, ist das Schema in Listing 1 abgedruckt. Es lässt sich entweder per Editor von Hand erstellen oder Torque generiert es automatisch aus einer vorhandenen Datenbank beziehungsweise SQL-Schema-Definition heraus (beides per vordefinierter Ant-Task, Abbildung 1). Letztere Methode ist praktisch, wenn die Webanwendung nicht neu entsteht, sondern ein Frontend zu einer existierenden Datenbank ist.
Aus dem Schema erzeugt Torque dann die notwendigen Java-Klassen sowie alle SQL-Statements, um die Datenbank inklusive aller Tabellen aufzubauen. Per Ant-Task sind die SQL-Statements auch gleich ausführbar. In diesem Punkt haben die Torque-Entwickler ein dickes Lob verdient, denn die perfekte Einbindung aller Schritte durch vordefinierte Ant-Tasks erleichtert sowohl den Entwicklungsprozess als auch die spätere Produktionseinführung.
| Whitepaper |
|
Daten Migration - Eine Publikation von Bloor Research
Datenmigrationsprojekte überschreiten häufig das Budget, neigen zu Verzögerung und werden unter Umständen komplett abgebrochen. Bloor Research ist eines der weltweit führenden IT-Forschungs-, Analyse- und Beratungsunternehmen und wird in dem vorliegenden White Paper die wichtigsten Aspekte dieser Problematik näher beleuchten. Ferner werden praktische Empfehlungen für erfolgreiche Migrationsprojekte gegeben, die Sie auf Ihr nächstes Projekt übertragen können.
Download PDF (Registrierung erforderlich)
|
|
Open Source Datenintegration in der Praxis: Fallstudien und Anwendungsbeispiele
Über die letzten Jahre hinweg haben sich Open Source Lösungen als fester Bestandteil des gesamten Datenintegrationsmarktes etabliert. Viele Unternehmen haben bereits das Open Source Modell für Ihre Datenintegrationsprojekte aufgegriffen. Das vorliegende White Paper illustriert anhand ausgewählter Fallstudien und Anwendungsbeispiele die Implementierung von Open Source Datenintegration in der Praxis und benennt die daraus resultierenden Vorteile.
Download PDF (Registrierung erforderlich)
|
Dieser Online-Artikel kann Links enthalten, die auf nicht mehr vorhandene Seiten verweisen. Wir ändern solche "broken links"
nur in wenigen Ausnahmefällen. Der Online-Artikel soll möglichst unverändert der gedrucken Fassung entsprechen.
|