For z/OS platforms

Transactions de serveur Liberty pour CICS : BBOC, BBO$ et BBO#

Les adaptateurs WOLA (WebSphere Optimized Local Adapters) sont pris en charge dans le produit CICS par le biais des transactions BBOC, BBO$ et BBO#.

Les adaptateurs locaux optimisés s'exécutent dans une région CICS en tant que gestionnaire de ressources. Dans CICS, l'exit utilisateur associé à une tâche (TRUE) constitue le véhicule principal utilisé par les fournisseurs de ressources. La prise en charge de TRUE définit la limite entre les unités d'exécution de l'application CICS et celles du gestionnaire de ressources externe. Actuellement, DB2, WebSphere MQ et les sockets TCPIP s'exécutent dans CICS à l'aide du support de TRUE.

Les applications qui s'exécutent sous CICS utilisent les API des adaptateurs locaux optimisés conformément au flux de travaux suivant :
  1. L'application exécute les routines de remplacement fournies.
  2. Les routines de remplacement démarrent le module d'interface du gestionnaire de ressources CICS en transmettant le nom de la routine TRUE de l'adaptateur local optimisé, BBOATRUE, et les paramètres propres à chaque API.
  3. CICS répartit TRUE sur l'un des blocs de contrôle des tâches et s'exécute jusqu'à ce que l'appel d'API soit terminé.
  4. L'appel revient à CICS avec les paramètres de sortie.

Transaction de contrôle pour CICS : BBOC

La transaction BBOC est l'outil de contrôle WebSphere (transaction d'opération) lié à la prise en charge des adaptateurs dans CICS. Vous pouvez utiliser la transaction pour activer et démarrer l'exit utilisateur associé à une tâche (TRUE) du serveur Liberty et pour définir des niveaux de trace pour le débogage des API et du code servant d'interface avec le serveur Liberty. BBOC définit également des enregistrements et des désenregistrements, et démarre et arrête les tâches du serveur de liaison dans CICS. Ces tâches de serveur prennent en charge le démarrage de programmes CICS existants et la transmission de données à l'aide de conteneurs ou d'objets COMMAREA avec les paramètres d'entrée sur les adaptateurs. BBOC est une transaction qui repose sur un poste de travail CICS que vous pouvez exécuter sur un poste de travail 3270 ou depuis un poste de travail séquentiel ou de type SDSCI.

La syntaxe de la transaction BBOC est BBOC nom_opération paramètres, où plusieurs paramètres sont séparés par un ou plusieurs espaces.

RGN
Nom d'enregistrement de 12 caractères
DGN
Le premier nom de 8 caractères du groupe WOLA à rejoindre
NDN
Le deuxième nom de huit caractères du groupe WOLA à rejoindre
SVN
Le troisième nom de huit caractères du groupe WOLA à rejoindre
LSYNC
LSYNC contrôle si CICS transmet l'option SYNCONRETURN en cas de liaison au programme cible. Si vous spécifiez LSYNC=Y, le serveur de liaison CICS transmet l'option SYNCONRETURN dans la commande EXEC CICS LINK. Il peut être nécessaire de spécifier cette option lorsque le programme cible se trouve dans une autre région CICS. La valeur par défaut est LSYNC=N.
SVC
Nom de service de 8 caractères maximum. Le paramètre prend en charge le masquage par des astérisques (*) ; par exemple, vous pouvez spécifier *, abc*, *abc, abc*xyz, abc*xy*z, etc.
MNC
Nombre minimal de connexions. La valeur minimale est 0 et la valeur par défaut est 1.
MXC
Nombre maximal de connexions. La valeur maximale est 9999 et la valeur par défaut est 10.
SEC
Le paramètre SEC contrôle quel ID utilisateur est propagé. La valeur par défaut est SEC=N.

Si vous spécifiez SEC=N, dans le cas d'un appel depuis CICS vers le serveur Liberty, l'ID utilisateur de la région CICS est propagé. Si vous spécifiez SEC=N dans le cas d'un appel depuis le serveur Liberty vers CICS dans le cadre de la tâche de serveur de liaison (BBO$), la tâche de liaison s'exécute sous l'ID utilisateur du serveur de liaison démarré.

Si vous spécifiez SEC=Y, en cas d'appel depuis CICS vers le serveur Liberty, l'ID utilisateur de niveau tâche est propagé sur le serveur Liberty. Si vous spécifiez SEC=Y, en cas d'appel depuis le serveur Liberty vers CICS, le serveur de liaison tente de démarrer la tâche de liaison (BBO#) avec l'ID utilisateur propagé depuis le serveur Liberty. La propagation ne fonctionne que si vous avez créé une définition de classe SURROGAT de la fonction d'autorisation système (SAF) pour autoriser l'ID utilisateur du serveur de liaison à émettre la commande EXEC CICS START TRAN('BBO#') USERID(<ID_propagé)

STX
Nom de quatre caractères de l'ID de transaction CICS du serveur de liaison à utiliser. La valeur par défaut est BBO$.
Remarque : Si vous définissez un nom de transaction différent de la valeur par défaut, vous devez aussi définir la transaction dans le fichier de définitions système CICS (CSD) principal, DFHCSD, avec le même nom de programme et les mêmes attributs que BBO$.
LTX
Nom de quatre caractères de l'ID de transaction CICS de liaison à un programme à utiliser. La valeur par défaut est BBO#.
Remarque : Si vous définissez un nom de transaction différent de la valeur par défaut, vous devez aussi définir la transaction dans le fichier de définitions système CICS (CSD) principal, DFHCSD, avec le même nom de programme et les mêmes attributs que BBO#.
TRC
La définition d'une valeur pour ce paramètre active la fonction de trace aux niveaux suivants :
  • Lorsque la valeur est 0 : pas de trace ; messages d'erreur seulement
  • Lorsque la valeur est 1 : trace de base
  • Lorsque la valeur est 2 : trace détaillée
