Integración de aplicaciones de pantalla verde en su SOA: Utilización de Rational Host Access Transformation Services (HATS)

Generalidades acerca del soporte del servicio web de HATS

Este artículo resume el soporte brindado por IBM®Rational®Host Access Transformation Services (HATS) que permiten crear servicios web que ofrezcan interfaces de programación estándar para la lógica empresarial y las transacciones contenidas dentro de las aplicaciones 3270 y 5250 basadas en caracteres (también denominadas aplicaciones de host o aplicaciones de pantalla verde).

Rick Hardison, Consultant, Systems Documentation, Inc. (SDI)

Rick HardisonRick Hardison se incorporó a IBM en Raleigh, Carolina del Norte en 1970 como Junior Programmer. En 1977, se incorporó al departamento de Installation Support brindando capacitación a clientes y soporte a las instalaciones de las primeras versiones del software de redes de IBM. En 1981, pasó a ser Product Planner y participó en el anuncio de soporte de VITAM para APPN. En 1992, Rick pasó al área de Technical Marketing, brindando soporte a Communications Clients and Servers de IBM, para los servicios Host On-Demand y Host Access Transformation. Rick dejó IBM en el año 2005 y desde ese momento brinda servicios de consultoría y redacta documentación técnica, a través de Systems Documentation, Inc. (SDI).



29-07-2011

El desafío

Las aplicaciones de host continúan siendo una parte importante de la combinación de aplicaciones empresariales dentro de una empresa. No obstante, las aplicaciones empresariales no pueden permanecer estáticas, deben ser modificadas para satisfacer las necesidades de la empresa y para adaptarse a los avances tecnológicos.

Las empresas buscan formas de afianzar sus activos de IT y al mismo tiempo buscan alternativas que ahorren dinero y reduzcan la presión en las ya escasas habilidades. Esto incluye el desafío de buscar formas de transformar las aplicaciones de host para integrar las aplicaciones empresariales nuevas con las ya existentes de un modo más sencillo.

Una posible solución sería utilizar la tecnología de servicios web como denominador común sobre la cual se puedan comunicar e integrar tecnologías de diferentes aplicaciones en forma conjunta en un entorno con Arquitectura Orientada al Servicio (Service Oriented Architecture, SOA).


Soluciones

Las soluciones IBM Enterprise Modernization ayudan a que las organizaciones desarrollen de manera rentable y gradual sus sistemas centrales de IT hacia arquitecturas y tecnologías modernas, reduciendo la carga de mantenimiento y liberando más a sus recursos para concentrarse en el desarrollo de nuevos requerimientos y capacidades comerciales.

Las soluciones de modernización de arquitectura incluyen:

  • Rational Developer for System z
  • Rational Developer for i
  • Rational Developer for i for SOA Construction
  • Rational Business Developer
  • Rational Software Architect
  • Rational Host Access Transformation Services
  • IBM Data Studio
  • IBM Problem Determination Tools

HATS es muy reconocido por transformar las aplicaciones de host 3270 y 5250 y enviarlas como aplicaciones Web o rich client. Pero HATS se puede utilizar también para crear servicios web que brinden interfaces de programación estándar a la lógica empresarial y a las transacciones contenidas en las aplicaciones de host 3270 y 5250 como parte de una SOA. Los servicios web HATS pueden brindar además acceso a datos desde pantallas emuladoras de terminales virtuales (Virtual Terminal, VT).

Generalidades acerca de HATS

La Figura 1 que aparece a continuación ilustra varios métodos de acceso a aplicaciones de host. Con un emulador tradicional, los usuarios acceden a las aplicaciones de host sobre sesiones 3270 ó 5250, donde aparece una interfaz de aplicación de host tradicional basada en caracteres (pantalla verde). Con el soporte Web de HATS, los usuarios tienen acceso a aplicaciones de host utilizando HTML sobre HTTP mediante los navegadores Web, o utilizando SOAP sobre HTTP por medio de clientes de servicios web, y por medio de una aplicación HATS ejecutada en WebSphere Application Server. Con el soporte rich client de HATS, los usuarios acceden a las aplicaciones de host sobre sesiones 3270 o 5250 mediante la aplicación rich client de HATS que se ejecuta en sus puestos de trabajo. Con HATS, se brinda a los usuarios una GUI fácil de usar en lugar de la interfaz tradicional basada en caracteres.

