Show TOC Anfang des Inhaltsbereichs

Funktionsdokumentation Anbindung an PMI  Dokument im Navigationsbaum lokalisieren

Verwendung

Sie können Ihren Adapter an die Process Monitoring Infrastructure (PMI) anbinden. Im SAP-Umfeld können technische Abläufe über Systemgrenzen hinausgehen (z.B. im Business Process Management). Die Anbindung an PMI bietet Ihnen die Möglichkeit einer Überwachung dieser Abläufe über Systemgrenzen hinweg.

PMI sammelt Daten von unterschiedlichen Systemen mit Hilfe von PMI-Agenten, die ihre Daten dann einem zentralen System zur Auswertung zur Verfügung stellen.

Integration

Die PMI-Trace-Daten werden erst im Speicher gesammelt und danach asynchron in den PMI-Server hochgeladen. Daher ist die Auswirkung auf das zu überwachende System und auf dessen Performanz gering.

SAP-Systeme, die mit systemübergreifendem Message-Austausch zu tun habe (z.B. tRFC oder die Runtime Workbench), sind automatisch an PMI angeschlossen.

PMI ist mit dem SAP Solution Manager integriert. Der SAP Solution Manager verbindet die Business-Prozess-Sicht mit dem technischen Tracing über Systemgrenzen hinweg.

Weiter Informationen zum Prozess-Monitoring mit PMI finden Sie unter: Prozess-Monitoring mit PMI (Process Monitoring Infrastructure)

Interface-Überblick

Merkmal

Wert

Name

AF PMI Access

Zweck

Schreiben von PMI-Daten

Typ

Java-Bibliothek

Technischer Name

Com.sap.aii.af.service.pmi

Zertifizierung

Optional

Syntax

Siehe unter Pfad: JavaDoc (.\index) package com.sap.aii.af.service.pmi

Aktivitäten

         Verwenden Sie die PMIAccess-Klasse, um PMI-Events zu setzen. Das Adapter-Framework ruft die PMIAccess-Klasse auf.

         Adapter können die folgenden PMIAccess-Methoden implementieren, um die komplette Message-Verarbeitung zu überwachen:

PMIAccess-Methoden

Methodenname

Bedeutung

invokeAdapterInboundAgent

Kann vom Adapter in Sender-/Inbound-Richtung dazu verwendet werden, den Eingang einer neuen Message so bald wie möglich zu melden.

Die Methode verlangt eine Message-ID. Dabei muss es sich nicht um die XI-Message-ID handeln, wenn der MessageIDMapper anschließend dazu verwendet wird, die Message-ID auf eine XI-Message-ID zu mappen.

Siehe auch: Message-ID Erzeugung, Persistenz und Mapping

invokeCPALookupAgent

Zeichnet die Adressinformation für eine gegebene Message-ID auf.

Die Methode muss für den Adapter in Sender-/Inbound-Richtung aufgerufen werden, falls invokeAdapterInboundAgent zuvor aufgerufen wurde.

invokeIDMappingAgent

Muss im Adapter implementiert werden, um das Mapping zwischen externer ID und XI-MessageID dem PMI bekannt zu geben.

Sie müssen die Methode implementieren, falls invokeAdapterInboundAgent mit externer Message-ID aufgerufen wird und der MessageIDMApper-Service nicht verwendet wird.

invokeAdapterOutboundAgent

Kann in Empfänger-/Outbound-Richtung aufgerufen werden, damit der Message-Ausgang aufgezeichnet wird.

Wenn Sie die Methode mit einer externen MessageID aufrufen, dann muss der Adapter entweder invokeIDMappingAgent aufrufen oder den MessageIDMapper verwenden, um das ID-Mapping PMI bekannt zu geben.

         Alle weiteren PMIAccess-Methoden brauchen Sie nicht zu berücksichtigen.

         Falls die XI-Message-ID in einer der oben genannten Methoden gesetzt wird, dann muss es sich um einen hexdezimalen String handeln, wenn Sie callPMIAgent() verwenden und dieser auf TRUE gesetzt ist.

Beispiel

Der Auszug zeigt eine interne Adaptermethode, die eine bereits umgesetzte Message (Klasse MyMessage) an ein externes Protokoll sendet. Als zweiter Parameter wird die XI-Message-ID als IGUID weitergeleitet, um so das PMI-Monitoring und das Message-ID-Mapping zu ermöglichen.

 

package com.mycompany.XI.adapter.impl;

 

import com.sap.aii.af.service.idmap.MessageIDMapper;

import com.sap.aii.af.service.pmi.PMIAccess;

import com.sap.guid.IGUID;

public void sendMessage(MyMessage message, IGUID xmbmsgid) throws MyException {  

 

try {

//Important: Use hex string XI message ID representation for PMI

//logging (inside mapper). The archiving interval for the ID mapping is set to 1 day

messageIDMapper.createIDMap(xmbmsgid.toHexString(),externalMsgId,

System.currentTimeMillis() + 1000*3600*24);

     } catch(Throwable t) {

      

     }          

 

    // Write PMI endpoint entry

    try {

       PMIAccess.invokeAdapterOutboundAgent(externalMsgId, "JMS", qos);

    } catch (Throwable t) {

          TRACE.catching(SIGNATURE,t); // Ignore

    }

Ende des Inhaltsbereichs