Mashups: O Que São? Conheça Os Seus Tipos E Tecnologias De Suporte - Parte 1 

Agosto 31, 2007
Imprimir este artigo Imprimir este artigo   |   Read this article in: | EN| IT |


Mashups: O Que São? Conheça Os Seus Tipos E Tecnologias De Suporte - Parte 1





Mashups são um novo género de aplicações Web interactivas que tiram partido de conteúdos recolhidos de fontes de dados externos para criar serviços inteiramente novos e inovadores. São um marco da segunda geração de aplicações Web informalmente conhecida como Web 2.0.

Mashup-baby-by-Jasmine-T-via-Quasimondo-323010657_d172b33030-480o.jpg
Crédito da Imagem: (c) Quasimondo - (c) Design porJasmine T.

A combinação de tecnologias de modelação de dados surgindo do domínio da Web Semântica e a maturação dos protocolos de comunicação fracamente emparelhados, orientados para serviço e independentes de plataforma estão finalmente a oferecer a infra-estrutura necessária para a criação de aplicações que podem tirar partido e integrar o gigantesco volume de informação que está disponível na Web.

À medida que as aplicações mashup ganham visibilidade acrescida, será interessante ver como o género afecta as questões de propriedade intelectual para além de outros domínios de aplicação que integram dados através de limites organizacionais, tais como computação em rede e gestão de workflows business-to-business.

Para uma mais aprofundada aproximação ao desenvolvimento de mashups, esteja atento à série de tutoriais existente no developerWorks que lhe ensinam como criar as suas próprias mashups. Na realidade, a série ensinar-lhe-á como utilizar a tecnologia e ontologias da Web Semântica para permitir que outros criem as suas próprias mashups.


Este artigo introdutório explora:

a) o que significa ser um mashup,

b) as diferentes classes de mashups populares existentes e

c) as tecnologias permissivas das quais os criadores de mashups tiram partido para criarem as suas aplicações. Adicionalmente, irá ver muitos dos desafios técnicos e sociais que os criadores de mashups enfrentam.

Eis os detalhes:

Mashups: A Nova Espécie de Aplicação Web


por Duane Merrill

mashup-ecosystem-400.jpg
Crédito da Imagem: (c) Dion Hinchcliffe - via RemixTheory.net

Apresentação


Uma nova espécie de aplicações Web de integração de dados está a surgir em toda a Internet.

Coloquialmente chamadas de mashups, a sua popularidade nasce da ênfase na participação dos utilizadores e na forma grotesca como agregam e reúnem os dados de terceiros.

A nova metáfora é razoável; o sítio Web de mashup é caracterizado pela forma em que espalha as suas raízes por toda a Web, tirando partido de conteúdos e funcionalidades recolhidas de fontes de dados que se encontram fora das suas fronteiras organizacionais.

Esta vaga definição de integração de dados de uma mashup não é certamente rigorosa.

Uma boa análise do que faz uma boa mashup é ver a etimologia do termo: foi adaptado da música pop, onde o mashup é uma nova música que é misturada a partir das faixas vocais e instrumentais de duas músicas diferentes (geralmente pertencentes a diferentes géneros). Tal como estas músicas "pop bastardas", uma mashup é uma composição de conteúdos incomum e inovadora (com frequência de fontes de dados não relacionadas), criadas para consumo humano (e não criadas para computador).

E então, qual pode ser o aspecto de uma mashup? O sítio Web The ChicagoCrime.org é um excelente exemplo intuitivo do que é chamado mashup de mapeamento. Uma das primeiras mashups a gozar grande popularidade na imprensa, o sítio Web reúne dados de crimes da base de dados on-line do Departamento Policial de Chicago com dados cartográficos do Google Maps.

Os utilizadores podem interagir com o sítio Web, tal como instruí-lo a mostrar um mapa gráfico com marcadores, que revelam os detalhes de todos os crimes de roubo no Sul de Chicago. O conceito e apresentação são simples e a composição dos dados de crimes e mapas é visualmente poderosa.

