Data Web Services en DB2 para z/OS, Parte 1: Desbloquee las funciones de negocios utilizando DB2 para los procedimientos almacenados z/OS y Data Web Services

Es fácil con Data Studio Developer

¿Su organización está utilizando o pretende utilizar DB2® para z/OS® procedimientos almacenados para proporcionar funciones de negocios? ¿Alguna vez usted se ha preguntado cómo reutilizar procedimientos almacenados sin esfuerzo de programación en servicios web? Si su respuesta es sí, este artículo le interesará.

Visión General

Este artículo examina DB2 para procedimientos almacenados z/OS y los beneficios de envolverlos con servicios web. Muestra cómo usted puede utilizar IBM Data Studio Developer para crear y desplegar servicios web utilizando la función Data Web Services. También muestra cómo usted puede utilizar el proceso de hoja de estilo XSLT para transformar la respuesta XML de servicio web en interacciones de navegador web basadas en HTML.

Este artículo es el primero de una serie de dos partes. La parte dos muestra cómo usted puede utilizar DB2 para user-defined functions (UDF) z/OS para integrar un conjunto de datos z/OS e ® información de archivos de Servicios de Sistema (USS) UNIX a operaciones Data Web Services.

Prerrequisitos

Este artículo supone que usted sabe qué son IBM Data Web Services y que usted está familiarizado con lo básico relacionado a utilizar IBM Data Studio Developer para crear, probar y desplegar IBM Data Web Services. Si usted no conoce alguno de estos tópicos, consulte la sección Recursos para conocer los enlaces que los abordan.

Además, probablemente a usted este artículo le parecerá más útil si antes descarga y extrae el código de ejemplo contenido en el archivo AccountInquiry.zip en la sección Download .

Introducción a los procedimientos almacenados

Los procedimientos almacenados se utilizan con frecuencia para consolidar y centralizar la lógica que se implementó originalmente en las aplicaciones. Procesos amplios o complejos que podrían exigir la ejecución de diversas sentencias SQL pueden ser cambiados a procedimientos almacenados en el lado servidor para proporcionar una interfaz centralizada para aplicaciones empresariales.

DB2 para z/OS soporta los siguientes tipos de procedimientos almacenados:

  • Procedimientos SQL (externos y originarios)
  • Externos (escritos en lenguajes de programación tales como C, COBOL, PL/I o Java®)

Procedimientos SQL se escriben completamente en SQL, y permiten el acceso a recursos DB2 por medio de operaciones SQL. Recursos que no son DB2 no se pueden acceder a partir de procedimientos SQL.

Procedimientos almacenados DB2 para z/OS externos son aplicaciones del lado servidor que se pueden escribir en distintos lenguajes de programación, incluyendo COBOL. El programa de procedimiento almacenado puede acceder a los datos DB2, así como también a recursos que no son DB2, tales como conjuntos de datos QSAM y VSAM, colas de mensajes, programas CICS, transacciones IMS y bases de datos. Además, programas externos de procedimiento almacenados pueden reutilizar lógicas de negocios existentes al llamar aplicaciones existentes como subprogramas.

Procedimientos almacenados se pueden invocar por otros procedimientos almacenados y por aplicaciones DB2 del cliente utilizando SQL intercalado, .NET, ODBC, o cualquier aplicación Java. El entorno de tiempo de ejecución de procedimiento almacenado externo z/OS es administrado por z/OS Workload Manager (WLM).

Beneficios obtenidos al utilizar procedimientos almacenados