Figure 1. Acceso a aplicaciones de host
Figure 1. Acceso a aplicaciones de host

Además de soportar protocolos de sesiones TN3270, TN3270E y TN5250, HATS soporta el acceso a aplicaciones 5250 mediante un servidor WebFacing que no requiere de la capacidad de procesar transacciones en línea (Online Transaction Processing, OLTP) (CPW interactiva). Esto reduce significativamente los costos generales ya que se utiliza el HATS con aplicaciones 5250 quitando la función interactiva asociada con la conectividad de la sesión TN5250. HATS soporta además acceso de programación (tal como se describe a continuación) a las aplicaciones de host de la terminal virtual (VT).

HATS posee dos componentes, el HATS Toolkit y el HATS runtime.

Se puede crear y evaluar una aplicación Web rich client, móvil, con portlets de HATS utilizando el HATS Toolkit, luego implementar la aplicación de HATS incluyendo el tiempo de ejecución de HATS en un WebSphere Application Server, en un Portal WebSphere o en una plataforma rich client para que la comunidad de usuarios pueda tener acceso o para una aplicación de consumo.

El HATS Toolkit se conecta con la plataforma IBM Rational Software Delivery Platform, denominada de aquí en más “SDP”, basada en Eclipse. El HATS Toolkit brinda un entorno de desarrollo para la creación de aplicaciones de HATS. Dichas aplicaciones brindan interfaces de programación y de presentación a las aplicaciones de host en forma no invasiva (no se requieren cambios en la aplicación de host).

La transformación de la presentación incluye la capacidad de reconocer hot screens y transformarlas en páginas GUI en tiempo real según un conjunto de reglas predeterminadas. Dichas reglas se pueden modificar fácilmente para ajustarse a los requerimientos de la aplicación de host. Los componentes de la pantalla se pueden transformar en elementos tales como listas desplegables, hot links, tablas, botones, listados de valores válidos, carpetas etiquetadas y gráficos, brindando a los usuarios una gran cantidad de herramientas para navegar en la aplicación de host.

La función de programación del HATS incluye soporte para macros que permite la navegación programada a través de múltiples hot screens. Soporta variables globales, lo cual permite el uso de potentes técnicas de programación. Se pueden instalar conmutadores o recolectar datos, mientras se atraviesa un área de la aplicación de host y se prueba o se utiliza en otra. El soporte de programación se puede combinar con la transformación de la presentación para mejorar aún más la experiencia del usuario con la aplicación de host. El soporte de programación constituye también la base de la habilidad de HATS para recolectar datos desde múltiples sistemas back end y para brindar interfaces de servicios web para las aplicaciones de host.

El resto de este artículo describe cómo se puede utilizar fácilmente HATS en forma no invasiva para desarrollar una interfaz de servicios web para una aplicación de host.


Términos clave

A continuación se detallan algunos de los términos y conceptos básicos relacionados con el soporte de servicios web de HATS:

Macro – Script de XML que define un conjunto de pantallas y de acciones que deberían realizarse en dichas pantallas. Se pueden guardar y utilizar macros para automatizar las interacciones de los usuarios con el host. Se pueden utilizar macros para saltear pantallas, bucles, indicar a los usuarios que deben ingresar datos, insertar datos desde variables globales y para extraer información de la pantalla de host.

Objeto de integración – El Objeto de Integración (Integration Object, IO) constituye una clase de Java que encapsula una macro. Una clase de Objeto de Integración posee un método que ejecuta la macro.

Encadenamiento del objeto de integración – El encadenamiento del Objeto de Integración permite crear múltiples Objetos de Integración, que se agrupan entre sí para desempeñar una única tarea principal. Cada Objeto de Integración realiza una subtarea y la tarea principal se realiza mediante la cadena de Objetos de Integración. Al ejecutar la cadena, los Objetos de Integración se ejecutan en forma secuencial, utilizando cada uno de ellos la misma conexión de host.

Aviso – Un aviso es una acción a nivel pantalla para insertar un valor en un campo de ingreso en una pantalla de host. Los valores del aviso pueden ser suministrados por un usuario (o por la persona que desea realizar una operación del servicio web o desde un valor calculado). Un aviso en una macro da como resultado un parámetro de entrada de datos para una operación del servicio web.

