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

BDP e .NET Remoting

Aplicações multicamadas com .NET no Delphi 2005

 

Com o lançamento do Delphi 2005, a Borland incluiu no BDP novos componentes que permitem a criação de aplicações distribuídas, usando o .NET Remoting e ADO.NET / BDP. lmagine isso como algo semelhante ao DataSnap, porém usando classes do .NET Framework.Neste artigo faremos um exemplo passo a passo

que mostrará como acessar objetos em um servidor de aplicação, usando os novos componentes da Borland,mostrando ainda como invocar procedimentos remotos usando .NETRemoting.

 

Nota: Consulte a edição 57 para uma introdução ao uso do BDP com .NET Remoting.Consulte as edições 44 e 45 para uma introdução ao uso do .NETRemoting com o Delphi for .NET.

 

Criando o banco de dados

Para o nosso exemplo, serão necessárias duas tabelas, uma para armazenar empresas e outra para armazenar os pedidos de cada empresa. A Listagem 1 mostra o script necessário para criar o banco de dados do exemplo (aqui estamos usando o Interbase). Para facilitar, o script já inclui alguns registros no BD, ajudando nos testes da aplicação.Você pode usar o IBConsole para criar o BD.

Declarando uma interface em um Assembly. Para que os métodos da aplicação servidora possam ser executados remotamente, é necessário que os mesmos sejam declarados em uma interface, implementada no servidor de aplicação e referenciada na aplicação cliente.

Essa interface será declarada em um package, que após compilado dará origem a um assembly .NET, que poderá ser utilizado tanto pela aplicação servidora quanto pela aplicação cliente.

Para isso, no Delphi 2005 crie um novo pacote (File INew > Other > Delphi for .NETProjects> Packages).Adicione uma nova unit (File|New> Other >New Files>Unit)e declare nela a interface mostrada na Listagem 2. Salve a unit como "untSharedlntf.pas" e o package como "Sharedlntf" em um diretório chamado Interface. Dê um Build no pacote.

 

Listagem1. Script de criação das tabelas e inserção de dados

CREATETABLE EMPRESAS (

EMP_ID INTEGER NOT NULL,

EMP_RAZAO VARCHAR (50),

EMP_TELEFONE VARCHAR(15));

 

CREATETABLE PEDIDOS (

PED_ID INTEGER NOT NULL,

PED_DATATIMESTAMP,

...

Quer ler esse conteúdo completo? Tenha acesso completo