1 / 102

Tecnologia XML

Tecnologia XML. Prof. Antonio Geraldo Vidal vidal@usp.br FEA/USP Tecnologia de Informática. O que é XML. XML tem como propósito fundamental a descrição de informações. Permite colocarmos em um mesmo documento dados e metadados (a descrição destes dados).

Download Presentation

Tecnologia XML

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Tecnologia XML Prof. Antonio Geraldo Vidal vidal@usp.br FEA/USP Tecnologia de Informática

  2. O que é XML • XML tem como propósito fundamental a descrição de informações. • Permite colocarmos em um mesmo documento dados e metadados (a descrição destes dados). • Estabelece um formato textual que pode ser facilmente entendido quando lido por uma pessoa ou software. • Ao contrário dos formatos tradicionais, em XML os dados são armazenados com a sua descrição.

  3. Formato Tradicional • Uma maneira tradicional de se transmitir dados de um sistema para outro é por meio de arquivos texto delimitados. • Cada registro ocupa uma linha e cada coluna de dados é separada das outras por um delimitador. • Tanto o programa que gera, como o programa que recebe e utiliza estes dados precisam conhecer o formato exato dos registros.

  4. Formato Tradicional 950.241.318-00Antonio Geraldo Vidal Rua Bela Cintra 100.231.342-60José da Silva Santos Rua Tiradentes 234.123.123-34Maria Aparecida dos Santos Paiva Av. Brasil, 231 . . . . . . . . . Neste formato, o deslocamento de uma única posição muda todo o conjunto de dados que será lido por um programa.

  5. Formato XML <PESSOA> <CPF>950.241.318-00</CPF> <NOME>Antonio Geraldo Vidal</NOME> <ENDEREÇO>Rua Bela Cintra, 2262</ENDEREÇO> <CEP>01415-002</CEP> </PESSOA> <PESSOA> <CPF>100.231.342-60</CPF> <NOME>José da Silva Santos</NOME> <ENDEREÇO>Rua Tiradentes, 2104</ENDEREÇO> <CEP>05059-001</CEP> </PESSOA> • Em XML a adição ou a remoção de elementos tem pequeno impacto sobre o programa que estiver lendo as informações contidas no documento XML.

  6. Formato XML • Por ter uma estrutura simples e bem definida, XML permite que um documento seja validado antes de ser iniciado seu processamento. • XML é uma maneira simples, estruturada, flexível e precisa para se descrever informações. • Na prática, XML habilita a comunicação com parceiros de negócio, de um modo que não é possível com qualquer outra tecnologia. • Em sistemas para transações eletrônicas, XML permite a separação dos dados dos processos que agem sobre esses dados.

  7. eXtensible Markup Language • XML é uma linguagem padronizada, originalmente direcionada para o processamento de documentos. • Fornece uma sintaxe que permite definir cada objeto de informação de um modo não ambíguo. • Fazendo isso, pode-se capturar as informações como sendo um objeto e então processá-lo utilizando diferentes aplicativos, dependendo dos requisitos de cada contexto de negócio.

  8. XML vs. HTML • A linguagem HTML pode ser considerada um tipo ou caso particular de XML. • Um documento HTML é um documento XML se ele aderir a algumas regras de construção denominadas well-formedness constraints. • Deveremos continuar a usar HTML para exibir informações, enquanto usamos XML para trocar e processar essas informações.

  9. XML vs. HTML • Ao contrário de HTML, que tem um conjunto fixo de tags, XML fornece flexibilidade para você criar suas próprias tags. • Você pode chamar as informações a serem trocadas e processadas de qualquer nome que desejar. • As tags de XML normalmente representam dados reais.

  10. Aplicações em Negócios Eletrônicos • O principal propósito de um site empresarial é gerar negócios. • Para isso, freqüentemente constrói-se um aplicativo de comércio eletrônico que faz uma conexão com cadastros de produtos e serviços que a nossa companhia fornece. • Estes cadastros normalmente tomam a forma de uma base de dados SQL.

  11. Aplicativo Padrão para Negócios Eletrônicos

  12. Informações Externas • Dados externos podem ser uma rica fonte de informações para os nossos clientes ou usuários. • Entretanto, as informações externas não estão em bases de dados em nosso próprio servidor. • Podemos, porém, usar XML para solicitar e obter informações como objetos XML, podendo processá-los posteriormente. • O trabalho é, portanto, agregar certos tipos de conteúdo de vários sites e disponibilizá-los em nossas páginas, para fornecer ao nosso visitante ou usuário toda informação que ele precisa.

  13. Aplicativo XML para Negócios Eletrônicos Sites externos tornam-se parte da camada de dados, e um aplicativo de agregação é usado para integrar estes novos dados na camada de regras de negócio. XML

  14. Exemplo • Nosso site poderia enviar uma requisição de informações sobre a previsão do tempo através de um pedido eletrônico em XML, como abaixo: <weather_request days="5" temp="celsius" wind="mph"> <zipcode>80112</zipcode> </weather_request>

  15. <weather_response zipcode='80012' Updated='2000-01-07 21:49:06'><weather_response zipcode='80012' Updated='2000-01-07 21:49:06'>     <location>Aurora, CO</location>         <current>             <condition name='temp'>28</condition>             <condition name='wind chill'>12</condition>             <condition name='wind'>from the Southeast at 8 mph</condition>             <condition name='dewpoint'>18</condition>             <condition name='relative humidity'>66%</condition>             <condition name='visibility'>25 miles</condition>             <condition name='barometer'>30.02 inches</condition>             <condition name='Sunrise'>7:20 am MST</condition>             <condition name='Sunset'>4:50 pm MST</condition>         </current>         <forecast>             <day date='20000108 21:49:06'                   High='49' Low='20' Sky='Partly Cloudy'/>             <day date='20000109 21:49:06'                   High='46' Low='21' Sky='Partly Cloudy'/>             <day date='20000110 21:49:06'                   High='51' Low='25' Sky='Partly Cloudy'/>             <day date='2000-01-11 21:49:06'                   High='51' Low='19' Sky='Partly Cloudy'/>             <day date='2000-01-12 21:49:06'                   High='53' Low='21' Sky='Partly Cloudy'/>         </forecast>     </weather_response> Exemplo • Em resposta, receberíamos um documento XML como a seguir:

  16. Exemplo • Os documentos XML que a empresa fornecedora de previsões do tempo enviar conterão apenas os dados solicitados. • Poderemos processá-los de diferentes formas, dependendo do tipo de saída desejada, em cada situação. • Os dados poderão ser apresentados como desejado, pois temos acesso aos dados brutos e poderemos processá-los da maneira mais apropriada às nossas necessidades.

  17. Exemplo • SOAP - Simple Object Access Protocol é um protocolo de comunicação padrão, via Internet, proposto pelo IETF - Internet Engineering Task Force (IETF), que permite invocar procedimentos em sistemas remotos (RPC) usando um conjunto padrão de tags XML. • O SOAP utiliza o HTTP como seu protocolo de requisição e resposta de dados. • Portanto, utilizando-o pode-se obter dados rápida e eficazmente de um provedor de conteúdo, ou de parceiros de negócio.

  18. SOAP – Simple Object Access Protocol

  19. Aplicativos XML para Negócios Eletrônicos Vários parceiros de negócio (syndication partners) fornecerão conteúdo baseado em padrões, portanto, nós poderemos agregar várias fontes de informações diferentes em uma única base de assuntos correlatos. XML/SOAP XML/SOAP

  20. Aplicativos XML para Negócios Eletrônicos Cada parceiro de negócio exige um conversor especializado que transforma sua estrutura particular de informações em uma forma que nosso “site” pode usar.

  21. Aplicativos XML para Negócios Eletrônicos Multiplique os conversores especializados pelo número de “sites” usando os conteúdos disponíveis. Os problemas com “sites” individuais serão também multiplicados.

  22. Aplicativos XML para Negócios Eletrônicos Fornecendo dados em um formato único e padronizado elimina-se a necessidade de software de conversão proprietário para cada pro-vedor de dados. Cada provedor precisa criar um só filtro, para converter o conteúdo do formato do provedor para o formato padrão (no exemplo NITF). A partir daí, cada site pode utilizar a informação em seu formato padrão nativo ou convertê-la mais uma vez para a forma exigida para seus sistemas de infor-mação.

  23. <?xml version="1.0"?> <nitf> <head> <title>Technology Tools and Toys</title> </head> <body> <body.head> <headline> <hl1>Pac-Man chomps its way toward 20</hl1> <hl2>Seminal video game rose from humble beginnings</hl2> </headline> <byline> By<person>Steven Kent</person>                        <bytag>MSNBC CONTRIBUTOR</bytag> </byline> <dateline> <location></location> <story.date>1999-09-03</story.date> </dateline> </body.head> <body.content> <p>He may have been a fixture in bars for  most of the last two decades, but Pac-Man,  one of the video game industry's greatest  living legends, is still a bit shy of legal  age.</p> ... </body.content>          <body.end></body.end> </body> </nitf> Exemplo

  24. XML como Padrão para Negócios Eletrônicos • XML é um padrão criado pelo W3C - World Wide Web Consortium. • O W3C é um consórcio das companhias dedicadas a criar e manter tecnologias essenciais para a Internet como o HTML e o XML. • XML é uma sintaxe poderosa que permite às organizações criar estruturas para o intercâmbio de eficiente de informações.

  25. EDI vs. XML • EDI – Eletronic Data Interchange (Troca Eletrônica de Dados): • Longos prazos para desenvolvimento; • Requisitos variados das companhias; • Alto custo; • Dificuldades para implementar uma especificação comum; • Soluções proprietárias.

  26. EDI vs. XML • Um grupo chamado XML/EDI está trabalhando em uma versão mais aberta das especificações de EDI. • Esperam que usuários tradicionais de EDI adotem XML como sua sintaxe padrão para intercâmbio de dados. • Muitos outros grupos estão trabalhando para o mesmo fim: • Criar um modo universal de fazer negócios, usando XML como a sintaxe de definição de dados.

  27. ebXML • Um destes esforços é a iniciativa ebXML("eb" significa "electronic business“). • As Nações Unidas/CEFACT e a OASIS - Organization for the Advancement of Structured Information Standards - um grupo de indústrias XML - estão trabalhando sobre o ebXML. • A meta do ebXML é usar um conjunto padrão de objetos XML para facilitar o comércio internacional. • A iniciativa ebXML deve desenvolver uma infra-estrutura técnica que habilitará o uso de XML de uma maneira consistente para a troca de todo tipo de dados de negócios de eletrônicos.

  28. Ariba Amazon.com Bank of America Boeing CommerceNet Dunn and Bradstreet IBM Microsoft Oracle Sun E muitas outras companhias ao redor do mundo ebXML • A lista parcial de participantes deste grupo parece a lista do quem é quem no comércio eletrônico internacional:

  29. XML como Padrão para Negócios Eletrônicos • Assim como o ebXML, existem muitas outras especificações e padrões sendo desenvolvidos por outros grupos neste ambiente. • Estas especificações provavelmente resultarão em um conjunto de padrões chamados esquemas, que descreverão determinados documentos de negócio como faturas, ordens de compra, registros médicos e transações financeiras. • Neste ambiente, os esquemas serão componentes críticos da solução de comércio eletrônico.

  30. Onde XML se encaixa nos Negócios Eletrônicos? • Em todo lugar! • XML é apenas um conjunto de regras - uma sintaxe - para marcar dados. • É uma sintaxe simples, padronizada e compacta, porém, são exatamente estas qualidades que a valorizam. • Para participar de qualquer transação de negócios, uma empresa deve comunicar-se claramente com seus parceiros de negócio. • XML, portanto, fornece uma sintaxe para se comunicar de modo direto e preciso, identificando cada pedaço de informação exigida para completar uma transação.

  31. XML e Negócios Eletrônicos • Outro aspecto comum entre XML e negócios eletrônicos é a confiabilidade. • Se você não confiar em uma empresa ou pessoa, você não vai fazer negócios com ela, quer esteja face a face numa loja real ou na Internet numa loja virtual. • XML pode fornecer um grande nível confiabilidade porque informações sobre sua transação podem ser transmitidas com segurança e verificadas.

  32. XML e Negócios Eletrônicos • Assim como HTML se tornou a linguagem padrão de apresentação de informações na Web, XML será, provavelmente, a linguagem padrão para transações eletrônicas através da Web. • XML propriamente não define o vocabulário das transações, este é o trabalho do esquema. • XML será apenas a sintaxe usada para permutar os dados e fazer as transações se realizarem entre diferentes sistemas de diferentes organizações ao redor do planeta.

  33. O padrão XML • XML é um padrão aberto. • Não pertence a uma única organização • Foi definida por um consórcio de organizações altamente competitivas de diversos setores. • Elas perceberam o grande benefício para todos na utilização de uma sintaxe simples e padronizada para trocar informações.

  34. O padrão XML • Por ser um padrão aberto, XML trabalha sob qualquer plataforma computacional com qualquer linguagem de programação. • XML realmente não faz nada; ela é somente uma sintaxe que fornece um modo estruturar e representar dados e informações. • O benefício chave da XML é que ela permite separar os dados dos processos que agem sobre estes dados.

  35. XML & Java • Você provavelmente já ouviu muito sobre a dupla XML e Java: • XML para representar dados e • Java para processá-los • Esta dupla faz muita sensação por serem padrões abertos, independentes de plataformas computacionais. • Os desenvolvedores podem criar aplicativos multi-plataforma em Java e usar XML para trocar dados entre eles.

  36. Origem de XML • Está na SGML - Standard Generalized Markup Language. • SGML é um padrão, pertencente à ISO, que foi criado para permitir o compartilhamento de informações entre as companhias que poderiam possuir sistemas diferentes. • A IBM, a DEC, a Receita Federal (IRS) e o Departamento de Defesa (DoD) dos EUA são (ou eram) grandes usuários da SGML.

  37. SGML e XML • SGML foi a primeira tecnologia padrão que permitiu que usuários separassem dados dos processos que agiam sobre eles. • Usando SGML, pode-se executar um processo, chamado análise de informações, para descobrir a estrutura e o conteúdo dos dados. • Um vocabulário chamado Document Type Definition – DTD – ou definição de tipo de documento, pode ser então desenvolvido a partir daquela análise.

  38. DTDDocument Type Definition • Um DTD define uma classe de informações, portanto, cada DTD é específico para cada conjunto de dados. • Um DTD indica o conteúdo de objetos no conjunto de informações usando uma sintaxe precisa chamada modelo de conteúdo. • Uma vez que cada conjunto de informações tem requisitos e objetos diferentes, o DTD para descrever cada conjunto é diferente.

  39. SGML e XML • Um documento SGML consiste em caracteres ASCII com tags (marcações) e conteúdo. • Um interpretador (parser) lê o documento e determina a estrutura das informações identificando as tags e extraindo os dados nelas contidos. • Uma vez que um documento SGML é escrito em formato texto ASCII simples, ele é portável e executável em qualquer plataforma que possua um interpretador. • XML possui estas mesmas características. • SGML porém, não pôde acompanhar o desenvolvimento da Web, pois foi projetada em 1980, uma era de computadores lentos e caros.

  40. Surgimento da XML • Precisava-se, portanto, de algo: • Portável, barato, rápido e fácil como HTML; • Extensível como SGML; • Compatível com que já era conhecido, de forma que pudéssemos usar as técnicas e ferramentas já existentes. • Com esse objetivo, um grupo do W3C trabalhou entre 1996 e 1997 até apresentar a primeira definição de XML em 1998.

  41. 10 Objetivos da XML • XML deve ser utilizável através da Internet. • XML deve suportar uma ampla variedade aplicações. • XML deve ser compatível com SGML. • Deve ser fácil escrever programas que processam documentos XML. • O número de características opcionais em XML deve ser mantido num mínimo absoluto, idealmente zero. • Documentos XML devem ser razoavelmente claros e legíveis por pessoas comuns. • Um projeto de XML deve poder ser preparado depressa. • Um projeto de XML deve ser formal e conciso. • Documentos XML devem ser fáceis de serem criados. • A concisão nas marcações ou tags de XML é de importância mínima.

  42. Essência da XML • XML é uma sintaxe que permite que usuários criem linguagens de marcação. • As linguagens que são usadas para criar linguagens de marcação são comumente conhecidas como meta linguagens de marcação. • XML é uma recomendação técnica do W3C (http://www.w3c.org). • XML é um padrão multi-plataforma, aberto, não-proprietário e gratuito.

  43. Mitos da XML • Há uma série de mitos sobre XML que não são verdadeiros, entre eles: • XML é uma linguagem de marcação (markup language) como HTML; • XML é apenas para a Web; • HTML é um subconjunto da XML; • XML é a solução perfeita para transações em negócios eletrônicos.

  44. Padronizadores da XML • Organismos que de certa forma regulam os padrões da XML: • International Organization for Standardization (ISO) • American National Standards Institute (ANSI) • Organization for the Advancement of Structured Information Systems (OASIS) • World Wide Web Consortium (W3C) • Internet Engineering Task Force (IETF) • Indústrias que definem esquemas XML

  45. Namespaces: especifica como qualificadores nomes de elementos e atributos com identificadores de espaços de nomes únicos. DOM: conjunto de interfaces de programação abstratas para percorrer, manipular e criar documentos XML. XML Schema – Structures e Datatypes: linguagem para descrever elementos, atributos e notações em termos de tipos hierárquicos e tipos de dados. XML Information Set: descrição de um documento XML abstrato, sem preocupação com sintaxe. Padrões Derivados da XML

  46. Padrões Derivados da XML • XML Base (XBase): especifica como determinar a URI a utilizar. • XML Inclusions (XInclude): uma alternativa a DTDs para acessar entidades externas. • XML Path Language (XPath): permite selecionar um conjunto de nós em um documento XML. • XML Pointer Language: usa expressões XPath como identificadores URI, para permitir a referência de elementos em documentos externos. • XML Linking Language: representa ligações entre documentos XML.

  47. DOMDocument Object Model • Conjunto completo de padrões publicados pelo W3C que apóiam a XML.

  48. O Modelo DOMDocument Object Model • Expõe um documento XML como uma estrutura em árvore na memória do computador e fornece um ambiente fácil de se programar para o desenvolvedor de aplicações. • Fornece um objeto acessível pode ser consultado e manipulado como qualquer outro objeto em linguagens de programação orientadas para objeto. • Define um conjunto padrão de objetos e interfaces que podem ser usados para manipular a linguagem XML, fornecendo acesso a documentos, elementos e atributos.

  49. DOM

More Related