Transforme de UML a COBOL, Parte 1

Cree programas COBOL y servicios web sin escribir código

Conozca una nueva característica de la Versión 7 de WebSphere® Developer para System z™: z/OS Database Application Generator. z/OS Database Application Generator genera automáticamente programas CICS® COBOL con acceso a DB2®. Esta característica además genera un servicio web y el Lenguaje de Control de Trabajos (JCL) que lo ayudará a implantar el código generado. Este tutorial comienza con una introducción rápida a esta característica y le presenta un escenario de ejemplo que le enseñará a transformar UML a COBOL. Nota: A partir de la Versión 7.1, WebSphere Developer for System z pasó a denominarse Rational Developer for System z.

Reginaldo Barosa, Executive IT Specialist, IBM

Author photoReginaldo W. Barosa es Executive IT Specialist en IBM, brinda soporte de ventas, ayudando a los clientes en las soluciones de modernización empresariq y herramientas de desarrollo, como Rational Developer for System z. Antes de ingresar a IBM U.S., hace ya más de nueve años, Reginaldo trabajó durante 27 años para IBM Brasil, fue coautor de IBM Redbooks y escribió dos libros, además de otros artículos y tutoriales para IBM developerWorks. Es ingeniero eléctrico egresado del Instituto Maua de Tecnologia en San Pablo, Brasil.



07-04-2014

Antes de comenzar

Acerca de este tutorial

Aprenda a transformar una clase de Lenguaje Unificado de Modelado (UML) creada con Rational Software Architect en una tabla z/OS DB2 y a usar programas COBOL para acceder a dicha tabla.

Este tutorial también le enseña a crear, implantar y probar servicios web creados a partir de programas CICS COBOL generados por la transformación UML.

Si usted tiene una tabla z/OS DB2 y no desea iniciar la transformación desde UML, puede usar la tabla DB2 como punto de partida para este tutorial. Los pasos de transformación de ambas situaciones son muy similares y los activos generados son idénticos en ambos casos.

En lugar de seguir todos los pasos descriptos en este tutorial, puede descargar la solución proporcionada y cargarla en el espacio de trabajo de WebSphere Developer para System z. Consulte la sección Activos para descargar y usar con este tutorial para obtener más información.

Objetivos

  • Aprender a generar COBOL desde UML, crear una tabla z/OS DB2, implantar servicios CICS y probarlos usando las facilidades de prueba proporcionadas por las herramientas WebSphere Developer para System z.
  • Conozca cómo lo pueden ayudar los asistentes a generar activos COBOL y JCL sin necesidad de escribir código.

Requisitos previos

Este tutorial está dirigido a desarrolladores que no estén familiarizados con los servicios web CICS o el código Java; sin embargo, es necesario contar con ciertos conocimientos básicos de programación. También deberá conocer conceptos de z/OS, COBOL, JCL y DB2.

Requisitos del sistema

Para codificar el ejemplo descripto en este tutorial, se requiere WebSphere Developer para System z Versión 7. Si desea modificar el modelo UML proporcionado, también deberá tener Rational® Software Architect disponible en su estación de trabajo. Si desea implantar el código generado en z/OS, necesitará CICS Versión 3.1 o posteriores y z/OS DB2 Versión 7 o posteriores.

Activos para descargar y usar con este tutorial

Luego de descargar y descomprimir el archivo UML_to_COBOL_assets.zip proporcionado en la sección Descargas, contará con los siguientes activos para usar en este tutorial:

  • Simple Bank Model.uml: Modelo de Lenguaje Unificado de Modelado (UML) exportado de Rational Software Architect que deberá importarse a WebSphere Developer para System z para iniciar la transformación.
  • CUSTOMER_TABLE_ZOS.sql: Lenguaje de Definición de Datos (DDL) DB2 que puede usar para crear y cargar la tabla z/OS DB2 llamada CUSTOMER usada en este tutorial.
  • DB2 Application Generator para RSA.zip: Intercambio de proyectos exportado de Rational Software Architect; se usó para crear el modelo UML.
  • TUTORIAL_UML_Appl Generator for WDz.zip: Solución proporcionada en formato de intercambio de proyectos. Esta solución se exportó de WebSphere Developer para System z luego de haber configurado toda la transformación y creado todo el COBOL y otros activos usados en este tutorial.

Introducción

z/OS Database Application Generator

El asistente de z/OS Database Application Generator genera automáticamente código CICS COBOL que accede a DB2. También genera un servicio web y el JCL que lo ayudará a implementar el código generado. Database Application Generator proporciona las operaciones CRUD (crear, leer, actualizar y borrar) y operaciones LIST para los programas COBOL generados.

El COBOL generado está compuesto por dos programas por cada tabla DB2. El primero es el conjunto de operaciones CRUD estándar; éste actúa en un sólo registro. El segundo administra la operación búsqueda/lista en filas múltiples.

Database Application Generator permite usar un esquema de base de datos existente para crear con rapidez un nivel de acceso a datos z/OS para servicios web. Además, podrá trabajar directamente desde un modelo UML. Este tutorial sólo cubre la transformación de UML.

La Figura 1 muestra la arquitectura de Database Application Generator.

Figura 1. Arquitectura de Database Application Generator

Forma de trabajar con el modelo UML

En UML, los modelos contienen elementos de modelo tales como actores, casos de uso, clases y paquetes junto con uno o más diagramas que muestran perspectivas específicas de un sistema. Model-Driven Development (MDD) permite trabajar desde un modelo UML que podrá corresponder a una tabla DB2. Cada clase UML que usemos en este tutorial se mapeará a un tabla DB2 que aún no ha sido creada. El tutorial supone que usted ha creado el modelo UML usando Rational Software Architect y desea transformarlo en una base de datos y además generar programas COBOL usando los asistentes Database Application Generator (Generadores de aplicaciones de base de datos).

Al trabajar con UML, tome en cuenta las siguientes suposiciones:

  • Toda clase en UML es tratada como una tabla DB2.
  • Todas las propiedades de clases son tratadas como columnas.
  • Otros elementos UML como operaciones y métodos de clases son ignorados.

Si usted no tiene Rational Software Architect, puede seguir este tutorial importando el modelo UML proporcionado (Simple Bank Model.uml) a WebSphere Developer. El modelo UML usado en este tutorial se muestra en la Figura 2 de la próxima sección.

Los pasos principales para crear e implantar los activos usando el asistente son los siguientes:

  1. Exportar el modelo UML desde Rational Software Architect.
  2. Importar el modelo UML a Developer para System.
  3. Usar el asistente Database Application Generator para editar y configurar los parámetros de transformación.
  4. Ejecutar la transformación.
  5. Crear la tabla z/OS DB2.
  6. Implantar el código generado.
  7. Configurar e instalar los servicios web CICS en z/OS.
  8. Probar los servicios web creados.

Este tutorial cubre todos los pasos antes descriptos.


Exportar el modelo UML usando Rational Software Architect

¿Desea ver una demostración de estos pasos?

¡Muéstrenme los pasos!

Rational Software Architect le permite trabajar con modelos UML y ofrece perspectivas y vistas específicamente diseñadas para este fin. Considere que un modelo constituye tanto un concepto como un elemento de modelado. Como concepto, el modelo es una abstracción de un sistema desde una perspectiva particular y en un nivel de detalle en particular. Como elemento de modelado, el modelo y sus respectivos elementos aparecen en la vista Project Explorer (Explorador de proyectos) de Rational Software Architect. Estos elementos de modelo se representan gráficamente como elementos que forman parte de un diagrama.

Un proyecto de modelado puede contener varios modelos. Podrá abrir y administrar cada modelo desde la vista Project Explorer y además abrir varios diagramas de distintos modelos al mismo tiempo. Un diagrama de clase UML proporciona una representación gráfica de las estructuras y relaciones de los elementos de una aplicación. Los diagramas de clase pueden representar algunos o todos los componentes o elementos de una aplicación. Puede usar los diagramas de clase para crear su propio contexto y examinar, comprender, colaborar y diseñar usando un subconjunto de los componentes o elementos de una aplicación.

El modelo UML usado en este tutorial se muestra en la Figura 2.

Figura 2. Modelo de diagrama de clase UML en Rational Software Architect

Para exportar el modelo UML desde Rational Software Architect:

  1. Seleccione File > Export (Archivo > Exportar).
  2. En el campo Select an export destination (Seleccione un destino de exportación) del asistente Export (Exportación), haga clic en UML Model (Modelo UML) y luego en Next (Siguiente).
  3. En el campo Source (Origen) de la página UML Model, especifique el modelo que desea exportar. En el campo Destination (Destino), especifique el directorio objetivo para el modelo exportado. Luego haga clic en Finish (Finalizar).

Si no tiene instalado Rational Software Architect pero de todas formas desea seguir este tutorial, puede descargar el archivo UML de la sección de Descargas.


Importación del modelo UML a WebSphere Developer para System z

¿Desea ver una demostración de estos pasos?

¡Muéstrenme los pasos!

Usando WebSphere Developer para System z, debemos crear un proyecto simple e importar el modelo UML a dicho proyecto. Para crear el proyecto simple:

  1. En cualquier perspectiva, desde la barra de menú, seleccione File > New > Project.. (Archivo > Nuevo > Proyecto..).
  2. En el asistente New Project (Nuevo Proyecto), despliegue General, seleccione Project y luego haga clic en Next.
  3. En el campo de nombres Project, ingrese el nombre del proyecto nuevo; los ejemplos de este tutorial se nombraron TUTORIAL UML Appl Generator. Deje marcada la opción de uso de la ubicación predeterminada para su nuevo proyecto. Haga clic en Finish al terminar.
  4. Pase a la perspectiva Resource (Recursos) y use la vista Navigator (Navegador) para visualizar el proyecto recién creado.

Luego, importe el UML a su proyecto de la siguiente manera:

  1. Haga clic derecho en TUTORIAL UML Appl Generator y seleccione Import.. (Importar..) del menú emergente.
  2. En el asistente Import (Importación), despliegue General, seleccione File system (Sistema de archivos) y haga clic en Next.
  3. Señale al directorio que contiene el archivo UML exportado (Simple Bank Model.uml en este tutorial) y haga clic en Finish. La Figura 3 muestra el UML importado al proyecto.
Figura 3. Modelo UML importado a WebSphere Developer para System z

Uso del asistente Database Application Generator para editar y configurar los parámetros de transformación

¿Desea ver una demostración de estos pasos?

¡Muéstrenme los pasos!

Tome en cuenta que el modelo no contiene todas las características de implementación necesarias. Por ejemplo, para implementar el número de cliente, deberá definir este atributo como numérico. Los desarrolladores deberán configurar estos detalles de implementación; realizaremos esta configuración en esta sección del tutorial. Al trabajar en una transformación, normalmente se seguirán los siguientes pasos:

  1. Crear y configurar el archivo Modelo de Parámetros de Transformación (TPM). Éste es un archivo vinculado al modelo UML que describe cómo traducir los elementos UML a elementos del lenguaje fuente. El archivo TPM contiene, por ejemplo, información sobre cómo convertir tipos y nombres al lenguaje fuente y cómo estructurar el código de salida.
  2. Ejecutar las transformaciones y crear código en el lenguaje de salida.
  3. Editar e implementar el código de salida.
  4. Podrá iterar este ciclo repetidas veces, ya sea para generar diferentes partes de la aplicación o bien para probar y depurar la aplicación.

Creación de un archivo de parámetros de transformación

Los archivos de parámetros de transformación (TPM) contienen metadatos que describen cómo transformar un archivo UML en otro tipo de código diferente. Siga los pasos a continuación para crear un nuevo archivo TPM para el nuevo proyecto de ejemplo:

  1. Desde la vista Navigator, haga clic derecho en Simple Bank Model.uml, el archivo UML importado, y luego seleccione Edit Transformation Parameters (Editar parámetros de transformación).
  2. En la ventana Create a New TPM File (Crear un nuevo archivo TPM), verifique que su archivo UML se encuentre incluido en la lista del campo Target Model (Modelo objetivo) y haga clic en Finish.

El nuevo archivo TPM se abrirá en el editor Transformation Parameter (Parámetros de transformación).

Edición del archivo de parámetros de transformación

El archivo de parámetros de transformación permite personalizar la transformación del modelo UML a código fuente. En el sector izquierdo del editor aparece una tabla que incluye los elementos del archivo UML junto con las transformaciones que se aplican a tales elementos. Las filas de la tabla son los elementos del modelo UML. Puede expandir y contraer estas filas usando los botones + y -. La Figura 4 muestra el ejemplo con todos los elementos expandidos.

Figura 4. Editor Transformation Parameter para el ejemplo de este tutorial

Selección de las transformaciones disponibles

Si en su instalación de WebSphere Developer para System z se encuentran disponibles múltiples transformaciones, seleccione la que desee aplicar. En el extremo superior derecho del editor, seleccione la opción Manage applied transformations (Administrar transformaciones aplicadas). Se abrirá la ventana Manage Your Transformation Parameters (Administración de parámetros de transformación).

Haga clic en las transformaciones que desea usar y muévalas de la lista Available Transforms (Transformaciones disponibles) a la lista Selected Transforms (Transformaciones seleccionadas). En este ejemplo, seleccione z/OS Data Access, haga clic en Add (Agregar) y luego en OK.

Aplicar una transformación a los elementos UML

A modo de simplificación, en este tutorial aplicaremos una única transformación a la clase UML Customer. El asistente creará código que supondrá que la clase Customer mapea una tabla DB2.

Para aplicar una transformación a un elemento del modelo UML, haga clic derecho en el elemento UML y luego seleccione el nombre de la transformación desde el menú emergente. En este ejemplo, la única opción disponible será z/OS Data Access (Acceso a datos z/OS), pero en la realidad podrían existir otras transformaciones, dependiendo del producto en uso. Por ejemplo, si usted tiene instaladas extensiones de Rational Business Developer, podrá seleccionar la transformación EGL.

La Figura 5 muestra esta acción con el primer elemento, Simple Bank Model. Deberá ejecutar esta misma acción con cada elemento que desee transformar. Como en este caso nos interesa únicamente la clase Customer, haremos clic derecho en cada elemento de la clase Customer y seleccionaremos z/OS Data Access como la transformación deseada.

Figura 5. Selección del elemento UML a transformar

La fila del elemento UML y la columna de la transformación seleccionada aparecerán marcadas, indicando que esta transformación se aplicará al elemento UML asociado. Dependiendo del tipo de transformación, será recomendable aplicar la transformación al elemento raíz del modelo UML o bien a cualquiera de los elementos secundarios. Si aplica la transformación al elemento primario, el editor no la aplicará automáticamente a los elementos secundarios.

Tome en cuenta que la transformación ignora algunos elementos UML como operaciones y métodos de clases; en nuestro ejemplo, el elementofindZipCode es ignorado.

Configuración de la transformación

Para editar y configurar los parámetros asociados con una transformación, coloque una marca de verificación en la columna de la transformación en la fila del elemento UML. Debido a que los parámetros de transformación se aplican a un elemento UML en particular y a una transformación en particular, cerciórese de haber colocado la marca de verificación en el lugar correcto. Podrá establecer distintos parámetros dependiendo de la transformación y el tipo de elemento UML.

Luego de colocar la marca de verificación, los parámetros de la transformación seleccionada y del elemento UML seleccionado aparecerán en el extremo derecho del editor de parámetros de transformación. La Figura 6 muestra todos los elementos UML que se seleccionaron para esta transformación.

Figura 6. Elementos UML seleccionados para la transformación

Configuración de servicios CICS

Seleccione las configuraciones CICS, MVS y USS para Simple Bank Model. En el cuadro de diálogo, el asterisco indica los parámetros obligatorios para la implantación automática y generación de artefactos. Configure estos valores de acuerdo con su sistema z/OS.

Los parámetros de la pestaña CICS se usarán en la implementación de servicios CICS. A menos que sea necesario, evite cambiar el nombre de transacción y mantenga el nombre CPIH, ya que ésta es la transacción predeterminada para los servicios CICS. La mayoría de los valores son transparentes. Si lo desea, puede obtener más información consultando la ayuda de WebSphere Developer para System z.

  • Transaction name (Nombre de transacción): El ID de transacción del alias de canalización predeterminado usado para solicitudes de servicio Web HTTP entrante es CPIH. Si usted cambia esta transacción, deberá crear otra definición de transacción similar a la ya definida CPIH y además personalizar el archivo de configuración de canalizaciones. Estas tareas no son sencillas. Consulte el IBM Redbook "Implementing CICS Web services" [“Implementación de servicios web CICS”]. (Siga el vínculo en la sección de Recursos) para obtener un ejemplo.

  • DSN System (Sistema DSN): Este parámetro especifica el nombre de la fuente de datos DB2.

  • User (Usuario): Valor dado por el asistente a la tarjeta de trabajos. Reemplaza el %U% especificado en el vínculo Configure JOB Card (Configurar tarjeta de trabajos) o en z/OS Database Application Preferences (Preferencias de aplicaciones de base de datos z/OS). Para este ejemplo, usamos ITSO04; el nombre de JOB generado será //ITSO04C JOB.

  • Group (Grupo): Este parámetro especifica el grupo CICS que usaremos para crear los recursos CICS al implementar el código generado.

  • DB2 Bind Options (Opciones de enlace DB2): Éste será el nombre que recibirán el DB2 Bind Plan (Plan de enlace DB2) y el paquete que se crearán dentro de las definiciones JCL. Este plan se asociará a la transacción CPIH, que es la transacción predeterminada proporcionada por los servicios web CICS.

  • URI Prefix (Prefijo URI): Un ejemplo sería http://zserveros.dfw.ibm.com:3091/u/itso04/wdzv7pot/wspickup/provider/. Este parámetro especifica el espacio de nombres del Identificador uniforme de recursos y el prefijo asociado que usará el WSDL generado para invocar el servicio CICS. Tome en cuenta también que u/ITSO04/wdzv7pot/wspickup/provider será la ubicación a la cual se moverá el archivo WSBIND, ya que este es el directorio de recogida definido para su CICS. Notará que el número de puerto usado para este prefijo es 3091. Verifique que los valores sean adecuados para su propia instalación.

  • Automatic Remote Deployment (Implantación remota automática): Si la opción Automatic Remote Deployment está activada y usted se encuentra conectado a z/OS, los archivos generados se moverán al sistema remoto cuando se ejecute la transformación. Además, si la opción Generate JCL Files (Generar archivos JCL) está activada, los archivos JCL se enviarán automáticamente. Tome en cuenta que si la opción Automatic Remote Deployment (Implantación remota automática) se encuentra seleccionada, ciertos elementos serán obligatorios (por ejemplo, los nombres de conjuntos de datos) para poder implantar los activos en z/OS.

  • JCL Prefix (Prefijo JCL): Nombre de prefijo del JCL generado. En este ejemplo, el JCL generado recibirá el nombre ITSOxxxx.JCL. Si usted no especifica el prefijo JCL, el asistente usará los primeros cuatro caracteres de su nombre de conexión. En este ejemplo, como el nombre de conexión es EOSDB203, si no especificásemos el prefijo JCL, el JCL generado sería EOSDxxxx.JCL.

La Figura 7 muestra los valores de nuestro ejemplo.

Figura 7. Configuración de servicios CICS

Configuración de MVS

Los valores mostrados en la pestaña a continuación corresponden al sistema z/OS que compila el código COBOL generado y ejecuta los programas. Si la opción Automatic Remote Deployment está activada y usted se encuentra conectado al sistema z/OS, los archivos generados se moverán al sistema remoto cuando se ejecute la transformación. Además, si la opción Generate JCL Files está activada, los archivos JCL se enviarán automáticamente. Tome en cuenta también que si la opción Automatic Remote Deployment está activada, deberá especificar todos los campos marcados con un asterisco para implantar los activos en z/OS. Si la opción Automatic Remote Deployment está desactivada, estos valores no serán obligatorios y los activos se generarán en el espacio de trabajo; en este tutorial usaremos la segunda alternativa. La Figura 8 muestra los valores a usar.

Figura 8. Configuración de MVS