Nesta primeira parte deste relatório a atenção recai sobre os géneros de Mashup, pois vou orientá-lo na análise de géneros populares de mashups incluindo mashups de mapas. Também nesta parte, Tecnologias relacionadas analisa o panorama tecnológico referente à construção e operação de mashups.

Na segunda parte deste relatório, a ser publicada na próxima semana, irei analisar os desafios Técnicos e Sociais que afectam os mashups.



Classes de Mashups


idoltracker-mashup-via-cnet-au.jpg

Nesta secção faço uma ligeira análise sobre os tipos mais proeminentes de mashups.



Mapeando mashups


Nesta era da tecnologia de informação, o ser humano está a recolher um volume dados prodigioso sobre assuntos e actividades.

Todos estes conjuntos de dados, que contêm informação sobre o seu local de focus, estão a pedir para serem apresentados graficamente através de mapas. Um dos grandes catalisadores para a invasão de mashups foi o lançamento por parte do Google da sua API do Google Maps.

Isto abriu o caminho, permitindo que programadores Web (e entusiastas, pensadores e outros) reunissem todos os tipos de dados (tudo, deste desastres nucleares às vacas da CowParade de Boston) em mapas. De realçar também as as APIs da Microsoft (Virtual Earth), Yahoo (Yahoo Maps), e AOL (MapQuest).



Mashups de vídeo e fotos


A emergência do alojamento de fotografias e sítios Web de rede social como o Flickr com APIs que expõem a partilha de fotografias levou a uma variedade de mashups interessantes.

Porque estes fornecedores de conteúdos têm metadados associados às imagens que alojam (como quem tirou a fotografia, que fotografia é, onde e quando foi tirada, entre outros), os criadores de mashups podem misturar (mash) fotografias com outra informação que pode ser associada aos metadados.

Por exemplo, as mashups podem analisar letras de música e poemas e criar um mosaico ou colagem de fotos relevantes como mostrar gráficos de rede social baseados em metadados comuns em imagens (assunto, hora e data e outros metadados).

Outro exemplo pode ter como fonte um sítio Web (como um sítio Web de notícias como a CNN) e misturar o texto nas fotos, fazendo corresponder as tags das imagens com as palavras das notícias.



Mashups de Pesquisa e Compras


Mashups de pesquisa e de compras já existiam antes do termo mashup ser criado. Antes do tempo das APIs Web, ferramentas de comparação de compras como BizRate, PriceGrabber, MySimon, e Froogle da Google utilizavam combinações de tecnologias business-to-business (b2b) para reunir dados comparativos de preços.

Para facilitar mashups e outras aplicações Web interessantes, mercados de consumidores como o eBay e a Amazon lançaram APIs para providenciarem o acesso ao seu conteúdo através de programação.



Mashups de Notícias


Fontes de notícias (como o New York Times, a BBC ou a Reuters) utilizaram tecnologias de sindicação como RSS e Atom (descrito na secção seguinte) desde 2002 para disseminar feeds noticiosos relativos a vários assuntos.

Mashups de feeds de sindicação podem reunir os feeds de um utilizador e apresentá-los na Web, criando um jornal personalizado que responde aos interesses particulares do leitor.

Um exemplo é Diggdot.us, que combina feeds das fontes orientadas para as tecnologias como Digg.com, Slashdot.org e Del.icio.us.



Tecnologias relacionadas


Esta secção dá-lhe uma visão geral das tecnologias que estão a facilitar o desenvolvimento de mashups. Para mais informação sobre qualquer uma destas tecnologias consulte a secção de Recursos no fim deste artigo.



A Arquitectura


Uma aplicação mashup é composta por três participantes que estão lógica e fisicamente separados (estão provavelmente separados por limitações de rede ou organizacionais):

1) fornecedores de API/conteúdos,

2) o sítio Web do mashup e

