XML: como posso usar, vantagens e desvantagens - Introdução ao XML: Parte II
Agora que você já sabe o que é um XML e como ele se parece (que pode ser visto aqui), vamos ao próximo passo: como é que posso usar o XML, suas vantagens e desvantagens.
Para que devo usar XML?
O propósito principal do XML é a facilidade de compartilhamento de informações através da Internet. Mas o XML não serve apenas para web. Dentre as várias aplicações, pode-se incluir:
- Identificação da informação: você pode definir suas próprias tags;
- Armazenamento de informação: XML é portável e não é proprietário, pode ser usado para armazenamento de informação em qualquer plataforma, por ter um padrão internacional;
- Estruturar informação: XML pode ser usado para identificar qualquer tipo (hierárquico) de estrutura, seja esta longa ou com complexos tipos de dados;
- Publicação: combinando os últimos três tópicos (identificação, armazenamento e estruturação) significa que podemos utilizar o XML para publicá-lo na Web, assim como também outros formatos, como PDF, audio, etc, utilizando as folhas e estilos apropriadas para cada um dos casos;
- Mensagens e tranferência de dados: XML também é extremamente usado para juntar ou encapsular informação para ser trocada entre diferentes sistemas computacionais que seriam incapazes de se comunicar, sem precisar se preocupar com tipo de dado;
- Simplificação da mudança de plataforma: os dados de um XML são armazenados no formato texto. Isto torna muito mais fácil fazer a expansão ou atualização de um sistema operacional ou de uma aplicação sem perder informações;
- Web Services: o XML é usado para gestão da informação e transmissão.
Por que devo usar XML?
Os tópicos abaixo exemplificam algumas razões:
- É recomendado pelo W3C (World Wide Web Consortium);
- É padrão aberto, você não precisa pagar nada para usar;
- Existem várias ferramentas e editores bons no mercado, e o melhor: free;
- Simplicidade e Legibilidade, tanto para humanos quanto para computadores;
- Separação do conteúdo da formatação;
- Concentração na estrutura da informação, e não na sua aparência;
- Possibilidade de criar sua própria sintaxe de dados, ou seja, estruturar os dados da forma que achar melhor, através da criação ilimitada de tags;
- Possui suporte a Unicode, permitindo que praticamente qualquer informação escrita em língua humana possa ser transmitida;
- Permite validação, o que torna os teste unitários mais efetivos, e a construção de aplicações bem mais fácil;
Quando não devo usar XML?
Tudo tem um lado positivo e um lado negativo. Não poderia ser diferente com o XML.
Vamos ver então alguns pontos negativos:
- A sintaxe do XML é redundante ou torna-se grande em relação a representações de dados semelhantes;
- A redundância pode afetar a eficiência quando utiliza-se o XML para armazenamento, afetando também transmissão e processamento, os custos ficam muito mais elevados;
Resumindo o que foi dito neste dois pontos: em muitas situações, o XML pode ser substituído por documentos com formatos mais simples, como os arquivos properties ou texto. A grande quantidade de informação repetida pode prejudicar a velocidade de transferência real da informação (se estiver em formato XML).
Por exemplo: suponha que exista a necessidade de se transmitir o valor de determinados items, e cada item possui um indentificador. Poderíamos criar um XML como o da figura abaixo para transmitir essas informações:
Suponha ainda que o XML contenha milhares de itens. A quantidade de informação real (somente dos dados) que está sendo fornecida é bem menor comparada à quantidade de informações “extras” (tags) contidos no arquivo. Observe também que as informações que serão transmitidas pelo arquivo não possuem quase nenhuma complexidade, ou seja, são muito simples. Outro fato a se observar é que não há a real necesssidade da informação ser representada de forma hierárquica.
As informações do XML da figura acima poderiam simplesmente ser armazenadas em um arquivo txt simples, como o exemplo da figura abaixo:
Repare que o tamanho do arquivo a ser transmitido ficou bem menor (quantidade de informações - caracteres; e consequentemente, o tamanho do arquivo em Kbytes).
Conclusão
O uso do XML deve ser analisado antes de ser implementado. Algumas vezes pode ser mais vantajoso, em outras, pode ser necessário utilizar algum outro padrão. É importante analisar o objetivo do uso do XML além do tipo de aplicação e/ou sistema que vai gerar e/ou fazer o consumo do arquivo (se este for usado para armazenamento de informação).
O próximo post da série XML será sobre como criar documentos bem formados.
Até a próxima!