• Sonuç bulunamadı

ONBİRİNCİ KISIM

Belgede HUKUK MUHAKEMELERİ KANUNU (sayfa 83-93)

O mashup site ou mashup web site é onde o mashup reside, a lógica da aplicação propriamente dita, porém, não necessariamente onde é executado, podendo partes da mesma serem executadas diretamente no provedor de conteúdo através das APIs ou na aplicação cliente (navegador). Estas possibilidades de combinação de dados nos três pontos da arquitetura tornam o mashup web uma aplicação singular no panorama da computação distribuída.

Figura 14: Exemplo figurado da constituição do mashup, 2007, por

Semantic Focus.

Como exemplo de mashup web site temos o Chicago Crime (www.chicagocrime.org), agora EveryBlock cities: Chicago - compreendendo também outras cidades, que utiliza conteúdo do Google Maps (mapas) e dados de ocorrências criminais do departamento de polícia de Chicago para criar uma representação cartográfica dos locais destas ocorrências.

A combinação de conteúdos resultante da execução do mashup site pode ser criada a partir de tecnologias dinâmicas realizadas no lado do servidor (server-side), semelhantes às utilizadas freqüentemente em aplicações web, tais como CGI, servlets Java, PHP ou ASP; ou no browser do usuário (client-side), através de scripts como JavaScript ou applets.

A tecnologia voltada para o cliente reúne código inserido diretamente no mashup web site e de programação das APIs disponibilizadas pelos provedores de conteúdos; e podem ser chamados também de RIA (rich internet application). Este tipo de tecnologia permite menos carga no servidor onde se localiza o mashup, tornando a interação com o usuário mais dinâmica, pois as páginas não necessitam recarregar completamente a todo o momento em que houver alguma requisição, mas apenas as partes do conteúdo solicitadas.

Freqüentemente os mashups web utilizam tanto as tecnologias de servidor como de cliente contiguamente para combinar os dados desejados, podendo ainda mesclá-los com fontes de dados locais fornecidos por seus utilizadores, atuando como coletivos inteligentes54.

2.1.3 Aplicação cliente

A aplicação cliente consiste geralmente no navegador web, também conhecido como web browser, executada no computador do usuário, onde a apresentação do conteúdo e as interações são realizadas. Como já descrito anteriormente, além da apresentação dos mashups, os navegadores também podem ser responsáveis pelo processamento e combinação de dados através do emprego de alguma lógica voltada para o cliente.

Com a evolução dos navegadores web, o suporte para tecnologias client-side se expandiu, difundindo novos padrões de desenvolvimento de aplicações (RIA), com interfaces mais eficazes e dinâmicas, oferecendo ao usuário experiência próxima às aplicações desktop.

54 Conceito cunhado por Howard Rheingold em 2002 para designar as interconexões sociais promovidas pelas tecnologias da inteligência e o incremento de capital social e imaterial que elas podem gerar.

2.2 Tecnologias relacionadas

Assim como a investigação da estrutura tecnológica inerente à composição do mashup se torna fundamental para o entendimento do seu funcionamento, apresentaremos as tecnologias e padrões constituintes de tal prática pormenorizadas, fundamentando-se nos três elementos formadores de uma aplicação mashup.

Dentre os protocolos e tecnologias emergentes utilizados na construção de um mashup web, podemos destacar os web feeds (RSS e Atom), AJAX, protocolos web (SOAP e REST), screen scraping e web semântica (RDF).

2.2.1 Web feeds

Do inglês feed, alimentar. Web feeds ou simplesmente arquivos feed, também conhecidos como syndication55, são formatos de dados responsáveis pelo fornecimento de conteúdo digital freqüentemente atualizado aos usuários.

Em Pro Web 2.0 Mashups: Remixing Data and Web Services, Raymond Yee descreve a importância dos feeds para o remix e a combinação de dados, sobretudo na popularização dos mashups:

