Diseño de artefactos de metadatos para aplicaciones 3270

En esta guía se muestra cómo diseñar artefactos de metadatos para aplicaciones 3270 y guardar estos artefactos como archivos XML de definición de Host Integration Server (HIDX) y clases de C# para Host Integration Server.

En una aplicación controlada por pantalla 3270, las pantallas y los campos de datos son únicos para sus escenarios. Si usa Azure Logic Apps para crear y ejecutar flujos de trabajo automatizados que incluyen las acciones del conector IBM 3270, el conector necesita información sobre la aplicación, que puede proporcionar como metadatos en un archivo HIDX. En estos metadatos se describe información que ayuda al flujo de trabajo a identificar y reconocer pantallas, se describe cómo navegar entre pantallas, dónde introducir datos y dónde esperar resultados. Para especificar y generar estos metadatos, debe usar la herramienta de diseño 3270, que le guía por estos modos específicos o fases, como se describe posteriormente de forma más detallada:

  • Captura: en este modo, registra las pantallas necesarias para completar una tarea específica con su aplicación del sistema central, por ejemplo, obteniendo un saldo bancario.

  • Navegación: en este modo, especifica el plan o la ruta de acceso para saber cómo navegar por las pantallas de su aplicación del sistema central para la tarea concreta.

  • Métodos: en este modo, define el método, por ejemplo, GetBalance, que describe la ruta de acceso de navegación de la pantalla. También se eligen los campos de cada pantalla que pasan a ser los parámetros de entrada y salida del método.

Requisitos previos

  • Acceso al servidor TN3270 que hospeda la aplicación controlada por pantalla 3270

  • Descargue e instale la herramienta de diseño 3270. El único requisito previo es Microsoft .NET Framework 4.8.

    Esta herramienta le ayuda a registrar las pantallas, las rutas de navegación, los métodos y los parámetros de las tareas de la aplicación 3270 que agregue y ejecute mediante las acciones del conector ibm 3270 en un flujo de trabajo de consumo o estándar creado con Azure Logic Apps. La herramienta genera un archivo XML (HIDX) de Integración de host Designer que proporciona los metadatos necesarios para que el conector ejecute la aplicación controlada por pantalla 3270.

    Después de descargar e instalar esta herramienta, siga estos pasos para conectarse con el servidor host TN3270, diseñar el artefacto de metadatos necesario y generar el archivo HIDX.

    La herramienta de diseño 3270 no admite los siguientes elementos:

    • Asignaciones Basic Mapping Support (BMS) de IBM parciales: si importa una asignación BMS, la herramienta de diseño omitirá las definiciones de pantalla parciales.

    • Procesamiento de menús

Captura de pantallas

En este modo, marca un elemento en cada pantalla 3270 que identifica dicha pantalla de forma exclusiva. Por ejemplo, podría especificar una línea de texto o un conjunto de condiciones más complejo, como texto específico y un campo no vacío. Puede registrar estas pantallas a través de una conexión dinámica al servidor host, o bien importar esta información desde una asignación Basic Mapping Support (BMS) de IBM. La conexión dinámica usa un emulador TN3270 para conectarse al host. Cada acción del conector debe asignarse a una sola tarea que se inicia con la conexión a su sesión y termina con la desconexión de su sesión.

  1. Si aún no lo ha hecho, abra la herramienta de diseño 3270. En la barra de herramientas, elija Captura para entrar al modo Captura.

  2. En el menú Sesión , seleccione Configuración de host. Escriba la información de la configuración del servidor de TN3270E y seleccione Aceptar.

  3. En el menú Sesión, seleccione Conectar.

  4. Para iniciar la grabación, en el menú Grabación, seleccione Iniciar grabación. (Teclado: Ctrl+E)

  5. En el panel Captura, a partir de la primera pantalla de su aplicación, consulte su aplicación para la tarea específica que está grabando.

  6. Una vez que finalice la tarea, cierre la sesión de su aplicación como hace normalmente.

  7. En el menú Sesión, seleccione Desconectar.

  8. Para detener la grabación, en el menú Grabación, seleccione Detener grabación. (Teclado: Ctrl+Mayús+E)

    Después de capturar las pantallas para una tarea, la herramienta de diseñador muestra miniaturas que representan esas pantallas. Algunas notas sobre estas miniaturas:

    • Incluida con sus pantallas capturadas, tiene una pantalla llamada "Vacía".

      La primera vez que se conecta a CICS, debe enviar la clave "Borrar" antes de poder escribir el nombre de la transacción que desea ejecutar. La pantalla donde envía la clave "Borrar" no tiene ningún atributo de reconocimiento, como un título, el cual puede agregar mediante el editor de reconocimiento de la pantalla. Para representar esta pantalla, las miniaturas incluyen una pantalla llamada "Vacía". Posteriormente podrá usar esta pantalla para representar la pantalla donde escribe el nombre de la transacción.

    • De forma predeterminada, el nombre de una pantalla capturada usa la primera palabra de la pantalla. Si ese nombre ya existe, la herramienta de diseño anexará el nombre con un guion bajo y un número, por ejemplo, "WBGB" y "WBGB_1".

  9. Para asignar un nombre más significativo a una pantalla capturada, siga estos pasos:

    1. En el panel Pantallas de host, seleccione la pantalla cuyo nombre desee cambiar.

    2. En el mismo panel, cerca de la parte inferior, vea la propiedad Nombre de pantalla.

    3. Cambie el nombre actual de la pantalla por uno más descriptivo.

  10. Ahora, especifique los campos para identificar cada pantalla.

    Con el flujo de datos de 3270, las pantallas no tienen identificadores predeterminados, por lo que debe seleccionar texto único en cada una de las pantallas. En escenarios complejos, puede especificar varias condiciones, por ejemplo, texto único y un campo con una condición específica.

