Sua principal função é integrar aplicações ou suas camadas, ou de outras aplicações, de forma assíncrona através de Filas, Mensagens, Regras e Disparadores (também conhecidos como Triggers).
Um servidor robusto, tradicional e bastante confiável é o MSMQ da Microsoft, um Servidor de Enfileiramento de Mensagens que está sempre disponível para a instalação dentro de seus Sistemas Operacionais.
Neste artigo vamos focar mais na programação com o MSMQ e demonstrar ao leitor como criar Filas, Mensagens e interagir com elas enviando objetos e tratando-os.
Também mostraremos ao leitor como que o uso de Regras e Disparadores podem ser úteis nos processos de desenvolvimento e Regras de Negócio. Vamos criar um componente COM+, registrá-lo e mostrar como o MSMQ pode ativá-lo e como tiraremos proveito disto.
As aplicações empresariais atuais são desenvolvidas e modeladas em camadas e se comunicam com muitos outros sistemas dentro de uma mesma organização ou fora dela, como os Sistemas B2B (Business-to-Business) e B2C (Business-to-Customer).
Os usuários solicitam cada vez mais facilidades no uso, resposta rápida e aplicações cada vez mais sofisticadas que facilitem o seu trabalho, retornando mais tempo livre.
Uma integração confiável para processamento de informações gera um grande consumo de tempo, de design e desenvolvimento devido a sua complexidade.
O Servidor de Enfileiramento de Mensagens da Microsoft, ou MSMQ, facilita todo esse trabalho e garante a confiabilidade na entrega e no processamento das mensagens.
Muito do processamento interno em um sistema pode ser demorado e precisamos tornar o processo transparente para o usuário. Precisamos ter facilidade para armazenar mensagens e processos enquanto o usuário executa outras tarefas dentro do próprio sistema, sem interrupções.
Quando a mensagem é recebida e então processada, precisamos criar mecanismos de notificação para que o Sistema alerte o usuário sobre a ação ou grave em um Log.
Vamos exemplificar: um usuário compra algo no nosso site e usa seu cartão de crédito como forma de pagamento. Na vida real, verificamos se o cartão de crédito é válido (se não foi clonado, se o mesmo tem limite e etc.).
Outro passo do fluxo é o da operadora que aprova a compra ou não, e daí enviamos o produto ao cliente, atualizamos o nosso estoque e geramos pedidos para o Centro de Distribuição repor o item.
Algumas destas ações solicitadas, algumas executadas em tempo real e outras de forma assíncrona, precisam acontecer em um prazo extremamente confiável, não podendo onerar o cliente em nenhuma etapa desta cadeia, seja ele um problema técnico ou humano. A entrega e o processamento das mensagens evitam esta confusão caso sejam feitos de forma confiável.
O MSMQ não funciona como um Banco de Dados, mas sim como uma forma mais moderna de transporte de informações. Dizemos moderna por ter sido este sistema de mensageria o pioneiro e através dele surgiram novas tecnologias arquiteturais para a integração da informação assíncrona, como o SOA.
Mesmo com o advento de novos nomes para a mesma tecnologia, ainda hoje o MSMQ pode ser utilizado para receber e enviar mensagens ou de forma mais pragmática, como o uso de um componente COM+ que é ativado através de Disparadores e Regras de acordo com algumas configurações que veremos neste artigo.
A grande vantagem de um Sistema Servidor de Enfileiramento de Mensagens é justamente a sua capacidade de ser assíncrono, ou seja, funcionar independente de uma sequência de ações. Podemos enviar informações de locais diferentes sem que os sistemas estejam online.
Atualmente, a Google utiliza um sistema parecido que conhecemos como “Off Line”. Aplicativos como o Gmail, por exemplo, utilizam tal tecnologia para que o cliente possa continuar utilizando a aplicação caso haja algum problema de conexão e assim que os servidores ficam online novamente, o mesmo inicia a operação de sincronização.
No domínio do MSMQ, esta tecnologia de sincronização só funciona quando estamos interconectados entre vários servidores de mensageria que funcionam em forma de “Relay”, pois caso estejamos trabalhando com apenas um servidor e este ficar off line por algum motivo, ficaremos mesmo sem trabalhar com o servidor. Para a configuração de redundâncias e caches, existe muita informação disponível.
Como funciona o MSMQ
O MSMQ vem como parte de qualquer Windows, mas o foco deste artigo é no ...
Desbloqueie toda a DevMedia
-
+2000 artigos e vídeos
-
+40 trilhas sobre Front-end, Back-end, IA e muito mais
-
+5000 exercícios práticos
-
Mentorias ao vivo individuais