O Microsft Message Queue Server (MSMQ) é o Serviço de enfileiramento de mensagens da Microsoft. É um aplicativo que já vem embutido em algumas versões do Windows (2000, XP, 2003, Vista) basta que você instale. Não é necessário pagar a mais por ele.

Com o MSMQ você pode fazer suas aplicações se comunicarem por meio de mensagens. Para um melhor aproveitamento do artigo vou explicar o conceito de comunicação síncrona e assíncrona.

A comunicação síncrona acontece quando o seu aplicativo envia uma requisição e necessariamente precisa esperar a resposta dessa requisição para continuar o processamento. A comunicação assíncrona acontece quando o seu aplicativo envia uma requisição e continua a executar independentemente da resposta.

O aplicativo de Auditoria que construiremos funcionará de forma assíncrona, garantido desempenho para uma aplicação Web, por exemplo. O site vai enviar uma mensagem de log para o MSMQ através de um componente de comunicação. Dessa maneira a aplicação Web não se preocupará com o que vai acontecer com a mensagem de Log, garantindo desempenho para o site. A aplicação Windows vai ler as mensagem do MSMQ (através do componente) e mostrar a mensagem em um TextBox.

O exemplo é bem simples, o importante é a idéia. Poderíamos também desenvolver um Windows Service para ler as mensagem do MSMQ e gravar no banco de dados ou avisar algum usuário que uma funcionalidade específica foi acessada.

Nossa aplicação

Veja na Figura 1 o esboço da aplicação. Ela será composta por três projetos:

  • Um Web que enviará a mensagem de log para o MSMQ;
  • Um Class Library que fará a comunicação com o MSMQ;
  • Um Windows Application para ler o MSMQ e apresentar em um TextBox.
Esboço da aplicação de exemplo
Figura 1. Esboço da aplicação de exemplo

Instalando o MSMQ

Para instalar o MSMQ basta acessar Iniciar>Painel de Controle>Adicionar ou Remover programas. Escolha a opção Adicionar/Remover componentes do Windows. Marque Serviço de enfileiramento de mensagens e clique em Avançar (Figura 2).

Instalando o MSMQ ...
Quer ler esse conteúdo completo? Tenha acesso completo