Você está na página 1de 70

Leandro Galinari 0200078 8 Semestre

A IMPORTNCIA DE XML NA INTEGRAO DE SISTEMAS

Jaguarina 2005

Leandro Galinari 0200078 8 Semestre

A IMPORTNCIA DE XML NA INTEGRAO DE SISTEMAS

Monografia

apresentada

disciplina

Trabalho de Graduao III, do curso de Cincia da Computao da Faculdade de Jaguarina, sob orientao do Prof. Ms. Leonardo Hartleben Reinehr, como exigncia parcial para concluso do curso de graduao.

Jaguarina 2005

GALINARI, Leandro. A importncia de XML na integrao de sistemas. Monografia defendida e aprovada na FAJ em Dezembro de 2005 pela banca examinadora constituda pelos professores:

Prof. Ms. Leonardo Hartleben Reinehr FAJ Orientador

Prof. Ms. Roberto Vargas Pacheco FAJ -

Prof. Ms. Oderson Dias de Mello FAJ -

Dedico esta Pesquisa ao Professor Mestre Leonardo Hartleben Reinehr, que com pacincia e amizade me incentivou a realizar este trabalho.

Agradecimentos
Agradeo Deus, entre outras coisas, pela oportunidade de passar um perodo da minha vida com pessoas sbias, honestas e competentes. De maneira especial agradeo o professor Leonardo Hartleben Reinehr, que deu-me suporte necessrios para a realizao deste trabalho. A todos os professores que diretamente me ajudaram. Aos meus pais Mamedes Galinari e Tereza Borba de Carvalho Galinari, que sempre me mostraram o caminho certo para trilhar, com carinho, amor e dedicao. Aos meus irmos Lucio Flvio Galinari e Letcia Galinari, os quais sempre me apoiaram nas minhas decises. De maneira especial minha noiva Gabriela Semeghini da Silva que com pacincia e amor me ajudou e me esperou nas horas em que estive ausente. Aos meus amigos Andr Luiz Trombetone, Carlos Diego Imenes, Emerson Barros Silva, Leandro Romanini, Leandro Marconato, Rafael Demasi e Rafael Martinez.

GALINARI, Leandro. A importncia de XML na integrao de sistemas. 2005. Monografia (Bacharelado em Cincia da Computao) Curso Cincias da Computao da Faculdade de Jaguarina, Jaguarina.

RESUMO
O objetivo desse trabalho mostrar o que integrao de sistemas, seus conceitos e histrico, seus tipos e a importncia da integrao de sistemas no mercado atual, onde existe a necessidade de integrar aplicaes de diferentes plataformas. Apresentar tambm a tecnologia XML, mostrando seus conceitos, suas regras, sua arquitetura, suas vantagens e desvantagens. Mostrar a importncia da tecnologia XML no segmento de integrao de sistemas e quais seus benefcios e os recursos utilizados pela XML. Comparar a XML com outra tecnologia, neste caso o documento texto, mostrando as vantagens de utilizar a XML e no o TXT. Para essa comparao foi criado um prottipo onde dois sistemas desenvolvidos com a linguagem Delphi foram integrados mostrando informaes de um pedido e de itens de pedido. A XML mostrou maiores vantagens, pois ela possui, mais flexibilidade, recursos para ser reconhecida por outros programas, independncia de plataforma e compatibilidade com o protocolo http e conforme ferramentas e especificaes derivadas foram sendo adicionadas. A tecnologia ganhou valor muito maior. A XML uma tecnologia essencial para acesso a Web, comunicaes B2B e integrao de aplicaes corporativas (EAI, enterprise application integration).

Palavras-chave: XML, HTML, SGML

Abstract
The objective of this project is to explain what is integration of systems, their concepts and historical, their types and the importance of the integration of systems in the current market, where there is a need of integrating applications of different platforms. Another related objective is to present the XML technology, showing its concepts, rules, architecture, and advantages and disadvantages. To show the importance of the technology XML in the segment of integration of systems and which their benefits and the resources used by XML. To compare XML with other technology, in this case the document text, showing the advantages of using XML and no TXT. For that comparison a prototype was created where two systems developed with the language Delphi were integrated showing information of a request and of request items. XML showed larger advantages, because it possesses: more flexibility, resources to be recognized by other programs, platform independence and compatibility with the protocol http and according to tools and derived specifications went being added. The technology won very larger value. XML is an essential technology for access the Web, communications B2B and integration of corporate applications (EAI, enterprise application integration).

Sumrio
1. INTRODUO ................................................................................................. 12 2.1 Tipos de integrao ......................................................................................... 14 2.2 Modelos de integrao .................................................................................... 14 2.2.1 Integrao de apresentao ...................................................................... 14 2.2.2 Integrao de dados .................................................................................. 15 2.2.3 Integrao funcional................................................................................... 17 3. XML ........................................................................................................................ 19 3.1. SGML .............................................................................................................. 20 3.2. HTML .............................................................................................................. 20 3.3. A estrutura XML............................................................................................... 20 3.4. Regras do XML................................................................................................ 21 3.5. Inicializao de um documento XML ............................................................... 21 3.6. Atributos reservados........................................................................................ 22 3.7. Comentrios .................................................................................................... 22 3.8. Arquitetura de arquivos XML ........................................................................... 23 3.9. XML Bem-Formado ......................................................................................... 23 3.10. Manipulao de documentos ......................................................................... 23 3.11. Criao e Visualizao de Documentos XML................................................. 24 4. INTEGRAO DE SISTEMAS USANDO XML ....................................................... 26 4.1. Vantagens da XML na integrao.................................................................... 26 4.1.1. No-patenteada ......................................................................................... 26 4.1.2. Independente de plataforma ...................................................................... 27 4.1.3. Compatvel com o protocolo HTTP (HyperText Transport Protocol)........... 27 4.1.4. Internacional .............................................................................................. 27 4.1.5. Extensvel .................................................................................................. 28 4.1.6. Autodefinida............................................................................................... 28 4.1.7. Ferramentas comuns ................................................................................. 29 4.1.8. Transformao........................................................................................... 29 4.2. Tecnologias relacionadas ................................................................................ 30 4.2.1. DTD (Document Type Definition) ............................................................... 30 4.2.2. Namespaces.............................................................................................. 36 4.2.3. Schema XML ............................................................................................. 37 4.2.4. XPath......................................................................................................... 39 4.2.5. XLink ......................................................................................................... 39 2. INTEGRAO DE SISTEMAS ............................................................................... 13

4.2.6. XSL............................................................................................................ 39 4.2.7. DOM (Document Object Model) ................................................................. 40 4.2.8. SAX (Simple API for XML) ......................................................................... 41 4.2.9. XQuery ...................................................................................................... 41 4.2.10. SOAP ...................................................................................................... 42 4.2.11. WSDL (Web Services Description Language) ......................................... 42 4.2.12. XML Signature (Assinatura XML) ............................................................ 42 4.2.13. UDDI (Universal Description, Discovery, and Integration)........................ 43 4.2.14. ebXML (Electronic Business XML) .......................................................... 44 4.2.15. RDF (Resource Descriptor Framework) .................................................. 45 4.3. Desvantagens da XML na integrao .............................................................. 46 5. ESTUDO DE CASO................................................................................................ 47 5.1. Pedido eletrnico............................................................................................. 48 5.2. Pedido em XML ............................................................................................... 49 5.3. Itens do pedido em XML.................................................................................. 50 5.4. Sistema gerencial ............................................................................................ 51 5.4.1. Importar pedido.......................................................................................... 51 5.4.2. Pedido em TXT.......................................................................................... 52 5.4.3. Itens do pedido em txt................................................................................ 52 5.5. Exemplos de documento XML, TXT e HTML. .................................................. 53 6. 7. 57 CONCLUSO................................................................................................... 57 REFERNCIAS BIBLIOGRFICAS.................................................................. 58

Lista de Figuras
Figura 1. Figura 2. Figura 3. Figura 4. Figura 5. Figura 6. Figura 7. Figura 8. Figura 9. Figura 10. Figura 11. Figura 12. Figura 13. Figura 14. Figura 15. Figura 16. Figura 17. Exemplo de um documento XML. ..................................................................... 24 Visualizao do documento XML no Internet Explorer...................................... 25 Validao de um documento XML. ................................................................... 33 Janela do Pedido Eletrnico. ............................................................................ 48 Visualizao do cabec.xml no Internet Explorer................................................ 49 Visualizao do documento itens.xml no Internet Explorer. .............................. 50 Janela do Sistema Gerencial. ........................................................................... 51 Janela onde o usurio escolhe o pedido que ser importado. .......................... 51 Pedido em TXT................................................................................................. 52 Itens do pedido em TXT................................................................................ 52 Tabela de Pedido do Microsoft Access. ........................................................ 53 Exportar para XML a tabela de Pedido. ........................................................ 53 Visualizao do documento XML exportado da tabela de Pedido................. 53 Exportando para TXT a tabela Pedido. ......................................................... 54 Visualizao do Pedido em TXT no Bloco de Notas. .................................... 54 Visualizao do Pedido em HTML no Internet Explorer. ............................... 55 Cdigo Fonte do Pedido em HTML............................................................... 55

Lista de Siglas
BI CORBA CPA CPP CRM DM DNS DOM DTD DUNS DW EAI EBXML EDI EJB HTML HTTPS LDAP MOM ODBC PRM RDF SAX SCM SGML SOAP TPMS SSL UDDI URI W3C WSDL XML XSL XSL-FO XSLT Business Intelligence Common Object Request Broker Architecture Collaboration Protocol Agreement Collaboration Protocol Profile Customer Relationship Management Data Marts Domain Name Server Document Object Model Document Type Definition Data Universal Numbering System Data Warehouses Enterprise Application Integration Electronic Business XML Enterprise JavaBeans HyperText Markup Language Hypertext Transfer Protocol Segure Lightweight Directory Access Protocol Message Oriented Middleware Open Database Connectivity Partner Relationship Management Resource Descriptor Framework Simple Api for XML Supply Chain Management Standard Generalized Markup Language Simple Object Access Protocol Transaction Processing Monitors Segure Socket Layer Universal Description, Discovery, and Integration Universal Resource Identifier World Wide Web Consortium Web Services Description Language Extensible Markup Language Extensible Stylesheet Language Xsl Formatting Objects Xml Stylesheet Language for Transformation

