Funcionamiento Interno de IBM MQ y Componentes EJB

Informática4,82 KB

Funcionamiento Interno de IBM MQ

Cuando una aplicación desea colocar un mensaje en una cola, invoca una API MQPUT.

  • El queue manager verifica si la cola indicada es local o remota.
  • Si la cola es remota, el mensaje se coloca en una cola de transmisión. El queue manager agrega información al encabezado del mensaje, como el nombre de la cola y el queue manager de destino.
  • La transmisión se realiza a través de canales. Los canales pueden iniciarse manual o automáticamente.

Inicio Automático de Canales

Para iniciar un canal automáticamente, la cola de transmisión debe estar asociada a una channel initiation queue. Esta cola es monitoreada por un channel initiator.

  • El channel initiator es un programa MQSeries que debe estar en ejecución. Cuando el channel initiator detecta un mensaje en la cola de transmisión, inicia un message channel agent (MCA).
  • El MCA mueve el mensaje a través de la red hacia la otra máquina.

Procesamiento de Mensajes de Entrada

El programa que procesa el mensaje de entrada puede iniciarse manual o automáticamente.

  • Para iniciar el programa automáticamente, se debe asociar una cola de iniciación y un proceso a la cola local, y un trigger monitor debe estar en ejecución.
  • Cuando el programa se inicia automáticamente, el MCA coloca el mensaje entrante en la cola local y el mensaje de trigger en la cola de iniciación.
  • La cola es monitoreada por un trigger monitor. Este trigger monitor invoca el programa receptor.
  • El programa receptor utiliza la API MQGET para recuperar el mensaje desde la cola local.

Comunicación entre Queue Managers

Para conectar dos queue managers, en cada sistema es necesario:

  • Una definición de una cola remota, que represente una cola local en la máquina destino y que asocie una cola de transmisión (Q1 en sistema A y Q2 en sistema B).
  • Una cola de transmisión que mantenga todos los mensajes destinados al sistema remoto hasta que el canal los transmita (QMB en sistema A y QMA en sistema B).
  • Un canal sender que tome los mensajes desde la cola de transmisión y los transmita al otro sistema a través de la red (QMA.QMB en sistema A y QMB.QMA en sistema B).
  • Un canal receptor que reciba mensajes y los coloque en una cola local (QMB.QMA en sistema A y QMA.QMB en sistema B). El canal receptor debe ser iniciado automáticamente por el queue manager (uso de Channel Auto Definition).
  • Una cola local desde la cual el programa obtiene los mensajes (Q2 en sistema A y Q1 en sistema B).

Uso de Triggers

Hay dos tipos de trigger:

  • EVERY: Cada vez que llega un mensaje a una cola, se ejecuta el programa.
  • FIRST: El trigger se activa solo si, cuando llega un mensaje, la cola está vacía.
  • N Messages: Un mensaje de trigger se coloca en la cola de iniciación cuando hay N mensajes en la cola.

MQI

Un programa puede comunicarse directamente con su queue manager local. El programa usa una interfaz MQI.

  • MQI es un conjunto de API's que permiten ejecutar servicios en un queue manager.
  • Existe una API MQI para cada lenguaje de programación o plataforma: C, COBOL, Java.

Enterprise Java Beans (EJB)

Un Enterprise Bean es un componente que contiene la lógica de negocio del sistema.

  • Los EJB permiten la invocación de lógica de negocio de forma remota, en un ambiente distribuido.
  • Un componente EJB puede ser reutilizado desde otras aplicaciones J2EE.

Tipos de EJB

Session Beans

  • Implementan lógica de negocio.
  • Soportan un modelo de comunicación síncrona.

Entity Beans

  • Implementan la capa de persistencia.
  • Representan un modelo de datos contra un modelo de objetos.

Message Driven Beans

  • Implementan lógica de negocio.
  • Soportan un modelo de comunicación asíncrona.

Session Bean

Implementa la lógica de negocio de una aplicación.

  • Es una clase Java tratada de manera especial por el servidor de aplicaciones:
    • Transaccionalidad
    • Ciclo de vida
    • Seguridad
    • Invocación remota

Tipos de Session Bean

Stateless
  • No guardan estado de la comunicación con el cliente.
Stateful
  • Almacenan el estado de la comunicación con el cliente.
  • Pueden guardar objetos en la sesión.

Ciclo de Vida

Stateful y Stateless

Descargar

PDF Word HTML