Acerca del ejemplo de conectividad de CICS Transaction Server for z/OS

El ejemplo de conectividad de CICS Transaction Server for z/OS se basa en un escenario donde el objetivo es recuperar un registro en un recurso de archivo definido en CICS.

El siguiente diagrama muestra la arquitectura de utilizar la conectividad CICS en un flujo de mensajes.

Ilustración de la arquitectura de conectividad de CICS Transaction Server for z/OS

El ejemplo de conectividad de CICS Transaction Server for z/OS muestra las siguientes tareas:

El programa DFH$AXCS de CICS recibe una COMMAREA para abrir, examinar y cerrar un archivo. DFH$AXCS es un programa que utiliza los datos de ejemplo FILEA que se proporcionan con CICS. FILEA es un archivo de conjunto de datos de secuencia de claves (KSDS) que contiene información de cuentas de ejemplo y está indexado mediante un número de registro de seis caracteres. DFH$AXCS accede a este archivo y toma los argumentos de entrada de un mandato, un nombre de recurso de archivo y un identificador de registro. El mandato indica al ejemplo si debe abrir, examinar, actualizar o cerrar el archivo. El recurso de archivo hace referencia a una definición de recurso de archivo instalado que se correlaciona con datos KSDS reales. El número de registro se utiliza como clave cuando se lee o actualiza el archivo. El ejemplo realiza tres llamadas a CICS para abrir, examinar un registro y cerrar el archivo.

Mensajes de entrada

Se proporcionan tres mensajes de entrada para ejecutar el ejemplo de conectividad de CICS Transaction Server for z/OS:

Mensajes de salida

Se pueden recuperar cuatro mensajes de salida al ejecutar el ejemplo de conectividad de CICS Transaction Server for z/OS:

Flujos de mensajes

El siguiente diagrama muestra el flujo de mensajes de ejemplo de conectividad principal de CICS Transaction Server for z/OS.

Captura de pantalla del flujo de mensajes principal.

Tipo de nodo Nombre de nodo
MQInput CICS_IN
Compute Set Open Command, Convert FILE not found to XML, Convert FILEA record to XML, Convert abend code to XML
CICSRequest Open FILEA
Filter Check FILEA opened
Subflow CICSConnectivityProcessFILEA
MQOutput CICS_OUT, CICS_ERROR

El siguiente diagrama muestra el subflujo de mensajes del ejemplo de conectividad de CICS Transaction Server for z/OS denominado CICSConnectivityProcessFILEA.

Captura de pantalla del subflujo.

Tipo de nodo Nombre de nodo
Input Input
Compute Set Browse Command, Set Close Command
CICSRequest Browse FILEA, Close FILEA
Output Output, Error

Para obtener más información sobre los nodos que se utilizan en el ejemplo de conectividad de CICS Transaction Server for z/OS, consulte Nodos incorporados en la documentación de IBM Integration Bus.

Ruta tomada por los mensajes FILEA

Al colocar uno de los mensajes FILEA en la cola de entrada, el mensaje pasa a través de los nodos. Si ninguna de las colas se ha inhabilitado, el mensaje no puede seguir esta vía de acceso.

