Was den SM von den anderen Werkzeugen grundsätzlich unterscheidet,
ist das Konzept, mit dem die Managementinformation verwaltet wird. Der
SM ist kein reiner Editor für Systemtabellen, sondern ein verteiltes
Werkzeug, das über DSOM mit seinen Komponenten kommuniziert. Gerade
dieses Konzept macht ihn für diese Arbeit interessant, weil so über
eine CORBA -konforme Schnittstelle die Managementinformation
und -Funktionalität nach außen hin zugreifbar wird. Damit erübrigt
sich eine Implementierung eines Management-Agenten für CICS -
zumindest im ersten, prototypischen Ansatz. Nachdem die Informationen
der CICS-Systeme beim SM in CORBA-Objekten gehalten werden, kann man
sich auch hier auf vorhandene Teile abstützen. Die Klassen, in denen
die eigentliche Information gehalten wird, müssen nicht mehr
implementiert werden, was eine große Erleichterung bringt. Diese
Implementierung wäre in erster Linie eine Abbildung der
Systemtabellen und würde für die Arbeit keinen Fortschritt bedeuten.
Interessanter sind in diesem Zusammenhang die Container- und
Metaklassen, mit denen die große Menge der Informationen strukturiert
werden soll. Durch die Philosophie von SOM/DSOM , alle Objekte
und deren Schnittstellen dynamisch zu registrieren, geht aus der
Dokumentation nicht unmittelbar hervor, wie die Klassen des SM genau
heißen.
Deshalb wurde versucht, mit Hilfe eines PERL-Scripts aus dem
Interface-Repository des SM einen C++-Header mit den benötigten
Klassen zu erhalten. Dazu dienten die Werkzeuge ir2classes
und classes2xh, die im Anhang beigefügt
sind. Damit kann auch die Vererbungshierarchie der Klassen ermittelt
werden. Mit den CASE-Werkzeugen sniff+ und StP
wurde aus den Header-Dateien ein Klassendiagramm erzeugt. Dieses
Diagramm war jedoch so umfangreich und unübersichtlich
, daß dieses
Diagramm zum Verständnis des Klassenmodells wenig geeignet ist.
Diese Vorgehensweise ist zwar sehr exakt, aber wenig praktikabel.
Außerdem ergab sich bei Stichproben, daß ein Klassendiagramm, das mit
sniff+ und StP erzeugt wurde, nicht die
Vererbungshierarchie hat, die aus dem Interface-Repository und den
C++-Header-Dateien hervorgeht. Diese Klassendiagramme sind also als
Grundlage für eine fundierte Arbeit nicht geeignet!
In einem weiteren Ansatz wurde versucht, auf bereits instanziierte
Objekte in einer SM Application oder eines Resource Controllers, also
dem Agenten der SM Application, zuzugreifen. Damit kann man sich die
Informationen die konkret in einem CICS-System existieren über den
Agenten des CICS SM ermitteln. Da der Resource Controller eine
standardisierte Schnittstelle besitzt, nämlich SOM/DSOM, ist es
naheliegend, direkt über SOM/DSOM auf diese Objekte zuzugreifen. Ein
Beispielprogramm in C++ ist im Anhang zu finden.
In dieser Form dient das Programm dazu, die Vorgehensweise zu
dokumentieren, wie über SOM/DSOM auf Objekte und deren Attribute und
Methoden zugegriffen werden kann. Für den konkreten Einsatz ist das
Programm noch nicht zu nutzen, da ein Navigationshilfsmittel zu einem
bestimmten Objekt bisher fehlt. In der SM Application gibt es ein
solches Hilfsmittel nur zum Teil, da man immer ein Kontainerobjekt
öffnen muß, um seinen Inhalt zu sehen. Ein Objekt kann nicht direkt
mit seinem Namen eingegeben werden, um es zu bearbeiten.
Auf der Grundlage dieser Informationen besteht jetzt die Möglichkeit,
die Anforderungen aus dem vorigen Kapitel mit der vorhandenen
Funktionalität des SM zu vergleichen.