Industrias Lucarella

Problema

La empresa está dividida en tres grupos : Frabricas, Depositos y Puntos de Venta (PDV en adelante). Las fabricas son donde se manufacturas los productos vendidos por la empresa; los Depositos sirven de almacenamiento intermedio y los Puntos de Venta son oficinas donde se venden los productos manufacturados. Cabe notar que si bien una Fabrica puede tener lugar para almacenamiento, desde del punto de vista del análisis se ve como una Fábrica más un Depósito por separado.

Las Fabricas trabajan a pedido, que son emitidos por los PDV. Cuando un cliente solicita un producto, el PDV emite una orden de compra y se lo envía a un Depósito. Este último, de tener en stock el producto pedido, envía un mensaje de confirmación de que el pedido está en tránsito (la logistica corre por cuenta de los empleados del Deposito). Si no lo tiene le envia un MSG avisando que lo manda a producir así no se queda esperando los dias que podria tardar en producir la fabrica.

Los PDV son subscriber de los depositos, quienes publican actualizaciones de stock periodicamente para que los PDV se mantengan actualizados. Cuando un PDV se une a la red (suscribe) se hace un pedido a todos los depositos para que manden sus respectivos stock.

En el caso de que el Deposito no cuenta con el stock para suplir la demanda, hace un pedido a una de las Fábricas disponibles. La lista es cargada en el sistema manualmente ya que se actualiza poco. El deposito seria un subscriber de los "eventos" que tira la Fabrica informando sobre su estado (cuanto esta produciendo), asi el Deposito sabe a donde le conviene mandar a producir. En principio la Fabrica publicaria su estado una vez por dia.

La Frábrica recibirá los pedidos de manufactura y se encargará producir el producto. Cuando esté listo, enviará un MSG al depósito informando que el pedido está camino, con la información que haga falta (TODO: Definir que significa "haga falta" :)

Se puede resumir los casos en el siguiente digrama de secuencia :

OPCIONAL:

* Los PDV tienen algo interesante para intercambiar? Lista de cliente tal vez (como hace pinturerias Rex por ejemplo)

* Entre fabricas me parece que no hay mucha utilidad que hablen entre si, o al menos no una razon obvia en este momento :)

El esquema actual de la empresa puede representarse en el siguiente grafico :

Lo que se tiene son :

* dos fabricas, una con un deposito en el edificio lindero

* dos puntos de ventas en diferentes cuidades.

* Plan de expasion para los proximos años

Esquema de comunicacion actual :

* Todas la mensajeria ser realiza por medio de email a travez de internet o FAX.

* No hay sincronizacion en los PDV de las bases de datos de los clientes (Si un cliente compra en dos sucursales diferentes, cada PDV carga los datos)

Sistema

Aca hay que ver, hay partes que pintan peer to peer (por ejemplo los pedidos) y otras Publisher-Suscriber (las actualizaciones de stock). De todos modos, es el sistema, y no joderia que tenga las dos modalidades.

Middleware

* Persistente-asincronico : Los pedidos deben llegar dentro de un lapso aceptable (a definir) de tiempo. Un pedido del PDV al Depositno no puede tardar 1 semana (por ejemplo). Si el MOM no puede entregar el mensaje (por ejemplo, fabrica caida o caido el enlace de la red publica), en cierto lapso de tiempo devuelve un mensaje de error al emisor.

* Tipos de Mensaje

-

-

-

Ref:

http://www.codeproject.com/soap/SOA_PublisherSubscriber.asp

http://citeseer.ist.psu.edu/rafanello94simple.html