Estaré elaborando una serie de entradas donde iré mostrando las principales funcionalidades vinculadas al ESB de WSO2 usando un ejemplo que se irá enriqueciendo poco a poco.
Imagínense que tienen una empresa dividida en dominios(finanzas, recursos humanos, comercial, etc) y que por políticas corporativas los servicios brindados por un dominio no pueden ser accedidos libremente desde otro dominio, mientras que en el mismo dominio si se puede hacer.
En un dominio A se ha implementado un servicio de acceso a datos usando el Application Server o el Data Service Server y este servicio puede ser accedido de forma insegura dentro del mismo dominio, pero si se desea acceder al servicio desde un dominio B resulta imposible pues se violaría una política corporativa de seguridad. El servicio de A tampoco se puede modificar para permitir el acceso desde B.
Una solución ya conocida es el uso de un ESB o Bus de Servicios Empresariales que incorpora facilidades como:
- Crear un servicio proxy que actué como un mecanismo de indirección entre el consumidor de un servicio y el servicio final.
- Incorporar al servicio proxy un mecanismo de seguridad que permita autenticar a los usuarios, determinar si tienen autorización de consumo del servicio final y guardar información de la petición para fines de auditoria.
- Realizar transformaciones del protocolo de transporte. Ej.: de SOAP a JMS para garantizar la entrega de los mensajes.
- Transparencia de ubicación para garantizar que el consumidor del servicio no necesite saber dónde está desplegado el servicio final.
- Enriquecimiento de mensajes para a partir de una sola petición obtener más información que la que se podría obtener originalmente si se consumiera directamente el servicio final.
- Transformación de mensajes para garantizar que ninguno de los extremos del intercambio de mensajes tengan que reajustar sus formatos en los esquemas de datos utilizados.
- ……
En este ejemplo en cuestión la solución consiste en poner un ESB que actúe como intermediario.
En otra entrada veremos cómo crear un servicio proxy en el ESB de WSO2.
Introducción al ESB de WSO2 a través de ejemplos prácticos. I