- ...HTML
-
Offensichtlich ist HTML kein Protokoll. Es ist hier jedoch ebenfalls aufgeführt, da unter
JDMK ein HTML-Adapter zur Verfügung gestellt wird. Dieser Adapter kommuniziert
über HTTP, bietet jedoch kein Sicherheitskonzept (vgl. 3.4.5). Im weiteren
wird HTML im Zusammenhang mit den Protokollen immer unter diesem Gesichtspunkt
gesehen.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...Listeners
- Das Listener-Konzept
bietet die Möglichkeit, Veränderungen bei Managed Objects oder anderen Agenten zu registrieren
und dadurch nicht auf eine direkte Benachrichtigung angewiesen zu sein. Insbesondere dient
dieses Konzept dazu, die Netzlast nur dann zu erhöhen, falls eine Information über die
Veränderungen erwünscht ist. Es muß also nicht dafür gesorgt werden, daß der Agent
bzw. das Managed Object über jede Veränderung seien Manager benachrichtigt.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...Voraussetzungen
-
Diese Voraussetzungen beinhalten die Möglichkeit, Funktonalität dauerhaft im Agenten zu belassen oder
zu entfernen. Die Funktionalität kann auch ohne Unterbrechung durchgeführt oder nur bei Erhalt
eines Signals vom Manager wieder ausgeführt werden.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...Flexibilität
- Es ist zu beachten,
daß der Begriff ``Flexibilität'' in mehrfacher Art und Weise gebraucht werden kann.
Einmal kann die Flexibilität die Fähigkeit beschreiben, Funktionalität zu delegieren.
Auch kann Flexibilität lediglich die Möglichkeit darstellen,
einen Agenten zu erweitern. Dies ist nicht mit der Delegierung gleichzusetzen. Der SNMP-Agent
von Windows NT kann nicht zur Laufzeit mit zusätzlicher Funktionalität ausgestattet werden,
jedoch kann bei einem Neustart des Dienstes der Funktionsumfang durch Hinzunahme von Bibliotheken
erweitert werden.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...(ANS
- ANS = Agent Name Server
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...(AES
- Agent Event Server
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...Kit
-
JDMK wurde von Sun Microsystems Inc. entwickelt und ist derzeit in der
Version 3.0 erhältlich.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...Kit
-
JDMK wurde von Sun Microsystems Inc. entwickelt und ist derzeit in der
Version 3.0 erhältlich.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...werden
-
Das Core Management Framework als Java-Objekt kann zur Laufzeit nicht
erweitert werden. Diese Formulierung zielt darauf, daß die Rahmenstruktur,
welche durch das CMF-Objekt organisiert werden kann, durch M-Beans
zur Laufzeit erweitert wird. Es wird im weiteren Verlauf vereinfacht als
die Erweiterung des CMF bezeichnet.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...JavaBeans-Konzept
-
Das JavaBeans-Konzept beruht auf der Voraussetzung, Klassen zu erzeugen, welche
einheitliche Zugriffsmuster auf deren Variablen (Attribute) besitzen. So werden für Zugriffsfunktionen
auf Attribute Namenskonventionen festgelegt. Aufgrund der Namenskonventionen kann nun
eine Applikation durch Verwendung der Reflection-API, welche ebenfalls von Sun für Java zur
Verfügung gestellt wird, die von dem Bean unterstützten Attribute, Events und Methoden
ermitteln.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...Bezeichner
-
Dieses Problem stellt sich unter der von JDMK angebotenen Unterstützung zur Generierung
von HTML-Zugriffsseiten für M-Beans. Dort werden auch die Aktionen berücksichtigt
und es werden Eingabefelder für eventuell zu übergebende Parameter generiert. Jedoch
werden diese Parameter nur mit dem Typ beschriftet, welches nicht unbedingt die
Lesbarkeit solcher Eingabemasken erhöht.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...15
-
Die Aufrufsyntax lautet:
public void initCmf(Framework cmf,
ObjectName name,
boolean db,
ModificationList list
) throws InstanceAlreadyExistException
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...``MOGEN''
-
MO = Managed Object, ein Repräsentant eines Objektes des Agenten auf der
Client-Seite.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...kommunizieren
-
Eine Ausnahme bilden hierbei der HTML- und der SNMP-Adapter. Diese
Adapter werden ohne AdaptorClient angesprochen.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...CORBA-Schnittstelle
-
CORBA wird in der Version 2.0 vorausgesetzt. Kompatibilität dieses Adapters mit
der Version 2.2 ist nicht sicher und konnte auch während der Testphase des Adapters nicht
ermittelt werden.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...Service
-
Der COS (Common Object Service) Naming Service ist in seiner Funktion mit
Verzeichnissen auf Dateisystemen vergleichbar. Die Verzeichnisse entsprechen
hier sogenannten ``Kontexten'', in welche Referenzen auf zur Verfügung stehende
Objekte eingetragen werden. Ein Server kann an dieser Stelle seine Methoden und
Objekte zur Verfügung stellen, Clients können diese verwenden.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...JavaIDL
-
JavaIDL ist eine von Sun zur Verfügung gestellte Package von Java-Klassen, welche
einen COS-Naming-Service implementieren. der Aufruf geschieht durch
``nameserv'' und der optionalen Angabe eines Ports mit ``-ORBInitialPort <Port>''
Wenn keine Angabe gemacht wird, so wird der Standardport 900 verwendet.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...CRAM-MD5
-
CRAM-MD5 : Challenge-Response Authentification Mechanism, using MD-5
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...kann
-
Im weiteren wird auf die Datei, welche die ACL darstellt, vorgestellt. Der Aufbau
der Klasse und die Art der Einträge sind zwischen diesen Varianten identisch.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...Konfigurationsverzeichnis
-
Die Verzeichnisse für die Konfigurationsdateien sind
- Solaris : /etc/opt/SUNWconn/jaw/conf/
- Windows NT : C:ProgrammeSUNWconnjawetcconf
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...laden
- Die Anbindung dieser Bibliotheken kann beispielsweise
durch das Java Native Interface realisiert werden
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...58-Klasse
-
Diese Klasse ist in der Package java.security integriert. Der Grund für
die Verwendung einer solchen Klasse ist die Annahme, daß über das
Netz geladene Klassen als nicht vertrauenswürdig angesehen werden.
Aus diesem Grund werden Zugriffsbeschränkungen für solche Klassen
(z.B. Applets) geschaffen.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...``.jar''-Datei
-
JAR (Java Archive) Dateien sind mit anderen Archivdateien wie beispielsweise
zip und tar(gz) vergleichbar. In diesen Dateien werden ``class''-Dateien zusammengefaßt
und komprimiert. Der Vorteil in der Verwendung dieser Dateien ist die einfachere
Handhabung in Bezug auf die Übertragung von Klassen über ein Netzwerk. (Es muß
lediglich nur eine Datei, welche zudem komprimiert ist, übertragen werden.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...erforderlich
-
Wie bereits erwähnt, können gleichnamige, in ihrer Struktur jedoch unterschiedliche
Klassen mit Hilfe der Archive für einen Agenten verwendet werden. Dieses Verfahren
entspricht in etwa dem Überladen von Methoden bei objektorientierten Programmiersprachen.
Ein Irrtum hieraus bei der Überprüfung von gültigen Versionen im Cache wird durch die
Angabe des zugehörigen Archivs (Name des ``.jar''-Files) ausgeschlossen.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...kann
- Das Updaten kann
so realisiert werden, daß ein ``.jar''-File erzeugt wird, welches
die aktuellen Klassen enthält. Danach wird in die Agenten, welche
aktualisiert werden sollen, M-Beans eingehängt, welche mittels des
M-Let-Service das Laden der Klassen aus dem ``-jar''-File
übernehmen. Nun müssen nur noch die alten M-Beans durch die neuen
Klassen ersetzt werden
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...gewartet.
- Dieser
Request kann von Management-Applikationen oder anderen Agenten
ausgesandt werden, welche ein Discovery-Client-Objekt erzeugt
haben
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...sicher
-
Diese Metadata-Datei ist nicht mit dem Metadata-Service gleichzusetzen. Während
der Metadata-Service für die Reflection-API unter Java benutzt wird, beinhaltet die
Metadata-Datei die möglichen Werte der durch die MIB repräsentierten Variablen
und Tabellen.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...``IPC-Messages''
- IPC steht für Inter-Prozeß-Kommunikation, wobei die Prozesse die
Applikationen darstellen, welche über den Dispatcher verbunden sind
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...registriert
-
Hier hat die Registrierung mit JDMK nichts zu tun, es
ist nur notwendig, alle Elemente, welche Nachrichten vom Dispatcher empfangen oder versenden
können, dem Dispatcher bekannt zu machen. Dies wird innerhalb des TIS als Registrierung bezeichnet.
Ist ein Element registriert, kann der Dispatcher IPC-Messages eindeutig zuordnen.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...(OEM-)Boards
- OEM steht für Original Equipment Manufacturer und stellt
eine Karte zur Kommunikation über LAN dar. Mit dieser Karte wird eine API mitgeliefert,
die das Gateway benutzt.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...NT-)Registry
-
Die Registry unter Windows NT beinhaltet Informationen, welche für Applikationen, Dienste
und Systemprozesse verwendet werden. Sie bezeichnen Einträge, an welcher Stelle im System
wichtige Informationen wie Bibliotheken zu finden sind, sowie andere wichtige Informationen.
Im Fall des SNMP-Agenten von Windows NT können hier Extension Agents hinzugefügt
werden, die bei Neustart des Agenten berücksichtigt werden.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...verarbeitet
- Diese Methode wird ebenso
innerhalb der JNI-Schnittstelle des Prototypen verwendet
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...Anfrage
- Die Anfrage
kann von dem Anfragentyp und der betroffenen MIB-Variable abhängen
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...Agenten
- Im weiteren
werden die Begriffe JDMK-Agent und Manager synonym verwendet,
falls es eine Management-Applikation ist, die mit Hilfsmitteln
des JDMK entworfen wurde. Da sich die Rollenverteilung unter JDMK
dynamisch anpaßt.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...wählbar
- Es ist
selbstverständlich, daß ein Index, der für die Fortzählung bei
gleichnamigen M-Beans benötigt wird, berücksichtigt werden muß
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...IDL-Datei
-
Die IDL oder Interface Definition Language ist eine Sprache, mit deren Hilfe Schnittstellen
für Server-Objekte und deren angebotene Dienste (Methoden) im Sinne einer CORBA
Umgebung geschaffen werden können. In einer ``.idl''-Datei, die serverspezifisch erstellt wird,
kann mittels Compiler eine Umsetzung der IDL-Schnittstellen-Spezifikation in die verwendete
Programmiersprache (z.B. Java) durchgeführt werden. Dabei können Dateien, sogenannte
Stubs und Skeletons erstellt werden. Diese Dateien werden für den Zugriff von Clients auf
Server benötigt. Genauere Informationen sind unter [omg91] zu finden.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...NetworkParms
-
Diese MIB-Gruppe ist in der TIS-MIB in Anhang C beschrieben.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...SXA
-
Im weiteren sei SXA stellvertretend für die SXA-Funktionalität genannt, welche
in der nativeBase-Bibliothek realisiert wurde. Diese Bibliothek stellt die unterste
Schnittstelle zwischen TIS-Applikationen und JDMK-Managementumgebung dar.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...registriert.
- Achtung : Es ist unbedingt
zwischen der Registrierung innerhalb des CMF (addObject) und der
``registerNode''-Methode zu unterscheiden. Letztere erwirkt die Registrierung des
MIB-Knotens im JDMK-eigenen MIB-Baum (dieser Baum wird benötigt, um über den
SNMP-Adapter auf MIB-Variablen zuzugreifen)
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...119
-
Diese Methoden sind Bestandteil der Schnittstelle des JDMK-Agenten, welche mit Hilfe des
Java Native Interface (vgl. Kapitel 6.5) implementiert wurde.
Sie dienen zum Durchlaufen von MIB-Tabellen.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...Einträge.
-
Hier sei darauf hingewiesen, daß die SNMP-Tabellen unter TIS nicht im herkömmlichen
Sinne durchlaufen
werden können. Ist eine Spalte abgearbeitet, so ergibt der nächste ``getNext''-Aufruf wieder die Start-OID
der Tabelle. Aus diesem Grund ist auch ein Vergleich mit der String-Variante der OID notwendig
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...GKStatistics-Gruppe
-
In dieser MIB-Gruppe werden Werte für die Überwachung der aktuellen Verbindungen, sowie
der im Moment verfügbaren Bandbreite für den Aufbau neuer Verbindungen gespeichert.
Zusätzlich wird eine Tabelle verwaltet, in welcher in Abständen Vergleichswerte für
die Anzahl der aktuellen Verbindungen, die gesamte Verbindungsanzahl, die Durchschnittslänge
der Verbindungen und die maximale Bandbreite, welche bisher belegt wurde, gespeichert.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...werden
-
Wie bereits in Kapitel 5.3.2 erwähnt, geschieht die Kommunikation
innerhalb des TIS über Sockets. Es kann somit auch eine Realisierung in Java geben.
Aus bekannten Gründen wurde jedoch die C++-Variante gewählt.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...darstellt
- Diese Baumstruktur ist nicht mit der durch den JDMK-Agenten
verwalteten Baumstruktur zu verwechseln. Die Baumstruktur des JDMK-Agenten dient zum Zugriff
über den SNMP-Adapter während die Baumstruktur, die durch die ``.mdf''-Datei erzeugt wird, für
das Zusammensetzen der IPC-Nachrichten erforderlich ist
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...erforderlich
- Die Möglichkeit, daß mehrere JDMK-Agenten gleichzeitig laufen können und
somit wieder ein asynchroner Zugriff auf die MIB-Variablen geschehen kann ist zu berücksichtigen.
Da in der Beispiel-Implementierung von einem JDMK-Agenten ausgegangen werden kann ist dieser
Fall nur theoretisch untersucht worden.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...durchgeführt
-
Die Wahl der Schnittstellendefinition fiel bei der Implementierung des Prototypen auf
die eigenständige Erzeugung von IPC-Nachrichten und somit der Umgehung des
SNMP-Agenten.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...vorhanden,
-
Stellt der Index zudem noch einen String dar, so muß zum Einen der String in eine brauchbare
Darstellung gebracht werden, die es ermöglicht, diesen in die Baumstruktur zu integrieren.
Zudem muß bei mehreren Einträgen aufgrund der unter Umständen hohen Zahl von
Einträgen auf eine lineare Suche innerhalb der Tabelle verzichtet werden. Dieses Problem
wird gelöst, indem die ASCII-Codierung der Zeichen, welche die Einträge ausmachen,
verwendet wird. Es wird, um die Trennung zwischen den Einträgen zu erreichen, eine
Längenangabe der Zeichen vorangestellt. Auf diese Art und Weise kann ein Eintrag wieder
durch Durchlaufen einer Baumstruktur gefunden werden.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...ist
-
Beispielsweise ist die Variable IPAdress in der MIB-Gruppe NetworkParms als OCTET-STRING
gekennzeichnet. Die Darstellung als einzelne Bytes innerhalb der generierten Klasse erfordert
eine Umsetzung in eine Stringrepräsentation.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...TIS-Management-Umgebung
-
Die Verwendung des Eventmodells wird insbesondere bei der Überwachung von
MIB-Variablen wie aktuelle Bandbreite und bestehende Verbindungen verwendet.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...unterschieden
- Es sei darauf hingewiesen, daß es sich um die
Klasse der Monitor-Events handelt. Damit werden viele der Arten, die aufgeführt werden, von Counter-
und Gauge-Monitoren gesendet. Falls sich der Event auf eine bestimme Klasse von Monitoren beschränkt,
wird gesondert darauf hingewiesen
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...Methodenbezeichner
-
Bei überladenen Methoden wird hinter dem Methodenbezeichner ``__'' angehängt.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...Erweiterungen
-
Die Möglichkeit, benutzerspezifische Anpassungen an die generierten HTML-Seiten zu
implementieren oder die generierten Seiten durch benutzerspezifische Seiten gänzlich
zu ersetzen, wird in Kapitel 6.7.1 genauer eingegangen.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...2.0
- JMAPI = Java Managent API
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.