1. INTRODUO
Os sistemas computacionais modernos so desenvolvidos utilizando diferentes tecnologias (linguagens de programao, infra-estrutura de comunicao, formato de armazenamento de dados, e assim por diante). Com a evoluo dos negcios, da globalizao e da competitividade cada vez mais acirrada, as empresas passaram a sentir a necessidade de integrar seus sistemas para obter o mximo de informaes sem aumentar demais os custos de desenvolvimento de sistemas (LINTHICUM, 1999). Por isso, investir em integrao de sistemas especialmente importante, pois as organizaes tm a necessidade de integrar sistemas diferentes e de unir sistemas antigos com os novos. Por outro lado, o desenvolvimento da linguagem XML (eXtensible Markup Language) (OASIS, MOURA, WALSH) forneceu uma forma padronizada e flexvel para a representao de informaes, sendo rapidamente acolhida pela comunidade de software. XML permite a representao de dados, tanto em termos de estrutura quanto de contedo, independentemente do tipo de aplicao, plataforma, sistema operacional ou linguagem de programao. Essa representao padronizada permitiu a construo de diversas ferramentas de manipulao de dados, facilitando o trabalho das aplicaes que utilizam XML. Assim, um sistema que utiliza XML para externalizar seus dados pode se integrar mais facilmente a outros sistemas, pois a representao das informaes a serem trocadas padronizada. Considerando que a maior parte destes sistemas envolve manipulao ou transferncia de dados e registros de bancos de dados, XML acaba trazendo novas possibilidades aos usurios finais, com a implementao de uma nova coleo de aplicaes comerciais. Alm disso, informaes hoje disponveis na Web, armazenadas seja em arquivos, seja em bancos de dados, podem ser marcados no formato XML (MOURA). Por isso, importante analisar, tanto de forma terica quanto prtica, quais benefcios linguagem XML pode fornecer quando aplicada no contexto da integrao de sistemas, alm de identificar possveis problemas e limitaes em sua utilizao.

2. INTEGRAO DE SISTEMAS
Com a globalizao e a evoluo dos negcios, as empresas sentiram a necessidade de integrar seus sistemas, pois perceberam que no mundo dos negcios o que no importa a localizao geogrfica, ento para continuar competitiva tinham que integrar seus sistemas. A integrao significa combinar partes que trabalham isoladamente, formando conjunto que trabalha como um todo. Integrao de Sistemas significa compor diferentes produtos de diferentes fabricantes em um nico Sistema e a soluo para isso EAI (Enterprise Application Integration) - integrao de aplicaes corporativas. A EAI trabalha como se fosse uma tecnologia de integrao genrica, assim gerenciando transaes, rotinas de integrao, camada de servidores Web, etc (CHAVES). So vrios os motivos que esto levando a comunidade de Informtica a se interessar pela tecnologia de EAI, alguns exemplos so: - Necessidade de integrao dos sistemas ERPs com o restante dos sistemas sobreviventes da fase empacotada, e at mesmo integrao entre os diferentes mdulos ERPs. Necessidade de integrao dos sistemas CRM (Customer Relationship Management) e sistemas PRM (Partner Relationship Management). - Necessidade da definio de componentes integradores para ligar o mundo transacional dos pacotes e legados com o mundo informacional dos Data Warehouses (DW) e Data Marts (DM), devido ao crescimento da rea de BI (Business Intelligence). - Necessidade de cruzamento de fronteiras entre as aplicaes de negcio na Internet, uma abordagem mais rpida e integrada entre as peas de sistemas j existentes e as novas que esto chegando. O SCM (Supply Chain Management) um exemplo, pelo fato de representar os processos de produo e entrega do produto final, do fornecedor para o cliente; O aporte de novas tecnologias indutoras de integrao, como XML (Extensible Markup Language) e LDAP (Lightweight Directory Access Protocol), pode servir como motivao para a melhoria do ambiente de negcios eletrnicos da empresa. XML uma proposta para intercmbio de documentos, baseado em uma definio de metadados (tags auto definidos) e j conta com a aposta dos grandes fabricantes de software do mercado, como Microsoft, Oracle e IBM. A outra abordagem, LDAP, uma proposta para padronizao de acessos aos diversos servios de diretrios diferentes espalhados pelos ambientes de rede e de desenvolvimento. Integrao de Sistemas compreende a concepo, o projeto, o desenvolvimento, a implementao, a otimizao e manuteno de sistemas e/ou processos de negcio de uma

empresa, de maneira a garantir uma soluo que permita uma abordagem coerente da informao atravs de uma diversidade de componentes tecnolgicos, provenientes de mltiplos parceiros e que se integram de uma forma harmoniosa.

2.1

Tipos de integrao
Para que uma integrao acontea com sucesso ela precisa integrar vrios sistemas

de forma fcil e rpida, tambm existe a necessidade de reduzir os acoplamentos.

2.2

Modelos de integrao
Para Linthicum, (1999) Pacheco, (2000), existem 4 tipos de abordagem de

integrao: em nvel de dado, interface de aplicao, mtodo e interface de usurio. J para Ruh, (2001) existem trs tipos de integrao: Apresentao (onde engloba os nveis de interface e aplicao como apresentao), de Dados e Funcional. Ser abordada neste trabalho a classificao de Ruh, apresentando trs tipos de integrao.

2.2.1 Integrao de apresentao


Esse modelo de integrao baseado no conceito de acesso s aplicaes de sistemas, permitindo desenvolver uma nova interface de usurio atravs do mapeamento das interfaces antigas. Considerando que EIA um dos primeiros mtodos, essa forma pode ser facilmente gerenciada e reutilizando a lgica existente. E apesar de poder estar sendo acessada por muitas aplicaes, a nova apresentao simula ser uma nica apresentao. Na integrao lgica, tem-se a instruo para onde direcionar as interaes do usurio, comunicar a interao do usurio ao software apropriado usando apresentaes existentes como ponto de integrao. Quando empregar esse modelo? Quando houver necessidade de: Apresentar uma interface em que o usurio percebe como uma nica aplicao. Colocar uma interface de usurio baseada no PC em uma aplicao baseada em terminal existente,

Integrar com uma aplicao cujo nico ponto de integrao til e implementvel atravs de sua apresentao. Prs e contras: A integrao de apresentao muito fcil de ser realizada e

normalmente a lgica de apresentao menos complexa que a lgica de Dados ou Funcional, descoberta facilmente e bem documentada. Ento cabe ao usurio focar a sua ateno na construo da nova apresentao. Por outro lado, a integrao de apresentao ocorre somente no nvel da interface do usurio. A integrao de apresentao pode ter seu desempenho comprometido devido camada extra de software para a aplicao existente. Entre os trs tipos de integrao esse o mais limitado. E a integrao no ocorre na interconexo entre as aplicaes e os dados, ela ocorre na apresentao. Ou seja, este modelo uma das formas mais simples de integrao. A integrao dos diferentes componentes de software atingida atravs de uma interface de utilizador. Normalmente a integrao resulta numa apresentao unificada para o utilizador. A nova apresentao pode parecer que apenas uma aplicao, mas pode, no entanto estar a aceder a diferentes aplicaes previamente existentes na organizao. Assim as instrues sobre para onde dirigir a informao introduzida pelo utilizador reunida num ponto central que depois faz a interligao das aplicaes. Isto cria uma utilizao mais prtica das aplicaes existentes, para o utilizador.

2.2.2 Integrao de dados


Tem o objetivo de extrair os dados de uma base e em um modelo de integrao de dados permitida a integrao por meio do acesso aos dados que so criados pelo software, com a possibilidade de ser usado novamente atravs de aplicaes. Diversas ferramentas e middleware (aplicativo que interliga outros dois aplicativos), escondem as complexidades do sistema operacional e da rede a fim de facilitar a integrao de vrios sistemas. Como exemplos de middleware tm: Batch file transfer - Permitem mudar arquivos entre sistemas e aplicaes de maneira ad hoc ou pr-determinada. Considerada como uma das primeiras ferramentas utilizadas para a integrao de dados. Open Database Connectivity (ODBC padro da Microsoft amplamente utilizado para conectividade de banco de dados) - uma aplicao padro de programao de interface que

acessa bancos de dados relacional heterogneos. Prov uma interface que pode ser usada para integrar banco de dados que fornece suporte a sua utilizao. Database access middleware um tipo de software que facilita o acesso ao banco de dados atravs do uso ou criao de conectores. Alm disso, disponibiliza o ambiente em tempo de execuo para gerenciar as requisies enviadas a esses bancos de dados e retorno dos resultados. Forma de prover conectividade a banco de dados distribudo. Middleware de acesso de dados focalizada na troca de consultas, gerenciamento de resultados, conectividade para banco de dados, agrupamento de conexes e outras tarefas de housekeeping (administrao interna de negcios) relacionados a gerenciamento de dados. Data transformation uma ferramenta que usualmente complementa o middleware. Prov a habilidade de converter dados do formato do banco de dados fonte no formato do banco de dados alvo. Cada uma dessas tecnologias pode ser usada para solucionar problemas pontuais ou podem ser combinados a fim de resolver problemas de integrao de dados mais complexos. Quando empregar esse modelo? Quando houver necessidade de: Combinar dados de mltiplas fontes para anlise e tomada de deciso. Prover mltiplas aplicaes com acesso leitura a uma fonte de informaes comum. Permitir que dados fossem extrados de uma fonte e reformatados e atualizados em outro. Prs e contras: Integrao de dados prov uma maior flexibilidade do que o modelo de integrao de interface. O modelo de integrao de dados tem uma integrao rpida quando os bancos de dados so acessveis atravs de interfaces ou quando o middleware prov integrao de dados atravs de mltiplas fontes para aplicaes novas, tambm permitem que os dados sejam reutilizados atravs de outras aplicaes. Cada integrao ligada a um modelo de dados. Se o modelo de dados muda, a integrao pode se desfazer. Quando o sistema est se evoluindo qualquer mudana pode ser difcil de se fazer, porque pode se desfazer a integrao. Ou seja, neste modelo a integrao feita ao nvel do acesso aos dados de um componente de software. O software de uma aplicao passado por cima e os dados que esto a ser criados, alterados, substitudos ou guardados sero acessados diretamente.

2.2.3 Integrao funcional


