En muchas empresas la situación de sistemas se ha complicado al resolver cada necesidad con una aplicación específica, lo que les obliga a realizar integraciones punto a punto, que les ocasiona grandes costes, expertos en cada aplicación y confusión de organización.
Si añadimos los cambios de versiones de las aplicaciones, podemos pensar en las necesidades de modificaciones de dichas integraciones continuamente, haciendo el mantenimiento difícil y costoso.
Esta arquitectura de integración de aplicaciones uno a uno se le denomina Arquitectura Accidental y es Inflexible, Costosa y Difícil de Operar. Sus desventajas
• Alto coste de licencias, consultoría y propiedad
• Mucho control y problemas de organización
Una solución inicial la encontramos en XML para el intercambio de información entre aplicaciones. Dado que XML ofrece un protocolo aceptado y es autodescriptivo permitiendo un intercambio común entre plataformas heterogéneas ofreciendo la posibilidad al receptor de comprender la información sin conocer de antemano el formato del emisor.
Esto permite a los desarrolladores libertad para realizar cambios durante el curso de los proyectos. Haciendo que los sistemas sean más sencillos de construir en el comienzo y más acomodables a los cambios a largo plazo. El XML ayuda a reducir los costes eliminado los diferentes formatos fijos y permitiendo a un grupo mayor de desarrolladores participar en el proyecto de integración (no se requieren expertos por cada formato fijo).
Sin embargo, XML es sólo el principio, se desea simplificar la personalización de la lógica de integración que enlaza las diferentes aplicaciones mediante la creación de patrones complejos. Hay una importante complejidad asociada con la lógica de comunicación que es difícil de desarrollar, gestionar y ejecutar.
El problema reside en la dificultad de crear, probar y mantener tanto la lógica de comunicación como la lógica fragmentada del proceso. Y limita la capacidad de realizar cambios que vayan respondiendo a las necesidades del negocio. Además, dado que los elementos de lógica están fragmentados y controlados por diferentes equipos de cada aplicación, dificulta a las empresas la realización de cambios.
La solución al problema consiste en agrupar los fragmentos de la lógica de comunicación y del proceso en una capa de integración, capa que se denomina Enterprise Service Bus (ESB), que es una combinación de XML, Services Oriented Architecture (SOA), Tecnología Web Services y Mensajería.
Ahora el flujo de información entre aplicaciones será gestionado por el ESB. Y utilizando reglas de enrutamiento inteligente se podrá mover documentos mediante itinerarios definidos siguiendo unas rutas de pasos con diferentes controles.
El Enterprise Service Bus ofrece una plataforma de integración basada en estándares, que permite el intercambio sencillo de información mediante XML, una conexión de cualquier aplicación utilizando Servicios Web estándar, soporta la Integración “event-driven” e implementar Procesos de Negocio fáciles de definir y cambiar.
El uso de una plataforma Enterprise Service Bus en las iniciativas BPM va a permitir:
- INVOCAR servicios desde el motor de ejecución de procesos.
- INDEPENDIZAR al proceso de negocio de los formatos técnicos de las aplicaciones.
- TRANSFORMAR Y ENRIQUECER el flujo de información a lo largo del proceso.
- Realizar INVOCACIONES DINÁMICAS en tiempo de ejecución.
- GESTIONAR los eventos de negocio desde fuentes dispares para ser utilizados por el motor de procesos.
- FLEXIBILIDAD cambiando el proceso sin cambiar las aplicaciones y al revés.