Back-End

16 set, 2009

WDDX – Dados complexos pela Web – Parte 01

Publicidade

O Web Distributed Data Exchange, ou WDDX, é uma
linguagem de representação independente de dados e com base na XML 1.0.
Utilizando a WDDX, seu aplicativo poderá transmitir dados complexos como
Objetos, Structs, Arrays e tipos de dados simples como Integer,
Boleanos, Strings e tipo NULL através de um documento XML que poderá
ser analisado e convertido por uma linguagem de programação, mesmo se
for diferente da que originou o documento XML, e seus dados podem ser
utilizados normalmente pelo aplicativo em todas as rotinas sem nenhum
tipo de incompatibilidade.

Segue uma ilustração de como funciona a WDDX

Os exemplos dessa matéria utilizam a linguagem PHP e Javascript, mas
a WDDX está disponível em várias linguagens de programação, veja uma
lista: ColdFusion, Ruby, Python, PHP, Java, C++, .NET, Actionscript,
lisp, Haskell, Perl em várias plataformas

Criando um pacote WDDX usando PHP

Linha 3 A variável guarda um ID exclusivo, tipo string.
Linha 4 A variável guarda um array, tipo array.
Linha 5 A variável guarda um inteiro, tipo numero.
Linha 6 A variável guarda um valor nulo, tipo nulo.
Linha 7 A variável guarda um valor boleano, tipo boleano.

Na linha 9 configuramos o nome do pacote WDDX e na linha 10 é chamada a função wddx_packet_start(), essa função cria uma definição de estrutura deixando o pacote pronto para receber variáveis.

Linha 12 Os nomes das variáveis são guardados no array $Variaveis.
Linha 13 A função wddx_add_vars() serializa as variáveis passadas e adiciona ao pacote WDDX (informado no primeiro parâmetro da função).
Linha 15 Finaliza o pacote e retorna seu conteúdo.
Linha 17 e 18 Configuramos o cabeçalho e exibimos na tela o pacote WDDX.

Resultado gerado é um documento XML 1.0 DTD

O resultado acima pode ser convertido e manipulado por outras
linguagens de programação, as variáveis que originalmente foram
escritas em PHP podem ser acessadas e usadas por outros scripts usando
qualquer tecnologia que suporte a WDDX.
Mas esse assunto fica para o próximo artigo, porque é muito extenso. Até lá!