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.

 Cliente para um servidor COM+
Figura 1. 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:

Conectando ao Interbase a partir do Remote DataModule
Figura 2. 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+.

Criando um novo aplicativo no COM+
Figura 3. Criando um novo aplicativo no COM+

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

Criando um novo aplicativo no COM+
Figura 4. 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).

 Instalando um componente no aplicativo no COM+
Figura 5. 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+.

Componente instalado no COM+
Figura 6. 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.

Configurando o ServerName do DCOMConnection Configurando o ServerName do DCOMConnection
Figura 7. 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.

Configurando o ServerName do DCOMConnection
Figura 8. Configurando o ServerName do DCOMConnection

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

Leia todos artigos da série