A real importância do XML

33 respostas
E

Certo…Todos sabemos o quanto as três letrinhas tornaram-se lugar comum na área da tecnologia computacional…Você vai numa palestra e alguém fala que tal ferramenta dá suporte à XML. Você procura artigos das mais diversas sub-áreas da informática e lá está socada a sigla, muitas vezes até de maneira descontextualizada…É como nanotecnologia e física quântica todo mundo comprou a idéia de que é algo extremamente importante, mas não faz a menor idéia de porque é, ou se realmente é…

Bem, agora a pouco estava tomando café e comentando que quero aprender Python e, qual a minha surpresa quando um cara ao lado saiu com: “web é fácil, o negócio é XML…Isso é linguagem do futuro”…Pensei, de dua uma, ou eu é que estou deixando de ver alguma coisa ou ele é que não fazia a menor idéia do que estava falando e pegou carona em alguma frase sensacionalista…

Certo, sei que XML provê métodos de organização de dados, que provê interoperabilidade entre arquiteturas heterogêneas, que é extremamente flexível (no sentido de você ciar o seu próprio conjunto de tags que definem os dados em seu contexto) e que existe uma ampla gama de API’s e frameworks para manipulação de XML…

A grande pergunta é, o que eu não estou vendo? XML vale tanto alarde assim?

33 Respostas

L

Olá

Sinto decepcionar seu desinformadíssimo colega mas XML não é uma linguagem de programação e assim não tem nada a ver com Phyton que é uma linguagem de programação.

Todo programador sabe XML, como sabe SQL e como sabe também HTML. Mas para programar precisa saber uma linguagem de programação.

[]s
Luca

E

Foi o que eu disse…
Mas XML não deixa de ser linguagem de programação, só que no sentido lato…

O problema é que o pessoal pega carona no sensacionalismo…E XML é sinônimo de fenômeno…

Minha questão permanece, tem algo que eu não estou conseguindo ver no XML?

L

Olá

Errado. Não é linguagem de programação em nenhum sentido. Está no próprio nome: é uma linguagem de marcação tal como SGML que a originou e HTML. É IMPOSSÏVEL fazer um programa de computador usando só XML.

Realmente XML foi um hype. Mas em 2000. Hoje em dia é carne de vaca e não é sinônimo de fenômeno nenhum.

[]s
Luca

T

XML é sinônimo de fenômeno? Você está atrasado… XML podia ser novidade no tempo em que o Fernando Henrique ainda estava brigando pela reeleição. Hoje em dia é “carne de vaca” - você tem obrigação de saber.

S

eclipso:

A grande pergunta é, o que eu não estou vendo? XML vale tanto alarde assim?

Vale.
XML, embora seja apenas uma Makup Language ( linguagem de marcação) e não uma linguagem de programação nada mais é do que TXT estruturado. As implicações de utilizar TXT estruturado são imensas, isto porque sendo TXT qualquer humano consegue ler e sendo estrtutrado qualquer computador consegue interpretar. Essa é a sacada do XML, mas as implicações são muitas

Na realidade o XML é um irmão do HTML e ambos são filhos do SGML. O XML é a versão do SGML mais amigável ao ser humano. O ponto é que XML é apenas uma sintaxe, não ha nenhum tag especial ou pre-definido. Isso leva à criação de sabores de XML. Uns mais importantes, outros menos. XML pode ser convertido em outro XML usando XML. Na realidade usando XLTS ou XLS , mas não passam de sabores de XML. Com XLTS vc pode criar pdf , html, rtf … a partir de XML. Depois temos o Atom e o SOAP e tantos outros formatos por ai… O OpenOffice usa um formato baseado em XML e o novo MS Office também. Aplicações para o XML não faltam.
A nota fiscal electronica é um XML e já até ouvi falar que o padrão CNAB mudaria para XML.

Aprender XML é mais importante que SQL hoje em dia. (sim, tb pode covnerter XML em SQL)
Sim, XML vale muito o alarde. É uma daquelas tecnologias coringa que milhares de aplicações…

V

