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
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
KAPITEL 3. ENTWICKLUNG DES SYSTEMS<br />
die Klasse "IDWatcher", die im Paket "de.usi.caew.system" liegt, spezielle Methoden,<br />
die die jeweiligen ID’s berechnen und als Resultat zurückgeben.<br />
• Netzwerkkommunikation - Wie bereits erwähnt, soll die Testlaufphase auf<br />
mehrere Rechner verteilt werden können. Um dies zu gewährleisten ist das Programm<br />
so aufgebaut, dass es zum Teil als als Server und zum Teil als Client<br />
betrieben wird. Dabei dient der Server, der als ein eigener Thread im Hintergrund<br />
ausgeführt wird, zum Berechnen von Testläufen. Das eigentliche, vom Nutzer sichtbare<br />
Programm, ist der Client, der die Aufträge an einen bzw. mehrere Server verteilt.<br />
Dies mag im ersten Moment widersprüchlich erscheinen, da womöglich davon<br />
ausgegangen wird, dass das Hauptprogramm der Server sei und die berechnenden<br />
Threads die Clients, denen Aufgaben zugeteilt werden. In der Praxis ist es jedoch<br />
so, dass ein Server seine Dienste anbietet, der Client diese wiederum nutzt. Somit<br />
ist die oben beschriebene Rollenverteilung korrekt.<br />
Die Funktionalität des Servers ist ebenfalls ein Bestandteil des Hauptsystems und<br />
wurde gezielt nicht als Plugin implementiert. Dies macht es möglich das Programm<br />
ohne Einbindung jeglicher Plugins als Server ausführen zu können. Dieser Server<br />
kann anderen Instanzen des Programms seine Dienste anbieten und beispielsweise<br />
zur verteilten Testlaufberechnung eingesetzt werden. Die dazugehörigen Klassen<br />
befinden sich im Paket "de.usi.caew.rmi" des Hauptsystems.<br />
• Sprachmanagement - Das System unterstützt den Einsatz verschiedener Sprachen.<br />
Die Sprachunterstützung kann im späteren Verlauf modular erweitert werden.<br />
Zwei Sprachen - Englisch und Deutsch - sind bereits ein Bestandteil der Basisversion.<br />
Die Funktionen, die zum Zugriff auf Sprachelemente genutzt werden, sind ebenfalls<br />
in das Hauptsystem integriert und lassen sich im Paket "de.usi.caew.lang"<br />
finden.<br />
• Dokumente im Hauptspeicher - Die Dokumente, die zur Ausführung von<br />
Testläufen benötigt werden, befinden sich zum Zeitpunkt des Startens in der Datenbank.<br />
Sollte man auf die Dokumente zugreifen wollen, so müssen diese zunächst<br />
in den Hauptspeicher geladen werden. Um dies zu ermöglichen bietet die Klasse<br />
"MainSys", die sich im Paket "de.usi.caew.system" befindet, verschiedene Variablen<br />
und Arrays, die solche Daten aufnehmen können. Die Klasse "MainSys" ist<br />
eine der wichtigsten Klassen des Hauptsystems, die einen zentralen Knotenpunkt<br />
zwischen den Plugins und dem Hauptsystem selbst darstellt. Alle Plugins haben<br />
die Möglichkeit auf die in ihr zentral abgelegten Daten zuzugreifen. Dies ermöglicht<br />
einen wechselseitigen Datenaustausch zwischen einzelnen Plugins.<br />
• Plugin-Nutzung - Da das Hauptsystem, abgesehen von seiner Funktion als<br />
Server, nur wenig Funktionalität bietet, ist die Einbindung von Plugins eine seiner<br />
Hauptaufgaben. Hierzu befinden sich Funktionen in der Klasse "MainSys", die<br />
diese Aufgabe übernehmen.<br />
10