ActiveMQ con Message Oriented Middleware

Publicado en

En un momento u otro, todas las empresas tienen la necesidad de que sus aplicaciones se puedan comunicar entre sí, extraer datos de una base de datos y transformarlos para integrarlos en otra base de datos o transferir información de un sistema a otro.A esto se le llama integración y solo es un capítulo de un tema más amplio que se llama SOA (Service Oriented Architecture). Hay muchas soluciones al problema pero, dependiendo de las restricciones y los requisitos, decidir cómo resolverlo se vuelve una tarea de alto impacto en el negocio. Hay muchos costos involucrados, desde la inversión en software hasta la protocolización del intercambio de información hasta la homogenización de la misma. Lo más importante es tener una estrategia de integración de acuerdo a su presupuesto.

Componentes de la integración

La integración requiere de dos cosas importantes, la primera es el medio de transporte por el cual viaja toda la información (debe proporcionar alta disponibilidad, escalabilidad, confiabilidad y seguridad) y el segundo la manera en que se arma la información para minimizar riesgos y errores (la forma en que se programa la transmisión).

El medio de transmisión

Se ha comprobado que la manera más eficiente de intercambiar información es utilizando un método o tecnología de comunicación que se llama MESSAGING o, MENSAJERÍA. En el campo de la integración la mayoría usa una implementación de JMS (Java Messaging System). Para que esto funcione es importante que exista un medio de comunicación que administra el envío y recepción de mensajes llamado MOM (Message Oriented Middleware). También conocido como BROKER.

Los integrantes o participantes de la información

En el manejo de la información existen dos entidades involucradas, la primera es el productor (el que genera la información y la envía) y la segunda es el consumidor (el que hace uso de la información o destinatario final). Ver Figura 1.

Figura 1. Los integrantes de la información

Comunicación entre clientes y MOMS

El rol principal de un MOM es el de proporcionar una infraestructura de comunicación para clientes y para este efecto proporciona conectores que son un mecanismo que permite la comunicación entre el cliente y el MOM usando conectores de transporte y entre MOMS usando conectores de redes. ActiveMQ permite a aplicaciones cliente conectarse utilizando una variedad de protocolos como: HTTP/S, Multicast, SSl, STOMP, TCP, UDP, XMPP entre otros.

También permite la creación de canales de comunicación que dan paso a la implementación de redes complejas de MOMS.

Lenguajes de programación usados para transmitir la información

La información se transmite vía mensajes que pueden ser armados en varios lenguajes de programación como Java, .NET, C y C++ entre otros.

Un escenario de integración

Se tienen dos aplicaciones funcionando en el negocio, la primera es un sistema de ventas residente en un servidor Windows que usa base de datos A y la segunda es un sistema de contabilidad residente en una mainframe con AIX al cual se le hizo una inversión muy fuerte usando base de datos B. La solicitud es que se implemente un sistema de toma de decisiones que estará disponible a nivel nacional para consulta de los ejecutivos. Éste permitirá saber lo que se ha vendido, quién ha comprado más, los tiempos de compra, el tiempo del proceso de compra, así como los productos que más compran y quién es el cliente más importante. Debemos integrar las aplicaciones generando la base de datos C con la información para consultas inmediatas.

Espero haya dejado claro el concepto de integración en sus bases elementales, el ejemplo anterior es un problema típico a resolver mediante integración.

Bio

Jorge Alberto Rojas Ponce es Principal Latin America en Xcellat Consulting Inc, una firma de consultoría especializada en integración y desarrollo de software basada en Katy, Texas y oficinas próximas en la ciudad de México. Su principal motor en la integración es proporcionar al cliente consultorías y cursos abiertos utilizando tecnologías de open source. arojas@xcellat.com