Bem, muitas pessoas vivem dizendo que sempre estou completamente errado quando falam de XML, mas eu sempre fui teimoso e costumo afirmar que “XML é uma floresta em chamas” (vide fábula dos porcos assados).

O XML é uma forma padronizada de estruturar e organizar coisas, concordo. Mas na minha visão é uma forma ruim porque:

  1. O “payload” dificilmente ultrapassa 20% do tamanho do XML. Ou seja cerca de 80% é “overbloat”.
  2. Sua estrutura trás um peso de processamento e uma complexidade que não é bem vinda.
  3. Sua sintaxe é extremamente prolixa.
  4. Tem uma convenção de namespaces que é no mínimo confusa e contra-intuitiva.
  5. A mistura de elementos e atributos faz com que o XML fique um tanto inconsistente, é por esse motivo que muitos só usam elementos.

Ou seja, não gosto de XML principalmente porque trabalhar com ele é desnecessariamente complexo, lento e pesado. Alguma outra forma muito mais simples de estruturar documentos e dados poderia facilmente ser criada para fazer o que o XML faz hoje.

Um exemplo da complexidade desnecessária é o ant. O script de compilação é um XML intragável, que não interage nada com coisa alguma, apenas o ant o usa e ferramentas que o geram exclusivamente para ser usado pelo ant. Quando você manda o ant rodar um script, é comum que 90% do tempo seja gasto fazendo parsing do XML e só 10% com o compilador, e olha que a linguagem que o compilador trabalha é centenas de vezes mais complexa.

Configuração via XML então é uma desgraça. Um dos propósitos de terem inventado annotations foi eliminar isso. (cadê o saoj para vir falar do Mentawai???)

Outra coisa é que dados e documentos são coisas diferentes, mas quem é bitolado em XML não vê isso. Se você quiser uma página HTML ou texto redigido em um processador de textos qualquer em um formato 100% padronizado, o XML se adequa bem a isso (documento). Mas pra integração entre sistemas heterogêneos (dados), ele tem um overhead bem grande em tempo, memória e espaço. Outras formas bem mais eficientes de integração de sistemas heterogêneos já existiam muito antes do XML aparecer.

Enfim, acho que o XML até tem o seu propósito válido. O problema é que tem muita gente que acha que XML é a última coca-cola do deserto e quer enfiar ele em tudo que é lugar, mesmo que não haja uma necessidade real. Eu evito o XML sempre que posso.

E

Luca:
Olá

Errado. Não é linguagem de programação em nenhum sentido. Está no próprio nome: é uma linguagem de marcação tal como SGML que a originou e HTML. É IMPOSSÏVEL fazer um programa de computador usando só XML.

Realmente XML foi um hype. Mas em 2000. Hoje em dia é carne de vaca e não é sinônimo de fenômeno nenhum.

[]s
Luca

Mas ali é que está…Você está usando linguagem de programação no sentido estrito. Colocando de forma geral, no sentido lato, a marcação que pode ser feita com XML é uma forma de programação, no sentido de organizar logicamente…Mas essa não é a questão…Sei que, dentro da terminologia da área da tecnologia computacional linguagem de programação tem um sentido bem específico e que XML está longe dele…

Concordo que em 200 foi o boom…Eu acompanhei toda a tregetória…Mas o que quero dizer é que o sensacionalismo persiste. Se cria o mito da “panacéia universal”…“Com XML seus problemas acabaram”…

E vejo muita gente reproduzindo esse tipo de discurso…

Minha questão permanece…Existe algo de fantástico no XML que eu não vejo? O que se pode fazer de tão especial com isso?

L

Olá

Não discordo da maioria das coisas que escreveu. Só gostaria que desenvolvesse mais este tema porque não vejo as coisas de modo tão simples assim e se sei de algumas alternativas, são todas muito recentes que nem de longe existiam quando foram desenvolvidos a maioria dos projetos que usam dados estruturados com XML.

[]s
Luca

E

thingol:
XML é sinônimo de fenômeno? Você está atrasado… XML podia ser novidade no tempo em que o Fernando Henrique ainda estava brigando pela reeleição. Hoje em dia é “carne de vaca” - você tem obrigação de saber.

