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
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