La siguiente sección describe la ruta tomada por los mensajes FILEA y la función de los nodos en el flujo principal de mensajes del ejemplo de conectividad de CICS Transaction Server for z/OS y en el subflujo de mensajes CICSConnectivityProcessFILEA:

  1. CICS_IN: El nodo MQInput "CICS_IN" obtiene el mensaje de entrada de la cola de entrada.
  2. Set Open Command: el nodo Compute "Set Open Command" establece el conjunto, el tipo y el formato de los mensajes a partir de los cuales se creará la COMMAREA para realizar el envío a CICS. La estructura de la COMMAREA se define en el archivo de libro de copias dfh$axcs_cpybooks.cpy. El nodo establece el parámetro abierto requerido por el programa CICS DFH$AXCS, es decir: AXCS_COMMAND = 1. El nodo también establece el parámetro AXCS_FILE en el valor data.file especificado en el mensaje de entrada de XML. Por último, el nodo almacena el valor de data.record del mensaje de entrada XML en el entorno para utilizarlo en la siguiente invocación al nodo CICSRequest "Browse FILEA".
  3. Open FILEA: el nodo CICSRequest "Open FILEA" se conecta a CICS y abre el recurso FILEA. La propiedad CICS server del nodo CICSRequest se establece para utilizar el servicio configurable CICSConnection, como se describe en Configuración del ejemplo de conectividad de CICS Transaction Server for z/OS. Se establecen las propiedades Nombre del programa y Longitud del área de comunicación y la COMMAREA que se crea en el nodo Compute "Set Open Command" se envía a CICS. CICS ejecuta el programa DFH$AXCS y se abre FILEA. La estructura de la COMMAREA que se devuelve a IBM Integration Bus desde CICS es la misma que la COMMAREA saliente, que es: dfh$axcs_cpybooks.cpy
  4. Check FILEA opened: el nodo Filter "Check FILEA opened" realiza una comprobación del código de retorno de CICS para asegurarse de que el archivo se ha abierto correctamente en el sistema host. Si FILEA se ha abierto correctamente, el mensaje se propaga al subflujo CICSConnectivityProcessFILEA.
  5. Subflujo CICSConnectivityProcessFILEA:
    1. Set Browse Command: El nodo "Set Browse Command" Compute establece el parámetro browse requerido por el programa CICS DFH$AXCS, es decir: AXCS_COMMAND = 2. El nodo "Set Browse Command" Compute también recupera el valor de data.record del entorno local y establece el parámetro AXCS_RIFLD para informar al programa DFH$AXCS qué registro recuperar de FILEA.
    2. Browse FILEA: "Browse FILEA" es un nodo CICSRequest que indica a CICS que navegue en FILEA y que recupere el registro.
    3. Set Close Command: el nodo Compute "Close Command" establece el parámetro close, que es: AXCS_COMMAND = 3.
    4. Close FILEA: el nodo CICSRequest final, "Close FILEA", envía la COMMAREA a CICS y FILEA se cierra.
  6. Convert FILEA record to XML: a través de este flujo de mensajes, el mensaje principal que se propaga a través de los nodos es la COMMAREA que se crea mediante el nodo Compute "Set Open Command", que se pasa desde y hacia CICS. El elemento principal de interés ahora son los datos recuperados del nodo CICSRequest "Browse FILEA". El nodo Compute "Convert FILEA record to XML" crea un mensaje XML que contiene la corriente de bytes transformados del registro FILEA y convierte el mensaje en un formato XML, como se muestra en la sección Mensajes de salida.
  7. CICS_OUT: el nodo MQOutput "CICS_OUT" coloca el mensaje en la cola de salida CICS_OUT.
  8. Convert abend code to XML: el nodo Compute "Convert abend code to XML" maneja las situaciones de error. Cada uno de los nodos CICSRequest del flujo y subflujo de mensajes tiene sus terminales de Error conectados a este nodo Compute. El nodo Compute crea un mensaje XML que contiene el código de terminación anómala de CICS, como se muestra en la sección Mensajes de salida.
  9. CICS_ERROR: el nodo MQOutput "CICS_ERROR" coloca el mensaje en la cola de salida CICS_ERROR.

Ruta tomada por el mensaje FILEB

La ruta seguida por el mensaje FILEB es parecida a la que toman los mensajes FILEA, pero con las siguientes diferencias:

  1. Open FILEA: el nodo CICSRequest "Open FILEA" intenta abrir FILEB, que es un archivo inexistente en la región CICS del host.
  2. Check FILEA opened: el nodo Filter "Check FILEA opened" determina el código de retorno 12 y el mensaje se propaga directamente al nodo Compute "Convert FILE not found to XML".
  3. Convert FILE not found to XML: dado que no existe ningún registro recuperado que el nodo Compute "Convert FILE not found to XML" pueda transformar, el nodo Compute "Convert FILE not found to XML" crea un mensaje informativo.

Este ejemplo demuestra cómo leer un mensaje de entrada, conectarse a CICS y recuperar un registro de FILEA. Los datos de registro se transforman en XML y se envían a una cola. Si no se encuentra el archivo, se crea un mensaje informativo.

Para obtener más información, consulte Trabajar con CICS Transaction Server for z/OS en la documentación de IBM Integration Bus.

A continuación, puede completar los pasos de configuración que se indican en Configuración del ejemplo de conectividad de CICS Transaction Server for z/OS, antes de ejecutar el ejemplo.

Volver a la página inicial del ejemplo