Usa um mecanismo que permite o compartilhamento de mtodos entre aplicaes, compartilhamento lgico do negcio em toda a corporao ao nvel de componente. Talvez essa seja a forma de EIA mais flexvel e gerencivel, esse mtodo requer que a integrao seja feita no cdigo da aplicao. Este ponto de integrao pode ser simples como o acesso por meio de uma API ou difcil como requerer cdigo adicional para criar pontos de acesso (Pacheco, 2000). Chamadas de procedimentos remotos requerem que o ponto de integrao seja no cdigo da aplicao. Entretanto, o uso de distributed processing middleware tornou-se o mecanismo preferido, porque prov um ambiente em tempo de execuo para gerenciar os pedidos entre os componentes de software. Tipicamente requerem esforo significativo de uso no desenvolvimento de software. Middleware prov uma abordagem mais robusta que combina definio de interface e de comunicaes como tambm suporte em tempo de execuo para administrar os pedidos entre componentes de interface. Existem trs categorias de distributed processing middleware: Message Oriented Middleware (MOM) prov integrao por meio da passagem de mensagem. Similar ao conceito de correio, o MOM ento responsvel pela entrega da mensagem ao sistema alvo. Distributed Object Technology Aplica o conceito de orientao a objeto ao middleware. Atravs de uma rede o software pode ento ser acessado por outras aplicaes por meio das interfaces objeto. Transaction Processing Monitors (TPMs) Prov suporte as misses crticas para arquiteturas distribudas por meio da permisso de uma transao ser gerenciada usando conceitos como commit de duas fases. Preservam a integridade dos recursos de informaes distribudas como banco de dados, arquivos e mensagens. A integrao funcional mais flexvel do que a de dados ou de apresentao. Pode ser aplicado usando trs diferentes abordagens: Data Consistency Integrao atravs do cdigo de uma aplicao onde a finalidade acessar ou atualizar dados. Tipicamente implementado enviando-se uma solicitao a cada sistema que descreve a ao que pretendida junto com os dados. Multistep Process Uma ao processada corretamente por todas as aplicaes pertinentes na ordem correta de tendncia sem interveno humana ou redigitao da informao. A integrao facilita a comunicao da solicitao e gerencia o fluxo e a seqenciao. Plug-and-play components Conceito de software pode ser criado como componentes com interfaces fceis de se entender que podem ser conectadas facilmente para formar uma

nova aplicao. Este tipo de integrao o mais complicado das diferentes abordagens, porm tem o maior valor para o empreendimento. Multistep Process Component Integration Integrao fortemente Integrao fortemente Acoplamento acoplada acoplada Baseado em sncrono Processamento Domnio do assncrono ou assncrono Complexidade em Abstrao simples de Abstrao complexa das Abstrao abstrair as regras do regras de negcio regras de negcio negcio Tabela 1 Ruh, (2001) compara as trs abordagens de Integrao Funcional. Quando empregar esse modelo? Quando houver necessidade de: Assegurar integridade transacional entre as aplicaes Antecipar o reuso substancial das funes de negcio Requisito de criao e integrao atravs de um conjunto de aplicaes. Prs e contras: O modelo de integrao funcional prov a mais robusta integrao entre todos os modelos. Pode ser usado para solucionar problemas dos modelos de dados e apresentao. Prov o reuso de componentes criados mais do que os outros modelos. Entretanto este modelo mais complexo. Ento, este modelo baseado numa integrao ao nvel da codificao de software. Pode ser at ao nvel de um procedimento ou objeto, ou acedendo a um API do software existente caso esteja disponvel. Data Consistency Integrao com acoplamento fraco Domnio do assncrono

3. XML
Sempre foi difcil mover informaes atravs da Internet e entre aplicativos de software devido a diferenas nos formatos de dados e estruturas proprietrias. A HTML, embora seja adequada para fornecer informaes de exibio de imagem e texto para navegadores da Web, limitada no tocante a sua capacidade de definir dados e estruturas de dados. A HTML descreve como uma pgina da Web deve aparecer, enquanto a XML define os dados e descreve como os dados devem ser estruturados. XML um formato de troca de dados que permite trocar dados entre aplicativos ou sistemas diferentes. O XML separa os dados da apresentao de forma que os mesmos dados XML possam ser apresentados de vrias maneiras usando diferentes arquivos de apresentao. A XML um protocolo com base em padres governado pelo World Wide Web Consortium (W3C), um consrcio de instituies comerciais e educacionais que supervisiona a pesquisa e desenvolve padres em todas as reas relacionadas World Wide Web. O protocolo XML um conjunto de regras, diretrizes e convenes para planejar estruturas e formatos de dados, de maneira a produzir arquivos que sejam fceis de gerar e que sejam facilmente lidos por diferentes computadores e aplicativos. Alm disso, as estruturas definidas no XML no tm ambigidade; ou seja, elas so autodescritivas e independem da plataforma. De maneira semelhante linguagem HTML, a linguagem XML lana mo de marcas e atributos (atributo - Elemento da estrutura do XML, sempre indicado entre os sinais < > que inicia e fecha um comando, podendo tambm indicar uma ao sobre os dados do elemento que representa), no entanto, enquanto o HTML especifica o que cada marca e atributo significa (e dessa forma como os dados entre eles aparecero em um navegador), a XML usa as marcas somente para delimitar segmentos de dados, deixando a interpretao dos dados exclusivamente para o aplicativo que os l. A grande vantagem dessa linguagem permitir a criao de tags prprias sem complicao nenhuma, o que aumenta a produtividade. Um documento XML pode ser descrito por um documento DTD (Document Type Definition) ou XML Schema. Um analisador (parser) XML pode usar o DTD ou o Schema para validar um documento XML. A XSL (XML Stylesheet Language) pode ser usada para especificar uma transformao de um documento XML. O Modelo DOM (Document Object Model) define um protocolo de interface de objeto para acessar o contedo de um documento XML atravs de uma interface orientada a objeto. Vrios outros padres e recursos foram desenvolvidos em torno da XML.

3.1. SGML
Standard Generalized Markup Language, meta-linguagem complexa, de descrio estruturada de documentos. Usada pela primeira vez em 1986, pela indstria livreira para definir, especificar e criar documentos digitais que possam ser distribudos, visualizados, ligados (link) e manipulados de uma forma independente.

3.2. HTML
Consiste em uma aplicao especifica do SGML utilizada na Internet. O HTML define um tipo de documento simples, com marcaes fixas projetadas para uma classe de relatrios tcnicos de uso comum em escritrios, como por exemplo: Cabealhos, pargrafos, listas, ilustraes e algumas possibilidades para hypertexto, e multimdia. o padro de uso na Internet.

3.3. A estrutura XML


A XML uma linguagem de marcao para armazenar dados, as marcaes so informaes adicionadas no documento com as quais entendemos seu significado a partir da forma como a informao relaciona-se com os dados. A linguagem de marcao fornece meios para identificarmos o incio e o fim de vrias estruturas. As tags sempre so iniciadas com <ID> e finalizada com </ID>. Outra forma de finalizar uma tag colocando o caractere / em seu final, como <foto fileref=mouse.jpg/>. As tags podem ter filhos ou ramos e so capazes de comportar atributos. Por exemplo <foto fileref=mouse.jpg/>, a tag foto possui um atributo chamado fileref de valor mouse.jpg o qual representa um relacionamento entre a tag foto e um arquivo chamado mouse.jpg. A estrutura crucial para que um software faa o processamento de informaes.

3.4. Regras do XML


Um documento XML formado por um ou mais elementos, elementos so formados por duas tags, uma indicando o incio, e outra, o fim. As tags que indicam o incio e o fim possuem o mesmo nome, porm, a tag de fim representada pelo caractere /. Toda tag identificada pelo caractere <, seguido de seu nome e, logo aps, o caractere >. Caso seja uma tag de finalizao, o caractere / ser colocado aps <. Ex: <CLIENTE>Leonardo</CLIENTE> Tags podem ter atributos, colocados dentro da tag de incio. O valor dos atributos deve ser especificado entre aspas simples ou entre aspas duplas.
<ROW RowState="4" ID="1" DATA_PEDIDO="20051120" CLIENTE="Leonardo" />.

O XML diferencia entre caracteres maisculos e minsculos, por exemplo: <CLIENTE> diferente de <cliente>. As tags devem ser abertas e fechadas na ordem correta. EX: <sala><ramal>102</ramal></sala>.

3.5. Inicializao de um documento XML


Todo documento XML pode ser aberto com uma tag especial que define alguns valores bsicos para o documento. Uma marcao de incio <?xml e uma marcao de fim ?>
<?xml version="1.0" standalone="yes" ?>

O atributo version obrigatrio se a tag <?xml for declarada, determinando a verso do documento XML em questo. Caso o documento XML seja criado para processamento, essencial a definio da tag <?xml> e, conseqentemente sua verso. O atributo standalone opcional e indica se o documento precisa de algum recurso no contido em sua prpria estrutura, podendo ser dados oriundos de outro documento XML, namespaces, etc (Faria, 2005).

Por padro, o valor desse atributo yes, o que significa que sero usados em sua estrutura dados originados de um recurso externo. Por isso, esse atributo geralmente no declarado. O atributo encoding tambm opcional e indica qual ser a seqncia de caracteres usada no documento XML. Tal seqncia pode ser, por exemplo: UTF8, UTF16, ISO-10646UCS-2, ISO-10646-UCS-4. Ex: <?xml version="1.0" encoding="UTF-8" ?>

3.6. Atributos reservados


A XML tem alguns atributos reservados que identificam algumas propriedades especificas. O atributo especial xml:space pode ser utilizado para identificar explicitamente que espaos em branco so significantes, ou seja, em qualquer elemento que inclua a especificao de atributo xml:space=preserve, todos os espaos em branco sero importantes. Os nicos valores vlidos para xml:space so preserve e default indica que o processamento padro desejado, caso esse atributo no seja definido, o valor padro ser default. Assim, seus dados sero tratados como o de seu elemento criador. A XML define o atributo xml:lang para identificar a linguagem e, o propsito deste atributo padronizar informaes entre as aplicaes. O padro tambm descreve como as linguagens devem ser reconhecidas.

3.7. Comentrios
Os comentrios dentro de um documento, no importam quais, podem ser muito teis, sendo que a mesma observao vale para documentos XML (Faria, 2005). Para constru-los, a sintaxe bastante simples: tm como identificador --, o sinal de dois hfens e um elemento que possui uma tag de incio e uma tag de fim. Ex: <!-- DATA EM QUE FOI FEITO O PEDIDO -->

3.8. Arquitetura de arquivos XML


A troca de documentos XML se d em funo da estabilidade das tecnologias empregadas na aplicao, especialmente em se tratando de arquiteturas de trs camadas, advm das seguintes recomendaes da W3C: Linguagem XML, namespaces e Modelo em objetos de documentos (MOURA). XML pode ser gerado a partir de bases de dados j existentes, utilizando um modelo em trs camadas. Com a XML, os dados so separados das regras de negcio e da interface com o usurio. Logo, os passos da implementao da aplicao so a integrao de dados, distribuio, processamento e interao com o usurio.