Ya que los procedimientos almacenados fueron introducidos en DB2 para z/OS, han llegado a ser una tecnología robusta y madura que se está utilizando por diversas organizaciones que manejan una gran cantidad de carga de trabajo transaccional. Procedimientos almacenados son normalmente utilizados, en este contexto, a causa de por lo menos uno de los siguientes motivos:

  • Mejor rendimiento de red para clientes remotos
    Si una aplicación de cliente o de servidor emite múltiples sentencias SQL remotas, la sobrecarga de la red a causa del envío de sentencias y del recibo de resultados puede ser significativa. Procedimientos almacenados pueden ayudar a evitar viajes de ida y vuelta por la red al encapsular diversas sentencias SQL.
  • Acceso seguro a datos
    Si un procedimiento almacenado contiene SQL estático intercalado, el cliente tan sólo debe tener el privilegio para ejecutar el procedimiento almacenado. No se requiere la autoridad para acceder a las tablas DB2 subyacentes, y con esto se reduce el riesgo y la exposición.
  • Facilidad de desarrollo y manutención
    Utilizar procedimientos almacenados puede ayudar a reducir la dependencia del cliente en cuanto a diseño de base de datos.
  • Acceso a datos que no son DB2
    Procedimientos almacenados externos escritos en COBOL, PL/I, C++ o Java pueden acceder a recursos que no son DB2, tal como cualquier otro programa de aplicación ejecutándose en el entorno z/OS. Por ejemplo, datos VSAM o IMS pueden ser recuperados para una tabla global o declarada temporal y procesados por aplicaciones del cliente que utilizan SQL y lógica de conjunto de resultados.
  • Disponibilidad y posibilidad de reutilización
    Procedimientos almacenados externos DB2 para z/OS son administrados por z/OS Workload Manager (WLM), proporcionándose por lo tanto escalabilidad y disponibilidad. Al almacenarse centralmente en un único lugar del servidor de la base de datos el procedimiento almacenado, se soporta la posibilidad de reutilización del código. DB2 para interfaces z/OS y WLM está disponible para aplicar cambios de procedimientos sin impactos sobre la disponibilidad de servicios.
  • Puesta en cápsulas de funciones de negocios

Se utilizan con frecuencia procedimientos externos almacenados para acceder a almacenes de datos y sistemas de aplicación legados. Estos encapsulan lógica de negocios y sentencias SQL, acceden a recursos que no son DB2, cumplen con políticas de seguridad, reutilizan la lógica de negocios al llamar módulos existentes como subprogramas y opcionalmente le devuelven conjuntos de resultados a las aplicaciones del cliente. Este beneficio se destaca en el escenario descrito en este artículo.

Acceso a funciones de negocios encapsuladas en procedimientos almacenados utilizándose servicios web

DB2 para procedimientos almacenados z/OS que encapsulan funciones de negocios es apropiado para reutilización en Data Web Services. Estos proporcionan servicios reutilizables que exponen las capacidades de sistemas existentes de un modo cuidadosamente controlado. Por ejemplo, la interfaz de servicios, el componente más crítico en un SOA, ya existe (aunque no como una interfaz de servicios web), y se está utilizando por aplicaciones empresariales en diversos departamentos y líneas de negocios. El análisis de calidad de los datos subyacentes ha sido ha sido completado con éxito. El código para los procedimientos almacenados existentes ha sido desarrollado y probado, y ya es una parte reconocida de la infraestructura de IT que cumple con los Service Level Agreements (SLA) existentes. La capacidad para utilizar esos procedimientos almacenados y exponerlos utilizando la interfaz de servicios web lo hace accesible a la infraestructura de aplicación más amplia.


Un ejemplo de escenario de negocios existente

Para ilustrar el valor y la utilización de DB2 para procedimientos almacenados z/OS, este artículo supone un ejemplo de escenario de negocios existente que proporciona tres aplicaciones bancarias: Centro de Atención de Llamadas, Sucursal Bancaria, y Banco en Línea Cada una de estas tres aplicaciones utiliza funciones de negocios que están encapsuladas en los siguientes procedimientos almacenados DB2 para z/OS:

  1. ListCustomer
  2. AccountSummary
  3. AccountDetail

La utilización de estos procedimientos almacenados por cada aplicación bancaria está ilustrada en la Figura 1.

Figura 1. Procedimientos almacenados de Consulta de Cuenta Existente
Procedimientos almacenados de Consulta de Cuenta Existente