Então, por que feeds importam? Feeds dão a você informação estruturada a partir de aplicações que é fácil de analisar e reutilizar. Feeds não só estão facilmente disponíveis, mas existem muitas aplicações que os utilizam—tudo requerendo nenhum ou pouquíssimo esforço de programação da sua parte. Com efeito, há toda uma ecologia de web feeds (os formatos de dados, aplicações, produtores e consumidores) que oferece grande potencial para o remix e combinação de informação—algumas das quais começam a ser percebidas hoje.56 (YEE, 2008, p. 77, tradução nossa).

55 Em inglês syndicate é o termo utilizado a uma agência de notícias que distribui material para publicação em vários meios de comunicação.

56 Tradução livre de: “So, why do feeds matter? Feeds give you structured information from applications that is easy to parse and reuse. Not only are feeds readily available, but there are many applications that use those feeds—all requiring no or very little programming effort from you. Indeed, there is an entire ecology of web feeds (the data formats, applications, producers, and consumers) that provides great potential for the remix and mashup of information—some of which is starting to be realized today.” (YEE, 2008, p. 77).

Seu funcionamento baseia-se na disponibilização de tais arquivos pelos web sites, que são visitados e assinados diretamente pelos usuários através de softwares agregadores ou leitores de feed, que recebem o conteúdo atualizado desejado assim que publicado, sem a necessidade de visitar os sites toda vez que novas atualizações ocorram. Navegadores web atuais como Opera, Safari, Firefox e Internet Explorer já possuem estas funções incorporadas e alguns web sites atuam como leitores de feeds online independentemente da utilização de softwares próprios a esta função, como os conhecidos agregadores offline (FeedDemon, RSSOwl, NetNewsWire, Outlook 2007, Thunderbird, Liferea, entre outros).

Alguns mashups como iGoogle, NetVibes, My Yahoo, Pageflakes ou My MSN, atuam como agregadores e leitores de feeds online, permitindo ao usuário a customização de múltiplos serviços de diversos sites no mesmo espaço (notícias, informações meteorológicas, econômicas etc.), criando uma página de conteúdo personalizado.

Os conteúdos entregues pelos web feeds são tipicamente páginas web (HTML), links para outra páginas ou multimídia (áudio, vídeo e fotos), e geralmente são adotados por sites de notícias, weblogs e podcasts.

A utilização de feeds apresenta vantagens em relação ao uso de e-mail (newsletter) para transmissão de conteúdo freqüentemente atualizado nos web sites, visto que os usuários não necessitam expor seus endereços de e-mail, evitando o recebimento de mensagens não solicitadas (spam), vírus ou outras fraudes virtuais; não necessitam enviar e-mail pedindo para serem removidos da lista de recebimento, bastando remover o feed do agregador ou leitor; e as informações recebidas são organizadas automaticamente visto que cada item feed possui seu próprio conjunto de entradas, ao contrário do que acontece com as caixas de e-mail, que necessitam da criação de regras de ordenação e padrões de correspondência individuais para cada grupo desejado.

Normalmente os web feeds são disponibilizados pelos mesmos editores de seus conteúdos, porém, como ocorre com as APIs, nem todos os sites os disponibilizam, ficando ao encargo de terceiros a leitura do web site através da técnica de screen scraping e a criação do feed, sem que a distribuição do conteúdo seja concedida anteriormente com esse propósito por seu proprietário.

Os principais formatos empregados na criação de arquivos feed são RSS e Atom, ambos baseados em XML (dialetos XML), embora existam outros formatos como JSON57, serialização PHP, e CSV.

2.2.1.1 RSS

Do inglês, acrônimo de Really Simple Syndication (Sindicação Realmente Simples), RSS58 é um conjunto de formatos da família de web feeds baseado em XML, utilizado para distribuir conteúdo web atualizado de modo padronizado. Atualmente duas versões de especificações RSS são empregadas: 1.0 - RDF Site Summary (baseada em RDF59) e 2.0 - Really Simple Syndication.

A primeira versão RSS (RSS 0.9), conhecida como RDF Site Summary, foi criada por Dan Libby em 1999 para o portal da Netscape, seguida pelo RSS 0.91, fundamentado em sugestões realizadas pelos usuários. Com a decisão da Netscape em encerrar as atividades do grupo de desenvolvimento do formato, ocorreu uma verdadeira guerra pela sua detenção, que ficou conhecida como RSS Fork. Então, duas frentes mantiveram seu desenvolvimento isoladamente; Dave Winer prosseguiu com o RSS 0.91, enquanto outro grupo evoluiu para a versão 1.0, criando um formato mais modular, porém ainda baseado em RDF.