3.9. XML Bem-Formado


O documento XML tem que seguir algumas regras extras para ser considerado BemFormado, todo documento XML deve conter um prlogo indicando do que se trata, mostrando a verso (<?xml version=1.0) de XML que ele compatvel e mostrando o tipo de codificao de caractere (encoding=UTF-8?>), alm desse existe os conjuntos de caractere Unicode UTF-16 e UTF-32 e algumas codificaes ISO como o ISO-10646-xxx ou ISO-8859-xxx. O prlogo pode incluir declaraes externas, o esquema usado para validar o documento, declarao de espao de nomes, um arquivo XSL associado e algumas declaraes de entidades internas. A verificao se um documento est bem-formado pode ser feita pelas ferramentas incluindo o Internet Explorer, mais para isso o documento XML deve ter um prlogo, estar com a sintaxe correta e possuir uma rvore de ns com uma nica fila.

3.10. Manipulao de documentos


Na estrutura de dados a ferramenta utilizada pelos desenvolvedores para qualificar nomes de elementos de forma distinguvel o namespace XML, que evita conflitos entre elementos de mesmo nome. Dessa forma um documento tem seus elementos referenciados podendo ser definido de diferentes formas em diversas aplicaes ou fontes. Os

namespaces garantem que no haja conflitos entre nomes de elementos e definem sua
origem, mas no determinam a forma de processamentos dos mesmos. Os analisadores (parsers) devem ser informados do significado dos elementos e a forma de processamento adequada.

Os documentos XML podem ser distribudos atravs do HTTP como o HTML, e utilizado o modelo em objetos de documentos (DOM) o documento XML pode ser manipulado. A exibio dos dados XML ser como uma pgina HTML onde o browser ou o servidor faz a converso de formatos. A ferramenta utilizada para ordenar os dados XML a uma apresentao visual o XSL - Extensible Stylesheet Language.

3.11. Criao e Visualizao de Documentos XML


Para a construo e a edio de arquivos XML so utilizados vrios editores que facilitam, sobretudo a formatao, relacionamentos com outros documentos, visualizao da estrutura hierrquica etc. Pode se utilizar um editor de texto simples para criar um documento XML, como por exemplo o bloco de notas do sistema operacional Microsoft Windows, j no sistema operacional Linux ou Unix, possvel utilizar o editor vi. Como primeiro exemplo, o tradicional Hello World!.

Figura 1. Exemplo de um documento XML. Ser utilizado para visualizao desse arquivo o aplicativo Internet Explorer, mas nada impede de ser outro aplicativo de navegao, como por exemplo o Mozila.

Figura 2. Visualizao do documento XML no Internet Explorer.

4. INTEGRAO DE SISTEMAS USANDO XML


Antes da XML, as companhias tinham que construir o cdigo feito sob encomenda para obter os dados de suas origens, construir mensagens, e pagar taxas da transmisso para emiti-la a uma outra aplicao ou aplicao de uma outra companhia. Em vez de usar formatos proprietrios, as companhias podem agora usar XML e ferramentas padro para obter dados. Voc sabe que a integrao de aplicao de empresas um problema grande e que existem vrias solues possveis, incluindo aplicaes empacotadas, adaptadores do software, e EDI (Mital, 2003). Mas nenhuma tecnologia tem a flexibilidade de XML, com o XML podemos integrar sistemas que foram desenvolvidos com tecnologias diferentes e podemos integrar sistemas de empresas diferentes. O XML consegue integrar sistemas com facilidade devido a existncia de vrias tecnologias associadas XML e que ampliam os recursos bsicos.

4.1. Vantagens da XML na integrao


A XML recente, tornou se uma recomendao da W3C em 1998 e desde ento vem conquistando o setor de integrao de sistemas.

4.1.1. No-patenteada
A XML uma especificao W3C. Isso quer dizer que qualquer alterao na especificao precisa passar por um processo formal de proposta e aprovao que no pode ser controlado por apenas um fornecedor. Isso tambm quer dizer que a especificao pode ser aplicada sem ser preciso pagar qualquer taxa de licenciamento . Muitas das especificaes que completam a XML so patenteadas. Um consrcio limitado ou fornecedores individuais desenvolveram essas especificaes complementares para ativar determinados recursos e aplicaes estendidas. Ao mesmo tempo, tem-se percebido a necessidade de padres do setor e essas especificaes patenteadas esto, em geral, sendo substitudas pelas especificaes W3C.

4.1.2. Independente de plataforma


A XML textual e no contm expresses que sejam especficas de qualquer plataforma. Isso quer dizer que um documento XML no varia em funo da plataforma que o processa. Quando combinada com a Java, que pode ser executada na maioria das plataformas, a XML pode ser processada em diferentes plataformas com as mesmas ferramentas e as mesmas aplicaes desenvolvidas em Java. Essa possibilidade importante principalmente para a integrao de vrias aplicaes e para a troca de comrcio eletrnico, onde o remetente e o destinatrio costumam estar em plataformas diferentes.

4.1.3. Compatvel com o protocolo HTTP (HyperText Transport Protocol)


A compatibilidade com o produto HTTP outra grande vantagem. A XML pode ser executada nos mesmos locais que a HTML embora tenha uma sintaxe mais restrita que a HTML. Isso quer dizer que ela pode ser facilmente comunicada na Web transmitida atravs de firewalls. Ela tambm pode ser comunicada atravs de links seguros usando o HTTPs (HyperText Transfer Protocol Segure) com a SSL (Segure Socket Layer), o que um habilitador importante para o comercio eletrnico. A maioria das empresas j possui um servidor web e um firewall que possibilita o acesso Web. A XML melhora essa conectividade existente.

4.1.4. Internacional
A XML est projetada para comunicaes internacionais. Ela usa um conjunto de caracteres Unicode com codificao UTF 8 ou UTF-16. A UTF-8 usa um nmero de varivel de bytes por caractere, mas os caracteres ASCII normais mapeiam para caracteres UTF 8 de 1 byte. Conseqentemente, UTF-8 a preferncia nos Estados Unidos e na Europa. O UTF-16 usa codificao de 2 bytes com potencial para pares de 16 bytes. Os caracteres da maioria dos idiomas so codificados simultaneamente e apenas os cdigos de 2 bytes so usados. UTF-16 mais usado nos pases asiticos porque em alguns idiomas asiticos os caracteres precisam de uma codificao de vrios bytes em UTF-8. Um documento XML pode incluir caracteres de qualquer idioma.

4.1.5. Extensvel
A XML uma especificao aberta e, portanto, permite que novos nomes de tags sejam definidos conforme necessrio. Para evitar a duplicao de nomes, a XML viabiliza a definio de espaos para nomes. Um documento pode indicar que um nome um membro de determinado espao para nome. Esse espao para nome identificado por um URI (Universal Resource Identifier) para poder torn-lo globalmente exclusivo. Por isso, os designers de documentos XML podem usar nomes apropriados e torn-los nicos globalmente, qualificando o nome com um identificador de espao para nome apropriado. Um documento XML pode ser composto de elementos definidos por vrios espaos para nomes de modo que novos documentos possam incorporar conceitos definidos nos espaos para nomes existentes. A estrutura de texto de forma livre dos documentos XML tambm proporciona uma maior extensibilidade. Se um documento passar a incluir tags novas, em geral, as aplicaes que ainda no tiverem sido atualizadas podero ignorar as novas tags e continuar a operao.

4.1.6. Autodefinida
A utilizao de nomes de elementos descritivos faz com que as pessoas consigam ler os documentos XML sem precisarem de uma especificao associada nem de ferramentas especiais. A utilizao de espaos para nome de prefixos de nomes associados permite que sejam utilizados nomes semanticamente apropriados no contexto especfico. Essa possibilidade til no design e na depurao de documentos, mas ela no fornece a especificao exata necessria aos clculos. A estrutura de um documento XML expressa como um DTD (Document Type Definition) ou como um esquema XML. Quando uma especificao de documento expressa como um esquema XML, a especificao torna-se ela mesma um documento XML. Por isso, atravs da definio do novo esquema, a linguagem usada para estender os elementos e a estrutura de documentos. Alm disso, especificaes de esquema XML incluem um suporte avanado a vrios tipos de dados para que outras restries e significados sejam anexados aos valores de elementos. O esquema de documentos incorporado por referncia para que o mesmo esquema possa ser compartilhado por muitos documentos e usado para validao para garantir que sejam consistentes.

4.1.7. Ferramentas comuns


Existem vrias ferramentas disponveis no mercado que trabalham com SGML e essas ferramentas tambm trabalham com XML, o que funcionou como empurro para aceitao inicial. medida que extenses consistentes e tecnologias derivadas surgirem, elas podem beneficiar as ferramentas SGML, bem como ferramentas desenvolvidas especificamente para XML. Existe tambm uma variedade de ferramentas gratuitas desenvolvidas em Java e que esto disponveis para vrias plataformas.

4.1.8. Transformao
A estrutura dos recursos XML facilita a transformao. As transformaes so especificadas usando a XSLT (XML Stylesheet Language for Transformation) e, normalmente so denominadas folhas de estilos. Uma folha de estilo em XSLT um documento XML. As folhas de estilo so importantes para a apresentao e integrao. Um documento XML pode ser transformado em diferentes documentos HTML com formatos de apresentao para dar suporte a diferentes dispositivos de exibio. Um documento XML tambm pode ser transformado em um formato de documento XML diferente para atender a requisitos de entrada de uma aplicao. A transformao um recurso essencial para obter compatibilidade para integrao de aplicaes corporativas e parceiros de negcios costumam envolver estrutura de registros incompatveis. Mesmo que as especificaes sejam idnticas, provavelmente em algum momento elas se tornaro incompatveis devido a atualizaes do software ou instalao de novas aplicaes. Ferramentas padres esto disponveis para implementar transformaes.

4.2. Tecnologias relacionadas


A aplicao da XML deu origem a vrias extenses e tcnicas complementares, muitas delas eram inicialmente solues patenteadas, mas foram sendo incorporadas a especificaes em desenvolvimento ou j aprovadas pelo W3C. Por isso, a XML uma famlia de especificaes e ferramentas que oferece muitos recursos estendidos. As especificaes mais relevantes para a integrao de sistemas so representadas por:

4.2.1. DTD (Document Type Definition)