Não sou eu que estou dizendo que é fenômeno…É o discurso ainda padrão…O mundo é que faz questão de alardear o XML…Eu coloquei o tópico aqui justamente porque isto me perturba…

Trabalho com XML desde 2003…Acredite, eu sei o que estou falando…

L

Olá

Não há duplo sentido. Uma coisa é linguagem de programação e outra é linguagem de marcação. São coisas completamente diferentes.

[]s
Luca

E

Por fim, enho tudo o que o Sérgio Taborda disse em mente, todavia, sou inclinado a pensar como o victorwss…

E

Luca:
Olá

Não há duplo sentido. Uma coisa é linguagem de programação e outra é linguagem de marcação. São coisas completamente diferentes.

[]s
Luca

Há vários sentidos para praticamente tudo…O que difere é o contexto…No contexto da tecnologia computacional, linguagem de programação significa uma determinada coisa, no sentido lato significa “uma linguagem com a qual eu posso programar algo”, abarcando inclusive a linguagem natural falada no dia-a-dia que eu uso para “programar” meu fim de semana com meu colegas de churasco…É uma discussão filosófica sem implicação alguma para a evolução do conhecimento em TI, por isso que insisto em dizer que essa questão é irrelevante e que só a citei para ilustrar o que se passa em mentes leigas (justificadamente)…

S

Alguns frameworks abusam do uso de Xml, que tem como objetivo primordial representar dados de uma maneira independente de plataforma, e não configuracao. Eh linguagem de markup e nao de programacao, assim como annotations. Nao dah para fazer um IF nem um FOR com ela, dá? Eu particularmente prefiro configuraçao programatica a annotations e xml. Esse debate contra o XML já está rolando a no minimo 3 anos.

Dah uma olhada aqui:

http://www.mentaframework.org/?loc=pt

D

victorwss:
Bem, muitas pessoas vivem dizendo que sempre estou completamente errado quando falam de XML, mas eu sempre fui teimoso e costumo afirmar que “XML é uma floresta em chamas” (vide fábula dos porcos assados).

O XML é uma forma padronizada de estruturar e organizar coisas, concordo. Mas na minha visão é uma forma ruim porque:

  1. O “payload” dificilmente ultrapassa 20% do tamanho do XML. Ou seja cerca de 80% é “overbloat”.
  2. Sua estrutura trás um peso de processamento e uma complexidade que não é bem vinda.
  3. Sua sintaxe é extremamente prolixa.
  4. Tem uma convenção de namespaces que é no mínimo confusa e contra-intuitiva.
  5. A mistura de elementos e atributos faz com que o XML fique um tanto inconsistente, é por esse motivo que muitos só usam elementos.

Ou seja, não gosto de XML principalmente porque trabalhar com ele é desnecessariamente complexo, lento e pesado. Alguma outra forma muito mais simples de estruturar documentos e dados poderia facilmente ser criada para fazer o que o XML faz hoje.

Um exemplo da complexidade desnecessária é o ant. O script de compilação é um XML intragável, que não interage nada com coisa alguma, apenas o ant o usa e ferramentas que o geram exclusivamente para ser usado pelo ant. Quando você manda o ant rodar um script, é comum que 90% do tempo seja gasto fazendo parsing do XML e só 10% com o compilador, e olha que a linguagem que o compilador trabalha é centenas de vezes mais complexa.

Configuração via XML então é uma desgraça. Um dos propósitos de terem inventado annotations foi eliminar isso. (cadê o saoj para vir falar do Mentawai???)

Outra coisa é que dados e documentos são coisas diferentes, mas quem é bitolado em XML não vê isso. Se você quiser uma página HTML ou texto redigido em um processador de textos qualquer em um formato 100% padronizado, o XML se adequa bem a isso (documento). Mas pra integração entre sistemas heterogêneos (dados), ele tem um overhead bem grande em tempo, memória e espaço. Outras formas bem mais eficientes de integração de sistemas heterogêneos já existiam muito antes do XML aparecer.

Enfim, acho que o XML até tem o seu propósito válido. O problema é que tem muita gente que acha que XML é a última coca-cola do deserto e quer enfiar ele em tudo que é lugar, mesmo que não haja uma necessidade real. Eu evito o XML sempre que posso.

  1. O “payload” dificilmente ultrapassa 20% do tamanho do XML. Ou seja cerca de 80% é “overbloat”.