57 Veja mais sobre JSON em: http://www.json.org

58 Veja mais sobre feeds RSS em: http://www.rssficado2.com.br/wiki/Projeto_RSSficado_2 59 Veja mais sobre RDF em: http://en.wikipedia.org/wiki/Resource_Description_Framework

Neste ponto, Winer insiste na versão 0.91 e após certo tempo, lança a versão 2.0 em 2002, alterando o significado da sigla RSS para Really Simple Syndication, pois agora o formato estaria com uma sintaxe mais simples e livre do RDF.

O RSS 1.0, caracterizado por utilizar a especificação W3C RDF60, integra-se ao projeto web semântica61 desenvolvido pela mesma organização, que se dedica à criação de um

framework62 comum em que dados possam ser compartilhados, reutilizados e compreendidos

tanto por pessoas como aplicações simultaneamente. Já o RSS 2.0, gerido atualmente pelo Centro Berkman para Internet e Sociedade da Faculdade de Direito de Harvard63, representa- se como herdeiro da linha de formatos XML que incluem as versões RSS 0.91, 0.92, 0.93 e 0.94.

O desenvolvimento do feed RSS consiste na criação de um arquivo padrão XML, onde são inclusas informações sobre atualizações do site agregado, como título, link (URL do novo conteúdo), descrição da alteração, data de criação e publicação do conteúdo, autor, etc. Após alguns minutos o arquivo é atualizado, podendo ser lido por qualquer ferramenta capaz de interpretar o formato XML do RSS (leitores e agregadores de feeds RSS), permitindo uma sincronização entre fornecedores e consumidores de conteúdo de forma ágil, visto que o formato dos dados limita-se a texto simples.

Para assinar um feed RSS, o usuário entra com seu link diretamente dentro do leitor (off ou online) ou pode também “clicar” no ícone RSS feed do web site desejado, lançando automaticamente o agregador do browser, que inicia o processo de assinatura. A partir de então, o agregador utilizado se responsabilizará por verificar os feeds RSS assinados do usuário, trazendo conteúdo atualizado para acompanhamento, através de interface própria, assim que publicado. De acordo com o agregador utilizado, a leitura dos feeds RSS pode

60 Disponível em: http://www.w3.org/TR/REC-rdf-syntax/

61 Veja mais sobre web semântica em: http://www.w3.org/2001/sw 62 Modelo de dados

ocorrer internamente ou através do oferecimento de links para os web sites de origem do conteúdo publicado.

A utilização do formato RSS pelos sites, por um bom tempo foi representada por uma imagem de cor laranja com a inscrição RSS juntamente com o indicativo XML, porém, parceria entre a Mozilla Foundation e Microsoft na utilização do novo ícone em seus browsers, Firefox e Internet Explorer 7 respectivamente, ajudou a promover e disseminar o novo símbolo pela web.

Figura 16: Símbolo RSS.

Com a difusão do uso do RSS em 2000 pelas empresas de notícias como a CNN64, BBC65 e Reuters66, o formato se expandiu para muitos outros propósitos que envolvem atualização e publicação constante de conteúdo, como entrega de mídia digital, marketing, negócios e, sobretudo, o mashup, ao se utilizar de tal tecnologia na combinação destes elementos.

64 Disponível em: http://www.cnn.com 65 Disponível em: http://www.bbc.co.uk 66 Disponível em: http://www.reuters.com

2.2.1.2 Atom

Caracterizado também por se tratar de um protocolo de sindicação de conteúdo web, o Atom (versão corrente Atom 1.0) surgiu em 2003, proveniente de discussões realizadas numa wiki criada por Sam Ruby, com o objetivo de suprir as deficiências da família de formatos RSS; congelada propositalmente na versão 2.0 através de declaração de documento da especificação oficial, para impedir a realização de mudanças, alegando-se assim assegurar sua estabilidade.

