next up previous contents index
Next: Realisierung des Konzepts Up: Architekturkonzept Previous: Messobjekt

Schnittstellen der Javabeans-basierten Anwendung

1.
Externe Schnittstellen Die Schnittstellen sind in der Abbildung [*] dargestellt:


 
Abbildung: Externe Schnittstellen der Javabeans-basierten Anwendung 

(a)
Schnittstelle des Baustein-Entwicklers zur Anwendung
Der Bausteinentwickler muss nur bei aktiven Beans Codeänderungen einbringen. Unter einer aktiven Javabean bzw. Baustein versteht man einen Baustein, der Aufträge annimmt und diese dann zeitunabhängig von der Annahme in einem eigenen Thread ausführt.

Bei Entwicklung eines Präsentationsbausteins muss der Aufruf:

- BTA_end(...)

in die Javabean eingefügt werden, um einen Messpunkt zur Ermittlung der Antwortzeit bereitzustellen. (Die BTA ist erst mit der Rückkehr des Kontrollflusses zum Start abgeschlossen.)

Zur Entwicklung eigener Javabeans siehe unten.

(b)
Schnittstelle des Anwendungsentwicklers zur Anwendung
  • Customizing:
    Im Startbaustein muss der BTA ein Name (BTA_name) zugewiesen werden. Eventuell sind anwendungsspezifisch noch bestimmte Parameter in den Bausteinen zu setzen.
  • Zusammenstellen der Anwendung aus den Beans:
    Die Bausteine (Javabeans) müssen in der richtigen Reihenfolge miteinander verbunden werden.
  • Test
  • Abspeichern der Anwendung in einem Applet.

(c)
Schnittstelle der Anwendung zum Managementagenten

Das Ergebnis der Messung wird dem Managementagenten in einem Logfile übergeben, das folgende Daten enthält:

  • Instanzidentifikation der Benutzertransaktion (BTA_ID)
  • Zeitpunkt des Eintritts in die Bean (ms)
  • Zeitpunkt des Austritts aus der Bean (ms)
  • BeanName
  • Kennung, ob Transaktion erfolgreich abgeschlossen wurde (success)

2.
Interne Schnittstellen

In Abbildung [*] sind die Schnittstellen entsprechend der folgenden Spezifizierung durchnummeriert:


 
Abbildung: Interne Schnittstellen der Javabeans-basierten Anwendung 

(a)
Schnittstelle des instrumentierten Buttons zur MessBean (1)
Nachdem der Benutzer/Anwendungsentwickler die Transaktion durch Klicken auf den instrumentierten Button gestartet hat, wird durch:

- BTA_start (mainThreadName, ButtonName);

die Transaktion bei der MessBean angemeldet.

Wenn der Kontrollfluss zum Startbutton zurückkehrt, wird sein Verlassen der BTA-Instanz durch :

- rem_control_flow ( ButtonName, success);

abgemeldet.

(b)
Schnittstelle zwischen Javabeans und Buttons (2,3)

Die Schnittstelle wird durch einen ActionEvent, in Ausnahmefällen durch den alternativen AlterEvent realisiert. Buttons sind immer nur Sourcen (Quellen), Javabeans meist Sourcen und Targets (Ziele).

Die Source sendet den Event (ActionEvent oder AlterEvent) an das mit ihr verbundene Target:

- ActionEvent ae = new ActionEvent();

Die Targetbean empfängt diesen mit der Methode:

- target.meth(ae); (meth beliebig, ActionEvent ae)

Zwischen Buttons und Javabeans sowie zwischen zwei Javabeans liegt immer ein Hook (siehe Abbildung [*]).

(c)
Schnittstelle des instrumentierten Hooks zur MessBean (4)

Die Hooks enthalten in der Methode

- actionPerformed(arg0)

vor dem Aufruf der Targetmethode die Aufrufe:

- MessBean.TA_start(mainThreadName, TargetName);

und nach dem Aufruf der Targetmethode den Aufruf:

- MessBean.TA_stop(mainThreadName, TargetName, success);

für den Zeitstempel in der MessBean.

Vor Rückkehr in den Startbutton wird der mainThread abgemeldet:

- MessBean.rem_control_flow(success);

(d)
Schnittstelle zwischen Javabeans und MessBean (5)

Die Javabeans können optional Informationen an die MessBean senden mit dem Aufruf:

- MessBean.logInfo( information, BeanName)

wobei information ein String ist.

(e)
Schnittstelle der Presentationbean zur MessBean (6)

Mit
- BTA_end(..)

wird der Messpunkt für die Ausgabe des Ergebnisses der BTA gesetzt.

(f)
Schnittstelle der auftraggebenden Bean zur aktiven Bean (7)

Mit:
- setTask (param)

wird der aktiven Bean von der auftraggebenden ClientBean ein später unabhängig von der BTA-Instanz auszuführender Auftrag erteilt.

(g)
Schnittstelle der aktiven Bean zur MessBean (8)

Es wird die BTA-Instanz abgefragt mit:
- String BTA_ID = MessBean.getBTA_ID();

Die aktive Bean meldet mit dem Aufruf:

- ATA_start(BTA_ID, ownThread)

den Start der Auftragsbearbeitung zur BTA mit der BTA-Instanz BTA_ID an.

Nach der Auftragsbearbeitung meldet sie ihren eigenen Thread wieder ab:

- ATA_stop(BTA_ID, ownThread, success)

(h)
Schnittstelle der Multithread-Beans zur BThread-Klasse (9)

Bei Beans, die einen eigenen Subthread starten, werden Beginn und Ende der Transaktion durch den SubThread mittels instrumentierter Thread-start- und -stop-Methoden der MessBean angezeigt.

Dazu wird eine Klasse BThread bereitgestellt, die Thread um die Methoden:

- start( String BeanName) und
- stop( boolean success)

erweitert.

Die Multithread-Beans starten ihren SubThread mit:

- BThread st = new BThread( subThreadName );
- st.start(BeanName);

und beenden ihn mit:

- st.stop(success);

(i)
Schnittstelle der Klasse BThread zur MessBean (10)

In der BThread-start-Methode wird der SubThread bei der MessBean angemeldet:

- MessBean.add_control_flow(SubThreadName);

In der BThread-stop-Methode wird der SubThread bei der MessBean abgemeldet:

- MessBean.rem_control_flow(SubThreadName, success);


next up previous contents index
Next: Realisierung des Konzepts Up: Architekturkonzept Previous: Messobjekt
Copyright Munich Network Management Team