Next: Zuordnung anhand von Kontrollflüssen
Up: Zuordnung bei Einbeziehung mehrerer
Previous: Zuordnung bei Einbeziehung mehrerer
Ziel bei der Zuordnung von
Subtransaktion en ist es, jede
Subtransaktion derjenigen Instanz einer
BTA zuzuordnen, zu der die jeweilige
Subtransaktion beiträgt. Im folgenden Abschnitt
soll die daraus resultierende Problematik verdeutlicht werden, indem
zunächst die aufwendige Herangehensweise der ARM API dargestellt
wird. Anschließend wird gezeigt, daß auch die im vorangegangenen
Abschnitt verwendete Beschreibung der statischen
Verknüpfungsstruktur einer Anwendung nicht ausreichend wäre, um die
gewünschte Zuordnung herzustellen.
Bei Einsatz der ARM API
(vgl. Abschnitt
) wird die Zuordnung von
Subtransaktionen zu BTAs folgendermaßen erreicht (vgl.
Abbildung
):
Abbildung:
Zuordnung von Subtransaktionen
bei Verwendung der ARM API (nach [#!john97!#])
24#24 |
Nach Start einer Transaktion t1 wird vom
ARM Agent ein sogenannter Korrelator generiert und kann dort erfragt werden(k1), der die Instanz der Transaktion eindeutig
identifiziert. Dieser muß bei einer nachfolgenden Subtransaktion (
t2) wieder an den jeweiligen ARM Agenten übergeben werden und
gestattet somit die Zuordnung der Transaktionen in einer
angeschlossenen Managementanwendung. Problem hierbei ist aber
wiederum der erhebliche zusätzliche Aufwand für den
Anwendungsentwickler , da der Korrelator
der Transaktionsinstanz innerhalb der Anwendung - im Beispiel sogar
über Systemgrenzen hinweg - propagiert werden muß (z.B. als
zusätzlicher Aufrufparameter). Dies verhindert meist eine
nachträgliche Instrumentierung von Anwendungen, da hierfür erhebliche
Eingriffe in den Source Code erforderlich wären. Im Falle
bausteinbasierter Anwendungserstellung
ist eine derartige Vorgehensweise gänzlich ausgeschlossen, da eine
Propagierung dieser Information über Bausteingrenzen hinweg nicht ohne
Veränderung der Schnittstellen aller eingesetzter Bausteine möglich
wäre.
Auch aufgrund der Kenntnis der Verknüpfungsstruktur einer
bausteinbasierten Anwendung läßt sich die Zuordnung nicht ermitteln.
Dies wird an zwei einfachen Beispielen deutlich:
Abbildung
zeigt vereinfacht eine
Anwendung, die aus vier Bausteinen besteht. Bausteine A und B sind
Eingabebausteine, mit denen BTA 1
bzw. BTA 2 gestartet werden. Beide
rufen daraufhin Baustein C auf, der seinerseits Baustein D aktiviert.
In diesem einfachen Beispiel ist es bereits nicht mehr möglich, anhand
der Verknüpfungsstruktur der Anwendung die von Baustein D erbrachte
Subtransaktion einer der beiden
BTA s korrekt zuzuordnen.
Abbildung:
Problematik der
Zuordnung von Subtransaktionen zu BTAs
25#25 |
Eine ähnliche Situation ergibt sich bei zeitlich verschränkt
ablaufenden Instanzen derselben BTA .
BTA 1a und
BTA 1b seien unterschiedliche Instanzen
derselben BTA . Beide rufen daher denselben
Baustein B auf. Da die Reihenfolge der Bearbeitung durch Baustein B
nicht garantiert werden kann, ist es auch in diesem Beispiel nicht
möglich, aufgrund der Verknüpfungsstruktur der Anwendung die beiden
Instanzen der von Baustein B erbrachten
Subtransaktion korrekt der zugehörigen Instanz
der BTA zuzuordnen.
Next: Zuordnung anhand von Kontrollflüssen
Up: Zuordnung bei Einbeziehung mehrerer
Previous: Zuordnung bei Einbeziehung mehrerer
Copyright Munich Network Management Team