Mashups

Conceito

Mashups são aplicações resultantes da soma de dois ou mais conteúdos ou serviços que, juntos, oferecem uma nova função para o usuário. Combinam várias funcionalidades e recursos de diferentes fontes, reunidos em um só lugar. Podem ser um website ou uma aplicação web.

Histórico

Durante os primeiros dias de mashups, os programadores apenas raspavam sites para obter dados úteis. Hoje, os grandes players como Google, Microsoft e Yahoo têm permitido mashups usuários e criadores de utilizarem os seus mapas para as suas aplicações, na esperança de obter mais exposição para seus produtos e ganhar ampla penetração no mercado de distribuição.

google_maps_candlestick_map.jpg

Formação

Mashups utilizam códigos de terceiros, através de uma interface pública ou de uma API, que são módulos de códigos que podem ser usados em outras aplicações. Outros métodos de codificação de conteúdo para mashups incluem Web feeds (RSS ou Atom), Javascript e widgets, que podem ser entendidas como mini-aplicações web, disponíveis para serem incorporadas a outros sites.

Em termos de arquitetura, uma aplicação mashup é constituída pelos seguintes elementos:

• Provedores de conteúdo (ou de APIs),
• O mashup site,
• A aplicação cliente (tipicamente, um navegador).

Os provedores de conteúdo normalmente publicam seu conteúdo através de APIs, que implementam protocolos ou paradigmas de interação baseados nos princípios REST, tais como RSS, Atom ou SOAP. Em alguns casos, o provedor de conteúdo não foi necessariamente preparado para ser utilizado por outra aplicação. Ou seja, seu conteúdo é utilizado na composição de um mashup, sem que o criador do site ou aplicação o tenha concebido para tal tipo de interação.

O mashup site é onde reside a lógica da aplicação. Não necessariamente a execução da aplicação (ou parte dela) ocorrerá no servidor do mashup site. Isto porque várias partes da aplicação poderão ser executadas no provedor de conteúdo ou na aplicação cliente (browser). De fato, pode-se entender que o grande diferencial desse tipo de aplicação está na possibilidade de combinar dados resultantes de computação em vários pontos (nos três elementos da arquitetura) para obter o resultado final do mashup.

A aplicação cliente é um navegador sendo executado no computador do usuário. Nele, executa-se a lógica para a apresentação do conteúdo. Muitas vezes, utiliza-se alguma lógica rodando no cliente para compor e agregar o conteúdo, além da apresentação.

Classificação

Os mashups são classificados, conforme a sua destinação, como:

• Consumer mashups
• Data mashups
• Enterprise mashups

Mas esta classificação pode ser melhorada, pois um dos tipos mencionados (data mashups) poderia pertencer a uma dimensão de classificação diferente dos outros dois. Ou seja, pode-se entender que um data mashup pode ser classificado também como um consumer mashup, por exemplo.

Mashups também podem ser classificados de acordo com o seu conteúdo e fontes. Os tipos mais comuns são os seguintes:

• Mapeamento mashups - exige um mapeamento fonte que possa fornecer uma apresentação visual da área ou local que está envolvido no processo. A fonte para o tipo de dados ou informação de que o mashup irá conter também é exigido. Esses dados serão então plotados no mapa de uma forma visual gráfica ou pela aplicação.

• Notícias mashups - trabalhos sobre o conceito de criar uma coleção específica da notícia, de que um determinado usuário ou cliente deseja ou prefere normalmente e, em seguida, apresentá-los em uma coletiva método.

• Vídeo e fotografia mashups - confiar em fornecedores de conteúdos, vídeo e fotografia, juntamente com uma outra fonte de dados que poderia fornecer qualquer informação que possa estar relacionada com esse tipo de conteúdo.

• Compras e pesquisa mashups - comparar os preços dos produtos e especificações, utilizando um método de pesquisa. Os resultados da pesquisa, a partir de várias fontes online, poderiam então ser compilados.

Vantagens

1) Popularização dos mashups devido à facilidade de misturar conteúdos online para consumo próprio de dados.

