MASSACHUSETTS INSTITUTE OF TECHNOLOGY SLOAN SCHOOL OF MANAGEMENT 15.565 Integração de Sistemas de Informação: Fatores Tecnológicos, Estratégicos e Organizacionais 15.578 Sistemas de Informação Global: Comunicações e Conectividade Entre Sistemas de Informação Primavera 2002 Aula 17 A WEB COMO UM BANCO DE DADOS: A EVOLUÇÃO DO XML 1 Navegador A “informações brutas” C B Web sites Uso Tradicional da Web: para utilização humana direta Exemplos: Extrai apenas a taxa hipotecária Compara as taxas hipotecárias oferecidas por múltiplas fontes Foco: Entretenimento Programas para: Expansão Tecnologia Web Wrapper e Context Mediator A Análise Cria um banco de dados cumulativo de taxas Armazenamento hipotecárias ao longo do tempo Consolidação Compara as taxas acumuladas com as anteriormente armazenadas, Relatórios de exceção alerta p/ altas e baixas Processamento C B Web sites Bancos de Dados Internos 2 Novo uso da Web: Programas intermediários Foco: Productividade Projeto MIT Sloan COntext INterchange (COIN) Aplicativos Receptores MEDIAÇÃO DE PRODUÇÃO DOS RESULTADOS CONTEXTO Driver ODBC Editoração Web * Detecção automática de conflito e conversão - Dados derivados - Seleção de fonte * Web wrapping automático - Texto semiestruturado Fontes --Planejamento - Atribuição de fonte e execução de AGENTES Navegadores RECEBIMENTO Páginas DOS DADOS Web consulta a várias fontes ENCARREGADOS APLICAÇÕES: Serviços financeiros, comércio eletrônico, visibilidade de ativos, visibilidade em trânsito Banco de Dados 3 Exemplo de Dados Web Semi-estruturados: Arquivamento Intel SEC 4 Arquitetura Cameleon SQL Front End Relacional Dados Planejador Otimizador Executor Aplicação Saída no Formato Desejado Consulta SQL Simples e Formato de Saída Núcleo Recuperação Cliente HTTP Extração Mecanismo de Expressão Comum Manipulação da Consulta Registro Análise Arquivos Esp. Autenticação Web ou Banco de Dados Arquivos Específicos 5 Exemplo: Livro de Fatos da CIA http://www.odci.gov/cia/publications/factbook/geos/sn.html Consulta CAMELEON: Select capital, location, coordinates, totalarea, climate, population, GDP from cia where Country="Singapore" RESULTADOS CAMELEON : Record 1 CAPITAL Singapura LOCATION Sudeste da Ásia, ilhas entre Malásia e Indonésia COORDINATES 1 22 N, 103 48 L TOTALAREA 647.5 km quadrados CLIMATE tropical; quente, úmido chuvoso; sem chuvas fortes ou períodos de seca; trovoadas ocorrem em 40% dos dias (67% dos dias em abril) POPULATION 4.151.264 (Estimativa de julho de 2000) GDP 7 US$98 bilhões (estimativa de 1999) Arquivo de Especificação do Livro de Fatos da CIA (parcial) #Relation=cia #Source=http://www.odci.gov/cia/publications/factbook/country.html #Attribute=Link#String #Begin=Top\s*of\s*Page #Pattern=<LI><FONT SIZE=-1><a href="([^"]*)">#Country#</a></font> #End=</[Bb][oO][dD][yY]> #Source=http://www.odci.gov/cia/publications/factbook/#Link# #Attribute=Telephone#String #Begin=Telephones: #Pattern=</b>\s*([\0-\377]*?)\s*<p> #End=Telephone system: #Attribute=Background#String #Begin=Background: #Pattern=</b>\s*([\0-\377]*?)\s*< #End=Location: #Attribute=Location#String #Begin=Location: #Pattern=</b>\s*([\0-\377]*?)\s*<p> #End=Geographic\s*coordinates: ... 8 Expressões Comuns Usadas em Arquivos de Especificação * Corresponde a 0 ou mais vezes (greedy). x *? Corresponde a 0 ou mais vezes (não-greedy). x + Corresponde a 1 ou mais vezes (greedy). x ? Corresponde a 0 ou 1 vez (greedy). Quantificadores greedy como * correspondem o máximo possível, ao passo que os não-greedy param na correspondência mínima. Exemplo: <b> hello </b> <i>lovely </i> <b> world </b> <b>(.*) </b> corresponderia a ‘hello </b> <i>lovely </i> <b> world’ ao passo que <b>(.*?) </b> corresponderia a ‘hello’ e ‘world’ x x x x x x x x x . corresponde a tudo, exceto \n [\0-\377] corresponde a tudo ^ corresponde ao início de uma string ou linha [^ a character] corresponde a tudo, exceto ao caractere especificado. Por exemplo, [^<] não corresponde a nada, apenas < $ corresponde ao final de uma string ou linha \s corresponde a um caractere de espaço em branco \S corresponde a um caractere de não-espaço em branco \d corresponde a um dígito Expressões dentro de parênteses são salvas. 9 Aplicação de Amostra Analista de Pesquisa ou Corretor Planilha Aplicativo de Texto WWW Aplicativo Legado Movimento Manual de Dados 10 Fornecendo Dados Integrados e Análise Preços de ações - TIBCO Alimentação em tempo real Arquivamento SEC - EDGAR Baseado em Web - Internet Notícias - Reuters, Newswire e Business wire Baseado em Web - Internet Relatórios de Pesquisa da Merrill Baseado em texto - Intranet da Merrill Atualizações do mercado - Homepage da Merrill Lynch Baseado em Web - Internet11 Interface de Planilhas 12 XML – A Bala de Prata ? • XML é (de acordo com artigos da imprensa …) ¾ “HTML com esteróides” ? ¾ “uma Pedra de Rosetta” ? ¾ “uma forma universal de converter dados” ? ¾ “uma forma miraculosa de” … integração de informações ? ¾ “uma bala de prata” ? 13 XML, o que é isso? • • • • • • XML - EXtensible Markup Language Meta linguagem para definir uma linguagem de marcação Baseado em SGML - Standard Generalized Markup Language Modelo de sintaxe de dados para estruturar dados Pode definir tags à vontade Pode aninhar estruturas de documentos em níveis arbitrários de complexidade • Pode usar Document Type Definition (DTD) • Muitos outros membros da “família”: – XSL, XSLT, XLL, XML-Query etc. 14 XML Ajuda a Criar Páginas Web Estruturadas Recurso HTML Capacidade de extensão Conjunto XML fixo de tags Conjunto extensível de tags Uso de tags Apresentação Conteúdo Exibições Único Múltiplo (XSL) Orientação Documentos Documentos + dados semi-estruturados Pesquisa Palavra-chave Palavra-chave + Consulta sensível ao campo 15 Exemplo: HTML Comparado ao XML HTML * <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <html> <head> . . . <BODY topmargin=18 leftmargin=6 bgcolor="#ffffff" link="#0000ee" VLINK="#551A8B" ALINK="#ff0000"> <pre><font size=2> Palm Pilot V Preço Normal 329,00 Nosso Preço 236,00 Em estoque </font></pre> <table cellpadding=0 cellspacing=0 border=0> <tr><td align=left valign=middle width=455 nowrap height=20> <tr><td align=left valign=top nowrap width=455> <font size=1 face="helvetica,arial"> . </BODY> </HTML> .. XML <XML> <Informações do produto> * O HTML normalmente é mais confuso <Produto> Palm Pilot V <\Produto> com muito mais detalhes de formatação e tags <Preço normal> 329.00 <\Preço normal> <tr> e <td> de definição de tabelas e <Nosso preço> 236.00 <\Nosso preço> posição das guias. <EmEstoque> sim <\EmEstoque> <\Informações do produto> <\XML> 16 XML, por que precisamos dela? • W3C quis se desligar da criação de tags • Para separar dados da apresentação – Uso de uma folha de estilo, em vez de formatação HTML “codificada” – Flexibilidade / Escalabilidade / Capacidade de Extensão Navegador Netscape (padrão) Página XML • • • • Navegador personalizado / Aplicação Importante também para os aplicativos sem fio (WML/ XHTML) Legível pelo homem Processável em computador 17 Intercâmbio de informações Aplicações de Amostra de Dados Web Semi-estruturados • Extração automática de dados de sites Web para a ferramenta do usuário, como Excel ou o próprio navegador Web / consolidador Fidelity Fidelity 500 Bank of Boston 750 Total 500 Bank of Boston 750 1250 Contas (Sites Web) • Seleciona e Consolida automaticamente as informações através dos sites Web Avaliações IBM Analista Avaliação A 5.0 B 4.2 Empresa: IBM Avaliação: 5.0 Empresa: IBM Avaliação: 4.2 B A Relatórios Analíticos (Fontes Web) • Integra Internet / Intranet / Redes cliente/servidor para operações internas Remessas de Ontem (Banco de dados Interno) Relatório de remessas não entregues até a tarde de hoje Programa de Status de Entrega FedEx - rastreamento de pacotes (site Web) UPS - rastreamento de pacotes 18 (site Web) XML . . . Padrões Múltiplos • O que é tão bom em relação aos padrões XML – é que eles são tantos . . . • A tag para catalogar deveria ser chamada “preço” ou “custo” ? • “O diretor de uma empresa de eletrônica do Credit Suisse First Boston e o presidente do grupo de trabalho de serviços financeiros XML estão lutando com mais de uma dúzia de protocolos XML … para aplicativos de transações financeiras.” (ComputerWorld, 9 de julho de 2001) 19 XML – A Bala de Prata ? • XML não é bem: ¾ “uma Pedra de Rosetta” ¾ “uma forma universal de converter dados” ¾ “uma forma miraculosa de” … integração de informações ¾ “uma bala de prata” • É uma ferramenta útil voltada para a integração de informações . . . • Algumas fontes básicas: w3c.org/XML e XML.org • Porém, é necesário muito mais para a integração de informações ¾ Pesquisa de Intercâmbio de Contexto e Web Semântica são áreas promissoras . . . 20 Resumo • Tim Berners-Lee, Diretor da W3C: - "A Web está se tornando a olhos vistos o armazenamento de dados que cresce mais rápido no mundo” • No passado: Primeiramente processado por humanos • No futuro, deverá ser processado por programas (agentes de humanos) • Ferramentas, como Automatic Web Wrapper do MIT e XML da W3C, estão oferecendo estes recursos. O trabalho aqui relatado foi financiado, em parte, pela Agência Americana de Projetos de Pesquisa Avançada, Banco Santander Central Hispano, Citibank, Fleet Bank, First Logic, Merrill Lynch, PricewaterhouseCoopers, Programa de Gestão da Qualidade Total de Dados do MIT, Centro para eBusiness do MIT, Suruga Bank e USAF/Rome Laboratory. 21