3) o browser Web do cliente.

  • Os fornecedores de API/conteúdos.

    Estes são os (por vezes acidentais) fornecedores do conteúdo a ser misturado. No exemplo de mashup do ChicagoCrime.org, os fornecedores são a Google e o Departamento de Polícia de Chicago. Para facilitar a recolha de dados, os fornecedores frequentemente expõem o seu conteúdo através de protocolos Web tais como REST, Web Services e RSS/Atom (descrito em baixo).

    No entanto, muitas fontes de dados potencialmente interessantes (ainda) não revelam convenientemente as suas APIs.

    Mashups que extraem conteúdo de sítios Web como a Wikipédia, TV Guide, e praticamente todos os sítios Web governamentais e de domínio público fazem-no através de uma técnica conhecida como leitura de ecrã. Neste contexto, a leitura de ecrã representa o processo pelo qual uma ferramenta tenta extrair informação do fornecedor de conteúdos tentando ler as suas páginas Web, inicialmente concebidas para consumo humano.



  • O Sítio Web de mashup.

    É aqui onde a mashup é alojada. Curiosamente, sendo aqui que a lógica de mashup reside não é necessariamente onde é executada.

    Por outro lado, as mashups podem ser implementadas de forma similar às aplicações Web tradicionais utilizando tecnologias de criação de conteúdos dinâmicas no servidor, como servlets Java, CGI, PHP ou ASP.

    Em alternativa, o conteúdo misturado pode ser criado directamente no browser do cliente através de scripts (isto é, JavaScript) ou applets. Esta lógica de cliente é frequentemente a combinação de código directamente incluído na página Web de mashup e da programação de bibliotecas ou applets de APIs (fornecidas pelos fornecedores de conteúdos) referenciadas por essas páginas Web.

    Mashups que utilizam esta abordagem podem ser chamadas de "rich internet applications" (RIAs), significando que elas estão muito voltadas para a experiência interactiva do utilizador. ("rich internet applications" são um dos marcos do que agora é chamado de "Web 2.0", a nova geração de serviços disponíveis na World Wide Web.)

    Os benefícios de mashing no cliente incluem menos carga no servidor de mashup (os dados podem ser obtidos directamente a partir do fornecedor de conteúdos) e uma experiência de utilizador mais transparente (as páginas podem pedir autorizações para partes do seu conteúdo sem terem que refrescar toda a página). A API do Google Maps foi concebida para ser acedida através de Javascript no browser de cliente e é um exemplo de tecnologia de cliente.

    É frequente que as mashups utilizem uma combinação de lógica tanto de servidor como de cliente para conseguirem a sua recolha de dados.

    Muitas aplicações de mashup utilizam dados que lhes são fornecidos directamente pela sua base de utilizadores tornando locais (pelo menos) um dos conjuntos de dados. Além disso, efectuar pesquisas complexas em dados de várias fontes (tal como "Mostra-me valor médio para propriedades compradas por actores que contracenaram em filmes com o Kevin Bacon") requer processamento que seria impossível de realizar no browser do cliente.



  • O browser Web do cliente.

    É aqui onde a aplicação é criada graficamente e a interacção dos utilizadores tem lugar. Como descrito anteriormente, os mashups utilizam frequentemente a lógica de cliente para reunir e apresentar o conteúdo recolhido.





Ajax


Há alguma discussão sobre se o termo Ajax é ou não um acrónimo (alguns aceitam-no como representando "Asynchronous JavaScript + XML"). De qualquer forma, Ajax é um modelo de aplicação Web em vez de uma tecnologia específica. É composta de várias tecnologias centradas no carregamento e apresentação assíncrona de conteúdos:

  • XHTML e CSS para apresentação com estilo
  • A API Document Object Model (DOM) exposta pelo browser para apresentação e interacção dinâmicas
  • Partilha assíncrona de dados, geralmente de dados XML
  • Script de browser, principalmente Javascript

Quando utilizado em conjunto, o objectivo destas tecnologias é criar uma experiência Web suave e coesa para os utilizadores, partilhando pequenos volumes de dados com os servidores de conteúdos em vez de recarregar e recriar a toda a página após alguma acção do utilizador.

