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