Nuevo Requerimiento – MDBs

La compañía ha decidido, como estrategia de venta, definir promociones para cada tipo de mueble (interior o exterior), las promociones son de tipo 2 X 1. Para cada promoción se debe definir una fecha de inicio y una fecha de finalización.

Por ejemplo:

 Por cada mueble reclinable en plástico de tipo exterior se entregarán 
 dos muebles reclinables en plástico.

En la mayoría de compañías, las áreas de VentasMercadeo y CallCenter, necesitan estar al tanto de cualquier promoción que sea definida. Por lo anterior, cada vez que se defina una promoción se debe enviar una notificación a las aplicaciones de cada una de estas áreas (supongamos que existe una aplicación para Ventas, una para Mercadeo y una para el CallCenter).

Para el envío de mensajes se debe adoptar el modelo de mensajería Publicador/Suscriptor. Para la solución del presente requerimiento debe tener en cuenta los siguientes puntos (para mayor claridad ver imagen):

  • Cada vez que se defina una promoción en la GUI, se debe publicar un mensaje con la información de dicha promoción. Para esto debe crear una página Web que permita ingresar una nueva promoción sobre un producto particular.
  • Definir los MDBs que recibirán los mensajes con la información de las promociones de manera asíncrona. Cada MDB debe:
    1. Procesar el mensaje.
    2. Localizar su respectiva aplicación (Ventas, Mercadeo o CallCenter), cada una representada por un bean de sesión.
    3. Pasarle a la aplicación localizada, los datos correspondientes a la promoción recibida.
  • Cada aplicación debe generar un log con la siguiente información:
    • La aplicación de Ventas debe registrar la creación de una nueva promoción.
    • La aplicación de Mercadeo debe registrar la información del producto al cual se le aplicó la promoción.
    • La aplicación de Callcenter debe registrar la información de la duración de la promoción y del producto al cual se le aplicó la promoción.
  • Cada aplicación registra su información en un log que tiene el siguiente formato: Nombre de Aplicación – Contenido del Mensaje

La siguiente imagen ilustra el flujo que se debe tener:

nuevoreq