Extracto – Un extracto es una acción a nivel pantalla que extrae el valor de un campo de host o de una región. Un extracto en una macro da como resultado un parámetro de salida a una operación del servicio web.


Generalidades acerca de la implementación del servicio web de HATS

A continuación se brinda una descripción general acerca del modo de utilizar HATS Toolkit para crear un servicio web que tenga acceso a datos desde una aplicación de host. Se pueden entrar demostraciones en vivo y grabadas en http://rational.demos.ibm.com/atdemo/atdemo_hats.html. Haga clic en el enlace de servicios web.

La Figura 2 resume los pasos a seguir para crear el servicio web de HATS. Primero se crea el proyecto de HATS. Mientras se crea dicho proyecto, se define la conexión al sitio de host de backend. Luego se crean las macros de HATS que se utilizarán para conectarse y navegar por la aplicación de host. Los parámetros tales como la agrupación de las conexiones de las sesiones de host se configuran para la conexión a la aplicación de host. Los Objetos de Integración (OI) del HATS se crean desde una o varias macros. Los OI brindan una interfaz de programación para ejecutar las macros. Desde el o los OI se crea y se prueba el servicio web utilizando el Explorador de servicios web que se construye dentro del SDP. Finalmente, se crea un cliente de muestra que solicita el servicio web para comprobar su funcionamiento.

Figura 2. Generalidades acerca de la implementación de los servicios web de HATS
Generalidades acerca de la implementación de los servicios web de HATS

Crear un proyecto de HATS

Dentro del SDP, los esfuerzos de desarrollo de HATS se organizan por proyecto. Desde un proyecto, se genera una aplicación de HATS que se puede implementar para ejecutarse en el Servidor de la Aplicación WebSphere.

Al crear un proyecto de HATS, un componente clave en las configuraciones de dicho proyecto es la definición de la conexión al sistema de host backend. Las aplicaciones de HATS se pueden comunicar con uno o más sistemas de host backend. Las configuraciones requeridas incluyen el nombre y el puerto TCP/IP del host del servidor Telnet que corre en el target host backend y en el protocolo a utilizar (por ejemplo 5250 o 3270).

Figura 3. Configuraciones de las conexiones del proyecto de HATS
Configuraciones de las conexiones del proyecto de HATS

Creación de macros

Tal como se ha mencionado anteriormente, las aplicaciones de HATS brindan interfaces de programación y de presentación a través de la Web no invasivas a las aplicaciones de host. Al crear una aplicación de HATS que brinda una Interfaz de servicios web para una aplicación de host, se utilizan las funciones de programación del HATS. Un elemento clave de la función de programación del HATS es que soporta macros. Las macros brindan la posibilidad de navegar en forma programada a través de múltiples pantallas host.

Resulta fácil crear macros utilizando el HATS Toolkit. Se pueden grabar utilizando un asistente a medida que se navega por las pantallas host utilizando una conexión de host activo. Se crean automáticamente capturas de pantallas, de manera predeterminada, respecto de cada pantalla en la que se navega mientras que se graba una macro. Dichas capturas de pantallas se pueden utilizar dentro del Visual Macro Editor si se desean realizar cambios a la macro posteriormente.

Para crear una interfaz del servicio web para una aplicación de host, se requiere al menos una macro, a la cual denominaremos macro de Datos. Si se desea mejorar el rendimiento, se puede utilizar una agrupación de conexiones (que se describe a continuación). Se recomienda utilizar dos macros, una de Conexión y otra de Desconexión.

Macro de conexión

Las aplicaciones de host 5250 y 3270 se orientan hacia la sesión. Para comunicarse, la aplicación de HATS debe crear una sesión de conexión con la aplicación de host. La macro de Conexión crea la conexión y la prepara navegando hasta el punto donde puede comenzar la macro de Datos.

Figura 4. Macro de conexión
Macro de conexión

Macro de datos

Los avisos y los extractos de las macros se pueden utilizar en forma opcional para brindar la posibilidad de efectuar entradas y salidas desde las macros.

La finalidad de la macro de Datos de este ejemplo es indicar que se debe realizar la entrada, navegar a través de la aplicación para extraer datos en base a la entrada realizada, y luego navegar nuevamente hacia donde se puede ingresar la siguiente entrada. De utilizarse una macro de Conexión junto con la agrupación de conexiones, se usa una y otra vez una conexión mediante múltiples ejecuciones de la macro de Datos. El servicio web deriva de la macro de Datos.