Sempre pensei sobre isso.

O xml veio pra trazer compreensão, objetividade e facilidade. Mas hj em dia a história mudou! Hj são 300 configurações que vc tem que fazer com xml.

L

Olá

Só uma observação: quando XML surgiu, o intuito principal não era fazer configurações.

Não sou contra configuração em XML. Porém há algumas por aí que além de trabalhosas são difíceis de aprender. O melhor mesmo é o modo como funciona o Rails.

[]s
Luca

E

Falando em uso abusivo de XML, parece que até no Java 7 querem oferecer suporte à XML em nível de linguagem…Pelo que entendi, significa embutir XML no próprio código Java…
http://today.java.net/lpt/a/421#java-7-features

Cara, cada dia mais parece que Java vai em direção aos “erros” do C++…OK tem coisas bastante úteis (como a meta-programação), mas isso tudo está obscurecendo a linguagem…Java já não é mais tão clara como fora na versão 1.4…

Encontrar XML enfiado no código Java vai ser pirante…

V

eclipso:
Falando em uso abusivo de XML, parece que até no Java 7 querem oferecer suporte à XML em nível de linguagem…Pelo que entendi, significa embutir XML no próprio código Java…
http://today.java.net/lpt/a/421#java-7-features

Cara, cada dia mais parece que Java vai em direção aos “erros” do C++…OK tem coisas bastante úteis (como a meta-programação), mas isso tudo está obscurecendo a linguagem…Java já não é mais tão clara como fora na versão 1.4…

Encontrar XML enfiado no código Java vai ser pirante…

Sim, isso eu já havia visto a cerca de um ano. Se pedirem a minha opinião, eu voto contra!

V

Luca:
Olá

Não discordo da maioria das coisas que escreveu. Só gostaria que desenvolvesse mais este tema porque não vejo as coisas de modo tão simples assim e se sei de algumas alternativas, são todas muito recentes que nem de longe existiam quando foram desenvolvidos a maioria dos projetos que usam dados estruturados com XML.

[]s
Luca

Imagine esse trecho XML:

<agenda xmlns="http://foo.com.br/xml/schemas/agenda.xsd">
    <cliente pk="25">
        <nome>João da Silva</nome>
        <sexo>M</sexo>
        <telefone>20145690</telefone>
        <nascimento>1979-12-21</nascimento>
        <observacoes/>
    </cliente>
    <cliente pk="12">
        <nome>Maria Aparecida</nome>
        <sexo>F</sexo>
        <telefone/>
        <nascimento>1977-03-14</nascimento>
        <observacoes>Tem dois filhos do primeiro marido e uma filha do segundo.</observacoes>
        <filho>
            <nome>Marco Aurélio Barros</nome>
            <sexo>M</sexo>
            <nascimento>1998-09-22</nascimento>
        </filho>
        <filho>
            <nome>Fernando Barros</nome>
            <sexo>M</sexo>
            <nascimento>2001-01-12</nascimento>
        </filho>
        <filho>
            <nome>Juliana Mendes</nome>
            <sexo>F</sexo>
            <nascimento>2004-07-11</nascimento>
        </filho>
    </cliente>
    <cliente pk="31">
        <nome>Carlos Alberto Ferreira</nome>
        <sexo>M</sexo>
        <telefone>62152168</telefone>
        <nascimento>1986-08-03</nascimento>
        <observacoes/>
        <filho>
            <nome>Caroline Ferreira</nome>
            <sexo>F</sexo>
            <nascimento>1989-04-06</nascimento>
        </filho>
    </cliente>
</agenda>

Bem, vamos supor que eu nunca tivesse ouvido falar em XML e nem nunca tivesse visto nada parecido. E daí em um belo dia me pedem para bolar um padrão de documento estruturado e extensível. Esse código acima poderia ficar assim (inventei agora):