Una vez que termine de seleccionar los campos de reconocimiento, pase al modo siguiente.

Condiciones para identificar pantallas repetidas

Para que el conector navegue y distinga entre las pantallas, normalmente encontrará texto único en una pantalla que puede usar como identificador entre las pantallas capturadas. Para las pantallas repetidas, podrían ser necesarios más métodos de identificación. Por ejemplo, supongamos que tiene dos pantallas cuyo aspecto es similar, salvo que una devuelve un valor válido y la otra un mensaje de error.

En la herramienta de diseño, puede agregar atributos de reconocimiento, por ejemplo, un título de pantalla como "Obtener saldo de cuenta", mediante el editor de reconocimiento de la pantalla. Si tiene una ruta de acceso bifurcada y ambas ramas devuelven la misma pantalla, pero con otros resultados, necesitará otros atributos de reconocimiento. En tiempo de ejecución, el conector usa estos atributos para determinar la rama y la bifurcación actuales. Estas son las condiciones que puede usar:

  • Valor específico: este valor coincide con la cadena especificada en la ubicación especificada.
  • NO un valor específico: este valor no coincide con la cadena especificada en la ubicación especificada.
  • Vacío: este campo está vacío.
  • NO vacío: este campo no está vacío.

Para obtener más información, consulte el plan de navegación de ejemplo más adelante en este tema.

Definición de planes de navegación

En este modo, define el flujo o los pasos para navegar por las pantallas de su aplicación del sistema central para su tarea específica. Por ejemplo, en ocasiones, podría tener más de una ruta de acceso que su aplicación puede tomar donde una ruta de acceso produce el resultado correcto y la otra un error. Para cada pantalla, especifique las pulsaciones de teclas necesarias para pasar a la pantalla siguiente, como CICSPROD <enter>.

Sugerencia

Si automatiza varias tareas que usan las mismas pantallas de conexión y desconexión, la herramienta de diseño proporcionará tipos de plan de conexión y desconexión especiales. Al definir estos planes, puede agregarlos al principio y al final de su plan de navegación.

Directrices para las definiciones de planes

  • Incluya todas las pantallas, empezando con la conexión y terminando con la desconexión.

  • Puede crear un plan independiente o usar los planes de conexión y desconexión, que le permiten reutilizar una serie de pantallas comunes a todas sus transacciones.

    • La última pantalla de su plan de conexión debe ser la misma pantalla que la primera pantalla de su plan de navegación.

    • La primera pantalla de su plan de desconexión debe ser la misma pantalla que la última pantalla de su plan de navegación.

  • Sus pantallas capturadas podrían incluir muchas pantallas repetidas, de modo que seleccione y use solo una instancia de cualquier pantalla repetida de su plan. Estos son algunos ejemplos de pantallas repetidas:

    • La pantalla de inicio de sesión, por ejemplo, la pantalla MSG-10.
    • La pantalla principal para CICS
    • La pantalla "Borrar" o Vacía