Las aplicaciones del Centro de Atención de Llamadas y de la Sucursal Bancaria invocan los procedimientos 1, 2 y 3 para determinar el número del consumidor, el número de la cuenta y la información al detalle sobre la cuenta, respectivamente. La aplicación de Banco en Línea solo invoca los procedimientos almacenados 2 y 3, porque el cliente proporciona un número de cliente durante la autenticación.

El código de la aplicación del lado del cliente invoca los procedimientos almacenados, conecta el nombre del cliente, el número del cliente y el número de la cuenta, y realiza la presentación de los datos. El tipo de procedimiento almacenado y el lenguaje de programación son transparentes para el cliente del proceso almacenado.

El ejemplo presentado en este artículo utiliza procedimientos SQL originarios DB2 9 para z/OS para acceder a la información bancaria que está almacenada en las tablas DB2. Usted puede preguntarse: ¿"Por qué se utilizan los procedimientos almacenados"? ¿"Por qué no se utilizan simples colas SQL para proporcionar la misma información"? Tal como mencionado anteriormente, procedimientos almacenados proporcionan muchos beneficios. En este caso:

  • Los procedimientos SQL almacenados ya existen y están disponibles como activos reutilizables.
  • Los procedimientos almacenados hacen que la aplicación del cliente sea independiente del diseño de la base de datos subyacente, y mantienen la complejidad lejos del cliente, encapsulados en la capa de la base de datos.

En otros escenarios la utilización de procedimientos almacenados externos puede ser necesaria a causa de la complejidad de la infraestructura de IT. Por ejemplo, el procedimiento almacenado podría tener que presentar una interfaz con sistemas remotos de fondo para recuperar la información de los programas CICS, de las bases de datos y transacciones IMS, o podría incluso tener que presentar una interfaz por medio de MQ WebSphere® con plataformas que no son de IBM.

A continuación están los detalles acerca de las interfaces de entrada y de salida de los procedimientos almacenados utilizados por el ejemplo de escenario de negocios.

ListCustomer

El procedimiento almacenados ListCustomer proporciona una lista de clientes elegibles por nombre de cliente, número de cliente, y fecha de nacimiento (véase la Figura 2).

Figura 2. Interfaz de entrada y de salida ListCustom
Interfaz de entrada y de salida ListCustom

AccountSummary

El procedimiento almacenado AccountSummary recupera la lista de cuentas bancarias asociadas a un dado número de cliente (véase la Figura 3).

Figura 3. Interfaz de entrada y de salida AccountSummary
Interfaz de entrada y de salida AccountSummary

AccountDetail

El procedimiento almacenado AccountDetail recupera información al detalle de sentencia de cuenta para un dado número de cuenta (véase la Figura 4).

Figura 4. Entrada y salida de AccountDetail interfaz
Entrada y salida de AccountDetail interfaz

Ejemplo de escenario de negocios con IBM Data Web Services

Esta parte del artículo describe un ejemplo de entorno de tiempo de ejecución de Data Web Services explica cómo usted puede exponer procedimientos almacenados como servicios web con tan sólo algunos clics en su ratón. Usted notará que solamente exponer procedimientos almacenados como Data Web Service no proporciona la lógica de aplicación del lado del cliente que se requiere para ejecutar esos servicios web en un contexto de negocios. Por tanto el artículo también muestra cómo las hojas de estilo XSLT pueden ayudar a transformar el AccountInquiry Data Web Service anteriormente desplegado en una aplicación web basada en HTML.

Entorno de tiempo de ejecución IBM Data Web Service.

El ejemplo de entorno de tiempo de ejecución Data Web Service (DWS) está ilustrado en la Figura 5. Utiliza:

  • WebSphere Application Server para z/OS Versión 6.1 (WAS) como servidor de aplicación J2EE para hospedar el servicio web AccountInquiry. El entorno de tiempo de ejecución DWS IBM, que incluye el servlet DWS común, es una parte integrante de DWS AccountInquiry. Usted no tiene que realizar cualquier otro paso de implementación WAS para activar WAS para IBM Data Web Services.
  • DB2 9 para z/OS como servidor de la base de datos.

