Arquivo texto ou arquivo XML?

[ad#texto]
No fundo ambas contém texto para os olhos humanos, porém computadores não têm olhos humanos e a escolha correta para a sua necessidade poderá influenciar drasticamente o sucesso do seu projeto de software.

Em primeiro lugar, vocês leram meu post sobre heterogeneidade? Não? Ele irá ajudar a entender este aqui.

É comum que aplicações diferentes e em muitos casos em diferentes plataformas precisem se comunicar e estabelecer a forma correta é vital para a sua continuidade, assim sendo a troca de arquivos é o caminha mais simples e talvez o mais utilizado.

Mas como serão os arquivos?

Vamos nos ater a dois tipos, arquivo texto comum e o XML.

O XML por obedecer à norma de implementação do W3C facilita a vida de ambos os lados, pois basta definir a estrutura de tag´s que o próprio parser de cada um dos sistemas se encarregará de criar/ler o XML sem maiores problemas.

Outros dois pontos fortes do XML é a possibilidade de ao utilizar DOM você consegue atravessar toda a sua estrutura em busca de dados, sem a necessidade de ficar iterando linha a linha o que lhe garante robustez e performance na aplicação. O segundo ponto é que caso o conteúdo (CDATA) de uma tag for alterada a sua aplicação vai funcionar e entender o novo conteúdo de forma transparente, pois o parser procura o conteúdo com base na tag e não em posição do cursor ou coisa semelhante.

E para não deixar o XML como uma entidade de perfeição, ele tem por excelência a necessidade de ser maior que um simples arquivo texto, o que em grande volume pode complicar a sua utilização.

Já o arquivo texto tem a vantagem de ser menor (relativamente ao XML) e a sua flexibilidade é muito maior, pois a sua leitura ao ser executada linha a linha permite a captura de caracteres pela posição do cursor ou por delimitadores como a vírgula, tabulação e aspas (estas são as mais utilizadas, mas você pode definir a sua própria quebra no arquivo texto).

Porém o seu maior trunfo que é a flexibilidade é também o seu maior defeito, pois isto demanda uma análise maior e uma interação entre as duas pontas no desenvolvimento do padrão do arquivos texto e também em muitos casos uma simples alteração de conteúdo pode ocasionar a quebra de leitura e gerar transtornos enormes.

Então qual deles utilizar?

A sua análise é que manda, porém eu costumo utilizar o XML para troca maciça de informações entre aplicações e deixo o arquivo texto mais para configurações de software e pequenos detalhes onde eu posso definir a sua estrutura de acordo com a minha necessidade pontual.

Petter Rafael

Desenvolvedor Web atua com as tecnologias Java e PHP apoiadas pelos bancos de dados Oracle e MySQL. Além dos ambientes de desenvolvimento acima possuiu amplo conhecimento em servidores Apache/Tomcat, Photoshop, Arte & Foto, Flash e mais uma dezena de ferramentas e tecnologias emergentes. Atualmente colabora com o Viablog escrevendo sobre programação e tecnologia.