next up previous contents index
Next: Identifikation von Meßpunkten Up: Zweiter Ansatz: Automation der Previous: Zweiter Ansatz: Automation der

Idee

  Die grundsätzliche Idee des im folgenden vorgestellten Ansatzes besteht darin, auf eine Instrumentierung einzelner Bausteine vollständig zu verzichten und stattdessen eine automatische Instrumentierung der Anwendungslogik vorzunehmen. Somit müssen die Bausteine bei diesem Ansatz neben ihrer Nutzungschnittstelle keine spezielle Managementschnittstelle zur Verfügung stellen. Weiterhin entfällt die Erfordernis, eine explizite Managementlogik zu generieren. Diese wird stattdessen in die Anwendungslogik integriert. Der Strukturgraph der Anwendung wird somit jeweils zur Laufzeit einer Transaktion dynamisch aus den tatsächlich auftretenden Abläufen ermittelt.

Wie bereits dargestellt, erfolgt der Aufruf eines Bausteins nie direkt aus einem anderen Baustein heraus, sondern immer mittelbar über die Anwendungslogik . Es ist somit möglich, durch Einfügen von Meßpunkten in die Anwendungslogik , Informationen über Aufrufe einzelner Bausteine zu ermitteln, ohne daß hierzu eine Instrumentierung der Bausteine selbst erforderlich wäre.

Geht man davon aus, daß die Anwendungslogik  von einem Anwendungsentwickler  mit Hilfe einer speziellen Entwicklungsumgebung  erzeugt und teilweise von dieser generiert wird, ist es möglich, die Meßpunkte automatisch in die Anwendungslogik  einzubringen. Hierzu ist es erforderlich, die Entwicklungsumgebung  geeignet zu erweitern, so daß sie zusätzlich zum Code, der die eigentliche Verknüpfung zweier Bausteine realisiert, Meßpunkte in die Anwendungslogik  einfügt.

Im Gegensatz zur vorher vorgestellten Lösung werden bei dieser Variante die Benutzertransaktion en vom Anwendungsentwickler  explizit definiert und können somit präzise gemessen werden. Darüber hinaus wird, wie bereits erwähnt, Information über jeden Aufruf eines Bausteins gemessen. Durch geeignete Korrelation der beteiligten Kontrollflüsse läßt sich dann die Zuordnung einer Benutzertransaktion  zu den an ihrer Erbringung beteiligten Bausteinen herstellen. Zu beachten ist, daß nicht (wie im vorher vorgestellten Ansatz) eine explizite Managementlogik erstellt wird, sondern daß Meßpunkte in die Anwendungslogik eingefügt werden, deren Zusammenhang zur Laufzeit dynamisch ermittelt werden kann.

Abbildung [*] veranschaulicht dies nochmals anhand eines einfachen Beispiels. A und B seien beliebige Bausteine, die über keinerlei spezielle Managementinstrumentierung verfügen müssen. Ein Anwendungsentwickler  erstellt mit Hilfe einer Entwicklungsumgebung  und unter Verwendung der Bausteine A und B den Baustein C, dessen Anwendungslogik  bei Aufruf z.B. für eine sequentielle Ausführung der beiden darunterliegenden Bausteine sorgt. Die Entwicklungsumgebung  erstellt die Anwendungslogik  und verknüpft die Bausteine entsprechend. Außerdem fügt sie automatisch Meßpunkte in die Anwendungslogik  ein, die jeweils vor dem Aufruf eines Bausteins bzw. nach Rückkehr aus einem Baustein Managementinformationen liefern können. Es ergibt sich somit eine instrumentierte Anwendung C, deren Instrumentierung ohne manuelles Eingreifen des Baustein- bzw. Anwendungsentwickler s vorgenommen werden konnte. Die Instrumentierung erlaubt es beispielsweise, die Aufrufhäufigkeiten der einzelnen Bausteine, die Zeitdauer eines Aufrufs oder das Verhältnis erfolgreicher zu nicht erfolgreichen Aufrufen zu bestimmen.


 
Abbildung:  Automation der Managementinstrumentierung bausteinbasierter Anwendungen
21#21

Im folgenden Abschnitt wird dargestellt, wie die Identifikation und Generierung geeigneter Meßpunkte mit möglichst geringem Aufwand erfolgen kann. In Abschnitt [*] wird dann gezeigt, wie durch Korrelation von Kontrollflüssen eine eindeutige Zuordnung von Meßwerten zu Benutzertransaktionen möglich ist. Der daran anschließende Abschnitt gibt eine detaillierte Bewertung der vorgeschlagenen Lösung und geht insbesondere auf verbleibende Schwachpunkte ein.


next up previous contents index
Next: Identifikation von Meßpunkten Up: Zweiter Ansatz: Automation der Previous: Zweiter Ansatz: Automation der
Copyright Munich Network Management Team