Pode criar motores Ajax para mashups com vários toolkits e bibliotecas Ajax (tais como Sajax ou Zimbra), geralmente implementadas em Javascript. A API do Google Maps inclui um motor Ajax proprietário, e o efeito que tem sobre a experiência de utilizador é poderosa: comporta-se como uma aplicação verdadeiramente local onde não existem barras de deslocamento para manipular ou carregamentos de página forçados.



Protocolos Web: SOAP e REST


Tanto SOAP como REST são protocolos de comunicação com serviços remotos independentes de plataformas. Como parte do paradigma de arquitecturas orientado para serviços, os clientes podem utilizar tanto SOAP como REST para interagir com serviços remotos sem o conhecimento da implementação das plataformas subjacentes: a funcionalidade de um serviço é percebida pela descrição das mensagens que pede e pelas quais responde.

SOAP é uma tecnologia fundamental do paradigma Web Services. Originalmente um acrónimo para Simple Object Access Protocol, SOAP foi rebaptizado como Services-Oriented Access Protocol (ou só SOAP) porque a seu núcleo afastou-se dos sistemas baseados em objectos para a interoperabilidade da troca de mensagens.

Existem dois componentes fundamentais na especificação SOAP. O primeiro é o uso de um formato de mensagens em XML para a codificação independente de plataformas, e a segunda, a estrutura da mensagem, que consiste num cabeçalho e um corpo.

O cabeçalho é utilizado para partilhar informação contextual que não é específica à carga da aplicação (o corpo), tal como a informação de autenticação. O corpo da mensagem SOAP engloba a carga específica da aplicação.

As APIs da SOAP para serviços Web são descritos por documentos WSDL que descrevem as operações que o serviço expõe, o formato de mensagens que aceita (utilizando XML Schema), e como o abordar. As mensagens SOAP são transmitidas geralmente através de HTTP, embora outros transportes (tais como JMS ou e-mail) são igualmente viáveis.

REST é um acrónimo para Representational State Transfer, uma técnica de Comunicação Web utilizando apenas HTTP e XML. A sua simplicidade e falta de perfis rigorosos afastam-na da SOAP e tornam-na mais apetecível.

Ao contrário das interfaces verbais normais encontradas nas linguagens de programação modernas (que são compostas por diversos métodos tais comog etEmployee(), addEmployee(), listEmployees() e mais), o REST basicamente suporta apenas algumas operações (que são POST, GET, PUT, DELETE) que são aplicáveis a todas as peças de informação. O destaque do REST é as próprias peças de informação, chamadas recursos.

Por exemplo, uma entrada de recursos para um funcionário é identificada por um URI, obtida através de uma operação GET, actualizada por uma operação PUT, e assim por diante. Desta forma, REST é semelhante ao estilo literal dos documentos dos serviços SOAP.



Leitura de ecrã


Como referido anteriormente, a falta de APIs de fornecedores de conteúdos geralmente obriga a que os criadores de mashups tenham que recorrer à leitura de ecrã para poderem recolher a informação que pretendem reunir.

A leitura é o processo de utilizar ferramentas de software para analisarem conteúdos que foram originalmente escritos para consumo humano para extrair estruturas de dados semânticos representativas dessa informação que possam ser utilizados e manipulados através de programação.

Algumas mashups utilizam tecnologia de leitura de ecrã para aquisição de dados, especialmente quando extraem dados de sectores públicos.

Por exemplo, mashups de mapeamento de propriedades podem combinar listagens de venda ou arrendamento, com mapas de um fornecedor de cartografia com dados "comp" recolhidos dos registos distritais. Outro projecto de mashup que lê dados é o XMLTV, uma colecção de ferramentas que recolhem listagens televisivas de todo mundo.

A leitura de ecrã é frequentemente considerada uma solução pouco elegante, e por boas razões.

Tem dois defeitos principais.

1) A primeira é que, ao contrário de APIs com uma interface, a leitura não tem um contrato programático específico entre o fornecedor de conteúdos e o consumidor desses conteúdos. Os scrapers têm que conceber as suas ferramentas sob um modelo do conteúdo fonte e esperar que o fornecedor adira consistentemente a este modelo de apresentação. Os sítios Web têm a tendência de alterar o seu aspecto periodicamente para se manterem actuais e com estilo, o que representa grandes dores de cabeça em termos de manutenção para os scrapers porque as suas ferramentas provavelmente irão falhar.

