11.17.2012

Un Bus de Servicios en Windows – Parte 1

Uno de los términos más de moda en este tiempo es el bus de servicios. Gracias al impulso que la arquitectura orientada a servicios le ha dado, es normal ver que las empresas tengan un bus de servicios implementado, estén implementado uno, o en este momento estén pensando o en el proceso de adquirir un bus de servicios.

Durante mucho tiempo, en el mundo de Windows, hemos carecido de un bus de servicios por parte de Microsoft y lo único que hemos tenido al alcance es el Bus de Integración de Biztalk Server – que es algo parecido { pero diferente, al menos con objetivos diferentes}.

Windows Service Bus

Pero la espera ha terminado. En días pasados, se liberó el Windows Service Bus 1.0. ¿Y qué es el Windows Service Bus? Como lo dice su documentación en el msdn, es un conjunto de componentes que proveen las capacidades de “messaging” del bus de Windows Azure pero sobre Windows – on premises. Este bus, nos va a permitir crear y ejecutar aplicaciones desacopladas y basadas en mensajes ( Definición típica de un bus de servicios Smile ).

Características de Messaging del Windows Service Bus

El Windows Service Bus  soporta el mismo conjunto de caracterísitcas del Azure Service Bus; lo que quiere decir que nos ofrece almacenamiento confiable de mensajes y obtención de mensajes desde el bus a través de varios protocolos y  APIs. Para llevar a cabo estas tareas, nos ofrece dos formas para interactuar con el mismo: Service Bus Queues y Service Bus Topics.

Service Bus Queues

Las colas del bus de servicio nos permiten crear aplicaciones en donde se le permite al recibidor del mensaje procesarlo a su propio ritmo.  Además, nos permiten tener balanceo de cargas al poder tener múltiples procesadores que aceptan el mensaje desde la misma cola. Existen muchos escenarios en donde se pueden utilizar este tipo de esquemas a través de colas de mensajes, pero quizás el más popular es el caso del “check out” del carrito de compras de Amazon, el cual por escalabilidad esta implementado utilizando un esquema de colas.

Service Bus Topics

Este es un esquema pub/sub – publicador /sucriptor – que nos permite que muchos suscriptores – y de forma concurrente – puedan de forma independiente obtener una copia de un mensaje. Este escenario es muy común en los buses de integración, en donde un mismo mensaje puede activar muchos componentes del bus, tales como adaptadores, orquestaciones o mapeos. Igualmente se da en escenarios donde un mismo mensaje esta obligado a tomar dos caminos diferentes a la vez para su respectivo procesamiento.

Technorati Tags:

6 comentarios:

Unknown dijo...

Estimados, con respecto al desarrollo con el nuevo bus de servicios de windows, tengo una consulta:

Intento integrar un servicio WCF en modo consola y el service Bus, pero al tratar de ejecutar el servicio, reclama esta direccioón sb://[ServiceBus Namespace].servicebus.windows.net entiendo que, todo esta pensado para hacerlo en la nube.. ahora como logro hacerlo funcionar con mi service bus que tengo instalado en windows 7.

Gracias.

Luis D. Rojas dijo...

Hola Oscar, estoy trabajando en post sub siguientes acerca del windows service bus, sin embargo, te dejo un link de la documentación del mismo para que puedas ver con detalle como poner mensajes en el bus, y como suscribirte al mismo para su respectivo consumo.
Modify the User Credentials, URI creation, and NamespaceManager
http://msdn.microsoft.com/en-us/library/windowsazure/jj218337(v=azure.10).aspx

Unknown dijo...

Gracias Diego..

es posible hacerte 2 preguntas.

1° Programar En servicie Bus solo está pensado para hacerlo en la Nube, si es así, el que se pueda instalar service bus 1.0 en un servidor propio es solo para pruebas, mejor no pensar en poner en producción un servicebus en un servidor propio…

2° Es posible registrar en servicio WCF en mi Service Bus que se encuentra instalado en mi Equipo.

Esto pensando dado que no todos tenemos cuenta en Windows azure...

Gracias Diego

Luis D. Rojas dijo...

Respondiendo a tu pregunta. El service bus se puede poner en producción on premises también, no solo en la nube. Y los servicios WCF pueden residir en el Service bus. No es necesario tener cuenta en azure

Saludos

Unknown dijo...
Este comentario ha sido eliminado por el autor.
Unknown dijo...

Hola Diego.

Hola Diego, gracias por contestar mis preguntas.

Es posible tengas un ejemplo con Service Bus Windows Server y WCF usando netTcpRelayBinding.

Gracias Diego