Configuración de USS

Al crear servicios CICS, debemos trabajar con UNIX System Services (USS). Por ejemplo, el archivo WSBIND usado por CICS debe encontrarse dentro de un directorio de un sistema jerárquico de archivos (HFS).

Si la opción Automatic Remote Deployment está seleccionada, deberá especificar toda la información obligatoria para la implantación de los activos en z/OS. Como en este tutorial no realizaremos una implantación automática, podemos dejar los campos de esta pestaña en blanco. Cuando termine de trabajar con el editor Transformation Parameter, guarde los cambios. Puede hacerlo usando la combinación de teclas Ctrl-S.

Configuración de la transformación z/OS DB2 Tables Application

Para configurar la transformación z/OS Database Application, seleccione Customer. Puede usar los valores predeterminados o cambiarlos, si lo desea.

Si no especifica nombres para las aplicaciones COBOL, los nombres predeterminados serán XXXXCRUD para la aplicación CRUD y XXXXLIST para la aplicación LIST; XXXX son los primeros cuatro caracteres de nombre de clase UML. En este ejemplo, el nombre de clase es Customer, por lo tanto, estos nombres serán CUSTCRUD y CUSTLIST.

Maximum List Size (Tamaño máximo de lista) es la cantidad máxima de filas DB2 que se listarán cuando se ejecute la aplicación xxxxLIST. El valor predeterminado es 50. Use los valores predeterminados para seguir este tutorial. La Figura 9 muestra los valores a usar.

Figura 9. Configuración de aplicación DB2

Configuración de columnas DB2

Usando el editor Transformation Parameters, seleccione cada atributo de Customer, haga clic en la marca de verificación y defina las características de cada elemento que se convertirá en una columna de una tabla DB2.

Los valores son transparentes.

  • Searchable column (Columna que permita realizar búsquedas): Especifica que la columna permitirá realizar búsquedas. Si especifica que una columna permitirá realizar búsquedas, el asistente la incluirá en la interfaz al programa LIST generado para que la columna pueda usarse en la búsqueda. En este tutorial no usaremos esta opción, pero en otras situaciones podría resultar de utilidad.

  • Nullable column (Columna que admite valores nulos): Especifica que la columna admite valores nulos. Esta opción debe coincidir con sus definiciones de base de datos.

La Tabla 1 muestra las configuraciones de cada elemento de la clase Customer.

Tabla 1. Configuración requerida para cada elemento

Elementos de CustomerNombre de columna para aplicaciónTipo de columna DB2Largo máximoComentario
CUST_NOCUST_NOINTEGERClave primeria
CUST_LNCUST_LNVARCHAR25NOT NULL
CUST_FNCUST_FNVARCHAR15NOT NULL
CUST_ADDR1CUST_ADDR1VARCHAR20NULLABLE
CUST_CITYCUST_CITYVARCHAR20NULLABLE
CUST_STCUST_STVARCHAR5NULLABLE
CUST_CTRYCUST_CTRYVARCHAR15NULLABLE

La Figura 10 muestra cómo ingresar estos datos de configuración para el elemento CUST_NO. Repita este proceso con cada elemento.

Figura 10. Configuración de la columna CUST_NO

Ejecución de la transformación

¿Desea ver una demostración de estos pasos?

¡Muéstrenme los pasos!

Luego de guardar el editor, haga clic en Run Transformations... (Ejecutar transformaciones) y después haga clic en Finish (Finalizar) para ejecutar las transformaciones, como muestra la Figura 11.

Figura 11. Propiedades de configuración

Si usted no está conectado a un sistema z/OS, posiblemente visualice un mensaje de advertencia que le informará que faltan una o más opciones de implantación y que algunos artefactos de implantación no se generarán. No preste atención a este mensaje. Los archivos de salida de la transformación se generarán en el proyecto. En este tutorial, sólo nos dedicaremos a la clase Customer; consulte el ejemplo listado en la Figura 12.

Durante la transformación, si usted seleccionó Automatic Remote Deployment y está conectado al sistema z/OS, se realizarán las siguientes acciones:

  • Todos los archivos .cbl se moverán al conjunto de datos COBOL especificado como objetivo en el sistema MVS.
  • Todos los archivos .jcl se moverán al conjunto de datos JCL especificado como objetivo en el sistema MVS.
  • El JCL se enviará al host.
  • Todos los archivos .wsbind se moverán al directorio WSBIND especificado en el sistema USS.
  • Todos los archivos .wsdl se moverán al directorio WSDL especificado en el sistema USS.
Figura 12. Activos generados

Descripción de los activos generados

La transformación genera activos COBOL (con tipo cbl), los archivos WSBIND necesarios para implantar Servicios CICS (con tipo wsbind), los archivos WSDL (Lenguaje de Descripción de servicios web) (de tipo wsdlbind), los JCL (de tipo JCL) y los archivos de registro (de tipo log). La siguiente es una breve explicación de los activos generados:

  • @USTCRUD.cbl: Varios programas COBOL responsables del driver Web Services Converter (Convertidor de servicios web) que usará la aplicación CRUD COBOL.

  • @USTLIST.cbl: Varios programas COBOL responsables del driver Web Services Converter (Convertidor de servicios web) que usará la aplicación LIST COBOL.

  • CUSTCRUD.cbl: Programa COBOL que realiza las operaciones CRUD contra la tabla z/OS DB2.

  • CUSTCRUD.log: Archivo de registro para la aplicación CRUD. Registra la fecha, la versión de WebSphere Developer para System z usada, los parámetros usados para la transformación, etc. Si requiere soporte, IBM le solicitará este archivo. Este archivo también guarda el contenido hexadecimal del archivo WSBIND generado.

  • CUSTCRUD.wsbind: WSBIND que necesita CICS para crear el servicio Web para la aplicación CRUD. Este archivo deberá instalarse en el sistema z/OS en el directorio de recogida.

  • CUSTCRUD.wsdl: El archivo WSDL (Lenguaje de Descripción de servicios web) que se requerirá más adelante para invocar el servicio Web CRUD creado. No es necesario mover este archivo al sistema z/OS, ya que no será CICS, sino el driver COBOL generado el que efectuará el análisis XML.

  • CUSTLIST.cbl: Programa COBOL que lleva a cabo una lectura de filas múltiples de una tabla. Nuestro ejemplo usa el siguiente valor predeterminado: 50 filas.

  • CUSTLIST.log: Archivo de registro para la aplicación LIST, similar en contenido a la aplicación CRUD antes descripta.

  • CUSTLIST.wsbind: Archivo WSBIND que necesita CICS para crear el servicio web para la aplicación LIST.

  • CUSTLIST.wsdl: WSDL que define la aplicación de servicio web LIST. Se usará más adelante para invocar a la aplicación LIST a través de servicios CICS.

