Arquitectura orientada a servicios. Parte 2, gestión de procesos e integración de la infomación.

En el artículo anterior de esta serie, revisamos cómo se incorporan las aplicaciones legadas a las arquitecturas SOA, mediante el uso de servicios web XML basados en SOAP. Esto permite proteger la inversión actual en tecnología que tengan las organizaciones, y por otro lado, reutilizar la funcionalidad existente en las aplicaciones institucionales.

Con la integración, las aplicaciones pueden extender su alcance para entregar servicios, y colaborar con las tecnologías emergentes. Dicha integración puede llevarse a cabo de tres formas: sesión, transacción y datos. La elección de cada una de ellas, depende de la tecnología y la necesidad a solucionar.

En esta segunda parte, revisaremos la gestión de procesos de negocio, mediante herramientas de BPM, vista única de información, y nuevas aplicaciones emergentes en arquitecturas SOA.






Gestión de Procesos de Negocio
Las organizaciones siempre han funcionado a través procesos complejos, dinámicos e interrelacionados entre sí. Cada uno de ellos, consiste en un conjunto de actividades ordenadas que incluyen procedimientos, políticas, personas y tecnología, encaminados a resolver las necesidades de las operaciones. Sin embargo, con gran frecuencia, los procesos no se encuentran funcionando con la eficiencia y flexibilidad requerida, o que podrían alcanzar. Cuando las organizaciones no controlan sus procesos, pueden presentar varios síntomas: • Procesos complejos difíciles de comunicar, medir y ejecutar. • Falta de agilidad en la organización para cambiar rápidamente a las nuevas iniciativas de negocio. • Administración por excepción en la organización. • Información fuera de tiempo o inexacta. • Cuellos de botella difíciles de detectar. • Gran cantidad de tiempos muertos entre las actividades del proceso. • Ineficiencia en el control interno que se puede traducir en inventarios excesivos, duplicidad de información, falta de cumplimiento de las normas institucionales o fiscales, etcétera.

La forma en que las organizaciones gestionan sus procesos, determina el nivel en que controlan sus operaciones. Esto requiere de técnicas que incrementen su efectividad y entendimiento, logrando que se puedan repetir y medir con métricas de negocio. Tomar el control de los procesos de negocio requiere de herramientas apropiadas.

Las soluciones BPM, comprenden un conjunto de herramientas que permite a las organizaciones definir, monitorear y ejecutar sus procesos por medio del uso de tecnología que consienta su automatización. Este tipo de herramientas dan pie a la creación de una capa de definición de procesos, que puede comunicarse con otras capas bajo una arquitectura SOA, como aplicaciones integradas y un Bus Empresarial de Servicios, para colaborar y crear sinergia entre procesos de negocio. El objetivo es poder entender y medir el funcionamiento de las organizaciones, a través de conocer el desempeño de sus procesos.

Las herramientas actuales en el mercado, proveen los elementos técnicos para la automatización de los procesos, con funcionalidad que puede resumirse en tres grandes partes:

    • Definición.
    • Monitoreo.
    • Ejecución.

Definición de los Procesos
Las soluciones actuales de BPM, proveen facilidad de definición, creación y modelado de flujos, a través del uso de herramientas gráficas que lo permiten. Los flujos generalmente son almacenados en notaciones estándares como XPDL, BPMN y BPEL que admiten la colaboración entre diferentes herramientas.

Estas herramientas permiten incorporar: • Definición de diferentes tipos de nodos, como son actividades de decisión, votación, etcétera. • Indicadores de desempeño: métricas asociadas al proceso que nos dan oportunidad de conocer su funcionamiento en términos de las necedidades de negocio. • Capacidad de escalación en caso de que los indicadores de negocio no cumplan con los objetivos establecidos. • Asignar actividades mediante el uso de roles y usuarios. • Calendarios de tiempos absolutos, naturales y de negocio. • Integración de aplicaciones internas mediante Servicios Web. Existen más formas de integración que dependen directamente de la funcionalidad que se construya sobre las herramientas. • Incorporar motores de reglas. • Ejecución de acciones antes de iniciar una actividad y despues de terminarla. Las herramientas para la definición de los procesos en el BPM, pueden venir incluidas, o mediante el uso de estándares, incorporar terceros. Aunque no forma parte explícita de la funcionalidad de una herramienta BPM, siempre es necesario considerar el manejo de expedientes electrónicos de los diferentes documentos que soporten la ejecución del proceso.

Monitoreo de los Procesos
Durante la ejecución de los procesos automatizados en las herramientas BPM, se registra la información de cada una de las actividades relacionadas con la ejecución. Los datos se almacenan generalmente en bases de datos, y comprenden información, tal como fecha y hora de realización de la actividad, persona que la ejecutó, atributos del proceso, registro de los indicadores de desempeño, etcétera.