br.com.foo.xml.schemas.agenda {
    cliente[] = {
        pk=25 nome="João da Silva" sexo="M" telefone=20145690 nascimento="1979-12-21";
        pk=12 nome="Maria Aparecida" sexo="F" nascimento="1977-03-14"
            observacoes="Tem dois filhos do primeiro marido e uma filha do segundo."
        filho[] = {
            nome="Marco Aurélio Barros" sexo="M" nascimento="1998-09-22";
            nome="Fernando Barros" sexo="M" nascimento="2001-01-12";
            nome="Juliana Mendes" sexo="F" nascimento="2004-07-11"
        };
        pk=31 nome="Carlos Alberto Ferreira" sexo="M" telefone=62152168
        nascimento="1986-08-03"
        filho[] = {
            nome="Caroline Ferreira" sexo="F" nascimento="1989-04-06"
        }
    }
}
L

Olá

Além de perder a estrutura, ficou bem ruimzinho. Um ótimo exemplo de caso que com XML fica bem melhor. Seu exemplo ficou parecendo programa verboso com colchete e chave. Achei mais difícil de entender. Ainda bem que os caras que mexem com formato de intercâmbio de dados manjam muito e tem quase uma vida dedicado a este tipo de problema.

Não adianta querer reinventar a roda se não tem poder de mudar o mundo. Se a Amazon mais eBay junto com o Yahoo, google, Microsoft e outros adotarem seu modelo, aí sim o mundo acharia bom. Mas por enquanto o que se dispõe com ENORME facilidade em todas as linguagens é XML. Mas se você integra sistemas dentro da mesma empresa e pode coordenar o formato de intercâmbio de dados, JSON poderia ser uma outra opção porque já está disponível em muitas linguagens.

[]s
Luca

V

Luca:
Olá

Além de perder a estrutura, ficou bem ruimzinho. Um ótimo exemplo de caso que com XML fica bem melhor. Seu exemplo ficou parecendo programa verboso com colchete e chave. Achei mais difícil de entender. Ainda bem que os caras que mexem com formato de intercâmbio de dados manjam muito e tem quase uma vida dedicado a este tipo de problema.

Não adianta querer reinventar a roda se não tem poder de mudar o mundo. Se a Amazon mais eBay junto com o Yahoo, google, Microsoft e outros adotarem seu modelo, aí sim o mundo acharia bom. Mas por enquanto o que se dispõe com ENORME facilidade em todas as linguagens é XML. Mas se você integra sistemas dentro da mesma empresa e pode coordenar o formato de intercâmbio de dados, JSON poderia ser uma outra opção porque já está disponível em muitas linguagens.

[]s
Luca

Sim, ficou meio ruinzinho. O que quis foi apenas mostrar que não é difícil encontrar outras formas de se fazer isso. Obviamente, se você me pedisse para eu me dedicar por um ano única e exclusivamente a um formato alternativo ao XML, a história seria outra.

E ali o meu foco foi em melhorar a relação payload vs. overbloat, e não manter legibilidade. Estava pensando mais em integração entre sistemas heterogêneos e parseabilidade.

L

Olá

Mas também nestes quesitos achei ruim.

XML tem mais de 10 anos. Junto dele há muitas outras coisas como XSLT, XSL, XPath, XQuery, schemas, dtd, RSS, ATOM, WSDL, WADL, SOAP, XML-RPC, WS-*, etc. e tal, isto é, toda uma enorme cultura e um monte de soluções de integração baseada em XML.

Reclamar que o Spring ou outro framework qualquer tem muita configuração XML é uma coisa perfeitamente normal. Como eu também acho normal reclamar de configuração feita em Java porque para mim o modo Rail é muito melhor (convenções e yml em uns poucos lugares)

Mas quando se fala de integração de sistemas que é justamente para o que foi feito XML, aí a coisa muda de figura. Alem do enorme legado existente, ainda é o modo mais fácil de fazer. Ou você acha difícil usar o Stax do Java?

[]s
Luca

V

Luca:
Olá

Mas também nestes quesitos achei ruim.

XML tem mais de 10 anos. Junto dele há muitas outras coisas como XSLT, XSL, XPath, XQuery, schemas, dtd, RSS, ATOM, WSDL, WADL, SOAP, XML-RPC, WS-*, etc. e tal, isto é, toda uma enorme cultura e um monte de soluções de integração baseada em XML.

