06.10.2013 Aufrufe

pdf 1.967 kB - Praktische Informatik - Universität Siegen

pdf 1.967 kB - Praktische Informatik - Universität Siegen

pdf 1.967 kB - Praktische Informatik - Universität Siegen

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

3.12 Speicherung von Systeminformationen<br />

KAPITEL 3. ENTWICKLUNG DES SYSTEMS<br />

Bei der Nutzung des Systems werden Daten und Informationen erzeugt, die auf geeignete<br />

Weise persistent gespeichert werden müssen. Wie schon erwähnt, legt das System<br />

Dokumente und Daten, die ein Benutzer erstellt oder importiert bzw. vom System generieren<br />

lassen hat, in einer relationalen Datenbank ab, auf welche mit den Funktionen<br />

des Hibernate-Frameworks zugegriffen werden kann. Neben diesen Daten ergeben sich<br />

bei der Benutzung des Systems jedoch noch andere Informationen, die nicht unbedingt<br />

in einer Datenbak abgelegt werden sollten. Zu diesen Informationen zählen:<br />

• das Flag, welches angibt ob das System im Einzelnutzer- oder Mehrbenutzermodus<br />

betrieben wird<br />

• die Liste aller verfügbaren Plugins; mit der zusätzlichen Information, die angibt,<br />

welche der Plugins für den Betrieb genutzt werden sollen<br />

• die Liste aller Server; mit der zusätzlichen Information, die angibt, welche der<br />

Server für die Berechnung von Testläufen genutzt werden sollen<br />

• zusätzliche Systeminformationen, wie beispielsweise die Liste von definierten Interpretern,<br />

die für den Import von Algorithmen benötigt wird<br />

Da die Entwicklung des Einzelnutzersystems bereits mit dem Gedanken erfolgte, den<br />

Entwurf des Mehrbenutzersystems zu erleichtern und zu unterstützen, lag es nahe, die<br />

aufgezeigten Systeminformationen nicht Global in der Datenbank, sondern eher zentral<br />

auf dem Rechner, auf dem das Programm ausgeführt wird, zu speichern. Für diesen<br />

Zweck wurde die Klasse "SysInfo", die sich im Paket<br />

"de.usi.caew.system" befindet, implementiert. Diese stellt Variablen und Methoden<br />

zur Verfügung um die besagten Informationen in ihr abzuspeichern. Um das Objekt der<br />

Klasse "SysInfo" jedoch persistent zu speichern, wird die Funktionalität der Serialisierung<br />

des JDK genutzt. Hierzu befinden sich in der Klasse "MainSys" des gleichen<br />

Pakets zwei statische Methoden, welche von dem Hauptsystem und allen Plugins jederzeit<br />

aufgerufen werden können um das Objekt vom Datenträger zu laden bzw. um es<br />

abzuspeichern. Der Aufbau der Funktion zum Laden sieht wie folgt aus:<br />

public static SysInfo loadSysInfo()<br />

{<br />

java.io.FileInputStream fi =<br />

new java.io.FileInputStream("SystemData/system.sav");<br />

ObjectInputStream oi = new ObjectInputStream(fi);<br />

SysInfo sysInfo = (SysInfo)oi.readObject();<br />

oi.close();<br />

return sysInfo;<br />

}<br />

33

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!