next up previous contents index
Next: Messobjekt Up: Architekturkonzept Previous: Messpunkte in Hooks

Messpunkte in Javabeans und Javabibliotheken

1.
StartButton
Der StartButton ist die erste Javabean in der Beankette der Anwendung. Der Start der Anwendung erfolgt durch Mausklick auf diesen Button. Um zu gewährleisten, dass alle Messpunkte der Anwendung einer eindeutigen Instanz zugeordnet werden, muss hier gleich das Messobjekt vom Start einer Anwendung mit deren BTA_namen verständigt werden. Dies ist dann gleich der erste Messpunkt. Eine Instrumentierung durch Codeergänzung ist erforderlich, weil die Beanbox es nicht gestattet, die Erzeugung eines Events als den Beginn einer BTA festzuhalten.

2.
Multithread-Javabeans

Unter Multithread-Javabean wird hier eine Javabean verstanden, in der mehr als ein Thread aktiv ist. In Abbildung [*] ist ein Ablauf dargestellt, bei dem der explizit von der Bean erzeugte Subthread vor Verlassen der MultiBean beendet wird. Allgemein werden die Subthreads aber nicht automatisch beendet, wenn der Hauptkontrollfluss die Bean verlässt.


 
Abbildung: Multithread-Javabean 

Damit das Messobjekt vom Start eines Subthreads verständigt wird, ist es notwendig, dessen Methode

  add_control_flow
aufzurufen; entsprechend bei Stop oder Ende des Threads:
  rem_control_flow
Das soll aber in einer erweiterten Javabibliothek geschehen. Dazu wird der Subthread als Instanz einer erweiterten Threadklasse BThread erzeugt.

3.
Javabibliothek

In der Extension BThread der Klasse Thread werden die erforderlichen Messpunkte in den Methoden start() bzw. stop() gesetzt. Die Methode stop ist in Java 1.2 deprecated, funktioniert aber noch.

Für den in dieser Arbeit konstruierten Prototypen wird eine neue Klasse BThread erzeugt, die instrumentiert werden kann. Im Prototyp ist dieses Verfahren tolerierbar, in der Praxis ist eine Anpassung der Threadklasse anzustreben (in FolgeFopra vorgesehen).

4.
Aktive Javabeans


 
Abbildung: Aktive Javabean 

Aktive Javabeans sind neben den Oberflächenbausteinen (Eingabe- und PresentationBeans) die einzigen Javabeans, bei denen ein Eingriff in den Code nötig ist.

Unter aktiven Javabeans versteht man solche, die Aufträge annehmen, in einer Warteschlange speichern und unabhängig vom Hauptkontrollfluss des Events später ausführen (siehe Abbildung [*]). Damit hier gemessen werden kann, muss die BTA-Instanz der auftraggebenden Anwendung gespeichert und bei der Auftragsausführung ans Messobjekt weitergereicht werden.

Bei der Auftragsausführung ist der Beginn und das Ende der Bearbeitung sowie die zugehörige BTA-Instanz zu melden.

5.
Presentationbeans

Javabeans, die das Ergebnis der BTA präsentieren, rufen die Methode:

- BTA_end der MessBean auf.

Mit Hilfe dieses Messpunkts kann der Agent die Antwortzeit ermitteln.


next up previous contents index
Next: Messobjekt Up: Architekturkonzept Previous: Messpunkte in Hooks
Copyright Munich Network Management Team