O MUNDO XML Fernando Hadad Zaidan * Resumo: A carência de integração de sistemas de informação é crescente entre as empresas. Aumentam o número de plataformas e arquiteturas diferentes. Os ambientes estão cada vez mais heterogêneos e difíceis de integrar. A XML, e todas as tecnologias que a circunda, surgiu como facilitadores, promovendo um padrão de integração na troca de documentos eletrônicos interorganizacionais, de forma textual, simples, estruturada, extensível, flexível, semanticamente rica e com uma segurança adequada. HISTÓRIA DA XML A história da XML foi iniciada nos anos 70, quando a IBM inventou a linguagem GML (General Markup Language – linguagem de marcação genérica). Surgiu com a necessidade da empresa em armazenar uma grande quantidade de informações. Com a GML, a IBM conseguiria classificar e processar rapidamente todos os documentos. A ISO1 (international organization for standardization – organização internacional para padronização), em 1986, trabalhou para padronizar esta linguagem. Neste momento, foi criada a SGML (Standard Generalized Markup Language - Linguagem Padrão de Marcações Genéricas), que era a GML, porém, com padrão. A SMGL é uma linguagem poderosa, com bastante adaptabilidade. Em 1989, foi criado o HTML (Hypertext Markup Language - linguagem de marcação de hipertexto). Linguagem para a criação de páginas em um site. A HTML foi derivada da SGML. Utiliza-se um conjunto de tags2 (etiquetas ou marcas), entre os símbolos < >, que informam o que irá determinar a função de cada elemento. Em 1994, surge uma entidade chamada W3C3 (world wide web consortium consórcio da www). Ela cuidou de colocar em ordem o HTML, e de formalizar suas regras, para que fosse um padrão. Mesmo assim, o HTML não cumpriu tudo o que propunha e planejava para a Internet, crescendo de uma maneira descontrolada e desordenada. O HTML está em constante evolução, porém, ele não consegue suprir tudo que as aplicações necessitam. Surge, em 1996, a XML. Citando Marchal apud Pinheiro (2003, p. 22): A XML foi proposta com o objetivo de suprir as limitações da HTML, complementando-a. Ao ser publicada como uma recomendação do W3C (world wide web consortium), em 1998, depois revisada em 2000, a XML rapidamente incorporou ferramentas que a colocam em um nível muito acima da simples publicação de documentos na Internet. Quando foi criada, pensou-se que o propósito da XML seria de substituição da HTML. Este pensamento errôneo estende-se, em meios desinformados, até os dias 1 É uma organização de âmbito internacional (148 países no momento), que cuida da padronização e normalização. O ISO aprova normas válidas internacionalmente, em todos os campos técnicos, com exceção de eletrônica. 2 As tags formam o conjunto de comandos ou formatação da linguagem HTML. 3 Consórcio de âmbito mundial, criado em 1994. Desenvolve novas tecnologias, promovendo a constante evolução da Web. 2 atuais. A XML não incorpora nada de apresentação4 nas suas tags. As carências que se pretendia solucionar, e que o HTML não resolvia, eram: o no HTML, o conteúdo das páginas se mistura com as tags e estilos que se deseja apresentar; o no HTML, não permite compartilhar informações, seja entre computadores, telefones celulares ou os dispositivos móveis portáteis; o no HTML, a apresentação depende do visor. Complementando os pontos acima, XML em 10 pontos (2006), nos mostra outras vantagens da XML: o XML é para estruturar dados; o XML parece um pouco com HTML; o XML é texto, mas não é para se ler; o XML é prolixo de propósito; o XML é uma família de tecnologias; o XML é modular; o XML é a base da Web Semântica5; o XML é livre de licenças, independente de plataforma e é bem suportada. Como características básicas da XML, segundo Pinheiro (2003): a proposta da XML é bastante simples; o objetivo é estruturar documentos; utiliza-se tags que podem ser criadas indefinidamente, tornado a linguagem com uma grande extensibilidade; grande disponibilidade de ferramentas desenvolvidas para o universo XML, que facilitam seu uso e implementação, auxiliando sua popularização (TOLENTINO apud PINHEIRO, 2003); facilidade de uso por ser uma linguagem legível, e até certo ponto compreensível pelo ser humano (YOUNG apud PINHEIRO, 2003); XML é de fácil validação e leitura por programas, ou seja, a construção de analisadores de dados XML, geralmente chamados de parsers (TOLENTINO apud PINHEIRO, 2003); tem-se uma simplicidade sintática das marcações e forte carga semântica contida na estrutura hierárquica (MARCHAL apud PINHEIRO, 2003). Daum e Merten (2002) nos explicam que a XML é uma mistura explosiva. Ela está localizada entre a tríade: Internet – processamento de documentos e banco de dados. Sua tecnologia passa maciçamente para a área de banco de dados e tecnologias de TI nas empresas, e sua aplicação é estabelecer comunicação entre as partes que estão em colaboração. A XML é uma tecnologia básica para a troca de documentos eletrônicos. Seu crescimento e adoção pelas organizações foi muito rápido, mesmo após a onda inicial. Agora a XML atingiu o status central no mundo da TI nas empresas. A questão de hoje para a XML não é se, mas como. AS PRINCIPAIS UTILIZAÇÕES DA XML Com relação à troca de documentos eletrônicos e o intercâmbio de dados com formato neutro, na mesma empresa ou interorganizacionais, o uso da XML se tornou a sintaxe preferida para troca de mensagens corporativas. De acordo com Turban (et al, 2005, p. 343), “uma tecnologia emergente que suporta sistemas 4 Mais adiante mostraremos a XSLT, encarregada da transformação e apresentação de documentos XML. 5 Conceito criado por Tom Berners Lee, criador da world wide web. O objetivo, ainda em andamento, é estruturar o conteúdo disponível da Internet, permitindo, dentre outras coisas, uma busca mais eficiente que as atuais. A XML é a linguagem pela qual os dados serão estruturados. 3 interorganizacionais e está sendo usada para integrar sistemas de parceiros comerciais é uma linguagem conhecida como XML [...]”. Basicamente, onde existir a necessidade de troca de documentos eletrônicos, de maneira a automatizar os processos de negócio entre duas ou mais organizações, utiliza-se a XML. Segundo FURGERI (2001), as principais possibilidades de utilizações da XML são: o troca de dados: motivo principal deste estudo. Devido à grande diversidade de computadores, rodando diferentes sistemas, em diferentes plataformas, sistemas e banco de dados contêm dados em formatos incompatíveis. Pelo fato do conteúdo básico do documento XML ser apenas texto, ela apresentase como a principal possibilidade de computadores diferentes trocarem dados pela internet. Neste caso, basta converter o formato do banco de dados em texto, seguindo regras estabelecidas nos documentos XML. o melhorar a busca de informações: a busca na Internet, com um grande número de páginas, sem padronização, é um sério problema. Utilizando a XML, tem-se um serviço de busca mais inteligente, evitando a procura dentro dos documentos HTML, onde está misturado apresentação e conteúdo. o automatização da web: devido ao fato da XML permitir a definição dos marcadores, os dados armazenados têm significado, permitindo linguagens, como o Java, manipular seu conteúdo, facilitando a pesquisa, inclusão, alteração e exclusão de dados. o uso em conjunto com documentos HTML: pode-se interligar a apresentação, contida nos documentos HTML, com os dados contidos nos documentos XML. Com isso, a mudança nos dados, no arquivo XML, refletirá diretamente no HTML, eliminando a necessidade de sua atualização. o desenvolvimento de catálogos: catálogos são documentos formados por conteúdo texto, altamente estruturados, que proporcionam um fácil tratamento por parte da XML. Podem possuir várias dimensões e se constituir de apenas texto, elementos gráficos ou imagens. Se escrito em linguagem XML, os catálogos poderão ter uma grande variedade de métodos de acesso e formas de apresentação, uma vez que diversas ferramentas, como veremos a seguir, podem analisar o seu conteúdo e apresentar. Um catálogo on-line, escrito em XML, é uma das partes mais importantes de um site, pois contém informações que os clientes desejam: produtos, fotos e preços. o automação da cadeia de suprimentos: enquanto os ERP´s realizam a integração total dos setores de uma empresa, os sistemas desenvolvidos a partir da XML realizam a integração de empresas. A automação do processamento de compra, maior flexibilidade na escolha de fornecedores e mudança na cadeia de suprimentos. ALGUNS CONCEITOS DA XML De acordo com Daum e Merten (2002), a regra principal de sintaxe da linguagem XML é a da boa formatação. Bem formatado significa que um documento é sintaticamente correto. XML é uma linguagem de marcação. Elementos são identificáveis dentro de um documento com tags delimitadoras de início e fim. Mas, diferentemente do HTML, uma tag de início precisa sempre ter uma de fim. XML é case sensitive. De acordo com Pinheiro (2003), têm-se alguns conceitos da linguagem XML: 4 o árvore: toda estrutura da sintaxe XML gira em torno de uma árvore. Um documento XML tem um, e apenas um, elemento raiz, e dentro deste, um número indefinido de outros elementos, distribuídos em níveis, também indefinidos. o elemento: é cada um dos componentes de um documento. Deve ser delimitado com tags de início e fim, e possuir um conteúdo. o nomes: os nomes das tags são livres, portanto, não existem nomes prédefinidos. Cada elemento deve possuir um nome. o tags: em XML são as marcações propriamente ditas, portanto, delimitam um elemento, e deve ter um nome de acordo com as regras estabelecidas. Como no HTML, as tags são sempre delimitadas pelos caracteres de abertura de fechamento “<” e “>”. o conteúdo de um elemento: é a porção de dados delimitados peças marcações de início e fim. Porém, há uma exceção para elementos vazios, que pode ser fechado com a própria tag de abertura, com o caracter “/” antes do delimitador “>”. O conteúdo do elemento pode conter qualquer coisa, inclusive outros elementos, criando o conceito recursivo, que gera uma estrutura em árvore. o atributos: são dados adicionais que podem ser atribuídos a um determinado elemento. São fornecidos na forma de pares: nome e valor, separados por um caracter “=”. Os nomes de atributos seguem as mesmas regras dos nomes dos elementos. Os valores são delimitados por aspas (“) ou apóstrofes (‘). o primeira linha do documento: precisa conter uma declaração XML, na qual identifica um documento XML, e determina a versão da XML, bem como, opcionalmente, qual o conjunto de caracteres padrão. o comentários: o que estiver inserido entre os marcadores “<!--" e “-->” são considerados comentários, e serão ignorados pelo processador XML. o outros elementos: há ainda outros elementos, como seções CDATA. A figura 1 nos mostra um documento XML. <?xml version="1.0" encoding="UTF-8"?> <!-- edited with XMLSPY v2004 (http://www.xmlspy.com) by Gestão e Desenvolvimento WEB --> <!DOCTYPE PRODUTOS SYSTEM "proddtd.dtd"> <PRODUTOS> <PRODUTO> <NOME>BORRACHA</NOME> <FABRICANTE> <FANTASIA>LATEX DO BRASIL</FANTASIA> <RAZAOSOCIAL> LATEX DO BRASIL LTDA</RAZAOSOCIAL> <ENDERECO> <RUA>RUA DAS AMERICAS</RUA> <NUMERO>123</NUMERO> <CIDADE>BELO HORIZONTE</CIDADE> <ESTADO>MG</ESTADO> <CEP>30384260</CEP> </ENDERECO> </FABRICANTE> <PRECO MOEDA="R$" PAIS="BRASIL">21,21</PRECO> </PRODUTO> </PRODUTOS> Figura 01: Exemplo de um documento XML Fonte: Arquivo pessoal 5 A VALIDAÇÃO DE DOCUMENTOS XML Um documento XML que atende as regras de sintaxe é um documento bemformado. Porém, para a maioria das aplicações, ele deve ser validado baseado numa estrutura previamente definida, que constitui uma família de documentos. Estas especificações têm alguns mecanismos para se determinar a estrutura de validação de um documento XML. (PINHEIRO, 2003). Segundo Daum e Merten (2002), no passado a DTD (document type definition – definição de tipo de documento) era o modo padrão de se definir um esquema para um documento XML. No entanto, mais de uma dezena de linguagens alternativas de definição de esquemas foram criadas por várias instituições e indivíduos. Entretanto, o W3C produziu uma nova linguagem de esquema, a XML Schema. DTD O DTD é um documento (esquema) que validará um documento XML. Lee e Chu apud Pinheiro (2003), em estudos comparativos para validação estrutural e sintática da XML, apontam vários fatores restritivos ao uso da DTD: o sua sintaxe não é baseada ou derivada da XML, o que não permite que ela seja validada por um parser. o as declarações da DTD são globais, não permitindo declarar elementos de mesmo nome em pontos distintos do documento o a DTD tem deficiências na especificação do tipo de dado dos elementos (inteiro, real, alfa-numérico, etc). Na figura 2, temos um exemplo de uma DTD, que valida o documento XML da figura 1. <!ELEMENT PRODUTOS ((PRODUTO))+> <!ELEMENT PRODUTO (NOME, FABRICANTE, PRECO)> <!ELEMENT FABRICANTE (FANTASIA, RAZAOSOCIAL, ENDERECO+)> <!ELEMENT ENDERECO (RUA, NUMERO, CIDADE, ESTADO, CEP)> <!ELEMENT NOME (#PCDATA)> <!ELEMENT PRECO (#PCDATA)> <!ELEMENT FANTASIA (#PCDATA)> <!ELEMENT RAZAOSOCIAL (#PCDATA)> <!ELEMENT RUA (#PCDATA)> <!ELEMENT NUMERO (#PCDATA)> <!ELEMENT CIDADE (#PCDATA)> <!ELEMENT ESTADO (#PCDATA)> <!ELEMENT CEP (#PCDATA)> <!ATTLIST PRECO MOEDA CDATA #REQUIRED PAIS CDATA #REQUIRED> <!ATTLIST FABRICANTE NACIONALIDADE CDATA "BRASILEIRA"> Figura 02: Exemplo de uma DTD Fonte: Arquivo pessoal 6 XML Schema As deficiências apontadas na DTD, foram suficientes para o W3C, em 2001, lançar e recomendar o XML Schema. Segundo Pinheiro (2003, p. 39), “um Esquema XML tem por objetivo descrever a estrutura de um documento. Ele define os elementos existentes no documento, bem como sua ordem e os valores possíveis para os conteúdos”. A figura 3 nos mostra um exemplo de um XML Schema. <?xml version="1.0" encoding="UTF-8"?> <!-- edited with XMLSPY v2004 rel. 2 (http://www.xmlspy.com) by Gestão e Desenvolvimento WEB --> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:element name="mensagem"/> <xs:element name="de" type="xs:string"> <xs:annotation> <xs:documentation>Comment describing your root element</xs:documentation> </xs:annotation> </xs:element> <xs:element name="assunto" type="xs:string"/> <xs:element name="para" type="xs:string"/> <xs:element name="data" type="xs:date"/> <xs:element name="texto" type="xs:string"/> </xs:schema> Figura 03: Exemplo de um XML Schema Fonte: Arquivo pessoal As principais características do XML Schema são explicadas por Pinheiro (2003): o tem a mesma estrutura de um documento XML, ou seja, é uma aplicação XML, com o mesmo vocabulário,6 capaz de definir estruturalmente classes de documentos XML, e validá-las; o namespaces (espaço de nomes): contextualiza um nome de elemento ou de atributo em um documento XML, ou seja, determina um escopo para os elementos declarados. Utilizando o espaço de nomes, passa a ser permitido a repetição de um nome de elemento em um documento XML, desde que esteja em escopos diferentes. Declaram-se os namespaces apontando uma URI (uniform resource identifier). A XML permite que se declarem vários namespaces em um único documento, para tal, identifica cada um separado pelo caracter dois pontos (“:”), da palavra reservada xmlns. o grande diversidade de tipos de elementos; Com relação à criação do XML Schema, temos um conjunto de regras determinadas pelo W3C, que são: definições básicas; estruturas; tipos de dados. 6 Vocabulário é um conjunto de regras estruturais e escopo de valores de uma família de documentos. O W3C já recomedou diversos vocabulários, dentre eles: MathML (descrição de fórmulas matemáticas), CML (química), MML (clínica médica), dentre outros. 7 O QUE HÁ EM TORNO DA XML Na verdade, a XML é muito simples, e existe ao seu redor um mundo de outras tecnologias que a completam e a fazem ampliar as possibilidades, facilitando a maneira que trabalha com os dados, e avance no tratamento as informações, bem como na busca e na recuperação. A XML não é apenas uma linguagem, mas várias que a fazem flexível, extensível e poderosa. Conforme nos mostra Daum e Merten7 acerca do que há em torno da XML, são várias especificações recomendadas pelo W3C, como XPath, XPointer, XInclude, XQuery, XSL e DOM, que regulamentam o acesso a documentos XML, sua composição e transformação. XPath XPath define como os nós dentro dos documentos XML podem ser acessados. As expressões usadas no XPath têm um papel fundamental, e podem ser utilizadas em outros padrões, como na XSL e na XQuery, que veremos a seguir. Vimos que a XML é um conjunto de informações numa estrutura de árvore, com isso, ficará facilitada a localização de um elemento ou um atributo especificando os nós pai. Utilizam-se expressões de caminho que especificam um arquivo dentro de um diretório de arquivos. Por exemplo, se desejarmos recuperar o último nome do autor 5, numa árvore de hierarquia do pai para os filhos: livro – autores – autor – último_nome, tem-se : /livro/autores/autor[5]/último_nome. Como tudo em XML é case sensitive, aqui também precisa-se levar em consideração as maiúsculas e minúsculas. Pode-se fazer o uso de funções na XPath, por exemplo: last() (número do último nó no contexto em questão); count() (número de nós de um conjunto de nós); true() false() (valores booleanos verdadeiro ou falso); sum() (soma valores numéricos de um conjunto de nós); dentre outras. Xpointer XPointer é baseado em XPath. É a linguagem de ponteiro XML. Identifica a parte desejada ou o elemento dentro documento. Sua finalidade é aumentar o endereço URI, de modo que seja possível endereçar para dentro de um arquivo XML. Fazendo uma similaridade com o HTML, seria uma âncora específica dentro de uma página que pode ser endereçada complementando-se uma URI com o nome da âncora. Outra característica do uso do XPointer é permitir que atinja um dado elemento pelo número, pelo nome, pelo tipo ou pela relação a outros elementos no documento. 7 As especificações a seguir serão baseadas no livro: DAUM, Bethold; MERTEN, Udo. Arquitetura de sistemas com XML. Rio de Janeiro: Campus, 2002, cap. 2. 8 XInclude XInclude especifica como incluir documentos XML externos, em um documento XML alvo. XInclude introduz um mecanismo para fundir documentos XML. A sintaxe utiliza as mesmas características da XML - elementos, atributos, e referências de URI. Com o Xinclude, podem-se compor documentos de diferentes namespaces. A figura 4 temos um documento XML mostrando a flexibilidade do XInclude. <?xml version=”1.0”?> <document xmlns:xi="http://www.w3.org/2001/XInclude"> <p>Filmes de ficcao</p> <xi:include href="filmes_ficcao.xml"/> </document> Arquivo : filmes_ficcao.xml <?xml version=”1.0”?> <filmes> <p>Matrix</p> </filmes> Resultado após a mesclagem <?xml version=”1.0”?> <document xmlns:xi="http://www.w3.org/2001/XInclude"> <p>Filmes de ficcao</p> <filmes xml:base="http://www.filmes.com.br/filmes_ficcao.xml"> <p>Matix</p> </filmes> </document> Figura 04: Exemplo de um documento XML utilizando XInclude Fonte: Arquivo pessoal XQuery A necessidade de se ter consultas em XML, fez o W3C desenvolver o XQuery, que é a linguagem funcional de consulta a documentos XML. Ela tem características do XPath e do SQL (Structure Query Languange)8, e outras linguagens. Como é uma linguagem recente, alguns problemas foram detectados no início, mas, novas versões com correções foram lançadas. As consultas são feitas através de uma expressão. Em um banco de dados relacional, onde os dados estão estruturados, usa-se a SQL para o acesso e manutenção nos dados. Num documento XML, precisa-se de um recurso viável para resgatar os dados e obter as informações: XQuery é este recurso. As expressões XQuery são bastante parecidas com expressões SQL. XQuery, portanto, focaliza assuntos que não são cobertos pela XPath. 8 Linguagem funcional padrão de todos os banco de dados para definição e manipulação dos dados. 9 XSL As especificações da XSL (extensible stylesheet language – linguagem de estilo extendida) definem como os documentos XML podem ser transformados em outro formato, principalmente em um formato para apresentação. Esta especificação possui três partes: XPath, XSLT (XSL transformations – transformações XSL) e XSLFO (objetos de formatação XSL). o XPath: como vimos anteriormente, XPath é uma linguagem para navegarmos arquivos XML. Ela foi criada originalmente no contexto da XSL. Posteriormente ela se tornou uma recomendação separada. o XSLT: é uma linguagem baseada em XML. Especifica como os documentos XML podem ser transformados em outro formato (XML ou não). O documento de entrada precisa ser um XML bem formado. o XSLFO: é a linguagem para formatar arquivos XML. XSLFO pode ser comparada com a CSS (cascading style sheets - folhas de estilo em cascata), que faz a formatação de estilo em páginas HTML. APIS XML São interfaces de programas de aplicações para XML. Definem como as aplicações podem utilizar os analisadores existentes e outras ferramentas XML. As aplicações são livres para tratar um documento XML e realizar a análise com lógica personalizada, porém, é recomendado que isto seja evitado, e utilizem analisadores padrões, como o SAX ou DOM. SAX SAX (Simple API for XML) não é um padrão do W3C. Existem diversos analisadores SAX, para diferentes linguagens de programação, dentre elas, Java, C++ e Delphi. As especificações SAX estão disponíveis publicamente. SAX é um analisador baseado em eventos – ele lê um fluxo de entrada XML. SAX é bastante simples, não exige muita memória e suporta namespace. Não é possível modificar um documento XML, pois SAX é somente de leitura. DOM DOM (document object model) é uma interface de programação de aplicação completa para documentos XML. Esta interface permite que clientes possam navegar, acrescentar, modificar ou excluir documentos XML. DOM é relativamente pesado nos recursos, porém, ao contrário do SAX, armazena a estrutura completa do documento na memória. Como exemplo de uma implementação DOM muito popular nas plataformas Windows é o MSXML da Microsoft. A figura 5 nos mostra um exemplo de DOM: Set xmlDoc = CreateObject("Msxml2.DOMDocument.4.0") Set stylePI = xmlDoc.createProcessingInstruction("xml", "version=""1.0""") xmlDoc.appendChild(stylePI) Set root = xmlDoc.createElement("ALUNOS") xmlDoc.appendChild root AdicionaAluno "1", "Renato", root AdicionaAluno "2", "Paulo", root 10 AdicionaAluno "3", "Marcos", root AdicionaAluno "4", "Sérgio", root xmlDoc.save "c:\alunos.xml" sub AdicionaAluno(id, nome, raiz) set eleAluno = xmlDoc.createElement("ALUNO") eleAluno.setAttribute "id", id set eleNome = xmlDoc.createElement("NOME") Set eleNomeConteudo = xmlDoc.createTextNode(nome) eleNome.appendChild eleNomeConteudo eleAluno.appendChild eleNome raiz.appendChild eleAluno end sub Figura 05: Exemplo de um documento DOM Fonte: Arquivo pessoal TÉCNICAS DE SEGURANÇA NA XML Segundo Daum e Merten (2002), a preocupação com a segurança é um aspecto importante de comunicação na Internet. Com o passar dos anos foi desenvolvido várias técnicas de segurança. Uma arquitetura de segurança é baseada nos seguintes serviços de segurança: confidencialidade; integridade; autenticação e reconhecimento. As técnicas para implementar esses serviços são: chaves de criptografia assimétricas, simétricas, híbridas; sínteses de mensagem; assinaturas digitais e certificados. A arquitetura de segurança da XML é baseada em padrões de criptografia. Os dois padrões são XML Signature, XML Encryption, que lidam com criptografia. XML Signature Segundo Daum e Merten (2002), XML Signature (assinatura XML) descreve a sintaxe e o modelo de processamento de assinaturas baseadas em XML e possui o status de uma recomendação proposta do W3C. Signature permite a assinatura digital de qualquer tipo de objeto Web, inclusive os documentos XML. XML Signature usa um conceito distribuído, permitindo a referência de objetos assinados. Ao assinar documentos XML, os algoritmos de assinaturas usam a representação de caractere do documento ou elemento para calcular a assinatura. Existem três tipos de assinatura em XML Signature: assinatura do envelope; assinatura avulsa e assinatura envelopada. XML Encryptron Também criado pelo W3C, define como os dados arbitrários podem ser representados de forma criptografada em XML. O padrão focaliza os seguintes alvos de criptografia: dados binários quaisquer; documentos XML completos e conteúdo do elemento. Além da definição dos seus próprios elementos sintáticos, XML Encryption utiliza os conceitos e a sintaxe da XML Siganture para especificar coisas como transformações ou informações de chave. (DAUM e MERTEN, 2002). 11 CONCLUSÃO Neste trabalho, procurou-se ressaltar a importância da utilização da XML. Já faz alguns anos que a área de TI se vê confrontada ao desafio da integração das diferentes aplicações corporativas e dos sistemas legados. Este quadro fez com que o W3C recomendasse a XML e todas as tecnologias que giram em torno dela. Intensificou-se, entretanto, o esforço de integração e racionalização dos processos de negócio. A Internet, como facilitadora do processo, possibilitou o desenvolvimento de arquiteturas de comunicação, disponibilizando parte das informações das organizações, extrapolando as fronteiras corporativas. Os novos protocolos web promovem o intercâmbio de documentos XML, com sofisticadas formas de segurança. Conclui-se que, com o mundo XML, de padrões abertos, torna-se mais simples a implementação, do que a utilização de soluções tradicionais proprietárias. REFERÊNCIAS CUMMINS, Fred A. Integração de sistemas: EAI - enterprise application integration. Rio de Janeiro: Campus, 2002. DAUM, Bethold; MERTEN, Udo. Arquitetura de sistemas com XML. Rio de Janeiro: Campus, 2002. FURGERI, Sérgio. Ensino didático da linguagem XML. São Paulo: Érica, 2001. JAMIL, George L. Repensando a TI na empresa moderna: atualizando a gestão com a tecnologia da informação. Rio de Janeiro: Axcel Books do Brasil, 2001. PINHEIRO, Marden C. Proposta de um esquema XML para o intercâmbio de dados entre programas de análise por elementos finitos. 2003. 117 f. Dissertação (Mestrado em Tecnologia) – Centro Federal de Educação Tecnológica de Minas Gerais, Belo Horizonte, 2003. TRANSLATIONS OF W3C Documents. Disponível em: <http://www.w3.org/2005/11 /Translations/Lists/OverviewLang.html >. Acesso em: 18 nov. 2006. TURBAN, Efraim; RAINER JR, R. K.; POTTER, E. P. Administração de tecnologia da informação: teoria e prática. 3.ed. Rio de Janeiro: Elsevier, 2005. W3C WORLD WIDE WEB Consortium. Disponível em: <http://www.w3.org/>. Acesso em: 10 nov. 2006. XML EM 10 PONTOS. Disponível em: <http://paginas.terra.com.br/informatica/mja /W3C/XML-in-10-points.pt-BR.html> Acesso em: 18 nov. 2006. * Fernando Hadad Zaidan é mestrando em Administração na FUMEC, cuja linha de pesquisa é na fronteira da Administração e Sistemas de Informação. Bacharel em Ciência da Computação – FUMEC. Gestor e Desenvolvedor de Sistemas – UNI-BH. Analista de Sistemas – UFMG.