Con el objetivo de probar el servicio web, usted puede utilizar cualquiera de los siguientes:

  • IBM Data Studio Developer (específicamente el explorador de Data Web Services)
  • DB2 para z/OS SOAP UDF como la interfaz de cliente para conducir las solicitudes Data Web Services
  • El cliente de prueba utilizando un navegador web
  • Cualquier cliente puede invocar los servicios web
Figura 5. Visión general del entorno de tiempo de ejecución de IBM Data Web Services (DWS)
Visión general del entorno de tiempo de ejecución de IBM Data Web Services (DWS)

El escenario mostrado en la Figura 5 fue utilizado para desplegar un Data Web Service llamado AccountInquiry como una aplicación J2EE en WebSphere Application Server. Para la invocación del servicio web, usted puede elegir entre tres aplicaciones web de servicio al consumidor: DB2 para z/OS SOAP UDF, Data Web Service Test Client, Data Studio Web Services Explorer. En el ejemplo de escenario DB2 para z/OS SOAP UDF se utiliza como cliente de servicio web.

A continuación hay un esquema del flujo de proceso del entorno de tiempo de ejecución Data Web Service mostrado en la Figura 5:

  1. El cliente de servicio web emite solicitudes SOAP/HTTP para consumir servicios web.
  2. WebSphere Application Server, que implementa el punto final SOAP, recibe la solicitud SOAP y le pasa el control al entorno de tiempo de ejecución de IBM Data Web Services.
  3. El Servlet común de Data Web Services traduce las operaciones SOAP a operaciones de base de datos, y utiliza JDBC para emitir las solicitudes SQL correspondientes.
  4. Dependiendo de la implementación de infraestructura J2EE y DB2, la definición de la origen de los datos JNDI utiliza JDBC de tipo 2 o de tipo 4 para la conectividad de la base de datos Java.
  5. El mensaje de salida cifrado en XML se devuelve a la aplicación del cliente del servicio web.

Exponiendo procedimientos almacenados existentes como Data Web Services

Cree Data Web Services de AccountInquiry con IBM Data Studio

La creación y el despliegue de IBM Data Web Service están completamente integrados en IBM Data Studio Developer, facilitando el desarrollo de servicio web con tan sólo algunos clics en su ratón. Esta parte del artículo describe cómo usted puede utilizar Data Studio Developer para exponer los procedimientos almacenados DB2 para z/OS existentes como servicios web. Para más detalles e informaciones, consulte IBM Data Studio V2.1: Introducción a Web Services en DB2 para z/iOS, que tiene enlace en la sección de Recursos.

  1. Configure una conexión para el servidor de la base de datos DB2 para z/OS.
Figura 6. Configure la conexión de la base de datos
Configure la conexión de la base de datos
  1. Establezca una conexión con ese servidor de base de datos.
Figure 7. Establezca la conexión con la base de datos
Figure 7. Establezca la conexión con la base de datos
  1. Utilice Data Source Explorer para relacionar los procedimientos almacenados con los cuales usted quiere trabajar.
Figura 8. Relacione los procedimientos almacenados
Relacione los procedimientos almacenados
  1. Utilice Data Project Explorer -> New -> Data Development Project para crear el proyecto Data_Account_Inquiry.
Figura 9. Cree el Proyecto Data_AccountInquiry
Cree el Proyecto Data_AccountInquiry
  1. Utilice Data Project Explorer -> Web Services -> haga clic con el botón derecho -> New
    para crear el proyecto Data Web Service AccountInquiry.
Figura 10. Cree un proyecto DWS AccountInquiry
Cree un proyecto DWS AccountInquiry
  1. Arrastre y suelte los procedimientos almacenados que se dejarán a disposición como operaciones SOAP en el proyecto Data Web Service AccountInquiry.
Figura 11. Arrastre y suelte los procedimientos almacenados
Arrastre y suelte los procedimientos almacenados
  1. Después de completar con éxito la operación de arrastrar y soltar, usted verá los procedimientos almacenados relacionados como operaciones de servicio web en Data Project Explorer -> Data_Account_Inquiry -> Web Services -> AccountInquiry. El (*) asterisco detrás del nombre de servicio web indica que el servicio web aún no ha sido compilado.
