Artigo Clube Delphi 70 - Delphi + Ajax.Net

Artigo da Revista Clube Delphi Edição 70.

Esse artigo faz parte da revista Clube Delphi Edição 70. 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 desta revista. os artigos disponíveis somente em doc.

 

Delphi + Aiax.NET

Otimizando o tráfego HTTP com chamadas assíncronas e
Callbacks em aplicações ASP.NET

Conforme já foi dito em outros artigos da ClubeDelphi, para desenvolver para Web é necessário quebrar paradigmas. Um deles é que um WebForm (ASP.NET) é limitado e não possui tantos recursos quanto um formulário tradicional (TForm da VCL). Ajax surge como uma opção para enriquecer as interfaces via Web e melhorar a usabilidade das páginas, deixando-as mais responsivas.

O funcionamento do protocolo HTTP é chamado de request/response, isto é, a cada ação do usuário (dique por ex.), uma requisição é enviada ao servidor e após uma espera, outra página HTML é devolvida ao browser (ou seja, há refresh total da página). Esse ciclo "dique, espera, atualiza página" é demorado, consome banda
e é pouco eficiente. E se pudéssemos atualizar apenas as partes da página onde de fato houve modificações? Ajax faz isso e também permite que o usuário continue interagindo com a página enquanto uma requisição paralela está em andamento.

Neste artigo veremos como são implementadas requisições síncronas e assíncronas usando a biblioteca Ajax. NET e como as páginas podem ser atualizadas sem efetuar postback (execução do método Submit do formulário da página).

Uma roupagem nova para tecnologias já conhecidas

O acrônimo Ajax significa Asynchronous Javascript + XML e consiste na combinação do objeto XmlHttpRequest com JavaScript e XML para envio e recebimento de informações sem a necessidade de se efetuar postback. Com ele é possível fazer requisições em background e atualizar a tela de modo transparente para o usuário, assemelhando-se a uma aplicação desktop.

O termo Ajax foi cunhado por Jesse James Garrett da empresa Adaptive Path (www.adaptivepath.com), mas o objeto XmlHttp Requestjá existia no Internet Explorer desde sua versão 5 como um componente ActiveX. Outros browsers já possuem uma implementação nativa desse objeto.

Ajax.Net

Ajax Net é uma biblioteca open source para .Net Framework que visa simplificar a programação com Ajax. Baixe-a no endereço: ajax.schwarz-interactive.de. No site existem duas versões: Ajax.Net e Ajax.Net Professional. Usaremos a primeira versão. Veja na Figura 1 a ilustração de uma solução Ajax.

No lado cliente uma função JavaScript cria um objeto XMLHTTP Request e faz uma

Requisição de dados ao servidor. No lado servidor um HttpHandler recebe a requisição, chama um dos métodos marcados com o atributo [AjaxMethodAttribute] e serializa o objeto de retorno usando JSON (JavaScript Object Notation). No cliente, a string JSON é transformada novamente em objeto, a função de callback é chamada e alguma parte da página é atualizada. Isso acontece de maneira transparente para o usuário.

Neste artigo, para ver como o Ajax funciona na prática, vamos criar uma aplicação simples com dois controles HtmlTextBox,onde iremos digitar no primeiro controle e uma descrição aparecerá no segundo.

Adicionando Ajax.dll ao projeto

No Delphi 2005 ou 2006 crie uma nova ASP.NET Web Apliication e salve-a como "DemoAjax" No Project Manager dê um dique de direita e escolha Add Reference (Figura 2). No editor, dique em Browse, localize o arquivo Ajax.dll e dique em OK. Adicione Ajax na cláusula uses da unit.

Editando o Web.Config

No Project Manager dê um duplo dique no arquivo " [...] continue lendo...

Artigos relacionados