La siguiente es una breve descripción del JCL generado:

  • ITSOBD.JCL: JCL para construir los programas de aplicaciones CRUD y LIST COBOL generados y vincular los planes y paquetes DB2. Este JCL invocará el proc ITSOCB también generado.

  • ITSOBDDR.JCL: JCL para construir los programas controladores CRUD y LIST COBOL generados. Este JCL invocará el proc ITSOCBDR también generado.

  • ITSOCB.JCL: Procedimiento usado por ITSOBD.JCL para:

    • Precompilar o preprocesar en DB2 programas COBOL con instrucciones EXEC SQL
    • Precompilar en CICS programas COBOL con instrucciones CICS
    • Compilar COBOL
    • Aplicar Linkedit en programas compilados
  • ITSOCBDR.JCL: Procedimiento usado por ITSOBDDR.JCL para llevar a cabo las operaciones COBOL/CICS en el programa controlador generado.

  • ITSORDO.JCL: JCL para definir recursos CICS a través de Resource Definition Option (Opción de definición de recursos - RDO):

    • Definir recursos de programas para la tabla CUSTOMER
    • Definir los recursos para acceder a DB2
    • Definir los recursos de servicios web para la tabla CUSTOMER

Comprensión de los programas controladores COBOL

El asistente genera dos archivos cuyos nombres comienzan con @; a efectos de este tutorial, los denominaremos drivers COBOL. En este ejemplo, estos archivos son @USTCRUD.cbl y @USTLIST.cbl. Los programas controladores son responsables de la comunicación entrante y saliente con la invocación de servicios. Los drivers también son responsables del análisis XML. Estos programas no tienen efecto en DB2 y no deberán modificarse bajo ningún concepto.

Considere que estos archivos contienen más de un programa COBOL físico; cada archivo es responsable por la creación de un módulo de carga. Por ejemplo, @USTCRUD.cbl contiene 12 programas, pero estos crean únicamente un módulo de carga, denominado @USTRUD. La misma arquitectura se aplica al driver @USTLIST.cbl.

Comprensión del COBOL que realiza la operación CRUD

Los programas COBOL generados, CUSTCRUD.CBL y CUSTLIST.CBL, son los programas que acceden a la tabla DB2 y realizan las operaciones CRUD y LIST. Estos crean módulos de carga llamados CUSTCRUD y CUSTLIST, respectivamente.

CUSTCRUD realiza las operaciones CRUD. CICS carga este programa cuando se ejecuta el servicio web. Si usted no desea implementar los servicios web CICS, puede usar estos programas como modelo para acceder a la tabla DB2. Las operaciones posibles son C (crear), R (leer), U (actualizar) y D (borrar). La Figura 13 muestra un fragmento del área de almacenamiento de trabajo de este programa con sus definiciones.

Figura 13. Acciones definidas para el programa CUSTCRUD

La Figura 14 muestra un fragmento de las definiciones DB2 en el área de trabajo COBOL.

Figura 14. Fragmento del código generado que mapea la tabla DB2

Los programas COBOL se construyen usando la interfaz del programa CHANNEL en lugar de COMMAREA. CHANNEL supera el límite de transmisión de COMMAREA (32 KB). La Figura 15 muestra el fragmento de la SECCIÓN DE VINCULACIÓN (LINKAGE SECTION) con el área de entrada.

Figura 15. Fragmento de la SECCIÓN DE VINCULACIÓN en el programa COBOL generado

Comprensión del COBOL que realiza la operación LIST

El programa CUSTLIST realiza la operación LIST. CICS carga este programa cuando se ejecuta el servicio web. Nuevamente cabe destacar que si usted no desea implementar los servicios web CICS, puede usar estos programas como modelo para acceder a la tabla DB2. Los parámetros que recibe este programa son los siguientes:

  • Dónde comenzar en la lista, es decir la primera fila DB2 que debe listar.
  • Cantidad de filas a recuperar. El límite en este ejemplo es el valor predeterminado: 50 filas.
  • Campos donde realizar las búsquedas. El editor Transformation Parameter personaliza este parámetro. Si bien en este caso usamos la opción predeterminada, también es posible realizar otras búsquedas, por ejemplo, por Last Name (Apellido) u otros campos.

La Figura 16 muestra un fragmento de la SECCIÓN DE VINCULACIÓN (LINKAGE SECTION) de este programa.

Figura 16. SECCIÓN DE VINCULACIÓN definida en el programa CUSTLIST

La Figura 17 muestra las instrucciones DB2 SQL usadas para declarar el cursor que luego capturará las filas. Recuerde que el calificador de tabla fue uno de los parámetros que usamos en el editor Transformation Parameter; en este ejemplo es ITSO04.

Figura 17. SQL DECLARE usado por el programa CUSTLIST

Creación de la tabla DB2 en el sistema z/OS

¿Desea ver una demostración de estos pasos?

¡Muéstrenme los pasos!

Las transformaciones no generan ningún Lenguaje de Definición de Datos (DDL) que pueda usarse para crear la tabla DB2; sin embargo, es muy sencillo crear un archivo DDL tomando como referencia uno de los programas COBOL generados que use la tabla que desea construir. Por ejemplo, para crear la tabla CUSTOMER, observe el código del programa CUSTCRUD.cbl; lea las definiciones COBOL de esta tabla en el área de almacenamiento de trabajo (como la mostrada en la Figura 14 de la sección anterior). Desde este punto de partida, resulta más fácil crear un archivo DDL para luego crear la tabla.

Otra alternativa es usar WebSphere Developer para System z en la perspectiva Data (Datos) para crear y cargar esta tabla. En este ejemplo, use el DDL del Listado 1 para crear y cargar algunos datos en la tabla.

Listado 1. DDL usado en este tutorial para crear y cargar la tabla DB2
-- create and load table CUSTOMER on zOS
DROP TABLE CUSTOMER;
CREATE TABLE CUSTOMER
(
 CUST_NO INTEGER NOT NULL,
 CUST_LN VARCHAR(25) NOT NULL,
 CUST_FN VARCHAR(15) NOT NULL,
 CUST_ADDR1 VARCHAR(20),
 CUST_CITY VARCHAR(20),
 CUST_ST   VARCHAR(5),
 CUST_CTRY VARCHAR(15),
 PRIMARY KEY (CUST_NO)
);

CREATE UNIQUE INDEX XCUSTOMER
    ON CUSTOMER
      ( CUST_NO ASC);

INSERT INTO CUSTOMER VALUES
  (1,'Lincoln','Abraham','1234 Independence Wy','Springfield','IL','USA');
INSERT INTO CUSTOMER VALUES
  (2,'Bush','George W','White House','Washington','DC','USA');
INSERT INTO CUSTOMER VALUES
  (3,'Fox','Vicente','Calle de Presidente','Mexico City','DF','MEXICO');
