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

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!