O novo formato de sindicação teria como princípios, ser totalmente neutro a outros padrões, implementado por todos, extensível livremente por qualquer pessoa, e, cuidadosamente documentado. Tais propósitos permitiram que o Atom rapidamente obtivesse a adoção de grandes corporações como o Google.

Em 2004 o grupo decidiu deslocar o projeto para o órgão normatizador Internet Engineering Task Force (IETF), buscando definir especificação e processo próprios.

Apesar da semelhança estrutural e conceitual, o Atom pode ser considerado uma evolução do padrão RSS, na medida em que procura manter melhores metadados que este, representando a informação de modo mais detalhado (completo); e, por fazer parte de um órgão normatizador, apresenta-se mais estável, oferecendo documentação superior.

2.2.2 AJAX

Acrônimo em língua inglesa para Asynchronous Javascript And XML (Javascript Assíncrono e XML), o termo foi utilizado pela primeira vez por Jesse James Garrett em 2005, e segundo Merrill, AJAX pode ser melhor definido como “[...] um modelo de aplicação web, em vez de uma tecnologia específica” (MERRILL, 2006), considerando-se que Javascript e XML já fazem parte do cenário de desenvolvimento de conteúdo web há muitos anos.

O modelo AJAX serve-se do uso de várias tecnologias desenvolvidas na década de 1990, algumas delas em parceria com o projeto Microsoft Remote Scripting, atuando em conjunto para prover novas funcionalidades na web: XHTML e CSS para apresentação de conteúdo, Document Object Model (DOM) para exposição dinâmica e interação com dados, XML e XSLT para intercâmbio e manipulação de dados respectivamente, objeto XMLHttpRequest para comunicação assíncrona e Javascript para agrupá-las.

Jesse Feiler descreve AJAX sinteticamente em How to Do Everything with Web 2.0 Mashups:

[...] Apesar desta multiplicidade de tecnologias, o princípio é muito simples: uma página da Web pode recuperar e exibir dados sem ter que atualizar ou recarregar toda a página. Para fazer isso, a página precisa ter a sua própria lógica de programação (normalmente fornecida em JavaScript); ela precisa ser capaz de enviar uma solicitação de dados (normalmente feita com XMLHttpRequest), e ela também precisa ser capaz de carregar, e então descarregar, dados para e a partir de solicitações (geralmente feito com o XML, XHTML, e DOM)67 [...] (FEILER, 2008, p. 4, tradução nossa).

Sua aplicação consiste da utilização sistemática e conjugada de tais tecnologias, presentes nos browsers68 (client-side), servindo-se de solicitações assíncronas, realizadas em segundo plano através do compartilhamento de pequenos pacotes de dados com os servidores de conteúdos (server-side), sem interferir na apresentação do conteúdo, com o objetivo de criar aplicações web mais interativas (RIAs), tornando conseqüentemente a experiência de navegação mais intensa e dinâmica aos usuários.

Enquanto o modelo de aplicação web tradicional baseia-se na requisição constante de páginas ao servidor, AJAX utiliza-se do poder dos navegadores, processando requisições in loco e comunicando-se mais eficientemente com o servidor ao solicitar apenas as porções de

67 Tradução livre de: “[…] Despite this plethora of technologies, the principle is quite simple: a Web page can retrieve and display data without having to refresh or reload the entire page. To do this, the page needs to have its own programming logic (usually provided in JavaScript); it needs to be able to send a request for data (usually done with XMLHttpRequest); and it also needs to be able to load, and then unload, data to and from requests (usually done with XML, XHTML, and DOM) […]” (FEILER, 2008, p. 4).

68 Somente os navegadores lançados após 2001 suportam Ajax: Mozilla Firefox, Internet Explorer 5 (ou mais recente), Opera, Konqueror, Safari e Google Chrome.

dados necessárias para a interação realizada; possibilitando ao usuário um fluxo de trabalho coeso e contínuo, muito semelhante às aplicações desktop, livre de carregamentos forçados.

Belgede HUKUK MUHAKEMELERİ KANUNU (sayfa 83-93)