Figura 12. Operaciones AccountInquiry DWS
Operaciones AccountInquiry DWS
  1. A partir de proyecto de servicios web AccountInquiry, haga doble clic en LISTCUSTOMER para visualizar la sentencia SQL CALL de procedimiento almacenada que se ejecutará siempre que el servicio web AccountInquiry ejecute LISTCUSTOMER Usted puede visualizar las sentencias SQL CALL de las otras operaciones de servicio web al hacer doble clic en las operaciones ACCOUNTDETAIL y ACCOUNTSUMMARY.
Figura 13. Sentencia SQL CALL de la operación ListCustomer
Sentencia SQL CALL de la operación ListCustomer

Compile el archivo Web Application Archive (WAR)

Usted puede realizar las siguientes actividades de Data Studio para crear el archivo Web Application Archive:

  1. Después de crear Data Web Service, compile el archivo Web Application Archive (WAR) que usted puede instalar en la aplicación WebSphere Application Server para z/OS como J2EE. Haga esto yendo a Data Project Explorer -> Data_Account_Inquiry -> Web Services -> AccountInquiry -> haga clic con el botón derecho -> Build and Deploy tal como mostrado en la Figura 14.
Figura 14. Compile el archivo WAR
Compile el archivo WAR
  1. En la pantalla Deploy Web Service, especifique el entorno de objetivo web server e indique que la aplicación de cliente de prueba Data Web Service debería ser incluida en el archivo WAR proceso de creación. La aplicación de cliente de prueba de Data Web Service puede ser muy útil porque proporciona una interfaz de navegador web para probar las operaciones de servicio web. Para el manipulador de datos, usted también puede utilizar pureQuery para sacar ventaja del SQL estático en DB2 para un mejor rendimiento y seguridad y facilidad de administración de base de datos.
Figura 15. Compile los parámetros del archivo WAR
Compile los parámetros del archivo WAR
  1. Haga clic en Finish para crear el archivo WAR.
  2. A partir de la pestaña Navigator, seleccione Data_Account_Inquiry -> DataServerWebServices -> AccountInquiry -> Data_Account_InquiryAccountInquiry.war. Entonces haga clic con el botón derecho en Properties para determinar la ubicación del archivo WAR. Usted necesita la información sobre la ubicación del archivo WAR para la instalación de la aplicación en WebSphere Application Server para z/OS.
Figura 16 Ubicación del archivo WAR
Figura 16 Ubicación del archivo WAR

Instalación de Data Web Service en WebSphere Application Server para z/OS

Este artículo no enfoca en los detalles sobre la utilización de WebSphere Application Server Integrated Solution Console (ISC); solamente resume las tareas para instalar Data Web Services. Para más informaciones sobre la configuración de WebSphere Application Server para z/OS y sobre la instalación de Data Web Service, consulte DB2 9 para z/OS: Desplegando Soluciones SOA, Capítulo 7.7, Configurando WebSphere Application Server, que tiene enlace en la sección Recursos.

Para instalar el servicio web AccountInquiry utilizando Integrated Solution Console (ISC), haga lo siguiente:

  1. Defina un a origen de datos JNDI para conectar al servidor de la base de datos DB2 para z/OS El ejemplo de escenario utiliza los siguientes atributos de origen de datos JNDI:
    • Proveedor: DB2 Universal JDBC Driver Provider
    • Nombre: DBLN
    • Nombre JNDI: jdbc/DBLN
    • Nombre de la Ubicación DB2: RDBNDBLN
    • Puerto TCP/IP DB2: 446
    • JDBC de Tipo 4
    • Nombre del Servidor: ZNTC
  2. En el ISC de WebSphere Application Server haga lo siguiente:
    1. Seleccione Applications -> Install New Application para subir el archivo WAR generado por Data Studio (vea la Figura 16), para instalar Data Web Service como aplicación J2EE.
    2. Seleccione Enterprise Applications -> Applications-> Start para iniciar la nueva aplicación J2EE.