Reclamar que o Spring ou outro framework qualquer tem muita configuração XML é uma coisa perfeitamente normal. Como eu também acho normal reclamar de configuração feita em Java porque para mim o modo Rail é muito melhor (convenções e yml em uns poucos lugares)

Mas quando se fala de integração de sistemas que é justamente para o que foi feito XML, aí a coisa muda de figura. Alem do enorme legado existente, ainda é o modo mais fácil de fazer. Ou você acha difícil usar o Stax do Java?

[]s
Luca

Bem, acredito que você não irá concordar comigo. Mas é nessas horas que eu me sinto como o “João Bom Senso” na fábula dos porcos assados, e você fala igual ao chefe dele. :wink:
Enfim, o meu objetivo era mostrar que não é impossível bolar uma outra linguagem que faça melhor o que XML se propõe a fazer.

L

Olá

Tanto não é impossível que já foi inventado o JSON por exemplo. O que me parece impossível é mudar o formato de intercâmbio de dados usado por todo mundo a partir de uma insatisfação isolada.

Mesmo dentro da sua própria empresa, não acho que deva adotar uma solução que lhe pareça melhor. Use o que todo mundo usa e ficará bem mais fácil treinar todos para falar a mesma língua.

Se fosse reclamar de algo que todo mundo usa e eu preferia usar outra coisa, poderia citar o português falado em SP onde não usam plural e falam dez real ou no Rio onde usam tu vai. Ou então reinvindicar usar logo inglês.

[]s
Luca

V

Luca:
Olá

Tanto não é impossível que já foi inventado o JSON por exemplo. O que me parece impossível é mudar o formato de intercâmbio de dados usado por todo mundo a partir de uma insatisfação isolada.

Mesmo dentro da sua própria empresa, não acho que deva adotar uma solução que lhe pareça melhor. Use o que todo mundo usa e ficará bem mais fácil treinar todos para falar a mesma língua.

Se fosse reclamar de algo que todo mundo usa e eu preferia usar outra coisa, poderia citar o português falado em SP onde não usam plural e falam dez real ou no Rio onde usam tu vai. Ou então reinvindicar usar logo inglês.

[]s
Luca

Toda longa caminhada começa com o primeiro passo.

E

Luca:
Olá
O que me parece impossível é mudar o formato de intercâmbio de dados usado por todo mundo a partir de uma insatisfação isolada.
Luca

Mas ai é que está, pelo que vejo a insatisfação não é isolada…Nunca pediram para os programadores “Você gosta ou está satisfeito com o XML?”, simplesmente disseram “Você precisa usar XML”…

Além disso, um padrão tem um tempo de vida até ser substituído por seu sucessor evolutivo…E, 10 anos depois, numa dessas está na hora de pensar em algo melhor…

Se bem que, o grande problema que vejo é o overhead no processamento. Se o pessoal aceitava isso há 10 anos, quando as máquinas eram 200 vezes mais lentas, hoje em dia e com a evolução futura constante como premissa, as pessoas devem ficar ainda mais confortáveis para aceitar…

Tem coisas sobre o XML em que penso constantemente. Por exemplo, bancos de dados em XML são realmente competitivos em relação aos BD’s relacionais consagrados? A interoperabilidade é mais cotada que a performance?

L

Olá

Prove, dê exemplos comparativos com números. Mas lembre-se que estou falando de integração de sistemas. Quais são as alternativas que você sugere e que acha que tem chances de ser adotado por todo mundo. JSON? CSV?

XML não foi feito para isto. Você conhece algum? Eu só conheci um exemplo e mesmo assim era horrível. A primeira coisa que fiz no projeto foi sugerir substituir esta droga (feita em VB).

[]s
Luca

E

Olá

Luca:

Prove, dê exemplos comparativos com números. Mas lembre-se que estou falando de integração de sistemas. Quais são as alternativas que você sugere e que acha que tem chances de ser adotado por todo mundo. JSON? CSV?

