domingo, 20 de setembro de 2009

Plataformas de remixagem e distribuição direta de dados

Até alguns poucos anos atrás, todos nós utilizávamos o desktop como plataforma hospedeira de todas as nossas aplicações, desde um programa de agenda, calculadora, controle de finanças, editores de documentos,etc. Mas o avanço da web e das tecnologias empregadas na construção de aplicativos web causou uma explosão de ferramentas que funcionam nas nuvens da web. Hoje, conseguimos encontrar quase todas (se não todas) estas ferramentas na internet, e em muitos casos, de forma gratuita.

Toda esta explosão de ferramentas e dados à nossa disposição motivou o surgimento de plataformas de remixagem e distribuição direta de dados: os mashups. O termo, que basicamente significa mistura e foi emprestado do ramo musical, indica a categoria das aplicações que permitem integrar em único ambiente um leitor de feeds de seus blogs favoritos e os mais diversos widgets.

O mashup é um dos pilares da web 2.0 e se vale de um dos novos comportamentos adotados pelas empresas nesta nova era: a disponibilização de suas API para disponibilização dos serviços de seus produtos e tornar possível a criação de um widget com isto. Podemos ver isso bem com a disponibilização da API do Google Maps, disponibilizada pela Google. Esta API permitiu a criação de um widget que exibe um mapa na página do Mashup. Em dados coletados pelo site Programmable Web em 2007, 48% dos 1930 mashups rastreados na pesquisa utilizavam um widget de mapa para indicar a localização geográfica de informações que iam de consoles Wii a vagas em pensão.


Vantagens

Os mashups funcionam são para as aplicações web e widgets, aquilo que os agregadores RSS/Atom são para as postagens de um blog: um aplicativo único que reúne dados de um grande número de outros locais.

Com o mashup, o usuário encontra em um único lugar, seus widets preferidos e portanto não precisa mais de acessar uma página para consultar sua agenda, outra para conferir o tempo, uma para ver seu agregador de feeds e seus bookmarks sociais. Tudo isto fica no ambiente do mashup, o que permite, com seu dramático ganho de velocidade, ter uma rica experiência de uso das aplicações web, o que o torna um dos pilares da chamada web 2.0


Características da arquitetura de um mashup


Em seu artigo An introduction to mashups , Duane Merril apresenta a arquitetura de um mashup, que é formada por 3 componentes que estão fisicamente separados ( seja por estarem em diferentes empresas ou redes):



  • APIs e provedores de conteúdo: Conforme discutido anteriormente, grandes empresas é a API do Google Maps.disponibilizam fatias de suas aplicações em APIs para que se possam construir widgets ou até mesmo outras aplicações com os serviços prestados por estas APIs.






  • Site do mashup: é o local em que o mashup fica hospedado. O mashup pode ser hospedado em ambientes que suportam diferentes tecnologias - Java, PHP, CGI, .net, etc.


  • Browser do usuário: O browser é o único programa que o usuário precisa ter instalado localmente em seu aparelho (desktop, celular, pda, netbook,etc) para visualizar o conteúdo da aplicação mashup









Características tecnológicas


Os mashups são suportados por uma grande gama de tecnologias, sendo que dentre estas se destacam:



  • REST e protocolo SOAP: Estes protocolos estão intimamente ligados com a publicação da lógica de negócio de uma aplicação em um formato que facilite sua distribuição em meios hipermídia.


  • AJAX: Uma importante tecnologia que auxilia fortemente na criação de aplicações ricas para o usuário. Por se comunicar de forma assíncrona com o servidor, ela garante um alto grau de responsividade para as aplicações, o que aumenta dramaticamente a experiência dos usuários.


  • Web Services: Assentados sobre REST e protocolos SOAP estão os web services, que são os responsáveis pela obtenção dos dados nas mais diversas fontes, sem a necessidade de toda a infraestrutura da aplicação que executa as regras. Basta a aplicação de interesse publicar seus dados por meio de web services.

Exemplos


Hoje, a web está tomada por um grande número de mashups. Achamos que os seguintes mashups são os mais interessantes:

iGoogle (www.google.com/ig):




Permite ao usuário do Google criar uma página, que segundo a própria Google agrega: Adicione notícias, fotografias, previsão meteorológica e outros itens da Web à sua página. Sua forte integração com o Google torna fácil integrar as principais ferramentas do Google, como um widget com a caixa de entrada, calendário Google, documentos do Google, etc.





É um mashup cujo código fonte é aberto e gratuito para que todos os usuários possam utilizar. Utiliza a maior parte dos novos recursos da última versão da plataforma ASP.NET, o ASP.NET 3.5




Outra aplicação que se diz uma 'página inicial personalizada e socializada'. Suporta widgets dos principais portais (YouTube, twitter, orkut, Facebook, etc), além de permitir o compartilhamento das páginas de mashup dos usuários. Possui mais de 130 000 Page Casts , que são as páginas compartilhadas publicamente pelos usuários do Page Flakes.

2 comentários:

  1. Está ficando fácil criar serviços interessantes para a Web. Os mashups possibilitarão cada vez mais que pessoas leigas sejam capazes de manipular diversos dados disponíveis na web e criar diferentes tipos de informações! Parabéns pelo texto!

    Leonardo Cruz
    http://tccass.wordpress.com/

    ResponderExcluir
  2. Achei bastante interessante o conceito do DropThings, por ter o código aberto. Apesar de utilizar .NET, que é uma plataforma fechada.

    Acredito que a tendência é que novas formas de agregação de conteúdo ainda irão surgir, que irão partir destes conceitos utilizados por estes sites e melhorá-los.

    Nilson
    http://softsocial2009.blogspot.com/

    ResponderExcluir