Um DTD define a estrutura de um documento XML. Como ele, um analisador pode determinar no apenas se um documento est sintaticamente correto, mas tambm se est de acordo com requisitos de um tipo de documento especfico. Um DTD pode definir os elementos obrigatrios e elementos proibidos, os elementos que esto contidos em um elemento e que definem a estrutura hierrquica do documento, os atributos obrigatrios e opcionais de elementos e valores de atributos vlidos, identificadores de elementos dentro do documento a um elemento em uma outra parte do documento, os segmentos compartilhados de especificao DTD incorporado de dentro ou de fora para o DTD (entidades). Um DTD pode ser includo com um documento XML, mas o modo mais importante incorpor-lo a partir de uma origem comum, o que oferece a base para o compartilhamento de documentos com uma definio comum. Os DTDs so usados para definir vocabulrios XML. Um vocabulrio uma especificao compartilhada para documentos em determinada rea de interesse. Infelizmente, a especificao DTD no obedece sintaxe XML, os DTDs no so documentos bem formatados e o suporte a tipos de dados mnimo. Por isso, foi desenvolvida a especificao de esquema XML. Essa especificao so documentos que descrevem os documentos XML. O esquema XML uma especificao que foi recomendada pelo W3C em 2 de maio de 2001. O esquema XML oferece um recurso de representao e validao bem mais avanado, o que importante para qualquer aplicao de XML em que documentos sejam compartilhados por diferentes empresas, principalmente em comrcio eletrnico.

4.2.1.1. Sintaxe do DTD


A sintaxe para a declarao de um DTD: <!DOCTYPE NOME [ELEMENTOS] >.

Com essa declarao, todo documento XML seguir o conjunto de padres estabelecido dentro da tag <DOCTYPE. Os elementos so opcionais, porm, no faz sentido declarar um DTD sem declarar os elementos que o descrevem. A tag deve ocorrer aps a tag <?xml ...>. Ela define uma gramtica livre de contexto, qual o documento deve aderir, fazendo o papel do esquema conceitual para uma coleo de documentos XML. Exemplo de uma estrutura do XML com uma declarao de um DTD: <?xml version="1.0" encoding="UTF-16"?><!DOCTYPE Pedido > <dataroot xmlns:od="urn:schemas-microsoft-com:officedata" xmlns:xsi=http://www.w3.org/2000/10/XMLSchema-instance xsi:noNamespaceSchemaLocation="Pedido.xsd"> <Pedido> <ID>1</ID> <DATA_PEDIDO>2005-11-20T00:00:00</DATA_PEDIDO> <CLIENTE>Leonardo</CLIENTE> </Pedido> </dataroot> Exemplo em seu aspecto visual.
<?xml version="1.0" encoding="UTF-16" ?> <!DOCTYPE Pedido (View Source for full doctype...)> <dataroot xmlns:od="urn:schemas-microsoft-com:officedata" xmlns:xsi=http://www.w3.org/2000/10/XMLSchema-instance xsi:noNamespaceSchemaLocation="Pedido.xsd"> <Pedido> <ID>1</ID> <DATA_PEDIDO>2005-11-20T00:00:00</DATA_PEDIDO> <CLIENTE>Leonardo</CLIENTE> </Pedido> </dataroot>

A mensagem (View Source for full doctype...)>, significa algo como Veja o cdigo fonte para ler o DOCTYPE (DTD) completo (Faria, 2005).

No so todos os navegadores que exibem todo o contedo de uma tag DTD por causa do seu tamanho e complexidade, como a funo do navegador em se tratando de XML mostrar os dados, as informaes do DTD so ocultadas. Para analisar todo o cdigo do DTD preciso abrir o cdigo fonte do arquivo em um editor de texto simples, Bloco de Notas. Para construir um DTD, ele deve reconhecer os seguintes blocos de construo: Elementos, Tags, Atributos, Entidades e notao. No DTD, declaraes de elementos e entidades tm incio com os caracteres <!, tambm, armazenam as regras que devem ser seguidas na construo de documentos XML. As declaraes DTD s tm funcionalidades se possuir elementos declarados.

4.2.1.2. Elementos
Sintaxe bsica ELEMENT <!ELEMENT nome (expresso regular)> preciso especificar o nome e o contedo, para definir um novo elemento. Ou seja, <!ELEMENT titulo (...)>, onde <!ELEMENT a tag de declarao do elemento, o titulo o nome do elemento e (...) o contedo permitido para o elemento, esse contedo pode ser vazio, recurso empregado em imagens.

4.2.1.3. Atributos
Os elementos podem ter atributos como ocorre em xml, os DTDs foram construdos de forma a permitir a especificao desses atributos. Os atributos so expostos de forma separada dos elementos, em uma declarao de lista de atributos, sendo que esta necessria no DTD para que o processador responsvel pela interpretao do documento possa realizar a validao. A figura abaixo mostra como um Browser (por exemplo Internet Explorer 5.0) realiza a validao de um documento XML :

Documento XML

Parser Browser

Documento DTD

Figura 3. Validao de um documento XML.

Na declarao de um atributo utilizada a palavra ATTLIST, que possui o seguinte formato:


< !ATTLIST nome_do_elemento nome_do_atributo tipo_do_atributo valor_default>

Principais tipos de atributos


O atributo CDATA pode conter texto, menos os caracteres que possuem um significado especial para o interpretador: <, > e &. O atributo ID um identificador nico dentro do documento, ou seja, seus valores no podem se repetir, pois funcionam como chave primria.

4.2.1.4. Notao
As notaes foram criadas para inserir dados que no sejam XML em documentos XML, atravs das notaes podemos incluir qualquer dado binrio, como arquivo multimdia e documentos de processadores de texto. Estas informaes so transferidas para a aplicao de processamento, local onde elas sero utilizadas da maneira mais adequada. As notaes podem ser declaradas tanto no subconjunto interno como no externo do DTD de um documento. Exemplo: <!NOTATION nome (PUBLIC|SYSTEM) localizao>

Subconjunto interno
DTDs internos mantm suas regras dentro do prprio documento XML, isso feito geralmente quando o DTD especifico apenas quele documento XML. Ou seja, ele no se repetir em outros documentos. Mas quando for necessrio incluir em todas as instncias de documento, seu tamanho ser considervel, mesmo que o consumidor do documento no tenha a inteno de valid-lo. A marcao dentro da tag DOCTYPE consiste do nome do elemento raiz seguido de um colchete esquerdo, uma lista de declaraes e um colchete direito, como mostra o exemplo abaixo:

< ?xml version="1.0"> < !DOCTYPE Pedido [ < !ELEMENT Pedido (ID,DATA_PEDIDO,CLIENTE)> ... ]> < Pedido>...

Subconjunto externo No DTD externo, o DTD mantido em outra entidade, essa a prtica mais utilizada, porque a partir de um DTD muitos documentos XML podero ser validados. A marcao consiste na palavra-chave DOCTYPE, no nome do elemento raiz, seguido de outra palavra-chave (SYSTEM ou PUBLIC) mostrando a fonte do DTD externo, seguido pela localizao do DTD. Se a palavra-chave for SYSTEM, o parser deve encontrar o DTD atravs da URL que identifica o arquivo. Se for PUBLIC, alm de encontrar o DTD atravs da URL, o parser pode encontr-lo usando o identificador de sistemas.
Exemplos:

< ?xml version="1.0"> < !DOCTYPE Pedido SYSTEM "servidor/docs/ListPedido.dtd"> < Pedido>... < ?xml version="1.0"> < !DOCTYPE Pedido PUBLIC "..."> < Pedido>...

4.2.1.5. Entidades
Utiliza-se uma entidade para reaproveitar declaraes, sendo que seu uso pode diminuir o montante de trabalho para o projeto de um DTD, diminuindo os erros provenientes desse trabalho. Entidades predefinidas So seqncias que servem para simbolizar caracteres especiais como <e>, a fim de que estes no sejam identificados como valores de processamento. Entidades internas Uma entidade interna aquela em que o valor de substituio armazenado na declarao. Esse tipo de entidade permite a definio de qualquer tipo de abreviatura, que ser, durante a etapa de processamento, substituda pelo texto que est ligada.

4.2.1.6. Vantagens e Desvantagens

Vantagens: - Com o uso de DTD, os arquivos XML podem conter seus prprios formatos. - Com DTD, grupos independentes de pessoas podem entrar em acordo e utilizar um DTD comum para a troca de dados. - Um DTD padro pode ser utilizado por aplicaes para verificar se os dados que ele recebe so validos. Desvantagens: - Seus tipos de dados so limitados e no manipulam intervalos de dados. - Sua sintaxe diferente da sintaxe XML. - No so facilmente extensveis.

4.2.2. Namespaces
Os namespaces (espaos de nomes) possibilitam a nomeao exclusiva de elementos. Um espao para nome uma coleo de nomes para determinado domnio ou finalidade. Cada nome do espao contm um significado especfico nesse contexto. Os mesmos nomes podem aparecer em outros espaos para nomes com diferentes significados. So os URIs que proporcionam essa exclusividade dos espaos para nomes, com base na atribuio global de nomes de domnio da Internet. Os proprietrios de domnio que especificam so, responsveis pelo gerenciamento dos espaos para nomes dentro desse domnio. Dentro de um XML, o URI do espao para nomes associado a um prefixo de espao para nome, que uma abreviao do URI de espao para nome. Na XML, o URI no precisa ser usado para fazer referncia a um recurso Web real; ele usado apenas como um identificador exclusivo para fazer a diferenciao em homnimos. No entanto, til que o URI identifique uma pgina da Web que descreva o espao para nome e fornea um DTD ou esquema XML para estruturas associadas.

4.2.3. Schema XML


Os Schemas XML so usados para descrever a estrutura de dados em um formato comum que possa ser reconhecido pelos clientes, pelos navegadores da Web e por todos os pacotes de software ativados por XML. Especificamente, os esquemas definem as regras de um documento de dados XML, inclusive os tipos de dados e nomes de elementos, sendo que esses elementos podem aparecer em combinao, e cujos atributos esto disponveis para cada elemento. Os Schema oferecem um modelo para um documento de dados XML que define a organizao das marcas e texto dentro de todos os documentos que fazem referncia ao esquema. Os Schema de XML so os sucessores de DTDs, mais fcil de aprender e usar e podem ser processados pelas mesmas ferramentas. Suporta tipos de dados, como, string, date etc, ele permite criar novos tipos de dados. A finalidade de um Schema de XML definir os blocos de edifcio legais de um original de XML, apenas como um DTD. Um Schema de XML define os elementos e os atributos que podem aparecer em um original, define que elementos so elementos filhos, a ordem de elementos dos filhos, o nmero de elementos filhos, define se um elemento est vazio ou pode incluir o texto, tipos de dados para elementos e atributos e o defeito e valores fixos para elementos e atributos. O Schema de XML foi proposto originalmente pela Microsoft, mas transformou-se uma recomendao do oficial W3C em maio 2001. Ao usar um esquema, voc pode garantir que todo documento XML usado para importar dados para um outro formato, contm dados especficos e em conformidade com uma estrutura definida. Voc tambm pode fornecer o esquema para outros negcios e aplicativos de forma que eles saibam como devem estruturar os dados fornecidos a voc e eles, por sua vez, podem fornecer o esquema deles para voc.