2) O segundo problema é a falta de software de leitura de ecrã sofisticado e reutilizável, normalmente conhecidos como scrAPIs. A falta de tais APIs e toolkits é em grande parte devida às necessidades específicas de cada ferramenta de leitura. Isto leva a grandes demoras de desenvolvimento, pois os designers são obrigados a reutilizar conteúdos, desenvolver modelos de dados e a separar e reunir dados em bruto do sítio Web do fornecedor.



Web Semântica e RDF


Os aspectos pouco elegantes da leitura do ecrã levam directamente à conclusão que os conteúdos criados para consumo humano não são conteúdos para consumo automático por máquinas.

Que entre a Web Semântica, que é a visão de que a Web existente pode ser aumentada para suplementar os conteúdos concebidos pelo ser humano por informação legível por máquinas. No contexto da Web Semântica, o termo informação é diferente de dados; os dados tornam-se informação quando transmitem significado (isto é, são compreensíveis).

A Web Semântica tem o objectivo de criar uma infra-estrutura Web que complemente dados com metadados para lhes dar significado, tornando-os próprios para automatização, integração, compreensão e reutilização.

A família de especificações W3C, colectivamente conhecida como Resource Description Framework (RDF), serve este propósito de oferecer metodologias para estabelecer estruturas sintácticas que descrevem dados.

O próprio XML não é suficiente; é demasiado arbitrário pois pode ser codificado de muitas formas diferentes para descrever os mesmos dados. RDF-Schema expande a capacidade do RDF de codificar conceitos de uma forma legível por máquinas. Logo que os modelos de dados possam ser descritos num modelo de dados, o RDF encarrega-se da construção de relações entre objectos de dados através de triplos sujeito-predicado-objecto ("sujeito S tem relação R com objecto O").

A combinação de modelos de dados e gráfico de relações permite a criação de ontologias, que são estruturas hierárquicas de conhecimento que podem ser pesquisadas e formalmente debatidas.

Por exemplo, pode definir um modelo onde um "tipo-carnívoro" com uma subclasse de "tipo-animal" com a limitação que "come" outros "tipo-animal", e cria duas ocorrências: uma com dados referentes a chitas e ursos polares e os seus habitats, outro referindo-se a gazelas e pinguins e seus respectivos habitats.

Motores de inferência podem então "misturar" estas ocorrências de modelos separados e concluir que as chitas podem predar gazelas mas não pinguins.

Os dados RDF estão a ser rapidamente adoptados numa variedade de domínios, incluindo aplicações de rede social (tal como FOAF -- Friend of a Friend) e sindicação (tal como RSS, que descrevo a seguir).

Adicionalmente, os componentes e tecnologia do software RDF estão a atingir um nível de maturidade, especialmente nas áreas da linguagem de pesquisa RDF (como RDQL e SPARQL) e estruturas programáticas e motores de inferência (como os Jena e Redland).



RSS e ATOM


RSS é uma família de formatos de sindicação baseado em XML. Neste contexto, a sindicação implica que um sítio Web que pretenda distribuir conteúdo crie um documento RSS e o registe com um editor de RSS.

Um cliente RSS pode então pesquisar o feed RSS do editor por novos conteúdos e reagir de uma forma apropriada.

RSS foi adoptado para sindicar uma grande variedade de conteúdos, indo desde artigos de notícias a títulos, changelogs para CVS, verificação para páginas Wiki, actualizações de projectos e até em dados audiovisuais como programas de rádio. A versão 1.0 é baseada em RDF, mas a mais recente, a versão 2.0, não é.

Atom é um protocolo de sindicação novo, mas semelhante. É um padrão proposto no Internet Engineering Task Force (IETF) e procura manter melhores meta dados do que o RSS, oferecer documentação melhor e mais rigorosa e incorpora a noção de construções para a representação de dados comuns.

