![[z/OS]](../images/ngzos.gif)
Appel des transactions IMS existantes avec des adaptateurs locaux optimisés sur OTMA
Les transactions IMS non existantes qui fonctionnent comme programmes MPP (Message Processing Programs) ou IFP (Fast Path Program) peuvent être appelées en utilisant des adaptateurs locux optimisés WebSphere Application Server for z/OS sur le support (OTMA C/I) (Open Transaction Manager Access Callable Interface). Ce support est fourni par un nouveau groupe de modules natifs introduit avec des adaptateurs locaux optimisés qui utilisent IMS OTMA C/I.
Les application déployées sur WebSphere Application Server for z/OS et qui doivent appeler des transactions IMS existantes utilisent le fichier ola.rar pour accéder aux modules d'interface OTMA C/I. Il existe de nouveaux attributs de fabrique de connexions qui permettent aux applications de fournir le nom du système IMS cible et les informations OTMA XCF associées. Il existe également un autre attribut qui permet à l'application de définir le niveau de synchronisation utilisé pour l'échange. Voir la rubrique relatives aux considérations concernant les fabriques de connexions pour les adaptateurs locaux optimisés pour plus d'informations sur ces paramètres.
Les transactions globales IMS sont prises en charge dans les versions 8.5.0.2 et ultérieures. Les applications qui s'exécutent dans une transaction globale avec WebSphere Application Server comme coordinateur de validation, qui appellent des applications IMS existantes en utilisant le support WOLA sur OTMA, peuvent inclure les transactions IMS dans le même contexte de transaction globale.
Voir la section Transactions globales - Applications Websphere appelant des applications IMS pour plus d'informations sur ce support.
Conditions de format de message
Avant le support des messages multisegments de la version 8, les messages de demande et de réponse devaient être des messages monosegments avec une taille de segment maximale d'envoi et de réception de 32 760 octets, en-tête compris.
<----------------- HEADER ----------------> <------ DATA ------>
LL + ZZ + IMS Transaction Name + Message request data
(2 bytes) | (2 bytes) | (8 bytes) | (up to 32744 bytes)
Le nom de transaction dans le message est utilisé pour l'appel à OTMA C/I et il doit correspondre à une transaction définie et accessible dans une région IMS MPR ou dépendante FP (Fast Path).
<----- HEADER -----> <------------------ DATA ----------------->
LLLL + Message response data
(4 bytes) | (up to 32756 bytes)
L'assistant CICS/IMS Java™ Data Binding dans Rational Application Developer
permet de créer des classes auxiliaires avec des méthodes setter et
getter pouvant être utilisées pour gérer le mappage des données vers et à partir des objets Java et ce sous forme binaire. Ce mappage de données
s'applique à la fois aux messages envoyés à IMS à partir de WebSphere Application
Server et aux données de réponse. Support des messages multisegments
Les messages multisegments IMS prennent en charge les messages de demande et de réponse supérieurs aux 32 744 octets précédents pour les messages de demande et aux 32 756 octets précédents pour les messages de réponse. Toutefois, un seul segment ne peut pas dépasser 32 768 octets, en-tête compris.
- OTMAMaxSegments
OTMAMaxSegments représente le nombre de segments cible pris en charge pour envoyer et recevoir les messages IMS sur la connexion en cours. Si aucune valeur n'est définie, la valeur par défaut est 1.
- OTMAMaxRecvSize
OTMAMaxRecvSize représente le plus long message possible qui puisse être retourné par IMS en utilisant des adaptateurs locaux optimisés WebSphere sur le support OTMA. Si aucune valeur n'est définie, la valeur par défaut est 32 768.
Transactions globales - Applications Websphere appelant des applications IMS
- L'application qui doit utiliser une connexion configurée pour utiliser OTMA et que l'attribut de fabrique de connexions gérées RRSTransactional a la valeur True (ou 1). L'affectation au paramètre RRSTransactional de la valeur True (ou 1) active les transactions RRS pour les connexions.
- Le serveur WebSphere Application Server for z/OS fonctionne avec la variable d'environnement ola_rrs_context_propagate_otma installée et affectée de la valeur True (ou 1).
- L'environnement IMS fonctionne avec RRS=YES défini.
Si vous devez implémenter ces paramètres de configuration, vous devez redémarrer WebSphere Application Server for z/OS et l'environnement IMS pour que le contexte de transaction des applications exécutées dans une transaction globale avec WebSphere Application Server soit coordonné avec les applications exécutées dans IMS.
Conditions de format des messages multisegments
Pour les messages multisegments, la valeur par défaut est LLZZ pour les demandes des adaptateurs locaux optimisés WebSphere vers IMS. Les données LLLL+message des réponses de IMS à WebSphere Application Server ne changent pas.
Ce support fournit deux méthodes qui permettent de changer les valeurs par défaut. Les méthodes setOTMARequestLLZZ() et setOTMARequestLLLL() permettent de définir le style de préfixe de longueur des demandes de message de WebSphere Application Server à IMS. Les méthodes setOTMAResponseLLZZ() et setOTMAResponseLLLL() permettent de définir le style de préfixe de messages LLZZ ou LLLL pour les réponses de message. L'exemple suivant montre le format de message attendu des appels à IMS depuis les applications dans WebSphere Application Server.
<----------------- HEADER ------------------>
LL + ZZ + IMS Transaction Name +
(2 bytes) | (2 bytes) | (8 bytes)
<-------------------------- DATA SEGMENT 1 ---------------------->
Message segment 1 data
(up to 32756 bytes)
<-------------------------- DATA SEGMENT 2 ---------------------->
+ LL + ZZ + Message segment 1 data
(2 bytes) | (2 bytes) | (up to 32764 bytes)
…
<-------------------------- DATA SEGMENT N ---------------------->
+ LL + ZZ + Message segment N data
(2 bytes) | (2 bytes) | (up to 32764 bytes)
<----------------- HEADER ------------------>
LLLLZZ + IMS Transaction Name +
(6 bytes) | (8 bytes)
<-------------------------- DATA SEGMENT 1 ---------------------->
Message segment 1 data
(up to 32754 bytes)
<-------------------------- DATA SEGMENT 2 ---------------------->
+ LLLLZZ + Message segment 1 data
(6 bytes) | (up to 32762 bytes)
…
<-------------------------- DATA SEGMENT N ---------------------->
+ LLLLZZ + Message segment 1 data
(6 bytes) | (up to 32762 bytes)
<----- HEADER -----> <----------- DATA SEGMENY 1 ------------>
+ LL + ZZ + Message segment 1 data
(2 bytes) | (2 bytes) | (up to 32764 bytes)
<-------------------------- DATA SEGMENT 2 ---------------------->
+ LL + ZZ + Message segment 2 data
(2 bytes) | (2 bytes) | (up to 32764 bytes)
…
<-------------------------- DATA SEGMENT N ---------------------->
+ LL + ZZ + Message segment N data
(2 bytes) | (2 bytes) | (up to 32764 bytes)
-- HEADER --> <----------- DATA SEGMENT 1 ------------>
+ LLLLZZ + Message segment 1 data
(6 bytes) | (up to 32762 bytes)
<-------------------------- DATA SEGMENT 2 ---------------------->
+ LLLLZZ + Message segment 2 data
(6 bytes) | (up to 32762 bytes)
…
<-------------------------- DATA SEGMENT N ---------------------->
+ LLLLZZ + Message segment N data
(6 bytes) | (up to 32762 bytes)