2) Possibilidade de interagir não apenas com dados alheios, mas com serviços e sites desenvolvidos por outros usuários.

3) Uma maior disponibilidade de APIs leves e simples tem possibilitado mashups relativamente simples de projetar. Requerem um conhecimento técnico mínimo e os mashups feitos sob encomenda muitas vezes apresentam inovações que eram consideradas improváveis, combinando uma nova disponibilidade pública de dados e novos caminhos criativos.

4) A facilidade com que se localiza visualmente informações de grandes jornais ou blogs desconhecidos, torna mashups feitos em mapas os mais populares da web, segundo levantamento do site especializado Programmable Web.

Exemplos

Google Mashup Editor

Facilita a criação de mini aplicativos em JavaScript. Depois de montados, os widgets podem ser hospedados nos próprios servidores do Google. Para criar um mashup, o usuário combina HTML, JavaScript e algumas tags proprietárias do Google Mashup Editor. Depois de montado, o mashup pode ser testado em uma área isolada (sandbox) antes de ser definitivamente publicado.

google.jpg

Yahoo! Pipes

Permite a integração de várias fontes e bases de dados que podemos relacionar com nossas preferências. Nesse sistema, é possível criar, por exemplo, um feed RSS personalizado, cruzando informações de diferentes bases (sites, blogs), trazendo resultados mais precisos. Conta com uma interface interativa e intuitiva para formar mashups facilmente, sem precisar usar códigos, basta apenas lógica.

yahoo_pipes.jpg

Openkapow

Na mesma linha do Yahoo! Pipes, o openkapow é um gerador de mashups e de robôs. Só que no openkapow, o serviço de criação é feito offline, usando um programa em Java que cria um ambiente mais poderoso do que o do Pipes. As opções de saída são boas, com o resultado do mashup sendo convertido para RSS, JSON, CSV ou até mesmo para uma página HTML. Apesar do poder de sobra, o openkapow ainda conta com poucos adeptos, provavelmente pela dificuldade de uso do software, que supera o Pipes nesse quesito.

Meebo

Agrega serviços de vários instant messengers, como o MSN Messenger, ICQ, AIM, Gtalk, entre outros, e pode ser integrados em sites e blogs.

Netvibes

Possui leitor RSS, serviços de e-mail, fotos, vídeos, leitor de notícias, messenger, entre vários outros serviços de grandes bases como Google, Yahoo, Hotmail, entre outros. Um grande exemplo de integração e personalização.

Programmable Web - É um catálogo de APIs e serviços mashup. Cada dia são inseridos novos projetos.

Graffiti - Insere animações em vídeos do YouTube.

Imobilien - Mashup focado em imóveis.

Schmap - Mashup de mapas e informações turísticas.

Vuvox - Site que combina fotos, texto, áudio e vídeo.

YourMinis - Serviço que fornece widgets para blogs e páginas personalizadas.

Compiladores e Mashups

O funcionamento de um mashup é semelhante ao de um compilador. Um compilador recebe como entrada um texto fonte e gera como saída, um texto objeto. Um mashup utiliza códigos de terceiros e gera como saída, uma nova função para o usuário.

Conclusão

A variedade de serviços online que podem ser mixados pelo usuário torna bastante alto o número de mashups que podem ser criados pela comunidade. O número, contudo, deve crescer ainda mais pela inclusão de serviços que oferecem novas ferramentas aliadas ao aumento no número de APIs disponíveis e na popularização de comunidades, onde leigos podem criar e compartilhar livremente seus projetos.

Referências

http://www.wikipedia.org
http://info.abril.com.br
http://idgnow.uol.com.br/internet/2007/05/24/idgnoticia.2007-05-24.3179902089/
http://wnews.uol.com.br/site/colunas/materia.php?id_secao=4&id_conteudo=394
http://www.tech-faq.com/lang/pt/mashup.shtml&usg=ALkJrhiv0kWsdAIR1ylBhPwOy0KoeLuWfQ

Componentes:

Elisangela Santos
Louise Santiago Galvão

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License