Esse artigo faz parte da revista Clube Delphi edição 40. Clique aqui para ler todos os artigos desta edição



Atenção: por essa edição ser muito antiga não há arquivo PDF para download. Os artigos dessa edição estão disponíveis somente através do formato HTML. 

COM+ e MSMQ

Escalabilidade com chamadas assíncronas

A tecnologia COM (Component Object Model) da Microsoft  serve de base para muitas outras tecnologias, como OLE e ActiveX. No Windows 2000/XP o COM é a base do COM+, que integra serviços como o MTS (Microsoft Transaction Server) e o MSMQ (Microsoft Message Queuing – Serviço de Enfileiramento de Mensagens). Este último será o assunto deste artigo.

Vamos analisar dois cenários em que o enfileiramento de mensagens se aplica:

Cenário 1 – Sua aplicação realiza um processamento pesado no banco de dados durante a chamada de um procedimento remoto. Se for necessário um longo tempo de execução, sua aplicação vai "travar" durante a operação. No entanto, muitas vezes a aplicação não precisa ficar esperando pelo final do processamento.

Cenário 2 – Sua aplicação precisa obter referências e chamar métodos de objetos COM/COM+ remotos. Se o servidor onde esses objetos estão hospedados não estiver disponível, as chamadas falharão.

No primeiro cenário, precisamos de uma chamada assíncrona, na qual a aplicação chamadora não espera pela conclusão do processamento. No segundo, precisamos de um processo parecido com o que temos no DataSnap/MIDAS: trabalhar desconectados da aplicação servidora e, quando esta estiver disponível novamente, executar a atualização dos dados. Usando o MSMQ integrado ao COM+ podemos facilmente lidar com esses dois cenários.

Neste artigo, veremos como criar um objeto COM+ no Delphi usando recursos do MSMQ, como fazer a conexão através de uma aplicação cliente e a forma de passar parâmetros para inicialização da fila do MSMQ. Para construir o exemplo você vai precisar do Windows 2000 ou XP. Pode ser necessário instalar o MSMQ (ele não é instalado como padrão no Windows). Para isso, acesse Painel de Controle>Adicionar Remover Programas>Adicionar/Remover componentes do Windows e marque a opção Serviço de enfileiramento de mensagens.

Criação do objeto COM+

...

Quer ler esse conteúdo completo? Tenha acesso completo