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.
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).