Für z/OS-Plattformen

OLA-APIs in Liberty zum Aufrufen einer Enterprise-Bean über einen externen Adressraum verwenden

Verwenden Sie die WOLA-APIs (WebSphere Optimized Local Adapters, optimierte lokale WebSphere-Adapter), um einen externen Adressraum mit einem Liberty-Server zu verbinden und eine lokale Stateless Session-Bean aufzurufen.

Vorbereitende Schritte

Um Ihre Enterprise-Bean als ein potenzielles Ziel für einen OLA-Aufruf zu identifizieren, muss Ihre EJB-Anwendung (Enterprise-Bean) die Schnittstelle "com.ibm.websphere.ola.ExecuteLocalBusiness" als lokale Geschäftsschnittstelle implementieren. Die Schnittstelle befindet sich in der Datei wlp/dev/api/ibm/com.ibm.websphere.appserver.api.zosLocalAdapters_1.0.0.jar.

Für Programme, die unter Customer Information Control System (CICS) ausgeführt werden, muss das TRUE-Programm (Task-Related User Exit, taskbezogener Benutzerexit) für optimierte lokale Adapter aktiviert werden, bevor eine Verbindung zwischen CICS und dem Liberty-Server hergestellt wird. Weitere Informationen finden Sie unter Liberty-Servertransaktionen für CICS: BBOC, BBO$ und BBO#.

Der Liberty-Server muss in demselben z/OS-Image aktiv sein, von dem die Registrierungsanforderung stammt. Stellen Sie sicher, dass der aktuelle Adressraum bereits registriert ist und mit der Registrierungs-API an die OLA-Zielgruppe gebunden wurde. Weitere Informationen zum Registrieren eines externen Adressraums finden Sie unter Externen Adressraum bei einem lokalen Liberty-Server mit optimierten lokalen Adaptern registrieren.

Informationen zu diesem Vorgang

Die hier beschriebene Methode für den Aufruf einer Stateless Session-Bean bietet mehr Flexibilität und ist für Situationen geeignet, in denen Sie die maximale Länge des Antwortbereichs vor dem Aufruf nicht kennen. Eine vereinfachte Methode für den Aufruf der Bean, wenn die Länge des Antwortbereichs bekannt ist, ist im Abschnitt Mit der Liberty-Invoke-API eine Enterprise-Bean aus einem externen Adressraum aufrufen beschrieben.

Vorgehensweise

  1. Rufen Sie die API für das Abrufen von Verbindungen, BBOA1CNG, über die in nativer Sprache geschriebene Anwendung im Clientadressraum auf und übergeben Sie den Registernamen, den Sie beim Aufruf der Registrierungs-API BBOA1REG verwendet haben. Der Aufruf gibt ein Verbindungshandle zurück, das für alle künftigen API-Aufrufe verwendet werden muss.
  2. Rufen Sie die API zum Senden von Anforderungen, BBOA1SRQ, über die in nativer Sprache geschriebene Anwendung im Clientadressraum auf. Geben Sie für den Parameter requestservicename den JNDI-Namen (Java Naming and Directory Interface) des lokalen Geschäftsschnittstellenpfads für die Enterprise-Bean an, die Sie aufrufen möchten. Verwenden Sie den JNDI-Namen im globalen JNDI-Namespace. Der Liberty-Server ruft dann die Ausführungsmethode (execute) für die lokale Geschäftsschnittstelle auf, die die EJB-Anwendung implementiert.

    Wenn Sie den Parameter async der API zum Senden von Anforderungen auf 0 setzen, gibt die API die Antwortlänge und den Rückgabewert zurück. Daraufhin können Sie die API für das Abrufen von Nachrichtendaten direkt aufrufen.

    Wenn Sie den Parameter async der API für das Senden von Anforderungen auf 1 setzen, wird die Steuerung an die Clientanwendung zurückgegeben, damit Sie die API für den Empfang der Antwortlänge aufrufen können.

  3. Wenn Sie die API für das Senden von Anforderungen mit dem async-Parameterwert 1 aufgerufen haben, rufen Sie die API für den Empfang der Antwortlänge, BBOA1RCL, auf und setzen Sie den Parameter async auf 0 oder 1. Die Clientanwendung verwendet die Antwortlänge, die von der API für den Empfang der Antwortlänge zurückgegeben wird, um sicherzustellen, dass der Bereich für die Speicherung der Antwortdaten ausreicht.

    Wenn Sie den Parameter async der API für den Empfang der Antwortlänge auf 0 setzen, blockiert die API den Thread so lange, bis eine Antwort empfangen wird.

    Wenn Sie den Parameter async der API für den Empfang der Antwortlänge auf 1 setzen, kehrt die API, unabhängig davon, ob eine Antwort empfangen wird, sofort zurück.

  4. Rufen Sie die API zum Abrufen von Nachrichtendaten, BBOA1GET, auf, um die Antwortdaten in den Puffer der Clientanwendung zu kopieren.
  5. Die Clientanwendung kann über dasselbe Verbindungshandle weiterhin Anforderungen senden und Nachrichtendaten empfangen, bis alle Anforderungen gesendet wurden und die Verbindung freigegeben werden kann. Zum Freigeben der Verbindung ruft die Anwendung die API für Verbindungsfreigabe, BBOA1CNR, auf. Verbindungshandles müssen freigegeben werden, bevor sie in einem Aufruf der API zum Abrufen von Verbindungen zurückgehalten und wiederverwendet werden können.

Symbol das den Typ des Artikels anzeigt. Taskartikel

Dateiname: twlp_dat_connectejbapi.html