Esse artigo faz parte da revista Clube Delphi edição 13. 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. Os artigos dessa edição estão disponíveis somente através do formato HTML.


XMLBROKER – Parte I

 

O Delphi5 é a versão que mais trouxe inovações para a construção de aplicações voltadas para Internet. Ainda não temos o estado da arte neste conceito de criação, mas, comparado aos seus concorrentes, o ambiente de desenvolvimento Web do Delphi é um dos melhores. O objeto WebDataModule dá ao programador uma visão global das ações executadas por um script, permitindo um gerenciamento muito mais organizado. Em outras tecnologias como o ASP ou o PERL, os scripts permanecem em arquivos separados ou misturados dentro do código HTML. Quando a quantidade de scripts de um aplicativo começa a crescer, a legibilidade acaba se tornando mais difícil.

A própria arquitetura do protocolo Web de hoje dificulta a criação da ferramenta ideal de produção. Adentrar no desenvolvimento de soluções para Internet exige plena desenvoltura em HTML, além de conhecimentos em alguma linguagem de scripts (JavaScript – eu recomendo! :-) e da própria ferramenta de produção server-sided. É muito difícil, no cenário atual, criar uma ferramenta que gerencie todas as etapas do desenvolvimento de sites profissionais. E por mais que se tente tornar o script servidor independente do layout de resultado, ainda é uma tarefa que exige muita habilidade do programador.

Essas questões se tornam cada vez mais importantes, pois as conhecidas preocupações encontradas no desenvolvimento de aplicativos começam a aparecer também no desenvolvimento de sites, uma vez que esses estão cada vez mais “softwares”. Essa tendência, que o mercado já denominou de ‘ASP’ (Application Server Providers), é indicada por muitos como o futuro do desenvolvimento. Os principais argumentos de quem defende a idéia são:

 

 

1)                         A manutenção do aplicativo se torna muito menos desgastante. Os custos de distribuição de uma nova versão, o controle e gerenciamento de usuários atualizados, praticamente não mais existem. Quem já desenvolveu softwares genéricos conhece o problema. Tem usuário que, com medo, não atualiza o aplicativo. E o que é pior, diz que o fez.  Na Internet isso não existe, pois uma vez que os scripts sofram upgrade, automaticamente todos os usuários farão uso da nova versão.

A Internet ainda traz a vantagem do cliente permanecer desconectado do servidor. Ou seja, em uma arquitetura client-server, atualizar o software no servidor ou modificar o banco pode significar o restarte de todas as aplicações clientes. Isto porque a aplicação permanece conectada fulltime com o server.

 

2)                         O aplicativo cliente pode rodar em qualquer plataforma, desde que esta possua uma versão atualizada de um navegador WEB.

 

3)                         Os custos com hardware diminuem, visto que o usuário precisará basicamente de uma boa conexão e um browser compatível.

 

 

O entusiasmo com o desenvolvimento para Web é t      ão grande que até a Microsoft já adotou de peito aberto essa filosofia – divulgando a sua tecnologia .NET, que nada mais é do que o porte de seus aplicativos para o browser. Com isso, teremos ferramentas de desenvolvimento cada vez mais voltadas para Internet/Intranet. É comum encontrar nas listas de discussão as novas vantagens trazidas pelo Delphi 6 e pelo Visual Basic 7 para o desenvolvimento Web. Portanto, não se impressione se a palheta Internet do Delphi crescer nas próximas versões.

Apesar de tanta euforia, o Delphi5 é uma boa escolha para o desenvolvimento de aplicações B2C. Esta versão permite a rápida criação de sistemas Web, mesmo que ainda não se possa comparar à velocidade de produção de softwares para desktop. E a principal diferença entre as versões anteriores é, sem dúvida, a palheta Internet Express. Esta adicionou ao Delphi uma poderosa interface para criação de formulários dinâmicos, que compartilham dados em formato XML.

 

Palheta Internet Express

 

Os objetos desta palheta são detalhados abaixo:

 

XMLBroker – É o objeto responsável por capturar um DataSet e convertê-lo em pacotes XML. Ele também recebe o applyupdates realizado pelo browser e o devolve para a camada de dados responsável.

 

MidasPageProducer – É o objeto responsável pela apresentação da página de resultado ao usuário. O objeto MidasPageProducer permite integrar os dados em HTML, XML e JavaScript, criando um complexo mecanismo para manipulação de dados em cache. Permite ainda a construção de formulários “linkados” com o datasource, tratando todo o controle de atualização automaticamente.

 

Veja os gráficos abaixo:

 

 

 

Nota: Existem três tipos de pacotes XML interpretados pelo objeto XMLBroker. Veja a tabela abaixo:

 

DataPacket:   Pacote de dados XML recuperados de um banco de dados. O XmlBroker recupera os dados do servidor neste formato, criando um fetch XML no buffer local.

 

Delta Packet: Representam os dados alterados no browser. Quando o usuário executa uma ação ApplyUpdates, devolvendo ao servidor todas as alterações efetuadas, esta é em enviada em formato DeltaPacket. O DeltaPacket é composto pela informação original associada com a informação modificada, o que permite a execução correta das modificações realizadas pelo usuário.

 

Error Packet: Formato xml de erro. Quando um erro ocorre do lado servidor, os dados são devolvidos ao XmlBroker neste pacote. Isto permite ao XmlBroker devolver os dados digitados para o browser, com uma mensagem de erro padronizada ou criada pelo desenvolvedor.

 

A palheta InternetExpress é o que existe de mais evoluído atualmente para a criação de formulários dinâmicos. E, ao contrário do que muitos pensam, o XMLBroker e o MidasPageProducer dão poder total de personalização à página de resultado. Quer um exemplo do que podemos fazer com essa ferramenta? Vamos lá: ...

Quer ler esse conteúdo completo? Tenha acesso completo