Figura 5. Macro de datos
Macro de datos

Macro de desconexión

Junto con las agrupaciones de conexiones, utilizar la macro de Desconexión para salir del sistema de host y para finalizar la conexión entre el HATS y las aplicaciones de host.

Visual Macro Editor

El Visual Macro Editor (VME) es una herramienta para desarrollar visualmente las macros de HATS, permitiendo construir macros robustas más fácilmente y encontrar problemas de lógica dentro de las macros de un modo más sencillo al momento del desarrollo.

El VME combina muchas de las funciones de la terminal host de HATS, del Macro Editor básico, y del Advanced Macro Editor en una sola herramienta y permite el desarrollo de macros fuera de línea. Permite que se copien flujos entre macros y brinda la posibilidad de arrastrar y soltar para agregar nuevas pantallas.

El VME resulta especialmente útil para agregar rutas condicionales a través de una macro, por ejemplo, para incluir una ruta de error, y para agregar o modificar los criterios y las acciones de reconocimiento a nivel pantalla.

Figura 6. HATS Visual Macro Editor
HATS Visual Macro Editor

Configurar parámetros de conexión

Una aplicación de HATS utiliza una conexión (sesión de 5250 o 3270) para comunicarse con la aplicación de host. Los parámetros básicos de configuración de la conexión, por ejemplo el nombre del host TCP/IP del servidor Telnet para la aplicación de host se configuran al armar el proyecto. Se pueden definir más parámetros de conexión, que incluyan una agrupación de conexiones, con macros de Conexión y de Desconexión, a utilizar para dicha conexión.

Agrupación de conexiones

HATS utiliza una función denominada agrupación de conexiones para mejorar el tiempo de respuesta del cliente para los servicios web y el rendimiento, tanto para la aplicación de HATS que proporciona el servicio web como para la aplicación de host. La agrupación de Conexiones permite especificar una cantidad de conexiones (sesiones 5250 o 3270) que HATS mantiene en una agrupación ya conectada y lista para ser utilizada por la aplicación de HATS.

Al utilizarse junto con las macros de Conexión y Desconexión, el HATS mantiene una cantidad de conexiones principales en la agrupación ejecutando la macro de Conexión. Cada una de las conexiones está lista para ejecutar la macro de Datos cuando se le solicite. Esto evita la conexión y desconexión constante de la aplicación de host cuando se atienden múltiples solicitudes del servicio web.

Figura 7. Agrupaciones de conexiones
Agrupaciones de conexiones

Creación de un objeto de integración

Un Objeto de Integración de HATS es un JavaBean que encapsula una interacción programada con una aplicación de host. En otras palabras, un Objeto de Integración encapsula y brinda una interfaz de programación para ejecutar una macro.

La macro de Datos creada anteriormente se configura para solicitar la entrada, para navegar a través de la aplicación y extraer datos en base a la entrada solicitada, para luego navegar otra vez hacia el lugar donde puede solicitar la entrada siguiente.

La creación de un Objeto de Integración para la macro de Datos crea una interfaz de programación de Java para ejecutar la macro que acepta la entrada esperada por la macro, impulsa la macro y proporciona como salida, aquella suministrada por la macro.

Figura 8. Objeto de Integración
Objeto de Integración

Existen diversas formas en las que se pueden utilizar Objetos de Integración para hacerlo a una aplicación de host con un programa de Java o basado en la Web nuevos. Una de esas formas consiste en brindar la interacción con una aplicación de host para un servicio web. Se pueden utilizar uno o más Objetos de Integración por cada servicio web.


Creación del servicio web

Una vez que se ha creado el Objeto de Integración, se le puede dar la instrucción al HATS de crear archivos de soporte del servicio web para dicho objeto. Tales archivos son de la clase de Java que describe los métodos que contiene el Objeto de Integración y sus entradas y salidas. Dichos archivos se denominan también archivos de clases envoltorio (wrapper class) para el servicio web. Las entradas y salidas corresponden a las entradas y salidas de la macro de Datos. Desde los archivos de soporte del servicio web, el SDP puede crear un archivo en el lenguaje Web Services Description Language (WSDL) que describe la interfaz al servicio web de HATS.

Figura 9. servicio web
servicio web