INSERT INTO CUSTOMER VALUES
  (4,'Silva','LULA Da','Palacio Planalto','Brasilia','DF','BRAZIL');
INSERT INTO CUSTOMER VALUES
  (5,'Chruchil','Winston','10 Downing Street','London','ENGL','UK');
INSERT INTO CUSTOMER VALUES
  (6,'Barosa','Thiago','7 Sao Benedito','Sao Paulo','SP','BRASIL');
INSERT INTO CUSTOMER VALUES
  (7,'Barosa','Daniel','123 Calle Oro', 'Buenos Aires','DF','ARGENTINA');
INSERT INTO CUSTOMER VALUES
  (8,'Page','Megan','2 Victory Rd','Boston', 'MA','USA') ;
INSERT INTO CUSTOMER VALUES
  (9,'Santos','Rute','3 Sting Blvd', 'San Francisco', 'CA','USA');
INSERT INTO CUSTOMER VALUES
  (10,'Turgo','Happy','33 Diving Well Dr', 'Key West','FL','USA');

Uso de la perspectiva Data de WebSphere Developer para System z para crear la tabla z/OS DB2

La perspectiva Data de WebSphere Developer para System z es un entorno de desarrollo que permite trabajar con bases de datos para distintas plataformas, inclusive para System z. Esta perspectiva permite conectarse con bases de datos locales o remotas y llevar a cabo actividades de bases de datos.

Para crear un proyecto de diseño de datos, cargue el archivo DDL y cree la tabla siguiendo los pasos a continuación:

  1. Desde la barra del menú principal, seleccione File > New > Data Design Project (Archivo > Nuevo > Proyecto de diseño de datos). Otra alternativa es hacer clic derecho en el espacio en blanco en Data Project Explorer y seleccionar New > Project > Data Design Project (Nuevo > Proyecto > Proyecto de diseño de datos). Se abrirá el asistente New Data Design Project (Nuevo proyecto de diseño de datos).
  2. Siga los pasos del asistente y luego haga clic en Finish. El proyecto de diseño de datos se visualizará en la vista Data Project Explorer.
  3. Usando este proyecto, puede importar un DB2 DDL que cree la tabla z/OS DB2 dentro de la carpeta llamada SQL Scripts. En la ventana Connection Parameters (Parámetros de conexión), seleccione Create a new connection (Crear una nueva conexión) y haga clic en Next (o seleccione una conexión z/OS de base de datos existente). Seleccione DB2 UDB zSeries, su versión DB2, su ubicación, su número de puerto y su ID de usuario z/OS y contraseña. También puede hacer clic en Test Connection (Probar conexión) para verificar que la conexión funcione correctamente. Si la conexión se realiza con éxito, haga clic en Next.
  4. Ejecute y pruebe las instrucciones SQL creadas. Deberá crear una conexión de base de datos que señale al sistema z/OS a usar. En la vista Data Project Explorer y en la carpeta SQL Scripts del proyecto de diseño de datos, haga clic derecho en el archivo que importó con el DDL y luego seleccione Run SQL (Ejecutar SQL) del menú.
  5. En Schema Filter(Filtro de esquemas), desactive la opción Disable filter (Desactivar filtro) y use la expresión Contains the characters (Contiene los caracteres) dejando como valor predeterminado su ID de usuario.
  6. Haga clic en Finish.
  7. Si cuenta con las autorizaciones necesarias, se creará la tabla z/OS DB2. Puede usar la vista Data Output (Datos de salida) para verificar los mensajes.

A partir de este momento, usted está listo para efectuar pruebas usando Database Application Generator y una tabla z/OS DB2 existente.


Implantación del código generado en z/OS

Durante la ejecución del asistente, creamos los activos en el espacio de trabajo de WebSphere Developer para System z (no en el sistema z/OS) porque no seleccionamos la opción Automatic Remote Deployment. Ahora debemos mover todos los activos requeridos al sistema z/OS y enviar el JCL generado para su ejecución.

Copia de programas COBOL a z/OS

En este ejemplo, los programas COBOL generados deben copiarse al conjunto de datos ITSO04.POT.COBOL. El JCL puede permanecer en el espacio de trabajo o copiarse a z/OS, según su preferencia. Aunque no es necesario que los procedimientos JCL se encuentren en el sistema z/OS para poder enviarlos para su ejecución, los programas COBOL sí deben estar en z/OS.

Para copiar los programas COBOL, siga los pasos a continuación:

  1. Usando la vista Remote Systems (Sistemas remotes), verifique que se encuentra conectado con el sistema z/OS.
  2. Usando la vista Remote Explorer (Explorador remoto), seleccione todos los programas COBOL generados -- @USTCRUD.cbl, @USTLST.cbl, CUSTCRUD.cbl y CUSTLIST.cbl. Haga clic derecho y seleccione Copy (Copiar).
  3. Pase a la vista Remote System, expanda los archivos MVS, haga clic derecho en ITSO04.POT.COBOL y seleccione Paste (Pegar). Todos los programas se copiarán a z/OS.

Adaptación de los procedimientos JCL generados a su sistema z/OS

Los dos procedimientos JCL generados deberán modificarse porque usan ciertos nombres de conjuntos de datos que usted probablemente no tenga en su sitio; de lo contrario, se generarán errores JCL. La Tabla 2 muestra los parámetros que pueden requerir modificaciones de procedimientos.

Tabla 2. Valores a usar para adaptar procedimientos JCL

ParámetroValor
DB2LOADConjunto de datos DB2 DSNLOAD
CICSLOADConjunto de datos CICS SDFHLOAD
TRANSYSLCOPYLIB para el traductor CICS
LANGLIBBiblioteca compiladora COBOL
LNKLIBConjunto de datos LINKLIB

Modificación del JCL que realiza el proceso DB2 BIND

Es posible que deba revisar el JOB llamado ITSOBD.JCL, que será el que se ocupe de realizar el proceso DB2 BIND; además posiblemente sea necesario personalizar el nombre del conjunto de datos DB2. También puede agregar otros paquetes para enlazar con este plan. Los cambios dependerán de su instalación.

Personalizar el JCL usado por las definiciones RDO

Deberá personalizar el archivo ITSORDO.JCL generado para que concuerde con su conjunto de datos CICS y DFHCSD. Es posible que existan más definiciones de las necesarias. Básicamente, deberá definir las entradas COBOL y DB2 en las tablas CICS.

Envío de JCL para crear el ejecutable

La forma más sencilla de enviar un procedimiento JCL que se encuentra en su estación de trabajo local es editarlo e ingresar submit (enviar) en la línea de comandos. El mensaje de la línea de comandos JOBID: JOBnnnnn significa que el trabajo se ha enviado.

En este ejemplo, debemos enviar ITSOBD.JCL para crear la aplicación CRUD y LIST y ITSOBDDR.JCL para crear los drivers. Verifique los resultados usando el subsistema JES. Tome en cuenta que los códigos de retorno no deben ser mayores a 4.


