Curso de dbExpress e DataSnap

Parte XXIV – COM+ e DataSnap

Nesta parte do curso, veremos como utilizar DataSnap integrado ao COM+, a solução mais indicada para a construção de aplicações de BD multicamadas.

DataSnap no MTS/COM+

No Delphi 7, clique em File|New|Other. No Objetct Repository, na guia MultiTier, clique sobre Transactional Data Module.

 

 image001.png

Figura. Cliente para um servidor COM+

Digite “RDM” para o nome da Co-Class e deixe as demais opções como padrão. Salve o projeto como “AppServerCOMPlus.dpr”. Configure o DataModule usando os mesmos componentes do exemplo anterior, como mostrado a seguir:

 

 image003.png

Figura. Conectando ao Interbase a partir do Remote DataModule

Clique em Project|Build AppServerComPlus.

Serviços de Componentes - Instalando o objeto COM+

Ao invés de utilizaremos a IDE do Delphi para instalar o objeto agora vamos usar o Serviços de Componente. Clique em Iniciar|Painel de Controle|Ferramentas Administrativas|Serviços de Componente. Expanda o item Serviços de componente e clique de direita sobre Aplicativos COM+.

 

image005.png 

Figura. Criando um novo aplicativo no COM+

Na janela que aparece clique em Next. Depois clique em Criar um aplicativo vazio.

 

image007.png 

Figura. Criando um novo aplicativo no COM+

Dê o nome de “AppServerCOMPlus” ao aplicativo. Depois clique em Avançar e Concluir. Expanda o novo aplicativo criado e dê um clique de direita em Componentss, e escolha Novo Componente. Clique em Avançar e depois escolha Instalar novo(s) componente(s).

 

image009.png 

Figura. Instalando um componente no aplicativo no COM+

Localize a DLL da aplicação servidora criada anteriormente no Delphi (AppServerComPlus.dll). Clique em Avançar e Concluir.

Veja na figura a seguir nosso componente instalado no catálogo do COM+.

 

image011.png 

Figura. Componente instalado no COM+

Thin-Client para o servidor COM+

Agora usaremos o mesmo cliente construído para o servidor DCOM construído anteriormente, chamado DataSnap Client. Após abrir o projeto vá até o DM e adicione um segundo DCOMConnection, dando a ele o nome de “MTSConnection”.

Altere sua propriedade ServerName para apontar para o novo servidor COM+. Defina o RemoteServer do ClientDataSet como MTSConnection. Reconecte o ClientDataSet.

 

image013.png image015.png

Figura. Configurando o ServerName do DCOMConnection

Desligando e Iniciando pacotes

Para retirar a DLL da memória do servidor e parar um pacote, basta que você dê um clique de direita na aplicação e escolha Desligar. Para reiniciar escolha a opção Reiniciar. Lembre-se que o COM+ é Just-In-Time Activation, logo o pacote será carregado assim que um cliente instanciar um objeto. Se você escolher a opção Desativar, então o pacote não será carregado automaticamente a menos que alguém o inicie.

 

image017.png 

Figura. Desligando e reiniciando um pacote COM+

Download

Você pode fazer download de todos os exemplos deste curso a partir do endereço http://cc.borland.com/Author.aspx?ID=222668. É preciso fazer o cadastro na BDN, que é gratuito e pode ser feito a partir do endereço http://bdn.borland.com

 

dbExpress, DataSnap e ClientDataSet: Técnicas Avançadas

Para mais informações sobre acesso a dados no Delphi e técnicas avançadas, sugiro a leitura do meu livro, “Delphi: Programação para Banco de Dados e Web”, como apoio para o aprendizado das tecnologias. Na obra mostro várias técnicas introdutórios e avançadas de desenvolvimento com ClientDataSet, dbExpress e DataSnap (multicamadas, incluindo SOAP e COM+). Para mais informações, consulte o link http://www.clubedelphi.net/guinther

Leia todos artigos da série