Después que la aplicación empiece con éxito, el Data Web Service de AccountInquiry estará disponible para servir a las solicitudes de servicio web.

Probando Data Web Service AccountInquiry

Cuando DWS AccountInquiry esté implementado en WebSphere Application Server, el servicio web se hará disponible para las aplicaciones del cliente. DB2 para z/OS y Data Studio Developer proporcionan aplicaciones de cliente de servicio web que se pueden utilizar para consumir servicios web por medio de SOAP/HTTP.

Las aplicaciones de cliente disponibles son:

  • DB2 para z/OS SOAP/HTTP User Defined Functions (SOAP UDF)
  • Data Studio Web Services Explorer
  • Data Web Service Test Client

Para más informaciones sobre aplicaciones de cliente de servicio web proporcionadas por DB2 para z/OS y Data Studio, consulte DB2 9 para z/OS: Desplegando Soluciones Deploying SOA, que tiene enlace en Recursos.

El ejemplo de escenario utiliza los UDF DB2 para z/OS SOAP de SQL para invocar las operaciones de servicio web AccountInquiry. Antes de utilizar los UDF DB2 para z/OS SOAP, se requieren pasos de personalización adicionales en DB2 para z/OS. Para saber detalles acerca de esos pasos de personalización y sobre escenarios de uso de UDF SOAP/HTTP adicionales, consulte el Capítulo 8. “DB2 como consumidor de servicios web con UDF SOAP: Escenario 3” de DB2 9 para z/OS: Desplegando Soluciones Deploying SOA, que tiene enlace en Recursos.

ListCustomer

La Figura 17 muestra una sentencia SQL que invoca Data Web Service de ListCustomer.

Figura 17. Data Web Service de ListCustomer vía SOAPUDF
Data Web Service de ListCustomer vía SOAPUDF

La sentencia SQL ofrece tres parámetros de entrada: El Punto Final SOAP (P1), la Acción SOAP (P2), y el documento de solicitud SOAP (P3) para el programa UDF SOAP DB2. El programa UDF SOAP DB2 utiliza esos parámetros de entrada para lanzar una solicitud SOAP/HTTP en nombre del cliente SQL. Después que se completa la solicitud SOAP/HTTP, el documento de respuesta SOAP se envía de vuelta al cliente SQL como un valor escalar SQL VARCHAR, tal como se muestra en la Figura 18.

Figura 18. Salida VARCHAR SOAPUDF ListCustomer
Salida VARCHAR SOAPUDF ListCustomer

Almacene los datos VARCHAR (Figura 18) en un documento Studio XML. Seleccione Data Project Explorer -> Data_Account_Inquiry ->XML -> XML Documents -> ListCustomer -> haga clic con el botón derecho -> Source -> Format para formatear el documento de Respuesta SOAP XML (vea la Figura 19).

Figura 19. XML de respuesta SOAP ListCustomer formateado
XML de respuesta SOAP ListCustomer formateado

Tal como se puede ver en la Figura 19, el DWS ListCustomer retornó la información de dos clientes elegibles.

AccountSummary y AccountDetail

Repita los pasos presentados que usted acaba de ejecutar para las operaciones DWS AccountSummary y AccountDetail . La cola UDF SOAP para AccountSummary se muestra en la Figura 20. La cola UDF SOAP para AccountDetail se muestra en la Figura 21.

Figura 20. SOAP AccountSummary Fila UDF
SOAP AccountSummary Fila UDF
Figura 21. Fila UDF SOAP AccountDetail
Fila UDF SOAP AccountDetail

hojas de estilo XSLT: Convierte su DWS en una aplicación web basada en HTML

En esta parte del artículo, usted aprende cómo utilizar hojas de estilo XSLT para transformar el DWS AccountInquiry en una aplicación de navegador web basada en HTML que utiliza hipervínculos HTML para proporcionar la posibilidad de cambio rápido.

