Transacciones del servidor de Liberty para CICS: BBOC, BBO$ y BBO#
Se da soporte a los adaptadores locales optimizados de WebSphere (WOLA) en el producto CICS a través de las transacciones BBOC, BBO$ y BBO#.
Los adaptadores locales optimizados se ejecutan en una región CICS como gestor de recursos. En CICS, el programa TRUE (Task Related User Exit) es el vehículo principal que utilizan los proveedores de recursos. El soporte de TRUE proporciona el límite entre las hebras de aplicación de CICS y las hebras del gestor de recursos externo. Actualmente, los sockets DB2, WebSphere MQ y TCPIP se ejecutan en CICS utilizando el soporte TRUE.
- Las aplicaciones ejecutan las rutinas de apéndice proporcionadas.
- Las rutinas de apéndice inician el módulo de interfaz del gestor de recursos CICS, pasándole el nombre de la rutina TRUE del adaptador local optimizado, BBOATRUE, y los parámetros específicos de cada API.
- CICS asigna TRUE en uno de los bloques de control de tareas (TCB) de OPENAPI y se ejecuta hasta que se completa la llamada de la API.
- La llamada vuelve a CICS con los parámetros de salida.
Transacción de control para CICS: BBOC
La transacción BBOC es la transacción de control, o de operaciones, de WebSphere para el soporte de adaptadores en CICS. Puede utilizar la transacción para habilitar e iniciar la opción TRUE del servidor de Liberty y para establecer los niveles de rastreo para depurar las API y codificar esas interfaces con el servidor de Liberty. BBOC también define los registros y las anulaciones de registros, e inicia y detiene las tareas del servidor de enlaces en CICS. Estas tareas del servidor proporcionan soporte para iniciar programas CICS existentes y pasar datos con objetos COMMAREA o contenedores con los parámetros de entrada a través de los adaptadores. BBOC es una transacción basada en la estación de trabajo CICS que puede ejecutar el usuario en una estación de trabajo 3270 o en una estación de trabajo secuencial o de tipo SDSCI.
La sintaxis de la transacción BBOC es BBOC nombre_operación parámetros, donde los diversos parámetros se separan mediante uno o más espacios.
- RGN
- El nombre de registro de 12 caracteres
- DGN
- El primer nombre de ocho caracteres del grupo WOLA que se debe unir
- NDN
- El segundo nombre de ocho caracteres del grupo WOLA que se debe unir
- SVN
- El tercer nombre de ocho caracteres del grupo WOLA que se debe unir
- LSYNC
- LSYNC controla si CICS pasa la opción SYNCONRETURN cuando enlaza con el programa de destino. Si especifica LSYNC=Y, el servidor de enlaces CICS pasa la opción SYNCONRETURN en el mandato EXEC CICS LINK. Es posible que tenga que especificar esta opción cuando el programa de destino se halle en otra región CICS. El valor predeterminado es LSYNC=N.
- SVC
- El nombre de servicio de un máximo de 8 caracteres. El parámetro da soporte a la máscara con asteriscos (*); por ejemplo, puede especificar *, abc*, *abc, abc*xyz, abc*xy*z, etc.
- MNC
- El número mínimo de conexiones. El valor mínimo es 0 y el valor predeterminado es 1.
- MXC
- El número máximo de conexiones. El valor máximo es 9999 y el valor predeterminado es 10.
- SEC
- El parámetro SEC controla qué ID de usuario se propaga. El valor predeterminado es SEC=N.
Si especifica SEC=N y está realizando la llamada desde CICS al servidor de Liberty, se propagará el ID de usuario de la región CICS. Si especifica SEC=N y está realizando la llamada desde el servidor Liberty a CICS bajo la tarea de servidor de enlace (BBO$), la tarea de enlace se ejecuta bajo el ID de usuario del servidor de enlace iniciado.
Si especifica SEC=Y y se está realizando la llamada desde CICS al servidor de Liberty, el ID de usuario de nivel de tarea se propagará al servidor de Liberty. Si especifica SEC=Y y está realizando la llamada desde el servidor de Liberty a CICS, el servidor de enlaces intentará iniciar la tarea de enlaces (BBO#) con el ID de usuario propagado del servidor de Liberty. La propagación solo funciona si ha creado una definición de clase SURROGAT de System Authorization Facility (SAF) para permitir al ID de usuario del servidor de enlace emitir el mandato EXEC CICS START TRAN('BBO#') USERID(<id_propagado).
- STX
- El nombre de cuatro caracteres del ID de transacciones CICS del servidor de enlaces que se va a utilizar. El valor predeterminado es BBO$.Nota: Si define un nombre de transacción que es distinto del valor predeterminado, también deberá definir la transacción en el archivo de definición de sistema CICS (CSD), DFHCSD, con el mismo nombre de programa y atributos que BBO$.
- LTX
- El nombre de cuatro caracteres del ID de transacciones CICS de enlace a programa que se va a utilizar. El valor predeterminado es BBO#.Nota: Si define un nombre de transacción que es distinto del valor predeterminado, también deberá definir la transacción en el archivo de definición de sistema CICS (CSD), DFHCSD, con el mismo nombre de programa y atributos que BBO#.
- TRC
- La definición de un valor para este parámetro habilita el rastreo en los niveles siguientes:
- Cuando se establece en 0: no se produce el rastreo; solamente aparecen mensajes de error
- Cuando se establece en 1: se realiza un rastreo básico
- Cuando se establece en 2: se realiza un rastreo detallado
- TDQ
- El nombre de cuatro caracteres de la cola de datos transitoria (TDQ) de la partición adicional de CICS donde se graban los mensajes del adaptador. Si no especifica este parámetro, el valor predeterminado es BBOQ y DD BBOUT. Si no se pueden grabar mensajes en la TDWQ especificada, se grabarán en la salida estándar de la región CICS, tdq CESO dd CEEOUT.
- REU
- REU controla si el servidor de enlaces reutiliza las tareas de invocación de enlaces de programa
(transacciones BBO#) entre solicitudes de invocación de programa. El valor predeterminado es N.Importante: Si ejecuta el servidor de enlaces con SEC=N y REU=Y, el JCA del adaptador local optimizado ya no soportará el paso de un ID de transacciones de enlaces separado. Las solicitudes de un ID de transacciones independiente da como resultado una ResourceException en la aplicación. Si intenta ejecutar el servidor de enlaces con SEC=Y y REU=Y, la opción de reutilización se fuerza en No porque el servidor de enlaces debe iniciar una tarea de enlace de programa nueva para cada solicitud y confirmar la identidad propagada.
- REUC
- El número de solicitudes para las que permanece activa y se reutiliza la tarea de enlaces CICS (BBO#). Cuando se llega a esta cifra, finaliza la tarea de enlace. El valor máximo es 2147483648.Importante: Para un escenario transaccional, finaliza la tarea de enlace tras llegar a la cifra y se recibe la siguiente confirmación del servidor de Liberty.
- REUT
- El número de segundos que permanece activa y se reutiliza la tarea de enlaces CICS (BBO#). Cuando caduca este intervalo de tiempo, tras recibir y procesar la solicitud siguiente, finaliza la tarea de enlace. El valor máximo es 2147483648. Importante: Para un escenario transaccional, finaliza la tarea de enlace tras llegar al tiempo solicitado y se recibe la siguiente confirmación del servidor de Liberty.
- RETRY
- Indica que se debe volver a intentar reiniciar un servidor o registrar una solicitud, si no se puede conectar con el servidor de destino solicitado. Si no se especifican RETCNT y RETINT, el número de veces predeterminado de reintentos es 10 y el tiempo predeterminado entre los reintentos es 30 segundos.
- RETCNT
- Si se proporciona RETRY=Y , RETCNT indica el número de veces que se reintentará el mandato después del fallo, antes de que la solicitud se deje de intentar. El valor mínimo es 1 y el valor máximo es 99999999. Un valor de 0 implica el valor máximo. Si el valor no se proporciona y se proporciona la opción RETRY=Y, el número predeterminado de reintentos es 10.
- RETINT
- Cuando se proporciona RETRY=Y, RETINT indica el número de segundos en el intervalo de tiempo entre reintentos. El valor mínimo es 1 y el máximo es 359000. Un valor de 0 implica el valor máximo. Si el valor no se proporciona y se proporciona la opción RETRY=Y, el número predeterminado de segundos entre reintentos es 30.
- RTXP
- RTXP=(Y|N) indica que el EXEC CICS LINK PROGRAM() realizado por la tarea de invocación de enlace (BBO#) debe tener la opción TRANSID() incluida. Cuando esto se proporciona sin el parámetro RTX (transacción remota), colocará el valor EIBTRNID actual en el parámetro TRANSID().
- RTX
- RTX, cuando se utiliza con el parámetro RTXP, indica que el EXEC CICS LINK PROGRAM() reqalizado por la tarea de invocación de enlace (BBO#) deberá tener la opción TRANSID() incluida. El valor para esta opción proviene del parámetro RTX. Cuando este valor no se pasa y se proporciona RTXP=Y, el valor EIBTRNID actual se utiliza en el parámetro TRANSID().
- TXN
- TXN describe el comportamiento tansaccional del
registro que se genera mediante la transacción BBOC. Esta opción
solo está soportada por registros en instancias del servidor
tradicional WebSphere.
Cuando BBOC crea un registro WOLA utilizando la operación REGISTER, TXN=Y significa que cualquier aplicación Java Platform, Enterprise Edition iniciada en el WebSphere Application Server que utilice este registro se une a la unidad de trabajo CICS actual. Cuando TXN=Y, se crea una transacción global entre CICS y WebSphere Application Server, que se completa utilizando el protocolo de confirmación de dos fases, cuando la aplicación CICS emite un EXEC CICS SYNCPOINT, o cuando está implícito un punto de sincronización como, por ejemplo, cuando finaliza la tarea CICS.
Cuando se utiliza BBOC para crear un servidor de enlace utilizando la función START_SRVR, TXN=Y significa que la tarea del servidor de enlace CICS se une a la transacción actual de WebSphere Application Server cuando se inicia un servicio. Por ejemplo, si una aplicación Java Platform, Enterprise Edition inicia una transacción local de gestor de recursos (RMLT) e inicia un programa CICS utilizando el conector JCA de adaptadores locales optimizados, la tarea de enlace se une a la transacción local y, después, inicia el programa CICS de destino. Las actualizaciones que se realizan en el programa CICS no se confirman o retrotraen hasta que la aplicación Java Platform, Enterprise Edition completa RMLT utilizando la API de confirmación o retrotracción.
Nombre de operación | Abreviatura | Descripción | Parámetros |
---|---|---|---|
START_TRUE | STR | Se inicia la tarea TRUE del servidor de Liberty | TRC=<0|1|2>
TDQ=<tdqname> |
STOP_TRUE | PTR | Se detiene la tarea TRUE del servidor de Liberty | TRC=<0|1|2> TDQ=<tdqname> |
REGISTER | REG | Se registra con el grupo WOLA del servidor de Liberty | RGN=<name> DGN=<name> NDN=<name> SVN=<name> MNC=<minimum_number_ of_connections> MXC=<maximum_number_ of_connections> SEC=<Y|N> TRC=<0|1|2> TDQ=<tdqname> RTXP=<Y|N> RTX=<remote_transaction_ID> RETRY=<Y|N> RETCNT=<number_of_requests> RETINT=<number_of_seconds> TXN=<Y|N> |
UNREGISTER | Se anula el registro con los adaptadores locales optimizados del servidor de Liberty | RGN=<name> | |
START_SRVR | STA | Se inicia la tarea del servidor de Liberty para el nombre del registro que se ha pasado. | RGN=<name> DGN=<name> NDN=<name> SVC=<name> SVN=<name> MNC=<minimum_number_ of_connections> MXC=<maximum_number_ of_connections> SEC=<Y|N> STX=<CICS_link_server_ transaction_ID> LTX=<CICS_link_server_ transaction_ID> TRC=<0|1|2> TDQ=<tdqname> REU=<Y|N> REUC=<number_of_requests> REUT=<number_of_seconds> RTXP=<Y|N> RTX=<remote_transaction_ID> RETRY=<Y|N> RETCNT=<number_of_requests> RETINT=<number_of_seconds> TXN=<Y|N> |
STOP_SRVR | STP | Se detiene la tarea del servidor de Liberty para el nombre de registro. | RGN=<name> TRC=<0|1|2> TDQ=<tdqname> |
DOCTEMPLATE | DOC | DOCTEMPLATE (DOC) indica que la serie del mandato (mandato BBOC y todos los argumentos) se debe leer en un origen de plantilla de documento CICS. La especificación de BBOC DOC NAME=<template_name> indica que toda la solicitud se encuentra en una sola línea de una plantilla de documento con el nombre proporcionado. Consulte la documentación de CICS si desea información sobre cómo definir plantillas de documento. Esto proporciona la capacidad de leer series de mandato largas (hasta 500 caracteres como máximo) de conjuntos de datos, miembros de conjunto de datos y archivos en el sistema de archivos de la región CICS. La especificación de una solicitud BBOC DOC NAME=<> dentro de un archivo de origen de plantilla de documento no está soportada. | NAME=<CICS_document_template_name>TRC=<0|1|2> |
Mandatos BBOC de ejemplo
- Iniciar el programa TRUE de CICS de adaptadores.
bboc start_true
- Detener el programa TRUE de CICS de adaptadores.
bboc stop_true
- Registrar con el nombre, CICS-HR1, en el grupo WOLA con los nombres LIB1, LIB2 y LIB3, con un máximo de
10 conexiones, 5 conexiones como mínimo y propagación de seguridad.
bboc register rgn=CICS-HR1 dgn=LIB1 ndn=LIB2 svn=LIB3 mnc=5 mxc=10 sec=y
- Anular el registro con el nombre CICS-HR1.
bboc unregister rgn=CICS-HR1
- Iniciar una transacción del servidor como BBO$ para todos los nombres de servicio y de programa bajo el nombre de registro,
CICSPAYR, con un grupo WOLA con un máximo de 10 conexiones, 5 conexiones como mínimo y propagación de la seguridad.
bboc start_srvr rgn=CICSPAYR dgn=LIB1 ndn=LIB2 svn=LIB3 mnc=5 mxc=10 sec=y
- Detener la transacción del servidor BBO$ que se está ejecutando bajo el nombre de registro CICSPAYR.
bboc stop_srvr rgn=CICSPAYR
- Iniciar una transacción de servidor como BBO$ para los nombres de servicio y programa que empiezan por PAYR bajo el nombre de registro, CICSPAY1, con un grupo
WOLA con un máximo de 10 conexiones, 5 conexiones como mínimo y propagación de la seguridad.
bboc start_srvr rgn=CICSPAY1 dgn=LIB1 ndn=LIB2 svn=LIB3 mnc=5 mxc=10 sec=y svc=PAYR*
- Iniciar una transacción de servidor bajo el ID de transacción, PAY2, y registrar con el nombre,
PAYROLL2, para todos los nombres de servicios y programas en un grupo WOLA con un máximo de 10 conexiones, 5 conexiones como mínimo, rastreo básico y propagación de la seguridad.
bboc start_srvr rgn=PAYROLL2 dgn=LIB1 ndn=LIB2 svn=LIB3 mnc=5 mxc=10 sec=y stx=PAY2 trc=1
- Iniciar una transacción de servidor con el ID de transacción PAY3, y el ID
de transacción de enlace PY3L.
Registrar con el nombre, PAYROLL3, para los nombres de servicios y programas que empiezan por
PAYRL3 en un grupo WOLA con un máximo de 10 conexiones, 5 conexiones como mínimo, rastreo básico y propagación de la seguridad.
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
- Inicie una transacción de servidor de enlace donde todos los
parámetros se leen en un origen de plantilla de documento CICS llamado LONGCMD
bboc doc name=LONGCMD
Ejecución automática de un mandato BBOC durante el arranque de CICS
- Para iniciar la tarea TRUE de los adaptadores locales optimizados cuando se inicia CICS, añada BBOACLPT como entrada de fase 2 o de fase 3 en su PLT de CICS.
- Para emitir un mandato BBOC utilizando datos de INITPARM cuando se inicia CICS, añada BBOACLP2 como entrada de fase 2 o de fase 3 en su PLT de 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 crea un registro cuando se inicia CICS, no utilice la API Register en sus aplicaciones. En su lugar, utilice inmediatamente las otras API como, por ejemplo Invoke o Connection Get.
- Ejecutando BBOC STOP_SERVER para todos los servidores de enlace CICS o ejecutando BBOC URG para todos los registros.
- Depurando las tareas BBO$.
- Escribiendo un programa de conclusión PLT (Program List Table - tabla de lista de programas) que ejecute el mandato EXEC CICS LINK en BBOACNTL para cada servidor de enlaces que pase la serie STOP_SERVER.
- Emitiendo el siguiente mandato: CEMT P SHUT,IMMED
Transacción del servidor de enlaces para CICS: BBO$
La transacción BBO$ CICS admite llamadas desde el servidor de Liberty a CICS. La transacción BBO$ es una transacción no de estación de trabajo que representa una instancia de una tarea de servidor que se inicia con la operación BBOC START_SRVR para un determinado nombre de registro y un determinado nombre de servicio. Esta tarea del servidor proporciona la capacidad de invocación de enlaces de programas, que es la posibilidad de iniciar un programa CICS existente desde el servidor de Liberty a través de las API de los adaptadores locales optimizados.Puede alterar temporalmente el nombre de la transacción, BBO$, especificando STX=nombre en el mandato BBOC START_SRVR. Se debe definir el nombre de transacción nuevo en CICS con el mismo nombre de programa y atributos que BBO$. Para obtener más información, consulte Definiciones de adaptadores locales optimizados para CICS.
Transacción de invocación de enlaces de programas para CICS: BBO#
La transacción BBO# CICS admite llamadas desde el servidor de Liberty a CICS. La transacción BBO# es una transacción no de estación de trabajo que representa una instancia de una tarea que inicia la tarea de servidores de enlaces, BBO$, para invocar un enlace de programa. La transacción BBO$ inicia una tarea BBO# para cada solicitud de enlace de programa CICS desde una aplicación del servidor de Liberty.Puede alterar temporalmente el nombre de la transacción, BBO#, especificando LTX=nombre en el mandato BBOC START_SRVR. Se debe definir el nombre de transacción nuevo en CICS con el mismo nombre de programa y atributos que BBO#. Para obtener más información, consulte Definiciones de adaptadores locales optimizados para CICS. De forma alternativa, la aplicación del servidor de Liberty puede pasar el nombre de transacción nuevo a CICS utilizando el método setLinkTaskTransid de JCA.