Zunächst ist zu entscheiden, ob der zu erstellende Baustein überhaupt eine spezielle Instrumentierung benötigt. Dies ist nur für Oberflächen- und aktive Bausteine der Fall. Andere Bausteine als die oben angegeben erfordern keinerlei spezielle Managementinstrumentierung, können aber optional instrumentiert werden. Je nach Art des Bausteins sind dann die folgenden Schritte durchzuführen:
Das in Abbildung dargestellte
Code-Segment zeigt am Beispiel eines JavaBeans Buttons,
welche Anpassungen erforderlich sind. Die einzufügenden Zeilen sind
durch fetteren Druck hervorgehoben.
Zunächst muß eine private Variable angelegt werden, die den Namen der gestarteten BTA enthalten kann. In diesem Fall soll die BI mouseReleased des Buttons instrumentiert werden, also das Loslassen des Buttons mit der Maus. Dies stellt typischerweise die BI dar, die bei einem Button zum Start einer BTA führt. Es wird also eine Variable mouseReleasedBTA vom Typ String angelegt, sowie (nach JavaBeans-Konvention) die beiden Methoden getMouseReleasedBTA und setMouseReleasedBTA zum Auslesen und Setzen der Variable durch die Entwicklungsumgebung.
Innerhalb der Methode mouseReleased wird mit Hilfe des Aufrufs von fireAction das eigentliche Event ausgelöst. Direkt vor Aufruf von fireAction wird folglich startBTA eingefügt und der Name der gestarteten BTA als Parameter übergeben. Der Aufruf von fireAction findet in einer try/catch-Umgebung statt. Nach Rückkehr von diesem Aufruf hat der Kontrollfluß die Bearbeitung der BTA sicher verlassen und es kann removeControlFlow aufgerufen werden. Je nachdem, ob eine Exception auftrat oder nicht, wird Success oder Failure übergeben. Diese Aufrufe finden nur statt, wenn vom Anwendungsentwickler für mouseReleasedBTA eine Belegung definiert wurde, die Überwachung für diese BI also gewissermaßen aktiviert wurde.
Die Methode bearbeiteAuftrag läuft in einem anderen Kontrollfluß und wird in regelmäßigen Abständen aktiviert, um die Warteschlange auf Aufträge zu überprüfen. Ist ein Auftrag vorhanden, so muß zusätzlich dessen zuvor gespeicherter Identifikator ausgelesen werden. Dann muß vor der eigentlichen Bearbeitung des Auftrags ein startTA-Aufruf und nach Beendigung der Bearbeitung ein removeControlFlow-Aufruf (im Beispiel mit Parameter ,,Success``) eingefügt werden. Der startTA-Aufruf erhält dabei (neben dem üblichen Bausteinnamen sowie einem Identifikator der Bausteininstanz) den Identifikator der Transaktion als Parameter.
Durch Einfügen von logInfo-Aufrufen in beliebige Bausteine ist es optional möglich, weitere Information (z.B. interne Fehlerzustände) zu übermitteln. Diese können beliebig eingefügt werden und müssen nicht explizit mit einer Transaktion korreliert werden, da dies von der vorgestellten Architektur vollständig transparent erbracht wird.