Creación de planes

  1. En la barra de herramientas de la herramienta de diseño 3270, elija Navegación para entrar al modo Navegación.

  2. Para iniciar su plan, en el panel Navegación, elija Nuevo plan.

  3. En Elegir nuevo nombre del plan, escriba un nombre para su plan. En la lista Tipo, seleccione el tipo de plan:

    Tipo de plan Descripción
    Process Para los planes independientes o combinados
    Conexión Para los planes de conexión
    Desconexión Para los planes de desconexión
  4. En el panel Pantallas de host, arrastre las miniaturas capturadas a la superficie del plan de navegación en el panel Navegación.

    Para representar la pantalla en blanco donde escribe el nombre de la transacción, use la pantalla "Vacía".

  5. Organice las pantallas en el orden descrito por la tarea que está definiendo.

  6. Para definir la ruta de acceso de flujo entre pantallas, incluidas bifurcaciones y combinaciones, en la barra de herramientas de la herramienta de diseño, elija Flujo.

  7. Elija la primera pantalla del flujo. Arrástrela y establezca una relación entre esta y la siguiente pantalla del flujo.

  8. Para cada pantalla, proporcione los valores de las propiedades Clave AID (Attention Identifier) y Texto fijo. Esta última mueve el flujo a la pantalla siguiente.

    Es posible que tenga solo la clave AID, o bien esta y el texto fijo.

Una vez finalizado su plan de navegación, puede definir métodos en el siguiente modo.

Ejemplo

En este ejemplo, supongamos que ejecuta una transacción CICS denominada "WBGB" que tiene los pasos siguientes:

  1. En la primera pantalla, escribe un nombre y una cuenta.
  2. En la segunda pantalla, obtiene el saldo de cuenta.
  3. Sale a la pantalla "Vacía".
  4. Cierra la sesión de CICS en la pantalla "MSG-10".

Supongamos también que repite estos pasos, pero los datos que escribe son incorrectos para poder capturar la pantalla que muestra el error. Estas son las pantallas que captura:

  • MSG-10
  • Pantalla principal para CICS
  • Empty
  • WBGB_1 (entrada)
  • WBGB_2 (error)
  • Empty_1
  • MSG-10_1

Aunque muchas pantallas aquí obtienen nombres únicos, algunas pantallas son la misma pantalla, por ejemplo, "MSG-10" y "MSG-10_1". Debe cambiar el nombre del WBGB_1 y WBGB_2 a algo más informativo. Para una pantalla repetida, use solo una instancia para esa pantalla de su plan. En estos ejemplos se muestra el aspecto que podrían tener un plan independiente, un plan de conexión, un plan de desconexión y un plan combinado:

  • Plan independiente

    Plan de navegación independiente

  • Plan de conexión

    Plan de conexión

  • Plan de desconexión

    Plan de desconexión

  • Plan combinado

    Plan combinado

Ejemplo: Identificación de pantallas repetidas

El plan de ejemplo tiene una bifurcación donde puede obtener pantallas con un aspecto similar. Una pantalla devuelve el saldo de una cuenta, mientras que la otra devuelve un mensaje de error.

La herramienta de diseño le permite agregar atributos de reconocimiento, por ejemplo, el título de pantalla "Obtener saldo de cuenta", mediante el editor de reconocimiento de la pantalla. En el caso con pantallas similares, necesita otros atributos. En tiempo de ejecución, el conector usa estos atributos para determinar la rama y la bifurcación.

  • En la rama que devuelve una entrada válida, que es la pantalla con el saldo de cuenta, puede agregar un campo con la condición "no vacía".

  • En la rama que devuelve un error, puede agregar un campo con la condición "vacía".

Definición de métodos

