Message Queue no WAS


Há algum tempo eu mostrei publiquei aqui um artigo que demonstra como utilizar serviços WCF em conjunto com o Message Queue, que como sabemos, leva a confiabilidade dos serviços para um outro nível. Para efeito de testes, aquele exemplo usa uma aplicação Console para hospedar o serviço que faz uso do Message Queue.

Uma das opções de hosting que temos é o WAS (Windows Activation Service), que incorpora ao IIS funcionalidades extras, permitindo ao mesmo hospedar serviços que vão além do protocolo HTTP. Quando habilitamos o WAS, ele também fornece um listener para gerenciar serviços que são hospedados no IIS mas fazem uso do Message Queue. Esse serviço chamado de Net.Msmq Listener Adapter, é o responsável pela ativação do worker process que gerencia a execução dos serviços WCF hospedados no IIS.

O serviço de ativação nada mais é que um serviço Windows, que quando é inicializado, percorre todas as filas públicas e privadas que existem no computador, qual monitorará as mensagens que chegarem para elas, e quando uma mensagem chegar, irá entregá-la para o serviço WCF, que por sua vez, irá processá-la. Mas para que ele consiga lidar tranquilamente com o Message Queue, alguns cuidados precisam ser tomados.

O primeiro é com relação ao nome da fila. Para que o WAS consiga entregar as mensagens de forma transparente, é importante que o nome da fila tenha o mesmo nome do diretório virtual, incluindo o arquivo *.svc. Por exemplo, se temos um diretório virtual chamado Servicos e o serviço WCF nomeado como ServicoDePedidos.svc, então o nome da fila deverá ser Servicos/ServicoDePedidos.svc. Outro detalhe importante é que as filas do Message Queue também são protegidas por ACLs, o que nos obriga a fazer com que a conta definida no worker process (muitas vezes o Network Service) também tenha acesso à fila em questão.

Com essas configurações, já temos os serviços fazendo uso do Message Queue e, consequentemente, explorando todo o potencial das funcionalidades que o IIS e o AppFabric nos disponibiliza.

Anúncios

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s