TDQ
Nom de quatre caractères de la file d'attente de données transitoires (TDQ) d'extrapartition CICS dans laquelle les messages de l'adaptateur sont écrits. Si vous ne spécifiez pas ce paramètre, la valeur par défaut est BBOQ et DD BBOUT. Si les messages ne peuvent pas être écrits dans la file d'attente de données transitoires spécifiée, ils sont écrits dans la sortie standard de la région CICS, tdq CESO dd CEEOUT.
REU
REU contrôle si le serveur de liaison réutilise les tâches d'appel de liaison de programme (transactions BBO#) entre les demandes d'appel de programme. La valeur par défaut est N.
Important : Si vous exécutez le serveur de liaison avec SEC=N et REU=Y, le JCA de l'adaptateur local optimisé ne prend plus en charge la transmission d'un ID de transaction de liaison distinct. Les demandes d'ID de transaction distinct génèrent une exception ResourceException dans l'application. Si vous tentez d'exécuter le serveur de liaison avec SEC=Y et REU=Y, l'option de réutilisation prend de force la valeur No car le serveur de liaison doit démarrer une nouvelle tâche de liaison de programme pour chaque demande et vérifier l'identité propagée.
REUC
Nombre de demandes pour lesquelles la tâche de liaison CICS (BBO#) reste active et est réutilisée. Lorsque ce nombre est atteint, la tâche de liaison se termine. La valeur maximale est 2147483648.
Important : Dans le cas d'un scénario transactionnel, la tâche de liaison se termine une fois que le nombre est atteint et que la validation suivante est reçue du serveur Liberty.
REUT
Durée en secondes pendant laquelle la tâche de liaison CICS (BBO#) reste active et est réutilisée. Lorsque cet intervalle de temps expire, une fois la demande suivante reçue et traitée, la tâche de liaison se termine. La valeur maximale est 2147483648.
Important : Dans le cas d'un scénario transactionnel, la tâche de liaison se termine une fois que la durée demandée est atteinte et que la validation suivante est reçue depuis le serveur Liberty.
For z/OS platformsRETRY
For z/OS platformsIndique qu'une demande de démarrage ou d'enregistrement de serveur doit être relancée s'il ne parvient pas à se connecter au serveur cible demandé. Lorsque RETCNT et RETINT ne sont pas spécifiées, le nombre par défaut de nouvelles tentatives est de 10 et le délai par défaut entre les tentatives est de 30 secondes.
For z/OS platformsRETCNT
For z/OS platformsLorsque RETRY=Y est spécifié, RETCNT indique le nombre de nouvelles tentatives de la commande en cas d'échec avant abandon. La valeur minimale est 1 et la valeur maximale 99999999. La valeur 0 implique la valeur maximale. Si la valeur n'est pas spécifiée et que l'option RETRY=Y est soumise, le nombre par défaut de nouvelles tentatives est de 10.
For z/OS platformsRETINT
For z/OS platformsLorsque RETRY=Y est spécifié, RETINT indique le nombre de secondes entre les tentatives. La valeur minimale est 1 et la valeur maximale 359000. La valeur 0 implique la valeur maximale. Si la valeur n'est pas fournie et que l'option RETRY=Y est soumise, la valeur par défaut du nombre de secondes entre les tentatives est de 30.
For z/OS platformsRTXP
For z/OS platformsRTXP=(Y|N) indique que la commande EXEC CICS LINK PROGRAM() réalisée par la tâche d'appel de liaison (BBO#) doit inclure l'option TRANSID(). Lorsque cette option est incluse sans le paramètre RTX (transaction distante), la valeur actuelle de EIBTRNID est insérée dans le paramètre TRANSID().
For z/OS platformsRTX
For z/OS platformsRTX, lorsqu'elle est utilisée avec le paramètre RTXP, inique que la commande EXEC CICS LINK PROGRAM() réalisée par la tâche d'appel de liaison (BBO#) doit inclure l'option TRANSID(). La valeur de cette option provient du paramètre RTX. Lorsqu'elle n'est pas incluse et que RTXP=Y est spécifié, la valeur actuelle de EIBTRNID est utilisée dans le paramètre TRANSID().
TXN
TXN décrit le comportement transactionnel de l'enregistrement généré par la transaction BBOC. Cette option n'est prise en charge que pour des enregistrements dans des instances de serveur WebSphere Traditional.

Lorsque BBOC crée un enregistrement WOLA à l'aide de l'opération REGISTER, TXN=Y signifie que toutes les applications Java Platform, Enterprise Edition démarrées dans le serveur WebSphere Application Server qui utilisent cet enregistrement doivent être associées à l'unité de travail CICS actuelle. Lorsque TXN=Y, ceci crée une transaction globale entre CICS et WebSphere Application Server, qui est exécutée à l'aide du protocole de validation en deux phases lorsque l'application CICS lance une commande EXEC CICS SYNCPOINT, ou lorsqu'un point de synchronisation est impliqué, par exemple à la fin de l'exécution de la tâche CICS.

Lorsque BBOC est utilisé pour créer un serveur de liaison à l'aide de la fonction START_SRVR, TXN=Y signifie que la tâche du serveur de liaison CICS doit être associée à la transaction WebSphere Application Server actuelle en cas d'appel d'un service. Par exemple, si une application Java Platform, Enterprise Edition démarre une transaction locale du gestionnaire de ressources (RMLT) et démarre un programme CICS à l'aide du connecteur JCA d'adaptateurs locaux optimisés, la tâche de liaison est associée à la transaction locale, puis démarre le programme CICS cible. Les mises à jour apportées au programme CICS ne sont pas validées ou annulées tant que l'application Java Platform, Enterprise Edition n'a pas terminé la transaction RMLT à l'aide de l'API de validation ou d'annulation.

Tableau 1. BBOC. Le tableau ci-dessous répertorie les noms, descriptions et paramètres des opérations BBOC.
Nom de l'opération Abréviation Description Paramètres
START_TRUE STR Démarrer l'exit utilisateur associé à une tâche (TRUE) du serveur Liberty TRC=<0|1|2>

TDQ=<nom_tdq>

STOP_TRUE PTR Arrêter l'exit utilisateur associé à une tâche (TRUE) du serveur Liberty TRC=<0|1|2>

TDQ=<nom_tdq>

REGISTER REG Procéder à l'enregistrement dans le groupe WOLA du serveur Liberty RGN=<nom>

DGN=<nom>

NDN=<nom>

SVN=<nom>

MNC=<nombre_de_connexions_minimal>

MXC=<nomnbre_de_connexions_maximal>

SEC=<Y|N>

TRC=<0|1|2>

TDQ=<nom_tdq>

For z/OS platformsRTXP=<Y|N>

For z/OS platformsRTX=<ID_transaction_distante>

For z/OS platformsRETRY=<Y|N>

For z/OS platformsRETCNT=<nombre_de_demandes>

For z/OS platformsRETINT=<nombre_de_secondes>

TXN=<Y|N>

UNREGISTER   Procéder au désenregistrement auprès des adaptateurs locaux optimisés du serveur Liberty RGN=<nom>
START_SRVR STA Démarrer la tâche de serveur Liberty pour le nom d'enregistrement transmis. RGN=<nom>

DGN=<nom>

NDN=<nom>

SVC=<nom>

SVN=<nom>

MNC=<nombre_de_connexions_minimal>

MXC=<nomnbre_de_connexions_maximal>

SEC=<Y|N>

STX=<ID_transaction_serveur_liaison_CICS>

LTX=<ID_transaction_serveur_liaison_CICS>

TRC=<0|1|2>

TDQ=<nom_tdq>

REU=<Y|N>

REUC=<nombre_de_demandes>

REUT=<nombre_de_secondes>

For z/OS platformsRTXP=<Y|N>

For z/OS platformsRTX=<ID_transaction_distante>

For z/OS platformsRETRY=<Y|N>

For z/OS platformsRETCNT=<nombre_de_demandes>

For z/OS platformsRETINT=<nombre_de_secondes>

TXN=<Y|N>

STOP_SRVR STP Arrêter la tâche de serveur Liberty pour le nom d'enregistrement. RGN=<nom>

TRC=<0|1|2>

TDQ=<nom_tdq>

For z/OS platformsDOCTEMPLATE DOC DOCTEMPLATE (DOC) indique que la chaîne de commande (commande BBOC et tous les arguments) doivent être lues à partir d'une source de modèle de document CICS. Si vous spécifiez BBOC DOC NAME=<nom_modèle>, ceci indique que la demande intégrale est située sur une seule ligne du modèle de document portant le nom indiqué. Reportez-vous à la documentation CICS pour plus d'informations sur la définition de modèles de document. Ceci permet à des chaînes de commande longues (jusqu'à 500 caractères) d'être lues depuis des jeux de données, des membres de jeux de données et des fichiers dans le système de fichiers de la région CICS. La spécification d'une demande BBOC DOC NAME=<> dans un fichier source de modèle de document n'est pas prise en charge. NAME=<nom_modèle_de_document_CICS>TRC=<0|1|2>

Exemples de commande BBOC

Voici quelques exemples d'appel de commande BBOC qui illustrent comment accomplir différentes tâches et configurations avec les liaisons de programme des adaptateurs CICS.
  • Démarrer le programme TRUE CICS des adaptateurs.

    bboc start_true

  • Arrêtez le programme TRUE de CICS des adaptateurs.

    bboc stop_true

  • Procéder à l'enregistrement sous le nom CICS-HR1 dans le groupe WOLA comportant les noms LIB1, LIB2 et LIB3, avec un nombre maximal de connexions de 10, un nombre minimal de connexions de 5 et la propagation de la sécurité.

    bboc register rgn=CICS-HR1 dgn=LIB1 ndn=LIB2 svn=LIB3 mnc=5 mxc=10 sec=y

  • Procéder au désenregistrement avec le nom CICS-HR1.

    bboc unregister rgn=CICS-HR1

  • Démarrer une transaction de serveur en tant que BBO$ pour tous les noms de service et de programme sous le nom d'enregistrement CICSPAYR, avec un groupe WOLA avec un nombre maximal de connexions de 10, un nombre minimal de connexions de 5 et la propagation de la sécurité.

    bboc start_srvr rgn=CICSPAYR dgn=LIB1 ndn=LIB2 svn=LIB3 mnc=5 mxc=10 sec=y

  • Arrêter la transaction de serveur BBO$ qui s'exécute sous le nom d'enregistrement CICSPAYR.

    bboc stop_srvr rgn=CICSPAYR

  • Démarrer une transaction de serveur en tant que BBO$ pour tous les noms de service et de programme qui commencent par PAYR sous le nom d'enregistrement CICSPAY1, avec un groupe WOLA avec un nombre maximal de connexions de 10, un nombre minimal de connexions de 5 et la propagation de la sécurité.

    bboc start_srvr rgn=CICSPAY1 dgn=LIB1 ndn=LIB2 svn=LIB3 mnc=5 mxc=10 sec=y svc=PAYR*

  • Démarrer une transaction de serveur sous l'ID de transaction PAY2 et procéder à l'enregistrement sous le nom PAYROOL2, pour tous les noms de service et de programme dans un groupe WOLA avec un nombre maximal de connexions de 10, un nombre minimal de connexions de 5, la trace de base et la propagation de la sécurité.

    bboc start_srvr rgn=PAYROLL2 dgn=LIB1 ndn=LIB2 svn=LIB3 mnc=5 mxc=10 sec=y stx=PAY2 trc=1

  • Démarrer une transaction de serveur sous l'ID de transaction PAY3 et l'ID de transaction de liaison PY3L. Procéder à l'enregistrement sous le nom PAYROLL3 pour les noms de service et de programme qui commencent par PAYRL3 dans un groupe WOLA avec un nombre maximal de connexions de 10, un nombre minimal de connexions de 5, la trace de base et la propagation de la sécurité.

    bboc start_srvr rgn=PAYROLL3 dgn=LIB1 ndn=LIB2 svn=LIB3 mnc=5 mxc=10 sec=y svc=PAYRL3* stx=PAY3 ltx=PY3L trc=1

  • Démarrer une transaction de serveur de liaison où tous les paramètres sont lus depuis une source de modèle de document CICS nommée LONGCMD

    bboc doc name=LONGCMD

Exécution automatique d'une commande BBOC au cours du démarrage de CICS

Szuw peofeTwommz PLTPI (post initialisation de table de programmes) CICS, BBOACPLT et BBOACPL2, sont fournis en tant qu'exemples sur GitHub. Pour plus d'informations, voir Exemples d'adaptateur local optimisé pour Liberty.
  • Pour démarrer l'exit utilisateur associé à une tâche (TRUE) des adaptateurs locaux optimisés lorsque CICS démarre, ajoutez BBOACLPT comme entrées de phase 2 ou 3 dans votre table de programmes CICS.
  • Pour émettre une commande BBOC avec des données INITPARM lorsque CICS démarre, ajoutez BBOACLP2 en tant qu'entrées de phase 2 ou 3 dans votre table de programmes CICS.
Vous pouvez transmettre une chaîne de commandes conforme à la limite CICS de 60 caractères dans INITPARM. L'exemple suivant de chaîne INITPARM appelle BBOACPL2 et transmet une demande de démarrage d'un serveur de liaison sous le nom d'enregistrement PAYROLL, avec les noms de groupe WOLA LIB1, LIB2 et LIB3. En spécifiant SVC=*, ce serveur de liaison reçoit des demandes pour tous les noms de service.
INITPARM=(BBOACPL2='STA RGN=PAYROLL DGN=LIB1 NDN=LIB2 SVN=LIB3 SVC=*')
La chaîne de commande peut être n'importe quelle commande BBOC, comme REG dans l'exemple suivant de chaîne INITPARM. Lorsque CICS démarre, la chaîne crée un enregistrement sous le nom LIBAPP, dans lequel le nombre minimal de connexions est 10 et le nombre maximal de connexions est 100.
INITPARM=(BBOACPL2='REG RGN=LIBAPP DGN=LIB1 NDN=LIB2 SVN=LIB3 MNC=10 MXC=100')

Si vous créez un enregistrement lorsque CICS démarre, n'utilisez pas l'API Register dans vos applications. A la place, utilisez immédiatement les autres API, par exemple Invoke ou Connection Get.

Important : Vous ne pouvez utiliser qu'une seule chaîne INITPARM par programme BBOACPL2.
Si vous utilisez les programmes de table de programmes pour créer automatiquement un enregistrement ou un serveur de liaison, assurez-vous de désenregistrer ou d'arrêter le serveur avant d'arrêter CICS afin d'éviter toute attente pendant que CICS annule les transactions d'adaptateur local optimisé restantes. Vous pouvez supprimer les ressources des adaptateurs locaux optimisés comme suit :
  • Exécutez BBOC STOP_SERVER pour tous les serveurs de liaison CICS ou exécutez BBOC URG pour tous les enregistrements.
  • Purgez les tâches BBO$.
  • Ecrivez un programme d'arrêt de table de programmes qui exécute la commande EXEC CICS LINK dans BBOACNTL pour chaque serveur de liaison qui transmet la chaîne STOP_SERVER.
  • Emettez la commande suivante : CEMT P SHUT,IMMED

Transaction de serveur de liaison pour CICS : BBO$

La transaction CICS BBO$ prend en charge les appels provenant du serveur Liberty vers CICS. La transaction BBO$ est une transaction hors poste de travail qui représente une instance de tâche de serveur démarrée avec l'opération BBOC START_SRVR pour un certain nom d'enregistrement et un certain nom de service. Cette tâche de serveur fournit la capacité d'appel de liaison de programme, c'est-à-dire la possibilité de démarrer un programme CICS existant depuis le serveur Liberty sur les API d'adaptateur local optimisé.

Vous pouvez remplacer le nom de la transaction, BBO$, en spécifiant STX=nom dans la commande BBOC START_SRVR. Le nouveau nom de transaction doit être défini dans CICS avec le même nom de programme et les mêmes attributs que BBO$. Pour plus d'informations, voir Définitions d'adaptateur local optimisé pour CICS.

Transaction d'appel de liaison de programme pour CICS : BBO#

La transaction CICS BBO# prend en charge les appels provenant du serveur Liberty vers CICS. Il s'agit d'une transaction hors poste de travail qui représente une instance de tâche que la tâche de serveur de liaison, BBO$, démarre pour appeler une liaison de programme. La transaction BBO$ initie une transaction BBO# pour chaque demande de liaison de programme CICS depuis une application de serveur Liberty.

Vous pouvez remplacer le nom de la transaction, BBO#, en spécifiant LTX=nom dans la commande BBOC START_SRVR. Le nouveau nom de transaction doit être défini dans CICS avec le même nom de programme et les mêmes attributs que BBO#. Pour plus d'informations, voir Définitions d'adaptateur local optimisé pour CICS. L'application de serveur Liberty peut aussi transmettre le nouveau nom de transaction à CICS en utilisant la méthode JCA setLinkTaskTransid.


Icône indiquant le type de rubrique Rubrique de référence

Nom du fichier : rwlp_dat_cics.html