![[z/OS]](../images/ngzos.gif)
Vorhandene IMS-Transaktionen mit optimierten lokalen Adaptern über OTMA aufrufen
Vorhandene unveränderte IMS-Transaktionen, die als MPPs (Message Processing Programs, Nachrichtenverarbeitungsprogramme) oder Fast-Path-Programme (IFPs) ausgeführt werden, können mit den optimierten lokalen Adaptern von WebSphere Application Server for z/OS über die Unterstützung von Open Transaction Manager Access Callable Interface (OTMA C/I) aufgerufen werden. Diese Unterstützung wird von einer neuen Gruppe nativer Module bereitgestellt, die mit den optimierten lokalen Adaptern, die IMS OTMA C/I verwenden, eingeführt wurden.
Anwendungen, die unter WebSphere Application Server for z/OS implementiert werden und vorhandene IMS-Transaktionen aufrufen müssen, verwenden die Dateiola.rar, um die OTMA-C/I-Schnittstellenmodule aufzurufen. Es sind mehrere neue Verbindungsfactory-Attribute vorhanden, mit denen Anwendungen den Namen des IMS-Zielsystems und die zugehörigen OTMA-XCF-Informationen angeben können. Außerdem wurde ein Attribut hinzugefügt, mit dem die Anwendung die für den Austausch verwendete Synchronisationsebene festlegen kann. Nähere Informationen zu diesen Parametern finden Sie im Artikel "Hinweise zu Verbindungsfactorys für optimierte lokale Adapter".
Globale IMS-Transaktionen werden in den Versionen 8.5.0.2 und höher unterstützt. Anwendungen können die IMS-Transaktionen im Kontext derselben globalen Transaktion enthalten, wenn die Anwendungen in einer globalen Transaktion ausgeführt werden und WebSphere Application Server als Koordinator für Festschreibungen (Commit) verwenden, der vorhandene IMS-Anwendungen über die WOLA-over-OTMA-Unterstützung aufruft.
Weitere Informationen zu dieser Unterstützung finden Sie unter Globale Transaktionen - Websphere-Anwendungen rufen IMS-Anwendungen auf.
Anforderungen an das Nachrichtenformat
Vor Version 8 und bevor Mehrsegmentnachrichten unterstützt wurden, mussten die Anforderungs- und Antwortnachrichten Einzelsegmentnachrichten sein mit einer Sende- und Empfangssegmentgröße von maximal 32760 Byte, einschließlich des Nachrichtenheaders.
<----------------- HEADER ----------------> <------ DATEN ------>
LL + ZZ + IMS-Transaktionsname + Nachrichtenanforderungsdaten
(2 Byte) | (2 Byte) | (8 Byte) | (bis zu 32744 Byte)
Der Transaktionsname in der Nachricht wird für den Aufruf von OTMA C/I verwendet. Hierbei muss es sich um eine Transaktion handeln, die in einem IMS MPR oder in einer Fast-Path-abhängigen Region definiert und erreichbar ist.
<----- HEADER -----> <------------------ DATEN ----------------->
LLLL + Nachrichtenantwortdaten
(4 Byte) | (bis zu 32756 Byte)
Der CICS/IMS-Assistent für
Java-Datenbindung (Data Binding)
in Rational Application Developer
wird verwendet, um Helper-Klassen mit setter- und getter-Methoden zu erstellen. Diese können verwendet werden, um die
Zuordnung von Daten zu und aus Java-Objekten und Binärformaten zu steuern.
Diese Datenzuordnung gilt sowohl für Nachrichten, die von
WebSphere Application Server an
IMS gesendet werden, als auch für Antwortdaten.
Unterstützung von Mehrsegmentnachrichten
IMS-Mehrsegmentnachrichten unterstützen Anforderungs- und Antwortnachrichten, die größer sind als die früher für Anforderungsnachrichten festgelegten 32744 Byte und die für Antwortnachrichten festgelegten 32756 Byte. Ein einzelnes Segment darf jedoch nicht größer sein als 32768 Byte, einschließlich des Nachrichtenheaders.
- OTMAMaxSegments
OTMAMaxSegments stellt die größte Anzahl an Segmenten dar, die für das Senden und Empfangen von IMS-Nachrichten über die aktuelle Verbindung unterstützt wird. Wird kein Wert angegeben, ist der Standardwert 1.
- OTMAMaxRecvSize
OTMAMaxRecvSize stellt die größtmögliche Nachricht dar, die IMS mit der WebSphere-Unterstützung für optimierte lokale Adapter über OTMA zurückgeben kann. Wird kein Wert angegeben, ist der Standardwert 32768.
Globale Transaktionen - Websphere-Anwendungen rufen IMS-Anwendungen auf
- Die Anwendung, die eine Verbindung verwenden soll, ist für OTMA konfiguriert und das Attribut RRSTransactional der verwalteten Verbindungsfactory ist auf True (oder 1) gesetzt. Indem Sie das Attribut RRSTransactional auf True (oder 1) setzen, aktivieren Sie die RRS-Transaktionen für Verbindungen.
- Auf dem Server mit WebSphere Application Server for z/OS ist die Umgebungsvariable ola_rrs_context_propagate_otma installiert und auf True (oder 1) gesetzt.
- In der IMS-Umgebung ist RRS=YES konfiguriert.
Wenn Sie eine oder mehrere der genannten Konfigurationseinstellungen implementieren müssen, müssen Sie den Server mit WebSphere Application Server for z/OS und Ihre IMS-Umgebung erneut starten, damit der Transaktionskontext von Anwendungen, die in einer globalen Transaktionen mit WebSphere Application Server ausgeführt werden, mit den in IMS ausgeführten Anwendungen koordiniert wird.
Anforderungen an das Format von Mehrsegmentnachrichten
Für Mehrsegmentnachrichten ist LLZZ die Standardeinstellung für Anforderungen von optimierten lokalen Adaptern von WebSphere an IMS. Die Standardeinstellung LLLL+Nachrichtendaten für Antworten von IMS an WebSphere Application Server bleibt unverändert.
Für diese Unterstützung werden Methoden bereitgestellt, mit denen diese Standardeinstellungen geändert werden können. Mit den Methoden setOTMARequestLLZZ() und setOTMARequestLLLL() kann die Längenpräfixdarstellung für Nachrichtenanforderungen von WebSphere Application Server an IMS festgelegt werden. Mit den Methoden setOTMAResponseLLZZ() und setOTMAResponseLLLL() kann für Antwortnachrichten die Nachrichtenpräfixdarstellung LLZZ oder LLLL festgelegt werden. Im folgenden Beispiel ist das Nachrichtenformat aufgeführt, das für Aufrufe von IMS aus Anwendungen in WebSphere Application Server erwartet wird.
<----------------- HEADER ------------------>
LL + ZZ + IMS-Transaktionsname +
(2 Byte) | (2 Byte) | (8 Byte)
<-------------------------- DATENSEGMENT 1 ---------------------->
Daten des Nachrichtensegments 1
(bis zu 32756 Byte)
<-------------------------- DATENSEGMENT 2 ---------------------->
+ LL + ZZ + Daten des Nachrichtensegments 1
(2 Byte) | (2 Byte) | (bis zu 32764 Byte)
…
<-------------------------- DATENSEGMENT N ---------------------->
+ LL + ZZ + Daten des Nachrichtensegments N
(2 Byte) | (2 Byte) | (bis zu 32764 Byte)
<----------------- HEADER ------------------>
LLLLZZ + IMS-Transaktionsname +
(6 Byte) | (8 Byte)
<-------------------------- DATENSEGMENT 1 ---------------------->
Daten des Nachrichtensegments 1
(bis zu 32754 Byte)
<-------------------------- DATENSEGMENT 2 ---------------------->
+ LLLLZZ + Daten des Nachrichtensegments 1
(6 Byte) | (bis zu 32762 Byte)
…
<-------------------------- DATENSEGMENT N ---------------------->
+ LLLLZZ + Daten des Nachrichtensegments 1
(6 Byte) | (bis zu 32762 Byte)
<----- HEADER -----> <----------- DATENSEGMENT 1 ------------>
+ LL + ZZ + Daten des Nachrichtensegments 1
(2 Byte) | (2 Byte) | (bis zu 32764 Byte)
<-------------------------- DATENSEGMENT 2 ---------------------->
+ LL + ZZ + Daten des Nachrichtensegments 2
(2 Byte) | (2 Byte) | (bis zu 32764 Byte)
…
<-------------------------- DATENSEGMENT N ---------------------->
+ LL + ZZ + Daten des Nachrichtensegments N
(2 Byte) | (2 Byte) | (bis zu 32764 Byte)
-- HEADER --> <----------- DATENSEGMENT 1 ------------>
+ LLLLZZ + Daten des Nachrichtensegments 1
(6 Byte) | (bis zu 32762 Byte)
<-------------------------- DATENSEGMENT 2 ---------------------->
+ LLLLZZ + Daten des Nachrichtensegments 2
(6 Byte) | (bis zu 32762 Byte)
…
<-------------------------- DATENSEGMENT N ---------------------->
+ LLLLZZ + Daten des Nachrichtensegments N
(6 Byte) | (bis zu 32762 Byte)