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.
- L'application exécute les routines de remplacement fournies.
- 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.
- 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é.
- 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.
- RETRY
- Indique 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.
- RETCNT
- Lorsque 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.
- RETINT
- Lorsque 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.
- RTXP
- RTXP=(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().
- RTX
- RTX, 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.
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> RTXP=<Y|N> RTX=<ID_transaction_distante> RETRY=<Y|N> RETCNT=<nombre_de_demandes> RETINT=<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> RTXP=<Y|N> RTX=<ID_transaction_distante> RETRY=<Y|N> RETCNT=<nombre_de_demandes> RETINT=<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> |
DOCTEMPLATE | 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
- 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
- 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.
INITPARM=(BBOACPL2='STA RGN=PAYROLL DGN=LIB1 NDN=LIB2 SVN=LIB3 SVC=*')
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.
- 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.