Configuración e instalación de servicios web CICS en z/OS

El asistente Database Application Generator puede resultar muy útil para crear los activos necesarios para los activos de servicios web, pero no hace milagros. Aún será necesario crear las definiciones CICS para implementar los servicios CICS. Esta sección explica brevemente cómo crear las definiciones de servicios Web CICS para el escenario de ejemplo.

Creación de directorio z/OS HFS

Para exponer un programa CICS como servicio web sobre HTTP, se requieren recursos TCPIPSERVICE y PIPELINE. La definición del recurso PIPELINE señala a una serie de directorios HFS y a un archivo de configuración de canalización. La configuración de servicios CICS requiere configurar archivos y directorios en el HFS.

Para este ejemplo, cree los siguientes directorios HFS. Puede usar un shell USS de WebSphere Developer para System z para crear estos directorios.

  • /u/itso04/wdzv7pot/shelf/
    CICS usa este directorio para almacenar los archivos de enlace de servicios web que están asociados con recursos WEBSERVICE. Cada recurso WEBSERVICE está asociado a un PIPELINE. CICS administra el directorio shelf junto con el recurso PIPELINE. Considere que varios PIPELINE pueden usar el mismo directorio shelf porque CICS proporciona una estructura de directorios única para cada PIPELINE debajo del directorio shelf. Además, como CICS escribe a este directorio, requerirá de permisos de seguridad adecuados.
  • /u/itso04/wdzv7pot/wspickup/provider/
    El directorio de recogida contiene los archivos de enlace de servicios web que deberán asociarse a PIPELINE. Ante la instalación de un PIPELINE o la emisión de un comando PERFORM PIPELINE SCAN (REALIZAR ESCANEO DE CANALIZACIÓN), CICS buscará en este directorio archivos que terminen en .wsbind. Para cada archivo .wsbind, CICS crea dinámicamente un WEBSERVICE y un URIMAP, los asocia con PIPELINE y los instala dejándolos listos para usar.

Copia del archivo WSBIND a z/OS

El archivo WSBIND generado debe encontrarse en el directorio de recogida del servicio CICS (WSDIR), es decir, el directorio que se definió en la CICS PIPELINE (CANALIZACIÓN CICS). En este ejemplo, usamos el directorio HFS /u/itso04/wdzv7pot/wspickup/provider/.

Tome en cuenta que el archivo WSBIND es un archivo binario EBCDIC. Debe transmitirse en forma binaria al sistema z/OS objetivo. Puede usar las facilidades Remote System Explorer de WebSphere Developer para System z para transmitir este archivo al directorio HFS del sistema z/OS objetivo. CICS usa este archivo durante su proceso de PIPELINE y generación de servicios web.

Al mover el archivo WSBIND a z/OS, cerciórese de que los archivos con la extensión .wsbind se administren como archivos binarios. Para verificar, use la ventana de preferencias en Windows > Preferences > Remote Systems > Files (Ventanas > Preferencias > Sistemas remotos > Archivos). Tome en cuenta que los archivos *.wsbind predeterminadamente se transfieren en modo de transferencia de archivos binario. No es necesario realizar ningún cambio.

Para copiar WSBIND, siga los pasos a continuación:

  1. En la vista Remote Explorer, seleccione los dos archivos, WSBIND, CUSTCRUD.wsbind y CUSTLIST.wsbind, haga clic derecho y seleccione Copy.
  2. Pase a la vista Remote System, expanda USS Files, haga clic derecho en itso04/wdzv7pot/wspickup/provider/ y seleccione Paste. Los dos archivos WSBIND se copiarán al sistema z/OS.

Creación de una definición de recurso CICS PIPELINE

Un PIPELINE es un recurso CICS usado cuando una aplicación CICS desempeña el rol de proveedor o solicitante de servicios web. Este recurso proporciona información acerca de programas administradores de mensajes que participan en una solicitud de servicio y su respuesta. Normalmente, varias aplicaciones usan una misma definición PIPELINE.

La definición de un recurso PIPELINE contiene una referencia al archivo de configuración de la canalización, el directorio shelf y el directorio de recogida WSDIR. El archivo de configuración está en formato XML y detalla los administradores de mensajes que actuarán en las solicitudes y respuestas de servicios web al pasar por la canalización. En este tutorial, usamos el archivo de configuración proporcionado por CICS, cicsProvider.xml, como administrador SOAP V1.1.

Para definir el PIPELINE, use la siguiente transacción CEDA:

CEDA DEFINE PIPELINE(ITSOPIPE) GROUP(ITSOWDZ)

Observe el ejemplo mostrado en la Figura 18. Tome en cuenta que los directorios HFS distinguen mayúsculas de minúsculas y deben concordar con los directorios creados anteriormente.

Figura 18. Transacción CICS CEDA para definición de PIPELINE

Instalación de servicios z/OS CICS

Luego de definir los recursos CICS, proceda a instarlos. Al igual que en la definición de otros recursos, CICS, PIPELINE y TCPIPSERVICE deberán estar instalados para que funcione correctamente. Use la opción INSTALL para instalarlos. Para ver todos los recursos definidos e instalarlos, use la transacción CEDA CICS:

CEDA EXPAND GROUP(ITSOWDZ)

Puesta del ejecutable a disposición de CICS

Al igual que con otros programas ejecutables, antes de probar su programa, deberá asegurarse de que su CICS pueda cargarlo. Verifique que los módulos de carga CRUD y LIST creados se encuentran en loadlib y en la concatenación de la biblioteca CICS (DFHRPL). En este ejemplo, estos programas son @USTRUD, @USTLIST, CUSTCRUD, y CUSTLIST.

Para confirmar que la instalación funciona correctamente, puede efectuar una consulta. La Figura 19 muestra los resultados de la consulta CEMT al PIPELINE instalado.

Figura 19. Consulta de transacción CEMT al PIPELINE

Creación de definición del recurso CICS TCPIPSERVICE

El recurso TCPIPSERVICE le indica a CICS que escuche a un puerto TCP/IP especificado y acepte HTML. Como el cliente se conecta con sus servicios web sobre un CICS de transporte HTTP, deberá definir un TCPIPSERVICE para recibir el tráfico HTTP entrante. Generalmente, el programador de sistemas CICS debe definir el PIPELINE. Esta entrada se denomina TCPIPSERVICE cuando se usa este mecanismo de servicios CICS. En este ejemplo, use la siguiente transacción:

CEDA DEFINE TCPIPSERVICE (ITSOPORT) GROUP(ITSOWDZ)

La Figura 20 muestra la creación del TCPIPSERVICE.

Figura 20. Transacción CEDA para definir el TCPIPSERVICE

Escaneo del PIPELINE con referenciación del directorio de recogida

