Ir a contenido principal

Bienvenido a My developerworks. Si no tiene un ID de IBM y un password, regístrese aquí.

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. Este perfil incluye el nombre, apellido y nombre de usuario que poporcinó cuando se registró en developerWorks. Cierta información de su perfil será mostrada públicamente, pero usted puede editar la información en cualquier momento. Su nombre, apellido (a menos que usted elija ocultarlo), y nombre de usuario acompañarán el contenido que usted publica.

Toda la información enviada es segura.

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.

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

Toda la información enviada es segura.

Transforme de UML a COBOL, Parte 1

Cree programas COBOL y servicios web sin escribir código

Reginaldo Barosa, Executive IT Specialist, IBM
Author photo
Reginaldo 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.

Resumen:  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.

Fecha:  03-08-2011
Nivel:  Intermediaria

Comentario:  

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

6 de 14 | Anterior | Siguiente

Comentario



static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=90
Zone=WebSphere, Rational
ArticleID=649224
TutorialTitle=Transforme de UML a COBOL, Parte 1
publish-date=08032011
author1-email=rbarosa@us.ibm.com
author1-email-cc=

Etiquétalo Etiquetas

Help
Utilice el campo de búsqueda para encontrar todo tipo de contenido en My developerWorks con esa etiqueta.

Utilice el deslizador para controlar cuántas etiquetas deben mostrarse.

Las etiquetas populares muestran las etiquetas más difundidas en esta zona particular de contenido (por ejemplo: Java, Linux, WebSphere).

Mis Etiquetas muestra sus etiquetas en esta zona particular de contenido (por ejemplo: Java, Linux, WebSphere).

Utilice el campo de búsqueda para encontrar todo tipo de contenido en My developerWorks con esa etiqueta. Las etiquetas populares muestran las etiquetas más difundidas en esta zona particular de contenido (por ejemplo: Java, Linux, WebSphere). Mis Etiquetas muestra sus etiquetas en esta zona particular de contenido (por ejemplo: Java, Linux, WebSphere).