Esse artigo faz parte da revista Clube Delphi edição 36. 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. 

 

Transformações XML

Aplicações B2B e intercâmbio de dados

Neste artigo aprenderemos um pouco sobre o uso de XML para intercâmbio de dados entre empresas que usam sistemas heterogêneos. Conheceremos também o XML Mapper e os componentes que dão suporte a XML no Delphi.

Intercâmbio de dados com XML

Nos dias de hoje é fundamental que as empresas possam trocar informações entre si. Mas o problema é que as informações podem estar armazenadas em bancos de dados de diferentes tipos (uma empresa pode usar Oracle e a outra DB2, por exemplo); uma empresa pode rodar Linux e outra utilizar Windows; uma pode usar Java e outra, Delphi. Dessa forma, é impossível que empresas troquem informações sem adotarem um formato padrão para a troca.

Observe um exemplo típico: uma universidade rodando um banco de dados DB2, na plataforma Windows e usando Delphi precisa enviar os dados de seus alunos para uma agência bancária. Esta agência irá receber os dados sobre os alunos (Nome, Endereço, CEP, Cidade, Valor da Parcela, Data de Vencimento etc.) e cadastrar no seu próprio banco de dados, para poder depois enviar boletos bancários para os alunos, gerados a partir das informações passadas pela universidade. A questão é que a agência bancária usa outra linguagem e outro banco de dados.

Uma solução freqüentemente adotada é retirar do banco SQL os dados gerados pela universidade e colocá-los em um arquivo de texto, o qual é enviado à agência bancária. O formato TXT é largamente utilizado para este tipo de operação, já que ambos os lados do negócio sabem como abrir e tratar esse tipo de arquivo, não importando a linguagem que usem ou a plataforma em que rodem.

O problema é que a geração de um arquivo TXT, seguindo as normas que a outra empresa exige, envolve o estudo de padrões de formatação e geralmente uma exaustiva codificação[FVM1] . Quem recebe o arquivo precisa usar um programa interpretador (um parser), que retire as informações do arquivo TXT e lance os dados no seu próprio banco de dados.

Considere o seguinte trecho de dados retirado de um arquivo TXT, utilizado para o envio de dados para uma agência bancária (correspondentes às parcelas geradas).

 

123GUINTHER DE BISERAFIM VALANDRO 531SANTA MARIA000012334

4565RUDOLFO PAULIAV MEDIANEIRA 1223  SANTA MARIA000012213

789CLÁUIDO ROCHA UNIV. FEDERAL DE SM SANTA MARIA000023323

 

Como você pode ver, as informações não têm uma estrutura, dados podem vir truncados, e é muito difícil saber onde começa ou termina um campo, sem ler um manual que define o layout utilizado.

O XML veio para resolver muitos desses problemas. Um deles é o de criar um padrão para a transferência de dados entre empresas com ambientes heterogêneos. Um arquivo XML não passa de um arquivo TXT, seguindo um padrão predefinido (alguns chamam o XML de "ASCII do Século 21"). O código XML a seguir, por exemplo, define a parcela de um aluno que foi enviada à agência:

 

<?xml version="1.0"?>

<remessa>

  <parcela>

     <matricula> 12345 </matricula>

     <nome> GUINTHER DE BITENCOURT PAULI </nome>

     <endereco> SERAFIM VALANDRO 531 </endereco>

     <cep> 97015630 </cep>

     <cidade> SANTA MARIA </cidade>

     <valor> 123,45 </valor>

  </parcela>

  ... outras parcelas

</remessa>

 

A vantagem é que a maioria das linguagens já reconhece o formato XML através do uso de um parser XML. O Delphi, por exemplo, possui o componente XMLDocument que é um wrapper para uma implementação do DOM (Document Object Model), um padrão definido pelo W3C (www.w3.org).

...

Quer ler esse conteúdo completo? Tenha acesso completo