4.2.3.1. Indicadores
O XML Schema possui alguns indicadores muito teis para fortalecer a tipagem dos dados. indicadores de ordem
<xsd:all>, especifica que os elementos filhos podem aparecer em qualquer ordem,

sendo que cada um pode ocorrer, no mximo uma vez.


<xsd:choice>, determina que apenas um dos elementos filhos pode ocorrer. <xsd:sequence>, define que cada elemento filho deve ocorrer na ordem indicada.

Indicadores de ocorrncia
minOccurs="0" que determina o nmero mnimo de vezes que o elemento ocorre. maxOccurs="unbounded" o que especifica o nmero mximo de vezes que o elemento

ocorre. Neste trecho <xsd:element name="DATA_PEDIDO" dado o nome do elemento,


od:jetType="datetime" o tipo de dado do elemento, <xsd:maxLength value="50" /> o tamanho da string com 50 caracteres.

4.2.3.2. Tipos de dados :


od:jetType="autonumber" - defime que o tipo de dado autonumerao. od:jetType="text" - defime que o tipo de dado texto. od:jetType="datetime" - defime que o tipo de dado data e hota.

4.2.4. XPath
A especificao XPath define um mecanismo para acessar elementos dentro de um documento XML. Ela tornou-se uma recomendao da W3C em novembro de 1999, sendo um elemento crtico de tecnologias. Uma expresso XPath define a navegao de um n de contexto para ns relacionados em um documento. Tipicamente, um n um elemento, mais pode ser tambm um atributo, uma especificao de espao para nome, uma string de texto, etc. O XPath tambm define funes que podem ser aplicadas para calcular resultados dos ns acessados. Uma expresso XPath pode retornar um conjunto de ns ou um valor elementar, como um valor booleano, um nmero de ponto flutuante ou uma string de caracteres.

4.2.5. XLink
O XLink utilizado para estabelecer um link entre um documento XML com outro documento XML externo. Sua funcionalidade semelhante a do hiperlinks em um documento HTML. Um XLink especificado com atributos XLink em um elemento de vinculao dentro do documento XML esses atributos definem a participao do elemento no link. Um atributo XLink Simple identifica o URI de um recurso a que foi feita referencia. Outros atributos podem definir um ttulo que possa ser lido pelos usurios para o link, o objetivo do recurso externo e o modo como ele pode ser exibido. Um XLink estendido oferece recursos adicionais de navegao. o link estendido que define os recursos participantes e os relacionamentos entre eles. Ou seja, o XLink um modo padro para adio de hipertexto a um arquivo XML.

4.2.6. XSL
A especificao XSL (XML Stylesheet Language) formada por dois componentes: XSLT (XSL Stylesheet Language for Transformation) e XSL-FO (XSL Formatting Objects). A XSLT define documentos XML que especificam transformaes de XML. Um dos seus usos mais comuns para transformar um documento XML em um documento HTML e exibi-lo em um navegador convencional.

Embora a criao de pginas HTML a partir de documentos XML seja uma contribuio importante da XSLT, a transformao de documentos para troca entre aplicaes e empresas o fator de maior importncia. A XML por si s proporciona um certo grau de separao entre os sistemas, fornecendo elementos identificados de tamanho varivel em texto Unicode. A transformao XSLT permite que sistemas que esperem nomes de elementos, formatos de valores e estruturas de documentos diferentes comuniquem-se entre si. Um documento XSLT (uma especificao de transformao) formado por funes e elementos de modelo XSL como uma especificao declarativa. Um modelo XSLT funciona como um predicado para selecionar elementos que se aplicam aos documentos de origem. A XSLT usa o XLink para navegar para um documento de origem. O XLink usado para acessar elementos de modo que a estrutura do documento de sada no precise ter um relacionamento com o documento de entrada. Quando a referencia XLink retorna a uma lista de ns, apenas o valor do primeiro exibido como sada a menos que ele esteja no contexto de um elemento que se repita na coleo. A XLST tambm inclui expresses de controle de fluxo de trabalho que fornecem uma instruo if bsica e uma instruo case When. A XSLT inclui variveis que so definidas por um elemento xsl:variable. atribudo a essas variveis um valor retornando a mesma expresso XLink. Os valores de variveis podem ser usados em expresses condicionais e como sada de transformao.

4.2.7. DOM (Document Object Model)


O DOM define mtodos para acessar um documento XML como uma estrutura de objetos. Essas especificaes de mtodos sero implementadas de acordo com a sintaxe de linguagens especficas; portanto, o DOM no uma interface de aplicaes (API, application programming interface) explcita. O DOM pressupe que todo o documento XML ser carregado para a memria do computador como uma estrutura de objetos para ser acessada e atualizada de forma seletiva. A API fornece acesso ao contedo do documento sem que seja necessrio lidar com a sintaxe XML. A estrutura DOM envolve vrias classes de objetos de n: Element, Attr (Atributo), Text, CDATASection (dados que sejam caracteres), Comment, dentre outros. Os objetos dessas classes possuem mtodos para dar suporte recuperao e atribuio de valores de elementos e de atributos, anlise da estrutura a adio e excluso de ns e fragmentos de documentos.

O DOM til principalmente para dar suporte ao processamento de documentos feitos por aplicaes e fornece ao programador uma interface de fcil utilizao, sem que ele precise estar familiarizado com a sintaxe XML. O DOM tambm pode ser usado para criar documentos XML. O Programador cria explicitamente a estrutura, instanciando e inserindo ns apropriados. Depois, fica relativamente simples gerar um documento XML bem formatado a partir da estrutura de objetos.

4.2.8. SAX (Simple API for XML)


A SAX (Simple API for parsing) tambm segue um padro externo, criado inicialmente para Java, mas estendido a outras linguagens. O SAX no uma especificao W3C. Existem vrias implementaes SAX de domnio publico, sendo especificaes e software que foram desenvolvidos por um grupo informal de desenvolvedores XML. O SAX funciona como um analisador que chama funes da aplicao medida que encontra elementos no documento. A aplicao pode executar operaes quando o documento estiver sendo lido (CUMMIS, 2002). O SAX, avalia os eventos de ativao de n para cada n, atributo, valor etc. Como ela no mantm o documento na memria, usar o SAX permite gerenciar documentos muitos maiores. Sua estratgia tambm til para exame nico de um documento ou para a recuperao de informaes especificas. (CANT, 2005).

4.2.9. XQuery
A linguagem XMLQuery visa fornecer uma maneira padro de consultar documentos XML. Ela est em fase de desenvolvimento, mas quando estiver construda poder ter mais de uma sintaxe, uma que possa ser lida pelos usurios e outra compatvel com a XML. Ela inclui uma expresso de caminho semelhante forma abreviada XPath, expresses condicionais e funes de clculo. Alm disso ela pode ser aplicada a um ou vrios documentos. Ela tem duas caractersticas que a tornam a XQuery interessante. Primeiro, em vez de para um documento XML, possvel direcionar uma solicitao XQuery para um documento virtual. Segundo, a forma declarativa da XQuery facilita a otimizao. Isso ajudar quando grandes volumes de documentos XML forem armazenados.

4.2.10.

SOAP

Os servios Web so possveis por meio do SOAP (Simple Object Access Protocol protocolo de acesso a objetos simples). O SOAP define uma notao baseada em XML para solicitar a execuo de um mtodo por um objeto no servidor, passando parmetros para ele, e uma notao para definir o formato de uma resposta (CANT, 2005). O SOAP um protocolo de chamadas de procedimento remoto que usa o protocolo http. Ele permite o acesso a objetos CORBA (Common Object Request Broker Architecture), EJB (Enterprise JavaBeans) e COM+ (Component Object Model) pela Internet. As mensagens SOAP so documentos XML que podem ser transportadas usando outros protocolos. Elas tambm podem ser usadas para a troca assncrona de mensagens, em que uma mensagem enviada e o remetente no espera por uma resposta. No entanto, o foco do SOAP para a troca sncrona de mensagens, geralmente direcionadas para interfaces de objeto CORBA, EJB ou COM+. Sem o middleware padro, os desenvolvedores de aplicaes devem programar explicitamente a mensagens SOAP. Uma mensagem SOAP formada por trs elementos principais, um envelope com cabealho opcional e um corpo.

4.2.11.

WSDL (Web Services Description Language)

A especificao de WSDL de uma aplicao sua "cara pblica" que todos os usurios vem, e deve conseqentemente remanescer estvel. O formato satisfeito de XML, na outra mo, pode evoluir livremente sem mudanas a sua especificao relacionada de WSDL. Ela o resultado das linguagens de definio de interface da CORBA, EJB e COM+. Os documentos WSDL so outro tipo de documento XML que fornece a definio de metadados de uma requisio SOAP.

4.2.12.

XML Signature (Assinatura XML)

XML Signature uma especificao que define uma estrutura XML para assinar um conjunto digital, podendo ser em XML ou outro objeto digital. Se o documento estiver em XML, poder ser assinados um elemento e seus sub elementos. A tecnologia usada em uma assinatura a de chaves pblica-privada com funes sntese, o objeto que deve ser assinado primeiro processado para produzir um valor hash e, depois esse valor criptografado com a chave privada para produzir um valor de

assinatura. A assinatura s pode ser decriptografada com a chave pblica associada, o que garante que o valor de hash correto s pode vir do proprietrio da chave privada. Esse valor decriptografado , ento, comparado com um valor de hash calculado a partir do objeto assinado usando-se o mesmo algoritmo. Se a chave pblica for autenticada corretamente para o devido signatrio do documento, a autenticao e o no-repdio das informaes esto feitos. Existem muitas variaes nos detalhes de uma assinatura digital que podem acomodar diferentes tcnicas de criptografia, diferentes objetos assinados e outras especificaes. O importante que a assinatura fornea autenticao e no-repdio para um ou mais objetos, garantindo que a validade no ser afetada por alteraes irrelevantes no formato e aceitando vrias tcnicas de criptografia.