La información que se registra en la ejecución de los procesos se puede utilizar para su optimización. Existen herramientas expecializadas que permiten la explotación de este tipo de información y permiten:

    • Análisis de rendimiento. • Construir Balanced Scorecard. • Simulación de procesos con base en la información. • Detectar desviaciones y mejores prácticas. • Innovar a través de procesos. • Análisis de tendencias con base en los indicadores de desempeño. • Crear mejores prácticas. • Generación de reportes. • Visualización de la realización de los procesos ejecutados.

Ejecución de los Procesos
Se lleva a cabo a través de un motor capaz de instrumentar los procesos definidos. Está compuesto de varios módulos que pueden describirse de la siguiente forma:

    • Un orquestador de los procesos que controla la ejecución de las actividades.
    • Integración con motores de reglas para la ejecución de reglas de negocio.
    • Interprete de los flujos definidos con las herramientas de diseño que permite su ejecución.
    • Módulo de integración de aplicaciones generalmente vía servicios web, aunque puedan existir otros como jdbc, correo electrónico, etcétera.
    • Integración con la seguridad vía LDAP.
    • Registro de los datos generados durante la ejecución de las actividades en una base de datos para su análisis posterior.
    • Basado en estándares como XML, SOAP, XPDL, BPEL, etcétera.
    • Cuentan con la construcción de las interfases de gráficas, que permiten la interacción con los usuarios.

Vista Única de Información
En esta parte, las arquitecturas SOA resuelven la necesidad de las empresas por obtener los datos de objetos de negocio, bajo una presentación consolidada con un enfoque también de negocio; independiente del modelo de datos donde se encuentre la información. Actualmente, la información de objetos de negocio, se encuentra dispersa en varios sistemas, por ejemplo, los datos de un cliente pueden estar repartidos en varios sistemas, con puntos de vista diferentes, y diferentes tipos de datos; sin embargo, sus consumidores la requieren unificada, mediante una sola vista.

La vista única, se resuelve por medio de la creación de un modelo lógico de negocio, de la información desde el punto de vista del usuario, relacionado con los diferentes modelos físicos de cada una de las aplicaciones. Los modelos lógicos permiten describir la información en términos relevantes al usuario, y están disponibles, a través de servicios Web para su incorporación en portales, procesos de negocio, y otros consumidores de información.

Para el modelo físico, se elabora una taxonomía donde se relaciona cada uno de los los datos de los diferentes sistemas, con los términos del modelo lógico, esto quiere decir que, los datos originales pueden estar en un ERP, XML, RDBMS u otra fuente, y se presentan como un dato único. Para poder consolidar la información de las aplicaciones, se requiere elaborar la taxononomía de la información bajo un enfoque semántico, basada en los modelos lógicos y físicos de la información, y que permita crear un diccionario empresarial basado en la terminología de negocio. Estas herramientas se complementan con un orquestador de servicios, y adaptadores de las diferentes aplicaciones que se contruyen en línea; y se debe entregar al consumidor de la información.

Conclusiones
En la primera parte revisamos cómo se contruyen los cimientos de las arquitecturas SOA, mediante la integración de aplicaciones con servicos Web, sirviéndonos de un bus empresarial de servicios. Mientras que en esta segunda parte, examinamos una capa superior, que nos ayuda a utilizar la integración de aplicaciones con orientación SOA para la automatización de procesos y la creación de vistas únicas de información. Lo que permite a las organizaciones, por un lado, optimizar sus procesos, así como saber su funcionamiento a través del desempeño de sus procesos y lograr su optimización. Las organizaciones que logran el control de sus operaciones a través del conocimiento del desempeño de sus procesos, obtendrán mayor madurez, que se traducirá en beneficios de negocio.

Nota editorial:
Tomando en cuenta que SOA es un tema rico y extenso; y para darle seguimiento a nuestros dos últimos artículos. Espera la tercera parte de este artículo en la edición noviembre - diciembre de SG.

Acerca del autor
Gabriel Rolando Vázquez Pérez, tiene más de diez años de experiencia en Consultoría de la Tecnología de Información en ambientes multiplataformas. Actualmente es arquitecto de arquitecturas SOA y vocero de CrossVision. Se ha desempeñado en el área de consultoría y preventa en las industrias de telecomunicaciones, financiera, sector público, transporte y manufactura. Dentro de Software AG ha desempeñado varios cargos durante su trayectoria tanto a nivel nacional como internacional en las áreas de soporte técnico, preventa, consultoría de estrategia y negocio.