| Otras Ediciones: |
- HISTORIAS DE EXITO
- Banco Atlántida - El proyecto de bancarización más grande
- Tribunal Supremo Electoral - Nuevo récord en transmisión de datos electorales
- McDonald’s - Mesoamérica crece y confía en GBM
- Caja de Ahorros de Panamá - Minimizando tiempos en el DRP (Disaster Recovery Plan)
- OPINION
- Diseñar empresas
- SOA Governance
- TENDENCIAS
- Cambio en las Prácticas de Negocios (Parte 2)
- La inteligencia de seguridad en redes empresariales
- IBM lidera una iniciativa para hacer de dominio público patentes ecológicas
- SOA: El futuro de las empresas
- IBM Lotus Software Social – Web 2.0 - Aumento de productividad o pérdida de tiempo
- HARDWARE - SOFTWARE - SERVICIOS
- IBM POWER 6 - El procesador más rápido del mundo
- Mainsoft .Net Extensions for Websphere Portal
- Próximo release v6R1 de i5/OS y algo más
- IBM Tivoli Software para auto-atención
- IBM System x -Nuevo x3350
- IBM System x -Última generación de x-Architecture
- SOA -Un caso de agilización de procesos
- PORTADA
Un caso de agilización de procesos
Alberto Meléndez Esquivel
amelendez@gbm.net
José Pablo Hernández Molina
jphernandez@gbm.net
Especialistas de Software
La era de la tecnología ha hecho que el mundo del siglo XXI sea totalmente cambiante. Las organizaciones buscan soluciones tecnológicas que les den flexibilidad y capacidad de reacción ante las exigencias de rápida adaptabilidad que mueve el mercado actual. Una de las necesidades más solicitadas por las empresas es la agilización de procesos. En una gran mayoría de situaciones las soluciones más comunes se implementan mediante la integración de sistemas y desarrollo de aplicaciones, que permitan agilizar flujos de información dentro y fuera de las organizaciones. Además buscan soluciones que sean fácilmente actualizables y reutilizables en múltiples escenarios.
Este artículo pretende mostrar la experiencia adquirida por los autores en un proyecto de implementación de formularios electrónicos que ayudó precisamente a agilizar algunos procesos de negocio en una organización. La idea es mostrar algunas de las tecnologías utilizadas en el proyecto y cómo estas ayudan a crear sistemas integrales, flexibles y actualizables.
La necesidad de agilizar trámites.
El proyecto desarrollado requería agilizar un trámite en el que un cliente debía llenar un formulario y luego desplazarse hasta el proveedor del servicio para poder entregarlo. El formulario luego pasaba por un proceso de verificación previo a su aprobación, en el que se validaban datos personales y del proceso del negocio. Es claro que este tipo de trámites genera disconformidad en los clientes ya que tienen que desplazarse hasta el proveedor, gastando dinero y peor aún, su tiempo.
Gracias a la existencia de Internet, un sistema de formularios electrónicos fue la solución más apropiada para lograr agilizar estos procesos. La solución es crear un sistema en el cual los clientes, sin importar dónde se encuentren, puedan ingresar al sistema y realizar el trámite sin tener que movilizarse hasta el proveedor del servicio.
Aunque pareciera una solución trivial, existen muchas consideraciones que hay que tener en cuenta a la hora de plantear una solución. A nivel tecnológico ya existen sistemas que solucionan estas situaciones, y es probable inclusive que empresas ya tengan implementadas estas soluciones. Pero, ¿qué tan actualizables y flexibles son estos sistemas? ¿Qué tan reutilizable son estas soluciones en nuevos sistemas? ¿Qué sucede si el proceso de negocio cambia, que tanto habría que cambiar en el sistema? Las tecnologías planteadas en éste artículo ayudan a resolver positivamente éstas inquietudes.
Una solución orientada a servicios (SOA)
Cuando se decide desarrollar un nuevo sistema tecnológico compuesto por una solución de software, se debe buscar cómo lograr estructurar una arquitectura flexible que permita no solo integrar los nuevos sistemas, sino integrar sistemas antiguos. Con esta idea, es que una arquitectura orientada a servicios (SOA) es ideal para lograr la integración. SOA tiene grandes ventajas que permiten integrar sistemas utilizando XML, SOAP, WSDL y otros estándares que ayudan esencialmente a desacoplar los componentes involucrados. Ésto adicionalmente incrementa la posibilidad de reutilizar el sistema o fracciones del mismo en otros sistemas nuevos.
En el contexto de los formularios electrónicos, una solución SOA permitió facilitar el desarrollo del sistema mediante tecnologías que estandarizan la forma en cómo las aplicaciones se comunican. Adicionalmente se dejó una puerta abierta para la reutilización de los servicios por parte de otras aplicaciones o sistemas. Se realizó una separación entre la secuencia de pasos que conforman el proceso, y los pasos como tal que lo atienden. Se implementaron servicios reutilizables que soportan el proceso, pero que no tienen ningún punto de acoplamiento. Esto es clave para poder reutilizar los servicios en otros procesos futuros.
Naturalmente, lo óptimo es lograr implementar estas soluciones en el menor tiempo posible, cumpliendo fielmente con los requerimientos establecidos por los clientes y respetando las políticas de calidad requeridas por los usuarios. Aunque suene utópica la idea, existen tecnologías que facilitan lograr implementar soluciones que cumplan con estas características.
Una de las estrategias para lograr flexibilidad en un sistema es “componentizarlo”. Esto es crear unidades lógicas en componentes que sean fácilmente sustituibles y así dar mayor flexibilidad. Un ejemplo para lograr esta flexibilidad es identificar las unidades lógicas de negocio, los ciclos de vida y separar la interfaz del proceso de validaciones para que se puedan crear servicios que en realidad vienen a ser los componentes mencionados.
Lotus Forms
Lotus Forms es una tecnología que ayuda con el proceso de creación de formularios electrónicos. Para el proyecto desarrollado fue clave ya que permitió automatizar la toma y validación de datos para distintos procesos de negocio. Basado en XForms y XFDL, Lotus Forms facilita al programador el proceso de desarrollo visual de formularios mediante el uso de la herramienta Lotus Forms Designer. Esta herramienta permite crear los formularios totalmente apegados a las necesidades del usuario y definir las validaciones que se deben cumplir, así como la posibilidad de incluir firmas digitales de una forma sencilla.
Al estar basado en XForms y XFDL, Lotus Forms es una tecnología que permite fácil integración con el desarrollo de aplicaciones J2EE, además proporciona excelente integración con XML y XML Schema, accesibilidad universal, interoperabilidad, integración con esquemas empresariales ya existentes, independencia de dispositivos, plataformas o lenguajes de programación y una marcada diferencia entre lógica aplicativa y presentación.
Esto permite adicionalmente que decisiones de lógica de negocio puedan ser soportadas por servicios, que a su vez puedan utilizar transformaciones de datos para enviar o recibir datos, o integrar reglas de negocio entre aplicaciones.
WebSphere Transformation Extender
Cuando se desarrollan aplicaciones dentro del contexto SOA, una característica que se desea tener es que pueda comunicarse de forma eficiente y sin mucho esfuerzo con otras aplicaciones. WebSphere Transformation Extender (WebSphere TX) es un motor de transformación y validación de datos que ayuda con esta labor de comunicación. Una de sus grandes fortalezas reside en la capacidad de convertir grandes volúmenes de datos, sin importar su formato o estructura, librando a los desarrolladores de la tarea de validar la semántica y sintaxis de los datos que recibe y envía entre las aplicaciones o componentes del sistema. Adicionalmente es un producto que no se encuentra acoplado a un lenguaje específico, ya que provee APIs para diferentes lenguajes como C, COBOL, Java o .Net.
Una ventaja que brinda WebSphere TX es que muy fácilmente se definen formatos de entrada y salida de datos para realizar transformaciones. Por ejemplo para adquirir información de una base de datos la herramienta facilita la transformación a XML. Esto permite que de forma genérica los mapas de transformación desarrollados en WebSphere TX puedan ser reutilizados genéricamente por distintas aplicaciones. Adicionalmente se puede pensar en comunicación entre aplicaciones por medio de XML u otros estándares definidos según las necesidades.

Otra ventaja de WebSphere TX es que es una alternativa al uso convencional de las interfaces ODBC. Por ejemplo para Java, el uso de JDBC requiere que el programador haga validaciones semánticas y sintácticas cuando se realiza una consulta a la base de datos. Estas validaciones se pueden definir mediante expresiones regulares en los mapas de transformación. También si es necesario realizar transformaciones de tipos de datos, es mucho más simple realizarlos desde el nivel de los mapas que en la aplicación. Por ejemplo para implementar servicios Web que hacen consultas a una base de datos, si se quiere mantener la arquitectura SOA se debe retornar los datos estructurados siempre en XML. WebSphere TX reduce la labor de codificación a nivel de la aplicación ya que simplemente se dedica a correr el mapa y retornar el valor directo de la consulta, sin tener que construir los XML.