4.2.13.

UDDI (Universal Description, Discovery, and Integration)

UDDI incorpora a XML junto com outros padres para localizar e estabelecer relacionamentos com servios de comrcio eletrnico de forma consistente e independente de plataforma. As empresas podem se registrar no sistema, descrever suas organizaes e seus servios Web. Essas informaes so divididas em trs reas: pginas brancas, pginas amarelas e pginas verdes. A arquitetura da UDDI equivalente do servidor de nome de domnio (DNS, domain name server) da Internet e usa diretrios sincronizados distribudos globalmente. Quando uma empresa registra-se em determinado diretrio, esse registro feito para os outros diretrios. O acesso aos diretrios, seja para registro ou para consulta, usa a troca de mensagens SOAP. Cada empresa participante fornece informaes sobre suas atividades, incluindo o nome, uma descrio em vrios idiomas, informaes de contato, identificaes comerciais associadas, como cdigo do sistema de numerao universal de dados (DUNS, data universal numbering system) Dun e Bradstreet comercial e domnios comerciais: setor, localizaes geogrficas, produtos e servios. A empresa tambm fornecer especificaes para comrcio eletrnico, inclusive descries de processos de negcios, descries dos servios e endereos dos servios. O registro UDDI atribuir identificadores comerciais e de servios exclusivos. Para fornecer protocolos compartilhados para realizar os negcios, o servio UDDI tambm fornece um registro do tipo do servio. Essa especificao inclui um URI de espao para nome que fornece uma descrio do servio, o identificador do publicador do servio e um identificador exclusivo do tipo do servio. Um esquema especfico do setor fornecer vocabulrios compartilhados e especificaes de documentos para a troca de informaes.

O resultado um catlogo de servios (do tipo pginas amarelas) eletrnico e global contendo informaes sobre as empresas e especificaes sobre como ela realizar um negcio eletronicamente.

4.2.14.

ebXML (Electronic Business XML)

A ebXML uma especificao que foi adotada em maio de 2001 com o objetivo de facilitar o desenvolvimento de um mercado eletrnico baseado na Internet e na XML. A troca de dados eletrnicos vem sendo a base da troca de informaes entre parceiros de negcios e um nmero elevado de transaes comunicado em arquivos em lote. Por isso, foram desenvolvidos padres voltados para o formato dos registros a fim de atender a diversas finalidades. No entanto, o agrupamento de transaes atrasa o andamento dos negcios, e a criao de novos links de comunicao requer negociao e implementao de acordos de negcios e tcnicos que podem levar semanas ou meses para serem firmados. A tecnologia Web estabeleceu protocolos bsicos para comunicaes seguras e especficas. As conexes podem ser estabelecidas em qualquer parte, a qualquer hora, e os dados podem ser trocados. A iniciativa ebXML definiu uma estrutura de padres para estabelecer eletronicamente acordos especficos para a troca de dados entre parceiros de negcio. A estrutura estabelece padres XML para uma que empresa expresse sua capacidade de negcios, seus processos, suas interfaces e os formatos de suas mensagens em um registro para o acesso pblico. A entrada do registro um CPP (Collaboration Protocol Profile). Embora, com o tempo, algumas empresas desenvolvero seus prprios processos e formatos de registros, a maioria espera incorporar protocolos padro. Dessa forma, um comprador de produtos ou servios deve ser capaz de identificar um fornecedor em potencial, encontrar protocolos no registro que sejam complementares aos seus, estabelecer um contrato de trabalho- um CPA (Collaboration Protocol Agreement)- e realizar transaes comerciais. Esses perfis e acordos so expressos em XML e definem as interfaces e mensagens que sero trocadas em XML. A ebXML foi um empreendimento ambicioso concludo em um perodo de tempo limitado. Sem sombra de dvidas, a especificao ser melhorada conforme os produtos forem se desenvolvendo. No entanto, ela j fornece uma base slida para o comrcio eletrnico pblico. Ao mesmo tempo em que a especificao ebXML ainda est em desenvolvimento, a especificao UML Profile for EDOC tambm est em fase de desenvolvimento, envolvendo alguns dos mesmos participantes. Conseqentemente, a especificao EDOC fornece elementos para modelar colaboraes ebXML e incorpor-las

a componentes da aplicao, o que deve facilitar o desenvolvimento de ferramentas para dar suporte implementao da ebXML e, assim, sua aceitao como estrutura primria para o comrcio eletrnico global.

4.2.15.

RDF (Resource Descriptor Framework)

A RDF uma especificao que define a XML para a descrio de recursos Web. Ele trata de dados que descrevem dados, com o objetivo de classificar e acessar informaes na Web. O elemento bsico dos metadados RDF a trade recurso que um recurso da Web, propriedades que uma caracterstica definida de um recurso e uma instruo que um valor da propriedade do recurso especifico. Portanto, descries RDF podem formar uma rede de links, uma rede semntica de relacionamentos entre recursos da Web.

4.3. Desvantagens da XML na integrao


Com o estudo de caso e os testes feitos durante a construo desse trabalho, a XML apresentou algumas desvantagens, uma delas foi que o tamanho do documento gerado com a XML maior que quando gerado um documento texto. Um arquivo XML contendo 10.000 registros tem o tamanho de 1.057kb enquanto o arquivo texto contendo os mesmos 10.000 registros tem o tamanho de 306kb. Outra desvantagem que a XML s permite a troca de informao se os sistemas utilizarem o mesmo XML Schema ou DTD. Documento pedido.XML Pedido.html pedido.txt Tamanho 1.057 bytes 306 bytes 36 bytes

Tabela 2 compara os tamanhos dos trs tipos de documentos.

5. ESTUDO DE CASO
Foram desenvolvidos dois sistemas utilizando a linguagem Delphi, onde o primeiro sistema gera um pedido eletrnico, que quando inserido as informaes do pedido ele grava os dados do pedido e o usurio escolhe se vai ser gerado um arquivo texto ou um arquivo XML, o arquivo texto tem o nome pedido.txt e o arquivo XML tem o nome cabec.xml. Da mesma forma gerado o arquivo itens.xml ou itens.txt, que armazena as informaes de cada item que faz parte do pedido. Para a gerao do arquivo cabec.xml funcionalidades para a parte cliente da aplicao. O que move esse componente a DLL midas.dll, que fica no c:\windows\system, o cdigo fonte dessa dll um dos maiores segredos da borland, essa dll responsvel por vrios outros recursos alm da gerao do arquivo XML a partir de qualquer base de dados que possa ser conectada ao componente ClientDataSet do Delphi. No cdigo abaixo mostrado como o componente salva o arquivo no formato XML no diretrio da aplicao do pedido eletrnico. ClientDataSet1.SaveToFile('cabec.xml',dfXML); ClientDataSet2.SaveToFile('itens.xml',dfXML); Quando os arquivos cabec.xml e o itens.xml so salvos o segundo sistema chamado de sistema gerencial recebe uma informao que um novo pedido foi salvo. Nesta aplicao sero importados os dados do pedido eletrnico, isto os arquivos XML que foram gerados pelo ClientDataSet atravs do comando clientdataset1.loadfromfile(arquivo.xml), o arquivo importado automaticamente para a base de dados, pois como j foi citado, o ClientDataSet em conjunto com a midas.dll pode trabalhar de forma transparente com a XML e com qualquer base de dados que se conecte com o ele. Este comando pode ser usado tanto automaticamente na aplicao, como pode ser disparado no momento certo pela interveno do usurio. E para gerar os arquivos texto, foram utilizados algumas funes e componentes que esto sendo comentadas no prprio cdigo fonte do Pedido Eletrnico que se encontra no anexo. J os arquivos texto esto integrados com tabelas do Microsoft Access, quando algum pedido novo for enviado em formato texto, eles iro alimentar as tabelas que esto no anexo. e o arquivo itens.xml, foi utilizado o ClientDataSet, que um componente do Delphi 7, onde sua funo manter as

5.1.

Pedido eletrnico

Figura 4. Janela do Pedido Eletrnico. Neste formulrio so cadastrados, o pedido e os itens do pedido. Os dados do pedido esto em uma tabela e os Itens desse pedido esto em outra tabela.

5.2. Pedido em XML

Figura 5. Visualizao do cabec.xml no Internet Explorer. Os nomes de campo da tabela pedido so: ID, DATA_PEDIDO e CLIENTE. O nome do campo attrname="DATA_PEDIDO" e o tipo de dado fieldtype="date" so representados entre aspas dupla. Do mesmo jeito os valores dos campos tambm so representados, entre as duplas.
<ROW RowState="4" ID="1" DATA_PEDIDO="20051110" CLIENTE="Leonardo" />

5.3. Itens do pedido em XML

Figura 6. Visualizao do documento itens.xml no Internet Explorer.

O documento XML Itens de Pedido, utiliza um uma estrutura para descrever o campo, dando a ele o nome do campo, o tipo de dado e o tamanho do campo. Por exemplo:
<FIELD attrname="CODPRO" fieldtype="string" WIDTH="10" />

O attrname="CODPRO" define o nome do campo, fieldtype="string" define o tipo de dado que ser inserido nesse campo e WIDTH="10" define o tamanho deste campo. Quando se insere valor no campo a linha de registro fica assim:
<ROW RowState="4" ID="2" CODPRO="789456123" PRODUTO="Fone do ouvido Bluetooth" QTDADE="2" VALOR="98" />

Neste caso os valores so atribudos diretamente ao campo.

5.4. Sistema gerencial

Figura 7. Janela do Sistema Gerencial.

5.4.1. Importar pedido

Figura 8. Janela onde o usurio escolhe o pedido que ser importado. Para importar o pedido o usurio ter que dar um duplo clique sobre o pedido escolhido.

5.4.2. Pedido em TXT.

Figura 9. Pedido em TXT.

5.4.3. Itens do pedido em txt

Figura 10. Itens do pedido em TXT.

5.5. Exemplos de documento XML, TXT e HTML.


A Tabela de Pedido do Microsoft Access, ser exportada para XML, HTML e TXT. Nestes exemplos podemos perceber as vantagens de se utilizar a XML para exportar tabelas.

Figura 11. Tabela de Pedido do Microsoft Access.

Figura 12. Exportar para XML a tabela de Pedido.

Figura 13. Visualizao do documento XML exportado da tabela de Pedido.

Exportar a tabela para arquivo texto, usando como delimitador ponto-e-vrgula para separando os campos.

Figura 14. Exportando para TXT a tabela Pedido.

Figura 15. Visualizao do Pedido em TXT no Bloco de Notas.