Contexto

El lenguaje eXtensible Style Sheet Transformation (XSLT) puede transformar el árbol de origen de un documento XML en un árbol de resultados diferente. En el escenario de ejemplo de este artículo, la respuesta Data Web Service AccountInquiry representa un mensaje XML que se puede transformar por XSLT en un formato HTML. Como resultado, usted puede invocar las operaciones de servicio web AccountInquiry de forma directa, por medio de un navegador web y recibir una respuesta formateada HTML.

Entorno de objetivo de tiempo de ejecución

La Figura 22 representa un escenario en el que el servicio web AccountInquiry es desplegado como una aplicación J2EE. El despliegue incluye reglas para transformación de salida de XML a HTML, que le permite invocar el servicio web a partir de un navegador web como una aplicación basada en HTML normal.

Figura 22. Entorno de tiempo de ejecución DWS con proceso XSLT
Entorno de tiempo de ejecución DWS con proceso XSLT

A continuación están los detalles acerca de los principales pasos para el flujo de proceso:

  1. El cliente de servicio web emite una solicitud RPC HTTP de estilo REST para consumir servicios web.
  2. WebSphere Application Server, que implementa el punto final RPC HTTP, recibe la solicitud GET HTTP y enseguida le envía el control al entorno de tiempo de ejecución Data Web Services.
  3. El Servlet común de Data Web Service traduce las operaciones RPC HTTP a operaciones de base de datos, y utiliza JDBC para emitir las solicitudes SQL correspondientes.
  4. Dependiendo de la implementación de infraestructura J2EE y DB2, la origen de los datos JNDI utiliza JDBC de tipo 2 o de tipo 4 para la conectividad de la base de datos Java.
  5. Porque la transformación de salida de mensaje XSLT está siendo utilizada, el mensaje de respuesta XML se transforma en un formato HTML y enseguida vuelve al navegador web.

Las hojas de estilo XSLT

El ejemplo de código en la sección de Download contiene tres hojas de estilo XSLT, una para cada operación AccountInquiry. El XSLT utiliza hipervínculos HTML (href) para proporcionar la posibilidad de cambio rápido de ListCustomer a AccountSummary, y AccountSummary a AccountDetail. A continuación están relacionadas las hojas de estilo XSLT para la transformación de XML a HTML, los documentos de respuesta XML de servicio web que serán transformados, y los documentos HTML transformados:

  1. transformación de salida XML a HTML de la respuesta ListCustomer
Figura 23. Transformación HTML ListCustomer
Transformación HTML ListCustomer
Figura 24. Respuesta XML ListCustomer
Respuesta XML ListCustomer
Figura 25. HTML transformado XSLT ListCustomer
HTML transformado XSLT ListCustomer
  1. transformación de salida XML a HTML de la respuesta AccountSummary
Figura 26. Transformación HTML AccountSummary
Transformación HTML AccountSummary
Figura 27. Respuesta XML AccountSummary
Respuesta XML AccountSummary
Figura 28. HTML transformado XSLT AccountSummary
HTML transformado XSLT AccountSummary
  1. transformación de salida XML a HTML de la respuesta AccountDetail
Figure 29 Transformación HTML AccountDetail
Figure 29 Transformación HTML AccountDetail
Figura 30. Respuesta XML AccountDetail
Respuesta XML AccountDetail
Figura 31. HTML transformado XSLT AccountDetail
HTML transformado XSLT AccountDetail

Asignando hojas de estilo para operaciones Data Web Service

Ahora conecte cada hoja de estilo con su operación de servicio web correspondiente, tal como se muestra en

Tabla 1:

en la Tabla 1 Asigne hojas de estilo a las operaciones DWS
Web Service OperationStyle Sheet File Name
ListCustomer ListCustomertoHTML.xsl
AccountSummary AccountSummarytoHTML.xsl
AccountDetail AccountDetailtoHTML.xsl