Estas tecnologias de sindicação são excelentes para mashups que recolhem conteúdo baseado em eventos ou actualizações, tal como notícias e agregadores de blogues.

Fim da Parte 1

Na segunda parte: Desafios Técnicos e Sociais de Mashups.





Recursos


Saiba



Obtenha produtos e tecnologias



Debata




Sobre o autor


Duane Merrill desenvolveu computação distribuída e plataformas de integração de dados distribuídos por mais de cinco anos. Tem sido um colaborador no Legion Project na Universidade da Virgínia e um desenvolvedor interino no produto de integração de dados empresariais distribuídos Avaki da Avaki Corporation. Está de momento a obter o seu Ph.D. em Ciências Informáticas na Universidade da Virgínia.

Este artigo és protegido sob copyright 2006, Backstop Media e foi reproduzido com permissão.



Se você gostou deste artigo, assine o nosso feed e receba atualizações por e-mail.

Indique e compartilhe este artigo:


Tópicos relacionados

, , , , , , , ,







Print this article Print this article   |   Read this article in: | EN| IT |
Deixe o seu comentário    
Artigos relacionados




Warning: mktime() expects parameter 6 to be long, string given in /usr/www/users/ikonos/mastermind/pt/_includes/PTshow_related.php on line 96

Warning: mktime() expects parameter 6 to be long, string given in /usr/www/users/ikonos/mastermind/pt/_includes/PTshow_related.php on line 98

Warning: mktime() expects parameter 6 to be long, string given in /usr/www/users/ikonos/mastermind/pt/_includes/PTshow_related.php on line 120

Warning: mktime() expects parameter 6 to be long, string given in /usr/www/users/ikonos/mastermind/pt/_includes/PTshow_related.php on line 96

Warning: mktime() expects parameter 6 to be long, string given in /usr/www/users/ikonos/mastermind/pt/_includes/PTshow_related.php on line 98

Warning: mktime() expects parameter 6 to be long, string given in /usr/www/users/ikonos/mastermind/pt/_includes/PTshow_related.php on line 120

Warning: mktime() expects parameter 6 to be long, string given in /usr/www/users/ikonos/mastermind/pt/_includes/PTshow_related.php on line 96

Warning: mktime() expects parameter 6 to be long, string given in /usr/www/users/ikonos/mastermind/pt/_includes/PTshow_related.php on line 98

Warning: mktime() expects parameter 6 to be long, string given in /usr/www/users/ikonos/mastermind/pt/_includes/PTshow_related.php on line 120
Junho 26, 2007
Remix, Mashup E Ganhe Dinheiro Com Os Seus Conteúdos Media Utilizando Conteúdo Licenciado: MixerCast


Se quiser misturar (Remix) e Mashup (remisturar) os seus conteúdos multimédia com conteúdos licenciados de fontes consagradas, e depois ganhar dinheiro com o resultado final, não precisa de procurar mais. Ferramentas de mistura de publicação de multimédia pessoal são a sensação do momento, com ferramentas tais... Ler mais



Junho 6, 2007
Edit, Remix, Mash Up: Partilhe O Seu Conteúdo On-line Com O Flektor


O conteúdo digital é ainda mais fácil não só de armazenar e partilhar on-line, mas também mais fácil de editar e misturar (mashup) em novos e excelentes remixes. É agora possível fazer tudo isto e ainda mais, a partir de uma aplicação que funciona a partir... Ler mais



Outubro 17, 2006
Web 2.0: What Is A Mash Up? Marshall Kirkpatrick Video Interview


Web 2.0 has unleashed an era of online participation, personalization and interoperability set to change the way we network, do business and interact with the media that engulf us. One of the most exciting developments in recent times is that of the mashup. The term mashup can... Ler mais







Livros recomendados



 











 

 

 

 



Explorar leva ao conhecimento

Início | Subscrever | Feeds RSS | Mapa do site | Syndicate
Consultoria | Publicações
Sobre (a MNM) | Privacidade | Contactos

 

Creative Commons License
Este site está licenciado sob uma licença de Creative Commons.

 

7888