next up previous contents
Next: Das SOM Collection Class Up: 2.3.3 Die SOM-Frameworks Previous: Das SOM Metaclass Framework

Das SOM Persistence Framework

Mit dem Persistence Framework kann der Zustand von Objekten persistent gespeichert werden. Dadurch wird erreicht, daß Objekte länger verfügbar sind, als die Lebensdauer des Prozesses, in dem sie erzeugt wurden.

Die Speicherung der Objekte erfolgt in Dateien. Komplexere Aspekte der Datenhaltung wie Recovery, Transaktionen oder Zugriffssynchronisation werden nicht unterstützt.

Allerdings ist das Persistence Framework wie die meisten SOM-Klassen erweiterbar, so daß es durchaus denkbar ist, daß mit einer entsprechenden Anpassung z.B. auch objektorientierte Datenbanken zum Speichern der Objekte herangezogen werden können.


 
Abbildung 2.10: Persistence Framework
\begin{figure}
\begin{center}
\mbox { \epsffile{bilder/pers.eps} }\end{center}\end{figure}

Objekte, deren Zustand persistent gespeichert werden soll, müssen die Klasse SOMPPersistentObject in ihrem Vererbungsbaum haben. Das Persistence Framework kann Objekte von beliebiger Komplexität speichern und wiederherstellen. Das heißt, es können Objekte gespeichert werden, die ihrerseits wiederum Objekte als Daten enthalten. Man spricht hierbei von Embedded Objects. Wenn ein Objekt gespeichert wird, werden normalerweise alle anderen Objekte, die in ihm enthalten sind, automatisch mitgespeichert - sofern dies vom Anwendungsprogrammierer nicht explizit ausgeschlossen wurde.

Jedem persistenten Objekt muß ein eindeutiger Identifikator (persistent ID) zugeordnet werden. Diese ID gibt an, wo und wie das Objekt gespeichert werden soll. Dabei wird folgendes Format verwendet:

<IOGroupManagerClassName>:<IOGroupName>:<GroupOffset>
Der IOGroupManagerClassName gibt an, wie das Objekt gespeichert werden soll, z.B. im Ascii- oder Binärformat. Eine IOGroup beinhaltet alle Objekte, die zusammen in einer Datei abgespeichert werden sollen. Hier wird der entsprechende Dateiname angegeben. Der GroupOffset schließlich identifiziert das Objekt innerhalb seiner IOGruppe und gibt an, wo in der Datei das Objekt gespeichert werden soll.

Die persistentID muß spezifiziert werden, bevor das Objekt abgespeichert werden kann; anhand ihr kann das Objekt später auch wieder reinitialisiert werden.


next up previous contents
Next: Das SOM Collection Class Up: 2.3.3 Die SOM-Frameworks Previous: Das SOM Metaclass Framework
Copyright Munich Network Management Team