Para implementar las asignaciones de hojas de estilo mencionadas anteriormente, haga lo siguiente, una vez para cada operación de servicio web:

  1. A partir de Data Project Explorer, haga clic con el botón derecho en la operación de servicio web y seleccione Manage XSLT (Figura 32).
Figura 32. Administrar XSLT para servicio web Operación
Administrar XSLT para servicio web Operación
  1. A partir de la pantalla Configure XSL (vea la Figura 33), seleccione el archivo apropiado y haga clic en Finish. El documento XSLT ahora estará asociado a la operación de servicio web apropiada.
Figura 33. Añada hoja de estilo a la salida Mensajes
Añada hoja de estilo a la salida Mensajes
  1. Para activar la transformación de hoja de estilo XSLT, vuelva a desplegar la aplicación J2EE Data Web Service. Para hacerlo, recompile el archivo WAR en Data Studio y reinstale la aplicación J2EE tal como se describe en Compile el archivo Web Application Archive (WAR) e instalación de Data Web Service en WAS para z/OS.

Ejecutando Web Service Application basada en HTML

Ahora que usted ha instalado con éxito la aplicación AccountInquiry en WebSphere Application Server, éste utilizará la transformación de mensaje de salida XSLT. Los mensajes de salida de servicio web se transformarán en un formato HTML. Esto permite que las aplicaciones de navegador web interaccionen con las operaciones Web Service AccountInquiry utilizando solicitudes RPC HTTP de estilo REST.

Usted puede invocar el servicio web ListCustomer utilizando una URL http de estilo a REST. Caracteres especiais que son parte de la URL deben estar cifrados en URL. La invocación retorna la página web basada en HTML tal como se muestra en la Figura 34.

Figura 34. transformado XSLT ListCustomer Página web HTML
transformado XSLT ListCustomer Página web HTML

A partir de la ventana de navegador mostrada en la Figura 34, haga clic en el Número de Cliente 36505633552 para obtener la información resumida de la cuenta para este número de cliente (vea la figura 35).

Figura 35. XSLT AccountSummary Página web HTML transformada
XSLT AccountSummary Página web HTML transformada

A partir de la ventana de navegador mostrada en la Figura 35, haga clic en el Número de Cuenta 9000000002 para obtener la información al detalle de la cuenta para este número de cuenta (vea la figura 36).

Figura 36. transformado XSLT AccountDetail Página web HTML
transformado XSLT AccountDetail Página web HTML

Conclusión

Con IBM Data Web Services usted puede exponer DB2 existente para procedimientos z/OS almacenados como web services con tan sólo algunos clics de su ratón. Con IBM Data Web Services, procedimientos almacenados DB2 para z/OS existentes se pueden convertir en un activo reutilizable vital en una Service Oriented Architecture (SOA). Desarrolladores de fondo sin experiencia en Java pueden transformar procedimientos almacenados existentes en servicios web (sin esfuerzo de programación). Además, las hojas de estilo XSLT proporcionan nuevas opciones interesantes para el desarrollo de aplicaciones. Sin tener que escribir ningún código de aplicación, transformaciones de mensaje de salida XSLT pueden transformar IBM Data Web Services en verdaderas aplicaciones de navegador web basadas en HTML.

La segunda parte de este artículo le mostrará cómo utilizar funciones definidas por el usuario DB2 para z/OS para integrar conjuntos de datos z/OS e información de archivo USS con las operaciones Data Web Services.

Reconocimientos

El autor le agradece a Michael Schenker por proporcionar toda su pericia en transformación de hoja de estilo XSLT. El autor también le agradece a todos sus colegas, quienes pacientemente revisaron este artículo y ofrecieron sus valiosas sugerencias.


Descargar

DescripciónNombretamaño
Sample code for this articleAccountInquiry.zip303KB

Recursos

Aprender

Obtener los productos y tecnologías

Comentar

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=Information mgmt
ArticleID=427841
ArticleTitle=Data Web Services en DB2 para z/OS, Parte 1: Desbloquee las funciones de negocios utilizando DB2 para los procedimientos almacenados z/OS y Data Web Services
publish-date=07292011