8.13.2014

Windows Service Bus: Mejora del Mensaje

Una de las ventajas de los buses de servicio es que permiten mejorar los mensajes que pasan por el “middleware”. En los buses de integración como BizTalk Server se usan “mappers” los cuales a través de XSLT y otros elementos mejoran o convierten un mensaje. En el Windows Service Bus esto se logra a través de los tópicos y las acciones a partir de cada subscripción al tópico. En este post vamos a ver como mejorar un mensaje que ingresa al service bus usando un tópico.

Creación del Tópico

Lo primero que vamos a hacer es crear un tópico y agregarle 3 subscripciones tal y como se ve en la siguiente figura.

SNAGHTML2ea4d48

El primer tópico recibe todos los mensajes y por lo tanto no tiene ningún filtro especial ni ninguna acción especial sobre el mensaje.

SNAGHTML2f0e584

El segundo tópico si tiene un filtro particular y una acción para ese filtro. En este filtro vamos a recibir los mensajes que tengan en la propiedad país el código ´CRC´de Costa Rica y cuando el filtro se cumpla vamos a establecer la propiedad del mensaje código con el numero 506.

image

Algo similar llevaremos a cabo con el siguiente filtro, en el cual vamos a filtrar los mensajes con código de país PTY de Panamá y vamos a establecer el código con el numero 507.

image

Código de envío y recibo del mensaje

Ahora procedemos a enviar los mensajes a la cola del bus de servicios. Para esto creamos un nuevo mensaje y le agregamos el país y el código que luego se modificara se inicializa con el valor 0.

image

El siguiente paso es programar el recibo de mensajes de la subscripción donde llegan todos los mensajes y no tiene acción.

image

Ahora procedemos a programar el recibo de mensajes desde la subscripción con un filtro de código de país = a ‘CRC’.

image

Por ultimo, programamos el recibo de los mensajes que llegan a la subscripción de PTY.

image

El código del método desplegar mensaje es el siguiente:

image

Si ejecutamos la forma anterior, podemos ver que los mensajes se reciben de acuerdo a su destino y que el código de país se modifica como corresponde en la acción asociada al filtro.

image

Etiquetas de Technorati:

No hay comentarios: