...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

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...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
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

Beispielbenutzer SuSE Linux 6.0
Sun May 9 21:16:36 MEST 1999