next up previous contents index
Next: Umsetzung MIB-Variablen Up: M-Bean-Generierung aus TIS-MIB Previous: M-Bean-Generierung aus TIS-MIB

Rahmenstruktur

  Die Reihe der Klassen, welche die M-Beans der MIB repräsentieren, beginnt mit einem speziellen ``Haupt-''M-Bean. Dieses Bean repräsentiert die oberste Stufe der MIB-Hierarchie. Die Klasse wird mit dem MIB-Bezeichner benannt. Sie stellt eine Unterklasse der SnmpMIB-Klasse dar, welche durch die oben genannten Pakete bereitgestellt wird. Diese Klasse besitzt zwei Initialisierungsvarianten. Diese Varianten ermöglichen die Instantiierung der MIB innerhalb des JDMK-Agenten mit und ohne Registrierung der M-Beans innerhalb des CMF. Es ist durchaus denkbar, um eventuell die Anzahl der M-Beans zu verringern, auf die Registrierung zu verzichten. Nach wie vor ist ein Zugriff auf die Elemente durch den SNMP-Adapter möglich. Allerdings setzt der Zugriff über die anderen Adaptoren eine Registrierung voraus.
Die Initialisierung verläuft kaskadenartig in der MIB-Hierarchie nach unten. Eine Gruppe nach der anderen wird instantiiert und ggf. im CMF registriert.gif Innerhalb jeder Gruppe (bzw. Klasse, die die Gruppe repräsentiert) werden zunächst die Properties, welche einfache SNMP-Datenstrukturen darstellen, initialisiert. Danach werden, falls vorhanden, die Tabelleneinträge instantiiert und ggf. im CMF registriert. Es ist zu beachten, daß für die Tabelle selbst kein M-Bean erzeugt wird, sondern die Bezeichner der Tabelleneinträge als Domäne den Tabellenbezeichner erhalten. Nachfolgend ist ein Beispiel für die Instantiierung und Registrierung einer Klasse zu sehen. Es ist bereits die generierte Klasse auskommentiert und durch eine benutzerspezifische Klasse ersetzt worden. Diese Klasse wurde von der generierten Klasse abgeleitet. Das Erstellen von benutzerspezifischen Klassen ist in Kapitel 6.4 beschrieben. Die Methode registerNode wird verwendet, um die Klasse bzw. die MIB-Gruppe die sie repräsentiert in die JDMK-MIB-Struktur zu integrieren.

// Initialization of the "NetworkParms" group.
// For disabling support of this group, just comment out the section.
//
{
    NetworkParmsMeta meta= new NetworkParmsMeta((SnmpMib)this);
    // generated M-Bean, now obsolete
    //NetworkParms instance = new NetworkParms((SnmpMib)this);
    // The following line obsoletes genarated M-Bean ...
    NetworkParmsImpl instance = new NetworkParmsImpl((SnmpMib)this, cmf);
    // Set Metadata for SNMP-Access ...
    meta.setInstance(instance);
    root.registerNode("1.3.6.1.4.1.2206.5.1.1.1", (SnmpMibNode)meta);
    // The following line obsoletes generated registration line ...
    cmf.addObject(instance
                 , new ObjectName(mibName + ":" + "tis20.impl.NetworkParmsImpl"));
    // generated registration, now obsolete
    //cmf.addObject(instance
                  , new ObjectName(mibName + ":" + "tis20.mibgen.NetworkParms"));
}
Wie in dem Beispiel ersichtlich, wird eine Metadaten-Klasse generiert, welche bei Zugriffen über den SNMP-Adapter verwendet wird. Diese Metadaten bzw. die dafür generierten Klassen bieten die notwendigen Informationen, falls über einen MIB-Browser oder SNMP-Agenten auf den JDMK-Agenten zugegriffen wird. In Kapitel 6.3.3 wird auf die Verwendung der Metadaten eingegangen.
Im Falle der TIS-MIB ist es bei der Initialisierung notwendig, statt der von JDMK generierten Defaultwerte mittels Native-Methoden die relevanten Werte aus den entsprechenden Applikationen zu laden.
Der Vorgang der Initialisierung und dessen Verlauf ist in Abbildung 6.3 dargestellt.

 
 figure1321

Abbildung 6.3: Erzeugung der MIB-Rahmenstruktur

Der Ablauf der Generierung richtet sich nach folgendem Schema:

  1. Generierung des ``SBCS-TIS2-MIB'' M-Bean. Dieses M-Bean stellt den Einstiegspunkt für die MIB-Repräsentation innerhalb des JDMK-Agenten dar.
  2. Sukzessive Generierung der M-Beans für jede Gruppe, welche innerhalb der TIS-MIB vorhanden ist. In Abbildung 6.3 ist dies für die Gruppe NetworkParms gefolgt von der Gruppe PlatformMisc dargestellt.
  3. Falls in einer Gruppe Tabellen vorhanden sind, werden für die Tabelleneinträge ebenfalls M-Beans erzeugt. (Die Generierung der erforderlichen Klassen ist am Beispiel von NetworkParms in Abbildung 6.1 dargestellt). In Abbildung 6.3 ist eine solche Erzeugung von M-Beans am Beispiel der Tabelle DnsServerTable und deren Einträge dargestellt. Damit besteht die Möglichkeit, auf jeden Eintrag innerhalb einer Tabelle einzeln direkt zuzugreifen.
    Das dynamische Verhalten des Prototypen im Falle von Zugriffen über die verwendeten Adapter ist in Kapitel 6.10 beschrieben.

next up previous contents index
Next: Umsetzung MIB-Variablen Up: M-Bean-Generierung aus TIS-MIB Previous: M-Bean-Generierung aus TIS-MIB

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