next up previous contents
Next: 3.3 Resultat-Listen Up: 3 Implementierung Previous: 3.1 Interpreter

3.2 Server

Alle Server-Klassen müssen vom UnicastRemoteObject erben, damit sie über RMI erreichbar sind. Genauso müssen sie eine Schnittstelle implementieren, dessen Methoden von einem Client aufgerufen werden können.

Die Klasse AHServer ermittelt alle Hosts des Netzes (Methode getHosts()). Die Hosts werden aus dem NIS mittels dem Konstrukt

Process process= 
    (Process)runshell.exec(new String("/usr/bin/ypcat hosts"))
ausgelesen. Jeder Host kommt genau einmal in der HostList mit seinem Domain-Namen vor. Dabei wird der Domain-Name genommen, der mindestens einen Punkt enthält (z.B "hpheger8.nm.informatik.uni-muenchen.de"und nicht "hpheger8").

Die Klasse AIServer erweitert die HostList um die Interfaces zur HostInterfaceList. Dabei wird im Konstruktor AIServer() die Methode

AHServer.getHosts()
aufgerufen, um die HostList zu erhalten. Die Informationen für die Interfaces wird aus der Management- Information-Base (mib-2) ausgelesen. Dabei wird die Klasse SNMPAccess verwendet, die von Theodororos Kotselidis ([Kot97]) mit Abstützung auf das Advent Java SNMP Package Version 1.0.2-Paket ([Adv]) im Rahmen seines Fopras implementiert wurde. Die verwendeten Object-Ids sind:

Die Klasse AIPRServer erweitert die HostInterfaceList zur HostIPRoutingList. Im Konstruktor AIPRServer wird die Methode AIServer.getInterfaces() aufgerufen, um die HostInterfaceList zu erhalten.
Die benötigte Information für die IP-Routing-Tabelle wird wie vorher aus der mib-2 ausgelesen. Die verwendeten Object-Ids sind:


  
Abbildung 6: Klassenhierarchie der Server
\begin{figure}
 \begin{center}
 
\epsfig {file=Bilder/server.eps, width=10cm, height=7cm}
 \end{center}\end{figure}


next up previous contents
Next: 3.3 Resultat-Listen Up: 3 Implementierung Previous: 3.1 Interpreter
Copyright Munich Network Management Team