0

OFBiz Jackrabbit Integration

Geschrieben am 14.03.2012 in Projekte von Sebastian Leitner

Der erste Schritt zur neuen OFBiz Content Verwaltung ist getan. Nach einer erfolgreichen Integration des Jackrabbit Content Repository
im letzten Jahr hat Sascha Rodekamp den Branch in den OFBiz Hauptentwicklungs-Zweig integriert. Damit bietet das OFBiz Framework eine einfache Schnittstelle, um Content im Jackrabbit Repository abzuspeichern. Die Elemente werden dabei als Objekte im Repository Baum abgelegt. Dadurch muss der Entwickler einzelne Contentelemente (News, Produktbeschreibungen, Bloginhalte) nicht mehr auf verschiedene Datenbank-Tabellen verteilen, sondern kann mit Java Objekten arbeiten. Dies vereinfacht die Verwaltung und reduziert zugleich die Komplexität in der Entwicklung, was wiederum zu einer besseren Codequalität führt.

Architektur der Jackrabbit-Integration

Contentobjekte werden im Repository, im Gegensatz zur herkömmlichen Datenbanklösung, direkt versioniert. Die Vorteile einer Versionierung liegen auf der Hand: ungewollte Änderungen können zurückgenommen werden, auch ist ein Vergleich verschiedener Versionen möglich. Dies findet besondere Gewichtung, wenn ein Team gemeinsam an einem Dokument arbeitet. Des Weiteren ist eine mehrsprachige Ablage der Inhalte möglich. Dabei wird die Sprache des jeweiligen Artikels an den Pfad des Element Knotens (als Knoten wird ein einzelnes Contentobjekt im Repository Baum bezeichnet) codiert. Somit lässt sich zum einen über eine URL oder aber eine direkte Query (Suchanfrage an das Repository) die gewünschte Sprachversion des Artikels aus dem Repository laden.

Objekt-Baum im Content-Repository

Ein weiterer Vorteil gegenüber der Ablage des Contents in der Datenbank entsteht aus der Unabhängigkeit des Repositories. Das Repository muss nicht zwangsläufig auf dem gleichen Server wie die OFBiz Instanz betrieben werden. Es lässt sich auf ein separates System auslagern, um hohe Lastfälle oder eine dezentrale Speicherung abzudecken.

OFBiz Multi-Repository Lösung

Die Pflicht Jackrabbit als Repository zu nutzen besteht jedoch nicht. Da die Implementierung auf der Java Content Repository API Version 2.0 (JSR-283) basiert, ist es möglich, auch andere Implementierungen, welche auf JSR-283 basieren, zu nutzen. Dies gibt der Plattform die Flexibilität, die nötig ist, um eine stabile Versorgung mit mehrsprachigem Content sicherzustellen. Für Probleme oder Erweiterungswünsche wurde ein zentrales Jira Ticket eingerichtet (https://issues.apache.org/jira/browse/OFBIZ-4659).

Dieser Artikel gefällt Ihnen? Sagen Sie's Ihren Freunden:

Hinterlassen Sie eine Antwort





*