o mundo xml - Fernando Zaidan

Propaganda
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.
Download