next up previous contents
Next: 2.2 Modell Up: 2 Architektur Previous: 2 Architektur

2.1 Design-Entscheidungen

Die Architektur der Implementierung richtet sich u.a. nach den benötigten Informationen bzw. den Informationsquellen. Die wichtigsten Informationen für den Abhängigkeitsgraphen sind:

Aus dieser Aufteilung folgt die Unterteilung in Module, die diese Informationen zur Verfügung stellen:

Durch diese Unterteilung erhält man kleine, überschaubare Module.
Das KQML-Protokoll ist für die Übertragung von umfangreichen Objekt-Listen nicht besonders gut geeignet, denn eine Liste müßte zuerst in eine ASCII-Zeichenkette umgewandelt werden, übertragen und anschließend vom Empfänger wieder zu einer Liste (von Objekten) zusammensetzt werden. Deshalb werden die Listen mit Hilfe der Remote Method Invocation (RMI) ([RMI]) übertragen. Dieser RPC-Mechanismus ist ab java1.1 vorhanden. Ein kleines Beispiel soll die Programmierung von RMI erklären.

  
Abbildung 3: RMI - Beispiel
\begin{figure}
 \begin{center}
 
\epsfig {file=Bilder/rmi.eps, width=12cm, height=10cm}
 \end{center}\end{figure}

Wie in Abbildung 3 zu sehen, wird die Methode, die über RMI abgearbeitet werden soll, im Interface definiert. Diese Methode muß der Server implementieren. Die RMI-Registry muß gestartet werden. Eine Instanz des Servers und sein Name werden nun an die Registry gebunden. Der Client muß den Namen und den Host wissen, auf dem der Server läuft. Nun kann der Client über das Interface die Methode (getHello()) aufrufen, welche vom Server abgearbeitet wird.

Die Quelldateien werden mit dem javac-Kompiler übersetzt und anschließend der Server noch mit dem rmic-Kompiler, wobei die Klassen Server_Stub und Server_Skel generiert werden.

Da alle Interpreter von der Klasse AInterpreter und für RMI auch von der Klasse UnicastRemoteObject erben müßten, aber java nur Einfachvererbung bietet, ergibt sich eine weitere Unterteilung in Server und Interpreter. Der Interpreter bearbeitet die KQML-Anfragen und der (RMI-)Server generiert die jeweiligen Listen.


next up previous contents
Next: 2.2 Modell Up: 2 Architektur Previous: 2 Architektur
Copyright Munich Network Management Team