Aplicativos Multicamadas – Parte II

Chamando métodos personalizados no servidor DataSnap

Veremos neste artigo como desenvolver métodos personalizados em um servidor DataSnap, e de como utilizá-lo em nossas aplicações multicamadas no Delphi. Neste artigo, partimos do pressuposto de que o usuário saiba criar uma aplicação DataSnap comum.

O Servidor Datasnap

Diversas vezes, quando desenvolvemos aplicativos no modelo DataSnap, sentimos a necessidade de chamar métodos personalizados no servidor. Estes métodos personalizados podem ser facilmente implementados na aplicação servidora. Sabendo-se que, um servidor DataSnap, tecnicamente, é uma biblioteca COM que contem um módulo de dados, podemos utilizar o editor de bibliotecas de tipos do Delphi e modificá-la como qualquer interface COM normal.

Escrevendo um novo método

No Delphi 7, crie um servidor DataSnap comum. Selecione a opção Type Library, no menu View. No editor de de bibliotecas de tipos, selecione a interface do servidor e adicione (Figura 1) um novo método clicando no botão "Method" do editor.

 typelibrary.JPG

Figura 1. Adicionando um método (MetodoX) a interface COM.

Após ter adicionado o método a interface do servidor, clique o botão "Refresh" da janela do editor. Observe que a unidade que implementa o objeto COM foi atualizada e que contem a declaração do novo método. Implemente o seguinte código no procedimento:

 

...

procedure TExemploClubeDelphi.MetodoX;

begin

 if not SQLConnection1.Connected then

  SQLConnection1.Connected := true;

end;

...

 

Este método faz um teste muito simples, verifica se a conexão de um componente SqlConnection no servidor está ativa e abre a conexão se necessário. Esta abordagem serve apenas como um exemplo já que não faria sentido este teste numa aplicação real, se levarmos em consideração a presença de um DataSetProvider no modulo, o qual (ao ser requisitado), ativaria a conexão.

Nota: Os métodos a serem adicionados na interface COM do nosso servidor, podem receber e/ou retornar parâmetros (específicos do COM). Estas configurações do método são definidas na página "Parameters" do Type Library Editor.

O próximo passo é instalar o servidor no catálogo do COM+. Após a instalação do componente, podemos ver o método MetodoX listado na janela abaixo (Figura 2).

complus.JPG 

Figura 2. Tela do gerenciador do COM+, exibindo o método que adicionamos à interface do servidor DataSnap.

Chamando o método

A criação de um cliente para o nosso exemplo é certamente a parte mais fácil de todo o artigo. Ainda no Delphi, crie uma aplicação cliente DataSnap comum, e escolha o servidor criado anteriormente. Para chamar o método personalizado utilize o seguinte código:

 

...

procedure TFrmCliente.BtnTeste1Click(Sender: TObject);

begin

 DCOMConnection1.AppServer.MetodoX;

end;

...

 

Obs: No código anterior, acessamos os métodos do aplicativo servidor através do objeto AppServer.

Conclusão

Vimos neste artigo como implementar métodos personalizados no servidor DataSnap e como chamá-los na aplicação cliente.

Os conhecimentos de como implementar métodos personalizados é muito útil em nossas aplicações. Além disso, podemos também implementar métodos que serão chamados pelo servidor no cliente, tema do próximo artigo desta série. Para maiores informações examine o help do Delphi e não perca o s artigos do ClubeDelphi.