El archivo WSDL describe el modo de utilizar el servicio web para cualquier cliente que desee hacerlo. Es un Explorador de servicios web incorporado en SDP. Al utilizar el archivo WSDL, se puede utilizar el Explorador de servicios web para probar el servicio web de HATS.


Creación y prueba del cliente del servicio web

El SDP se puede utilizar también para crear una aplicación cliente de muestra que pueda llamar al servicio web de HATS. El cliente se estructura en base a la información del archivo WSDL que representa el servicio web de HATS.

Luego de generarla, la aplicación cliente de muestra y la del servicio web de HATS se pueden probar utilizando un entorno de prueba WebSphere incluido dentro del SDP.

Al comenzar el entorno de prueba WebSphere, se inicia la aplicación de HATS que brinda el servicio web. En este punto, se da inicio al conjunto de conexiones iniciales que van a la aplicación de host por la agrupación de conexiones. Se ejecuta la macro de Conexión respecto de cada conexión dejando cada una en el punto donde puede comenzar la macro de Datos.

Se da inicio a la aplicación cliente y utilizando información desde el archivo WSDL permite el ingreso de una entrada que corresponde a la entrada esperada por el servicio web de HATS. Esta es la misma entrada esperada por el Objeto de Integración de HATS y la macro de Datos.

El código proxy de la aplicación cliente utiliza una solicitud SOAP para llamar al servicio web de HATS con la entrada suministrada. En este punto la aplicación de servicio web de HATS busca al Objeto de Integración. Se asigna una conexión libre desde la agrupación de conexiones y se impulsa a la macro de Datos para navegar a través de la aplicación de host utilizando la entrada suministrada por el cliente.

A medida que se ejecuta el Objeto de Integración, la macro de Datos recolecta sus datos de salida. Estos datos luego se devuelven en una respuesta SOAP desde el servicio web de HATS al cliente que los ha solicitado.

Figura 10. Cliente del servicio web
Cliente del servicio web

La aplicación cliente de muestra se puede utilizar a partir de ese momento como base de integración de la aplicación de host con aplicaciones Java y basadas en la Web nuevas que se estén desarrollando en la empresa.


Conclusión

Las aplicaciones de host siguen constituyendo una parte significativa de la mezcla de aplicaciones dentro de un conjunto de aplicaciones empresariales. En la actualidad la tecnología de servicios web puede servir como denominador común sobre la que se pueden comunicar distintas tecnologías e integrarse entre sí. Se pueden utilizar Rational HATS en forma no invasivo para brindar interfaces para servicios web para la integración de las aplicaciones 5250 IBM i y 3270 System z con otras aplicaciones de la empresa.

Recursos

Aprender

  • Visite la página Rational HATS home page on developerWorks para obtener información del producto, artículos, descargas, demos y más acerca de HATS.
  • Visite HATSHotSpot donde se podrá comunicar con la comunidad de HATS mediante foros y blogs. Conozca sobre HATS mediante tutoriales, demos, casos de estudio y artículos.
  • Consulte EnterpriseModernization para conocer más acerca de las soluciones IBM Enterprise Modernization.
  • Consulte IBM Enterprise Modernization Sandbox donde podrá evaluar las soluciones IBM Enterprise Modernization solutions (inclusive los HATS) para System z e IBM i mediante la experiencia práctica.
  • Visite Rational software area on developerWorks para obtener recursos técnicos y las mejores prácticas para otros productos de Rational Software Delivery Platform.
  • Suscríbase a la gacetilla Rational Edge newsletter para poder consultar artículos sobre los conceptos que sustentan el desarrollo de software efectivo.
  • Subscríbase a la gacetilla developerWorks weekly newsletter para obtener actualizaciones semanales de los mejores tutoriales, artículos, descargas, actividades de la comunidad, webcasts y eventos sobre developerWorks.
  • Navegue en technology bookstore para encontrar libros sobre este y otros temas técnicos.

Obtener los productos y tecnologías

  • Descargue una versión de prueba de IBMRational HATS Toolkit.
  • Descargue otras versiones de prueba de IBMproduct trial versions y póngase manos a la obra con herramientas de desarrollo de aplicaciones y productos middleware desde DB2.®, Lotus®, Rational®, Tivoli®, y WebSphere®.

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=SOA y servicios web , Rational
ArticleID=392234
ArticleTitle=Integración de aplicaciones de pantalla verde en su SOA: Utilización de Rational Host Access Transformation Services (HATS)
publish-date=07292011