Eu não preciso provar nada, é meio óbvio que todo esse parsing é bastante caro…Imagine trabalhar com arquivos XML com milhares de elementos e sub-elementos…Não conheço nem um dos dois padrões, vou pesquisar. Mas a questão não é “O que temos de melhor”, a questão é “Dá pra fazer melhor, hoje em dia, 10 anos depois do início do XML?”. É provável que a resposta para minha pergunta seja sim, embora eu não saiba como…
Quero deixar claro que não entrei aqui pra atacar o XML (visto que você parece estar defendendo ele), entrei para discutí-lo, uma vez que tive uma demonstração de entusiasmo em relação ao XML que não consegui compreender…Sei que ele é importante, só que para mim é inevitável queer pensar em alternativas, sempre…Não tenho nada pra destruir, penso em construir e melhorar…

Luca:

XML não foi feito para isto. Você conhece algum? Eu só conheci um exemplo e mesmo assim era horrível. A primeira coisa que fiz no projeto foi sugerir substituir esta droga (feita em VB).

Eu sei que não foi, mas que tem maluco sonhando com isso há mais de meia década tem…É justamente esse tipo de caso que me faz pensas no excessos de uso do XML…

L

Olá

Pois é, o resto do mundo também não sabe como. Provavelmente quando alguém aparecer com uma solução convincente, só servirá para integrar sistemas novos.

Não estou defendendo nem atacando o uso de XML na integração de sistemas. Estou chamando a atenção de que é o padrão dominante. Estou apenas escrevendo o óbvio. Até novas alternativas como o ATOM são feitas usando XML.

E chamo a atenção também que por ser dominante, há muito mais recursos de programação em todas as linguagens para tratar XML com eficiência adequada do que com outras alternativas menos usadas, incluindo as que citei (JSON ou mesmo o velhíssimo CSV).

XML, quado tratado usando ferramentas erradas pode ser lento mas não pode levar a culpa pela ignorância do programador ou com quem comete o absurdo de criar um XML com milhares de elementos e sub-elementos.

Acho que não lemos as mesmas fontes porque não vejo maluco nenhum sonhando com isto. Se alguém usa XQuery em um XML não significa que queira usar XML como banco de dados. Fora um projeto pequeno feito em VB, nunca na vida vi ninguém usar XML como banco de dados.

[]s
Luca

E

Luca:

Pois é, o resto do mundo também não sabe como. Provavelmente quando alguém aparecer com uma solução convincente, só servirá para integrar sistemas novos.

O resto do mundo não sabia como seria possível manter o ritual do fumo do tabaco com o dia-a-dia das matrópoles ficando cada dia mais esquizofrenicamente veloz…Ai inventaram os cigarros em maços previamente embalados…Isso ai se chama evolução (ou adaptação a novas necessidades, como preferir),colega…Profissionais da informática estão habituados a este fenômeno…

Como você mesmo disse, reiterou o óbvio…
O que falta você ter em mente é que ser considerado o padrão, não constitui em si, um mérito…Sendo que a língua mais falada do mundo é o Mandarin, não significa que seja uma grande língua…

A questão é que paira um certo comodimso em relação à criação de alternativas, pois pensa-se justamente nos sistemas legados e no fato de já existirem pencas de API’s consagradas no mercado para lidar com esse padrão…Mas também, não vejo problemas nisso… Talvez realmente não valha a pena mudar…

Pois é, creio que não lemos mesmo…Na faculdade o que eu ouvia falar disso, não era brincadeira…

R

eclipso:
a questão é “Dá pra fazer melhor, hoje em dia, 10 anos depois do início do XML?”. É provável que a resposta para minha pergunta seja sim, embora eu não saiba como…

IMHO,

Dá pra fazer melhor sim, basta você ler muito e estudar, e principamente, não se importar muito com a opinião dos outros. Se você quer evoluir a tecnologia discuta direto com a fonte e não seus usuários.

Por exemplo, se tens uma crítica ao Java procure alguém do JCP ou da Sun. Se tem uma coisa que você acha tosquinha no Eclipse, vai no bug tracker e abre uma feature request. Se tem uma idéia pro Ubuntu, entra no Launchpad e IRC e faz sua sugestão. Mas não se importe muito em discutir com os usuários, pois eles tendem a mistificar o software e encarar qualquer crítica como um “insulto”. Penso que hoje em dia poderíamos estar muito mais evoluídos em software se não fosse essa certa “atrofia” que acredito sofrermos.