Figura 16. Visualizao do Pedido em HTML no Internet Explorer.

Figura 17. Cdigo Fonte do Pedido em HTML.

6. CONCLUSO
Neste trabalho foi possvel identificar que a linguagem XML atende as necessidades de integrao de sistemas. Esta pesquisa tambm teve como resultado avaliar a importncia da tecnologia XML na integrao de sistemas, comparando-a com uma abordagem que no utiliza a mesma tecnologia. Isto permitiu a identificao das vantagens, desvantagens, benefcios e limitaes na utilizao da XML na integrao de sistemas. As vantagens de se utilizar a XML e no o TXT que a XML possui somente os dados e de forma estruturada, permitindo que sejam recuperados mais facilmente. Quando se exporta uma tabela para um documento XML as informaes de cada campo ficam armazenadas no documento XML. Assim, mostrando o nome, tipo de dados e a propriedade de cada campo. J no formato texto existe a dificuldade de recuperao dos dados, pois eles no possuem uma estrutura bem definida, e quando se importa uma tabela que est em formato texto, somente os registros da tabela so importados, simplesmente separados por algum caractere. Uma desvantagem do documento XML que o tamanho do arquivo maior que o documento texto, mais para resolver esse problema de envio pode se utilizar o mtodo de compactar, o que transforma um arquivo XML de 1.057kb em 6kb. Tambm com este estudo foi possvel mostrar que a aplicao da linguagem XML deu origem a algumas tcnicas complementares, vrias delas solues patenteadas, porm incorporadas a especificaes em desenvolvimento. Por isso, a XML uma famlia de especificaes e ferramentas que oferece muitos recursos estendidos aos seus usurios.

7. REFERNCIAS BIBLIOGRFICAS
ALMEIDA, M.B. Revista Cincia da Informao, v.31, n.2, mai./ago.2002, IBICT, Brasilia, DF. BAX, M. Tecnologia para gesto de informao. Universidade Federal do Rio de Janeiro. (Internet: http://www.bax.com.br/Bax/orientacao/alunos/PSI/EAI1.pdf, recuperado em 21/12/04). CANT, M. Dominando Delphi 7. Pearson, 2005. CHAVES, L.G. O EAI como abordagem de integrao de sistemas. (Internet: http://www.linhadecodigo.com.br/artigos_impressao.asp?id_ac=429, 25/05/2005). CUMMIS, F.A. Integrao de Sistema ( EAI - Enterprise Application Integration ). Campus, 2002. recuperado em

DHAR, S.; GUMMADI, V. The Forgotten Chapter in EAI: XML Design. (Internet: http://www.intelligenteai.com/feature/2003/01/0301feat1_1.jhtml?_requestid=1075 06, recuperado em 22/11/04).
FARIA, R.A. Treinamento Avanado em XML. Digerati, 2005. LINTHICUM, D.S. Enterprise Application Integration. Addison Wesley, 1999. MITAL, R. Colagem de XML resolver problemas da integrao. (Internet: http://www.devx.com/enterprise/Article/10952, recuperado em 09/06/2005) MOURA, D.F.C. XML eXtensible Markup Language. Universidade Federal do Rio de Janeiro. (Internet: www.gta.ufrj.br/~mdavid/xml.htm, recuperado em 28/02/05).

OASIS. Organization for the Advancement of Structured Information Standards, (Internet: http://www.xml.org, recuperado em 22/11/04).
OLIVEIRA, S.; FELIX, L. Pesquisa sobre parte introdutria ao XML. Universidade Catlica de Pernambuco. (Internet: www.dei.unicap.br/~almir/seminarios/2004.1/xml_introd/dtd.htm, recuperado em 05/11/05). PACHECO, V. EAI: a sigla da integrao dos sistemas internos e Externos. (Internet:

http://www.neogrid.com.br/portugue/imprensa/imprensa/surftrade/25.../Surftrade_Brasil.h tml, recuperado em 26/11/04).


RUH, W. A. Enterprise Application Integration. John Wiley & Sons. Inc, 2001. WALSH, N. A Technical Introduction to XML. (Internet: http://www.xml.com/pub/a/98/10/guide0.html, recuperado em 22/11/04).

XML, Introduo ao XML. (Internet: www2.fundao.pro.br/articles.asp, recuperado em 28/02/05). XML. Extensible Markup Language. (Internet: http://www.w3.org/XML/, recuperado em 10/08/2005).

Anexos

Criao do pedido eletrnico

Neste formulrio foram inseridos: trs BDEdit, que recebem os dados do pedido, Um BDGrid que recebe as informaes dos itens do pedido, dois ClientDataSet e dois DataSourse.

Cdigo fonte do pedido eletrnico unit UMain;

interface

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, DBGrids, StdCtrls, Mask, DBCtrls, DB, DBClient;

type TForm1 = class(TForm) ClientDataSet1: TClientDataSet; ClientDataSet1ID: TIntegerField; ClientDataSet1DATA_PEDIDO: TDateField; ClientDataSet1CLIENTE: TStringField; ClientDataSet2: TClientDataSet; DataSource2: TDataSource; ClientDataSet2ID: TIntegerField; ClientDataSet2CODPRO: TStringField; ClientDataSet2PRODUTO: TStringField; ClientDataSet2QTDADE: TFloatField; ClientDataSet2VALOR: TFloatField; ClientDataSet2TOTAL: TFloatField; Label1: TLabel; DBEdit1: TDBEdit; DataSource3: TDataSource; Label2: TLabel; DBEdit2: TDBEdit;

Label3: TLabel; DBEdit3: TDBEdit; DBGrid1: TDBGrid; Button1: TButton; Button2: TButton; procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure ClientDataSet2CalcFields(DataSet: TDataSet); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end;

var Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject); begin //Grava Cabealho do Pedido if ClientDataSet1.State in [dsInsert, dsEdit] then ClientDataSet1.Post;

//Grava Itens do Pedido if ClientDataSet2.State in [dsInsert, dsEdit] then ClientDataSet2.Post;

//Atravs do ClientDataSet gera o XML //CDS acesssa midas.dll que tem toda a lgica para gerao do XML //Midas.dll foi desenvolvida pela borland e um dos seus maiores segredos. ClientDataSet1.SaveToFile('cabec.xml',dfXML); ClientDataSet2.SaveToFile('itens.xml',dfXML);

//Fecha ClientDataSet1.Close; ClientDataSet2.Close; //Prepara tabela xml para insero de dados ClientDataSet1.CreateDataSet; ClientDataSet2.CreateDataSet;

end;

procedure TForm1.FormCreate(Sender: TObject); begin //Prepara tabela xml para insero de dados ClientDataSet1.CreateDataSet; ClientDataSet2.CreateDataSet; end;

procedure TForm1.ClientDataSet2CalcFields(DataSet: TDataSet); begin

ClientDataSet2TOTAL.AsFloat := ClientDataSet2QTDADE.AsFloat*ClientDataSet2VALOR.AsFloat; end;

procedure TForm1.Button2Click(Sender: TObject); var slTexto : TStringList; i : Integer; Texto : String; begin //Cria componente slTexto := TStringList.Create; // Lao para Carregar todas as Informaes na Variavel Texto := ''; for i := 0 to ClientDataSet1.FieldCount - 1 do begin Texto := Texto + ClientDataSet1.Fields[i].AsString + ';'; end; //Joga o texto da Variavel no StringList slTexto.Add(Texto); //Salva o Stringlist Como "N do Pedido.txt" slTexto.SaveToFile(ClientDataSet1ID.Asstring+'.txt'); slTexto.Clear; ClientDataSet2.First; while not ClientDataSet2.EOF do Begin Texto := ''; for i := 0 to ClientDataSet2.FieldCount - 1 do begin Texto := Texto + ClientDataSet2.Fields[i].AsString + ';' end;

slTexto.Add(Texto); ClientDataSet2.Next; end; //Salva o Stringlist Como "Qtdade_de_Itens + Itens.txt" slTexto.SaveToFile('Itens.txt'); ///Destroy o Objeto slTexto.Free; end;

end.

Criao do sistema gerencial

Neste formulrio foram inseridos os componentes: MainMenu1 e o Timer1.

Cdigo fonte do sistema gerencial

unit UPrincipal; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, Menus; type TForm1 = class(TForm) MainMenu1: TMainMenu; Arquivo1: TMenuItem; Clientes1: TMenuItem; Produtos1: TMenuItem; Pedidod1: TMenuItem; ImportarPedidosvindosdaWeb1: TMenuItem; Sair1: TMenuItem; Timer1: TTimer; procedure Timer1Timer(Sender: TObject); procedure ImportarPedidosvindosdaWeb1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation uses UImportaPedidos; {$R *.dfm}

procedure TForm1.Timer1Timer(Sender: TObject); begin // if FileExists('cabec.xml') then // ShowMessage('Chegaram novos pedidos'); end; procedure TForm1.ImportarPedidosvindosdaWeb1Click(Sender: TObject); begin FIMportarPedidos := TFImportarPedidos.Create(Self); FImportarPedidos.ShowModal; end; end.

Exemplo de um Schema XML.


<?xml version="1.0" encoding="UTF-16" ?> <xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema" xmlns:od="urn:schemas-microsoftcom:officedata"> <xsd:element name="dataroot"> <xsd:complexType> <xsd:choice maxOccurs="unbounded"> <xsd:element ref="Pedido" /> </xsd:choice> </xsd:complexType> </xsd:element> <xsd:element name="Pedido"> <xsd:annotation> <xsd:appinfo> <od:index index-name="PrimaryKey" index-key="ID" primary="yes" unique="yes" clustered="no" /> <od:index index-name="ID" index-key="ID" primary="no" unique="no" clustered="no" /> </xsd:appinfo> </xsd:annotation> <xsd:complexType> <xsd:sequence> <xsd:element name="ID" od:jetType="autonumber" od:sqlSType="int" od:autoUnique="yes" od:nonNullable="yes"> <xsd:simpleType> <xsd:restriction base="xsd:integer" /> </xsd:simpleType> </xsd:element> <xsd:element name="DATA_PEDIDO" minOccurs="0" od:jetType="datetime" od:sqlSType="datetime" type="xsd:timeInstant" /> <xsd:element name="CLIENTE" minOccurs="0" od:jetType="text" od:sqlSType="nvarchar"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="50" /> </xsd:restriction> </xsd:simpleType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:schema>

Itens do pedido importado do arquivo texto gerado pelo Pedido Eletrnico.

Pedido importado do arquivo texto gerado pelo Pedido Eletrnico.