En este modo, define un método asociado a su plan de navegación. Para cada parámetro de método, especifica el tipo de datos, como cadena, entero, fecha u hora, etc. Cuando haya terminado, podrá probar su método en el host en vivo y confirmar que funciona según lo previsto. A continuación, genera el archivo de metadatos o el archivo Host Integration Designer XML (HIDX), que ahora tiene las definiciones de método que se van a usar para crear y ejecutar una acción para el conector de IBM 3270. También genera clases de C# para Host Integration Server. También puede generar clases de C# para su uso con Host Integration Server.

  1. En la barra de herramientas de la herramienta de diseño 3270, elija Métodos para entrar al modo Métodos.

  2. En el panel Métodos , seleccione el botón Nuevo método . Escriba un nombre para el nuevo método. Seleccione Aceptar.

  3. En el panel Navegación, seleccione la pantalla que tenga los campos de entrada que desea.

  4. Para agregar el primer parámetro de entrada del método, siga estos pasos:

    1. En el panel Captura, en la pantalla del emulador 3270, elija todo el campo, no solo el texto del campo, que quiere como primera entrada.

      Sugerencia

      Para mostrar todos los campos y asegurarse de seleccionar el campo completo, en el menú Ver, seleccione Todos los campos.

    2. En la barra de herramientas de la herramienta de diseño, elija Campo de entrada.

  5. Para agregar más parámetros de entrada, repita los pasos anteriores para cada parámetro. Consulte los pasos previos.

  6. Para agregar el primer parámetro de salida del método, siga estos pasos:

    1. En el panel Captura, en la pantalla del emulador 3270, elija todo el campo, no solo el texto que contiene, que quiere como primera salida.

      Sugerencia

      Para mostrar todos los campos y asegurarse de seleccionar el campo completo, en el menú Ver, seleccione Todos los campos.

    2. En la barra de herramientas de la herramienta de diseño, elija Campo de salida.

    Para agregar más parámetros de salida, repita los pasos anteriores para cada parámetro.

  7. Una vez que agregue todos los parámetros del método, defina estas propiedades para cada parámetro:

    Nombre de propiedad Valores posibles
    Tipo de datos Byte, Date Time, Decimal, Int, Long, Short y String
    Técnica de relleno de campos Los parámetros admiten estos tipos de relleno, usando espacios en blanco en caso necesario:

    - Type: escriba caracteres de forma secuencial en el campo.

    - Fill: reemplace el contenido del campo por caracteres, usando espacios en blanco en caso necesario.

    - EraseEofType: borre el campo y, a continuación, escriba caracteres de forma secuencial en el campo.

    Cadena de formato Algunos tipos de datos de parámetro usan una cadena de formato, que informa al conector 3270 de cómo se debe convertir el texto de la pantalla en un tipo de datos de .NET:

    - DateTime: la cadena de formato DateTime sigue las cadenas de formato de fecha y hora personalizadas de .NET. Por ejemplo, la fecha 06/30/2019 usa la cadena de formato MM/dd/yyyy.

    - Decimal: la cadena de formato decimal usa la cláusula COBOL Picture. Por ejemplo, el número 100.35 usa la cadena de formato 999V99.

Guardado y visualización de metadatos

Una vez que defina el método, pero antes de que lo pruebe, guarde toda la información que ha definido hasta el momento en un archivo RAP (.rap). Puede guardarla en este archivo RAP en cualquier momento durante cualquier modo. La herramienta de diseño también incluye un archivo RAP de ejemplo que puede abrir y revisar yendo a la carpeta de instalación de esta en esta ubicación y abriendo el archivo "WoodgroveBank.rap":

..\Program Files\Microsoft Host Integration Server - 3270 Design Tool\SDK\WoodgroveBank.rap

Sin embargo, si intenta guardar los cambios en el archivo RAP de ejemplo o generar a partir de este un archivo HIDX mientras el archivo permanece en la carpeta de instalación de la herramienta de diseño, es posible que reciba el error "acceso denegado". La herramienta de diseño se instala de forma predeterminada en su carpeta Archivos de programa sin permisos elevados. Si recibe un error, pruebe una de estas soluciones:

  • Copie el archivo de ejemplo en otra ubicación.
  • Ejecute la herramienta de diseño como administrador.
  • Conviértase en el propietario de la carpeta del SDK.

Comprobación del método

  1. Para ejecutar su método en el host en vivo, mientras sigue en el modo Métodos, presione la tecla F5 o, en la barra de herramientas de la herramienta de diseño, elija Probar.

    Sugerencia

    Puede cambiar los modos en cualquier momento. En el menú Archivo, seleccione Herramientas y, a continuación, seleccione el modo que desea: Usar métodos de cadena y formulario de progreso mínimo.

  2. Escriba los valores de los parámetros y elija Aceptar.

  3. Para continuar con la siguiente pantalla, seleccione Siguiente.

  4. Cuando termine, elija Listo; se muestran los valores del parámetro de salida.

Generación y carga del archivo HIDX

Cuando esté listo, genere el archivo HIDX. La herramienta de diseño 3270 crea el archivo HIDX en una nueva subcarpeta donde guardó su archivo RAP. Después, puede cargar el archivo HIDX en la cuenta de integración que esté vinculada a un recurso de aplicación lógica estándar o consumo. O bien, puede cargar directamente en el recurso de aplicación lógica estándar a través de la sección Artefactos en Mapas en el menú de recursos.

  1. En la herramienta de diseño 3270, en el menú Herramientas, seleccione Generate Definitions (Generar definiciones). (Teclado: F6)

  2. Vaya a la carpeta que incluye su archivo RAP y abra la subcarpeta que la herramienta creó después de generar su archivo HIDX. Confirme que la herramienta creó el archivo HIDX.