Já passei por experiências desse tipo. No canal de usuários do Ubuntu discuti sobre suporte a winmodems, e tive respostas estúpidas como “compre um modem decente” ou “escreva seu driver”. Mas quando entrei em contato com a equipe responsável o tratamento foi outro! Até o próprio Mark me respondeu um email concordando!

Sobre Java, muitas vezes você vai no JCP e vê a própria JSR repetindo críticas suas que são mal recebidas em fóruns. Já vi JSRs falando mal de swing (uma do app framework) e outra falando dos “arcaicos” jars, por exemplo. E é assim que as coisas vão melhorando.

Sobre o Eclipse, tenho usado o DLTK ultimamente e meio de bobeira fui falar com os desenvolvedores sobre uma coisa que eu achava tosca: quando você rodava um script Ruby, ele não considerava o diretório do script na hora de buscar os “require” como o interpretador faz! Pra isso tinha que criar regras enroladas de build path. Para minha surpresa, após algumas semanas de conversa, eles corrigiram isso! Podiam mandar eu fazer um patch, ou dizer que tá ótimo do jeito que está, mas não, foram atenciosos e aceitaram a sugestão. Se eu fosse para um fórum de usuários, só ia perder tempo com pessoas dizendo que a idéia é boba por X, Y e Z.

Como o assunto é XML, acho que você tem é que ler bastante em vários lugares pois existe muita informação por aí para responder suas dúvidas, aqui no fórum não vai passar de uma discussão casual. A evolução das especificações do W3C são muito mais lentas que de softwares, pois tratam-se de padrões que serão usado por toda a internet. Mas nada impede que com conhecimento você possa criar seus próprios aprimoramentos que, quem sabe, possam ser considerados futuramente. Veja o caso do Hibernate, começou como uma idéia e acabou como um padrão do JCP, o JPA. Já pensou se o cara ficasse esperando aparecer uma JSR milagrosa?

Dando minha opinião sobre o uso de XML, quando você precisa trocar dados entre sistemas, organizações, etc. você precisa pensar em padrões de comunicação que todos entendam. Nesses casos você geralmente vai querer escrever formatos “xmlosos” em vez de criar seu próprio formato otimizado e obrigar todo mundo a aprendê-lo. Pense que o principal uso do XML é o intercâmbio de informações, e também uma forma de estruturar dados que “todo mundo conhece”. A questão de performance tem que ser avaliada. Sua agenda de contatos com persistência XML talvez não vá ter problemas de desempenho, mas provavelmente não seria o caso do Orkut, Youtube ou qualquer site de grande tráfego que precise armazenar uma enorme quantidade de dados.

Um dos maiores exemplos de uso do XML é o ODF/OpenOffice.org, que guarda os documentos como XMLs compactados, e isso não afeta o desempenho. Também, já que ninguém falou, queira passar o link pra você pesquisar sobre YAML, de repente você gosta:

B

Deem uma olhada nesse link e precebam o quanto ficou fácil manipular XML na ultima versão do VB.Net./

Ainda não testei performance, mas deve estar melhor do que os modelos tradicionais…

R

Eclipso, dá uma olhada em http://www.w3c.br/, na notícia “O XML é Dez!”

B

No Simpósio Brasileiro de Engenharia de Software e Banco de Dados em 2006(se não me engano), uma das palestras foi sobre um formato de arquivo para XML que era ao mesmo tempo, comprimido (pelo menos melhor que o Zip), e que era indexado, pesquisas poderiam ser feitas rapidamente nele.

Não lembro o nome do tal, mas vale a pena dar uma olhada.

Quanto a discussão, acredito que XML é um bloatware que 10 anos depois tem milhares de ferramentas p/ ajudar a domar o monstro.

Pode ser implementado por deus e o mundo até o talo, mas ainda é uma placebo querendo ser panacéia.

Criado 23 de maio de 2008
Ultima resposta 27 de mai. de 2008
Respostas 33
Participantes 10