Arquitectura MOM (Message-Oriented Middleware) basada en el portafolio de servidores de aplicación Oracle

Por Esahu Alfonso Pérez Morales
Publicado en mayo de 2011

Introducción
Hoy en día se tiene la necesidad de implementar arquitecturas de software que brinden la integración de las plataformas heterogéneas de tecnología, dadas las constantes necesidades  de cambio, muy particulares a cada industria.

Dicha área de la integración de sistemas de cómputo se denomina Middleware, el cual puede ser clasificado en tres grandes categorías:

  • Remote Procedure Call – RPC middleware. Permite hacer el llamado de procedimientos remotos como si fuesen locales.
  • Object Request Broker – ORP middleware. Capaz de distribuir y compartir los objetos de una aplicación a través de redes heterogéneas.
  • Message-Oriented Middleware – MOM middleware. Permite a aplicaciones distribuidas comunicar e intercambiar información a través del envío y recepción de mensajes.

La categoría que le compete a este documento es la tercera Message-Oriented Middleware, donde por definición de la arquitectura, este tipo paradigmas está orientado a la integración de sistemas distribuidos en donde un esquema asíncrono de comunicación sea el tipo de conversación que rige el marco de trabajo.

Caso de negocio

Esquema alto nivel de caso de negocio

Figura 1.0 Esquema alto nivel de caso de negocio.

Teniendo en consideración un esquema de comunicación asíncrono y un escenario de trabajo donde se requiera integrar plataformas distribuidas, se abordará un caso de negocio que posee las características que a continuación se describen.

El caso de negocio está regido por la infraestructura distribuida de una compañía que tiene la necesidad de enviar información desde un punto central a su red de sucursales. Como se puede observar en la figura 1.0, la solución tendrá dos ambientes, el ambiente centralizado y el ambiente de distribuido, el cual será replicado en cada una de las sucursales.

Las características de los dos ambientes son las siguientes:

  • Ambiente centralizo. Soportará la transnacionalidad de todas las sucursales, por lo que deberá de poseer características sobre una arquitectura MOM, tanto de alta disponibilidad, como de balanceo de cargas de trabajo.
  • Ambiente distribuido. Deberá de ser un ambiente ligero, en donde se coloque solo la aplicación que hará uso de  la arquitectura MOM, de manera distribuida.

Solución propuesta

El presente estudio propone el uso del portafolio de servidores de aplicación Oracle, el cual esta conformado por:

  • Oracle WebLogic Server
  • Oracle GlassFish

para la construcción de una arquitectura MOM, dado que se poseen los elementos, y características necesarias y suficientes para poder construir una infraestructura de acuerdo a las necesidades del caso de negocio.

 

0 Arquitectura MOM basada en el portafolio de servidores de aplicación Oracle

Figura 2.0 Arquitectura MOM basada en el portafolio de servidores de aplicación Oracle.

La propuesta de tecnología se orienta a los dos ambientes que se pretenden posicionar, como se puede observar en la figura 2.0.

Ambiente remoto o distribuido. Dado el hecho que en una sucursal se requiere unicamente la funcionalidad de un servidor de aplicaciones en modo stand alone, se utilizará Oracle GlassFish.

Así mismo, el servicio de Oracle GlassFish a través del cual se implementa la especificación JMS  de Java, es OpenMQ; sobre el cual se depositarán los mensajes de la información que se genere en la sucursal y que deban de ser transmitidos hacia la infraestructura centralizada.

Ambiente centralizado. El ambiente centralizado, será un ambiente multi capas, capaz de manejar balanceo de cargas y alta disponibilidad sobre las transacciones que atiende.

A través de una arquitectura multicapas se distribuye el procesamiento sobre cada uno de los niveles, en donde el primer nivel tiene como finalidad filtrar las peticiones del protocolo http, a través de la capa de WebTier.

El segundo nivel realiza el procesamiento de las aplicaciones JEE, a través de los servidores de aplicación Oracle WebLogic. Oracle WebLogic Server es el servidor de aplicaciones estratégico de Oracle para la plataforma de Fusion Middleware.

En el tercer nivel se colocó Oracle GlassFish como manejador de colas de mensajes para atender las transacciones provenientes de los ambientes distribuidos.

Como se puede observar en cada uno de los niveles se replica la funcionalidad para permitir el balanceo de cargas y la alta disponibilidad, teniendo así un es que redundante desde la capa Web hasta la capa de motor de colas de mensajes.

Finalmente la funcionalidad que nos permite realizar la integración entre ambientes distribuidos, es el Bridge Service de Oracle MQ, a través del JMS Bridge Service. El cual posee las siguientes características:

  • Compatible JMS 1.1
  • Soporta objetos administrativos por JNDI
  • Utiliza fabricas de conexión de tipo javax.jms.ConnectionFactory o javax.jms.XAConnectionFactory
  • Soporta interfaces XA como un administrador de recursos

Conclusión

A través del portafolio de servidores de aplicación de Oracle, es posible crear ambientes que se adapten a diferentes requerimientos de la industria, tanto de tipo tecnológico como de costos.

Finalmente cabe señalar que existen mejores prácticas sobre arquitectura de Middleware, que deben de ser estudiadas y analizadas de acuerdo al caso de negocio que se presente.

Referencias

Message Oriented Middleware (MOM) 
http://download.oracle.com/docs/cd/E18930_01/html/821-2443/aeraq.html

Oracle GlassFish Server Message Queue
http://download.oracle.com/docs/cd/E18930_01/html/821-2443/aerch.html#gjdnq




Publicado por Esahu Alfonso Pérez Morales (esahu.perez@oracle.com), SC - SOA & E2.0 Specialist. Se desempeña como Oracle Enterprise Accounts en Oracle México