El recurso PIPELINE contiene una referencia a un directorio de recogida. En el paso anterior, copiamos los archivos WSBIND al directorio del proveedor de recogida, /u/itso04/wdzv7pot/wspickup/provider/.

Al instalar cada recurso PIPELINE, CICS escanea el directorio especificado en el atributo WSDIR del PIPELINE (el directorio de recogida). Para cada archivo de enlace de servicio web del directorio, es decir, para cada archivo con el sufijo .wsbind suffix, CICS instala un WEBSERVICE y un URIMAP si éste aún no existe. Los recursos existentes se reemplazarán si la información en el archivo de enlace es más reciente que los recursos existentes.

Como copiamos un archivo WSBIND nuevo al directorio de recogida, se requerirá un PIPELINE SCAN (ESCANEO DE CANALIZACIÓN). El comando PERFORM PIPELINE SCAN mostrado a continuación inicia el escaneo del directorio de recogida de PIPELINE. CICS leerá los archivos WSBIND que se encuentran en este directorio de recogida y definirá automáticamente los recursos WEBSERVICE y URIMAP asociados con estos archivos.

CEMT PERFORM PIPELINE(ITSOPIPE) SCAN

Debe recibir una respuesta NORMAL.

Inspección de los CICS WEBSERVICE y URIMAP creados

Para inspeccionar el CICS WEBSERVICE creado, use la siguiente transacción CICS:

CEMT INQ WEBSERVICE (CUSTCRUD,CUSTLIST)

La Figura 21 muestra los datos de salida. Observe que CICS definió un URIMAP para cada WEBSERVICE.

Figura 21. Inspección de CICS WEBSERVICE

Para inspeccionar el URIMAP, use el nombre definido, como muestra la consulta WEBSERVICE. Por ejemplo, para COBOCRUD, use la siguiente transacción:

CEMT INQ URIMAP($438030)

La Figura 22 muestra los datos de salida.

Figura 22. Inspección del URIMAP

Prueba de los servicios web creados

¿Desea ver una demostración de estos pasos?

¡Muéstrenme los pasos!

En este momento, se han creado todos los activos del ejemplo y estamos listos para invocar los servicios CICS Web.

Uso de Web Services Test Explorer para invocar la aplicación LIST

Web Services Test Explorer (Explorador de prueba de servicios web) permite probar servicios web que se ejecutan local o remotamente y obtener una respuesta inmediatamente. Si bien no es necesario que WebSphere Developer para System z esté conectado al sistema z/OS o a la base de datos DB2 para realizar estas pruebas, deberá contar con acceso al sistema z/OS en el que implantó los servicios CICS.

Para iniciar Web Services Explorer desde un archivo WSDL, seleccione el archivo WSDL, haga clic derecho y seleccione Web services > Test with Web Services Explorer (servicios web > Probar con Web Services Explorer). Se abrirá Web Services Explorer y la acción Test With Web Services Explorer precargará el WSDL en la página WSDL.

Para probar la aplicación LIST, siga los pasos a continuación:

  1. Usando las vistas Project Explorer o Navigator, expanda su proyecto, haga clic derecho en CUST.wsdl y seleccione Web services > Test with Web services Explorer.
  2. Cuando Web Services Explorer se abra, expanda CUSTLISTBinding, seleccione CUSTListOperation, ingrese 1como inicio de lista y 8 como conteo de lista. Haga clic en Go(Ir). Estas selecciones listarán ocho filas, comenzando en la primera fila.
  3. Si todo sale bien, se llevará a cabo la ejecución. La Figura 23 muestra los datos de salida que deberían aparecer. Verifique que sql_error_code sea igual a 0.
Figura 23. Uso de Web Services Explorer para probar los servicios CICS

Para ver el sobre XML, haga clic en Source Link (Vínculo fuente). Visualizará datos adicionales, como muestra la Figura 24.

Figura 24. Sobre SOAP

También puede probar CUSTCRUD.wsdl. Selecciones cualquier acción CRUD. La Figura 25 muestra lo que sucede al probar la acción R (leer) con el número de cliente 6.

Figura 25. Prueba de la aplicación CUSTCRUD

En este tutorial creamos y probamos aplicaciones COBOL que se invocan a través de servicios web CICS sin escribir una sola línea de código. Además, el código generado queda disponible y puede hacer los cambios que desee sobre él. Desde este punto de partida, resulta muy fácil crear una aplicación cliente usando el framework JavaServer Faces (JSF) que invocará a este servicio web; lo cual constituye el tema de la segunda parte de esta serie de tutoriales.


Conclusión

En este tutorial realizamos los pasos necesarios para transformar clases UML en programas COBOL/CICS/DB2. También implantamos y probamos los activos generados y creamos servicios web CICS.

Si usted tiene experiencia en transformar UML a código Java o C/C++, tome en cuenta que, a pesar de que las capacidades de transformación UML a COBOL que hoy se encuentran disponibles en WebSphere Developer para System z continúan siendo limitadas, éstas representan un buen comienzo.

Aunque no esté interesado en crear servicios CICS, puede aprovechar los programas COBOL CICS para acceder a la tabla DB2. Además, el código generado usa canales y contenedores de sección de canalización en lugar de usar COMMAREA; esto podría ayudarlo a comprender este nuevo concepto que se aplica a partir de la versión CICS 3.1.


Descargar

DescripciónNombretamañoMetodo de descarga
Assets necessary to complete tutorial.UML_to_COBOL_assets.zip88 KBHTTP

Información sobre métodos de descarga

Recursos

Aprender

Obtener los productos y tecnologías

Comentarios

developerWorks: Ingrese

Los campos obligatorios están marcados con un asterisco (*).


¿Necesita un IBM ID?
¿Olvidó su IBM ID?


¿Olvidó su Password?
Cambie su Password

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


La primera vez que inicie sesión en developerWorks, se creará un perfil para usted. La información en su propio perfil (nombre, país/región y nombre de la empresa) se muestra al público y acompañará a cualquier contenido que publique, a menos que opte por la opción de ocultar el nombre de su empresa. Puede actualizar su cuenta de IBM en cualquier momento.

Toda la información enviada es segura.

Elija su nombre para mostrar



La primera vez que inicia sesión en developerWorks se crea un perfil para usted, teniendo que elegir un nombre para mostrar en el mismo. Este nombre acompañará el contenido que usted publique en developerWorks.

Por favor elija un nombre de 3 - 31 caracteres. Su nombre de usuario debe ser único en la comunidad developerWorks y debe ser distinto a su dirección de email por motivos de privacidad.

Los campos obligatorios están marcados con un asterisco (*).

(Por favor elija un nombre de 3 - 31 caracteres.)

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


Toda la información enviada es segura.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=90
Zone=WebSphere, Rational
ArticleID=649224
ArticleTitle=Transforme de UML a COBOL, Parte 1
publish-date=04072014