- Mashup (aplicación web híbrida)
-
En desarrollo web, un mashup es una página web o aplicación que usa y combina datos, presentaciones y funcionalidad procedentes de una o más fuentes para crear nuevos servicios. El término implica integración fácil y rápida, usando a menudo APIs abiertos y fuentes de datos para producir resultados enriquecidos que no fueron la razón original para la que fueron producidos los datos en crudo originales.
Las principales características del mashup son la combinación, la visualización y la agregación. Es importante transformar los datos existentes en otros más útiles tanto para uso personal como profesional.
Contenido
El Concepto
El contenido usado en mashups es típicamente obtenido de otra fuente vía una interface pública o API (web services), aunque existe gente en la comunidad que considera que los casos en que las interfaces son privadas no deberían contar como mashups. Otros métodos de obtener contenido para mashups incluyen Web Feeds (i.e RSS o Atom) y screen scraping.
Mucha gente experimenta con mashups usando las APIs de Amazon, eBay, Flickr, Google, Microsoft, Yahoo o YouTube lo que ha llevado a la creación de un editor mashup.
La arquitectura de los mashups está siempre compuesta de tres partes:
- El proveedor de contenidos: fuente de los datos. Los datos están disponibles vía una API y diferentes protocolos web como RSS, REST y Web Service.
- El sitio mashup: es la nueva aplicación web que provee un nuevo servicio utilizando diferente información y de la que no es dueña.
- El web browser cliente: es la interface de usuario del mashup. En una aplicación web, el contenido puede ser mezclado por los web browser clientes usando lenguaje web del lado del cliente. Por ejemplo javascript.
Los mashups deben ser diferenciados de simples embebidos de datos de otro sitio para formar un documento compuesto. Un sitio que permite al usuario embeber vídeos de youtube, por ejemplo, no es un sitio mashup. Como ya se dijo , el sitio mismo debe acceder información externa a él usando una API y procesar esos datos de modo de incrementar su valor para el usuario.
Tipos de Mashups
Los mashups se presentan actualmente en tres formas: mashups de consumidores, mashups de datos y mashups empresariales.
El tipo más conocido es el de mashup de consumidores, que está muy bien ejemplificado por muchas aplicaciones que utilizan Google Maps. Los mashups de este tipo combinan datos de fuentes varias, escondiendo ello tras una interface gráfica simple.
Un mashup de negocio es una combinación de todo lo anterior, enfocando en agregación de datos y presentación y agregando adicionalmente una funcionalidad colaborativa, haciendo que el resultado final sea una aplicación de negocio apropiada.Mashups dentro de mashups son conocidos como “mashups monstruos”.
Es importante reconocer que los mashups ayudan o facilitan la integración de aplicaciones orientadas a arquitecturas SOA.
Ejemplos
Los mashups pueden ser divididos en cuatros grandes categorías: "mapas", "vídeo y fotos", "búsqueda y compras" y "noticias". Algunos ejemplos de cada categoría:
Mapas
Chicago Crime - El departamento de policía de Chicago tiene un mashup (http://gis.chicagopolice.org/CLEARMap_crime_sums/startPage.htm) que integra la base de datos del departamento de crímenes reportados con Google Maps con el objetivo de ayudar a detener crímenes en ciertas áreas y avisar a los ciudadanos de áreas potencialmente más peligrosas.
WikiCrimes - WikiCrimes (http://www.wikicrimes.org) es un sitio web tipo wiki donde los usuarios de Internet pueden reportar crímenes pinchando banderas en un mapa basado en Google Maps. El sitio distingue categorías dependiendo del color.
minnus - minnus (http://www.minnus.com.ar) es una comunidad virtual donde sus usuarios tienen acceso a información de todo tipo, ya sea cultural, social, histórica, comercial, ambiental, turística, de tránsito, etc. Dicha información se encuentra geoposicionada en un mapa creado con imágenes de satélite para así formar grupos con mismos intereses.
Vídeo y fotosFlickr - Flickr es un sitio de almacenamiento de imágenes que permite a los usuarios organizar sus colecciones de imágenes y compartirlas. Utilizando su API el contenido puede ser usado en otros sitios creando mashups. Flickrvision (http://flickrvision.com) es un ejemplo.
Búsqueda y compras
Travature - Travature (http://www.travature.com) es un portal de viajes que ha integrado motores de meta búsquedas con guías de viajes tipo wiki y reseñas de hoteles. También permite compartir experiencias entre viajantes.
Noticias
Digg - Digg (http://digg.com/) es un mashup de varios sitios de noticias controlado casi enteramente por los usuarios del sitio.
BFreeNews.com - BFreeNews (http://bfreenews.com/) es un mashup de fuentes de noticias de calidad cruzadas con recomendaciones de noticias de Twitter y búsquedas de Google. Muestra las noticias más comentadas en twitter y más indexadas por Google en las últimas 24 horas.
Enciclopedias
Histourist - Histourist (http://www.histourist.com/) es un Mashup Semántico que ofrece una Enciclopedia multimedia geolocalizada de lugares históricos. Los artículos se preparan mediante una combinación de editores y robots de software que explotan los recursos on-line en fuentes definidas como "confiables" (BBC, National Geographic, DBpedia, The History Channel, etc.) )y en particular los servicios de la web semántica para enriquecer los artículos con videos, fotos, bibliografía, y clasificarlo en las taxonomías del servicio.
Lecciones
- Cómo crear un mashup paso a paso - Ejemplo con openkapow, Yahoo Pipes y Google Maps
- Cómo crear un Mashup En Microsoft Popfly
Competiciones
Enlaces externos
- Mashup Developer Community - Lienzo de JackBe para facilitar la creación de Enterprise Mashups
- Webmashup.com – Mashups & Web 2.0 APIs
- Programmableweb - Dedicado exclusivamente a Mashups
- QEDWiki - Lienzo de IBM para facilitar la creación de Mashups
- KAPOW Technologies en Español - Tecnología KAPOW para creación de agregadores
- El Blog del Agregador - BLOG sobre agregadores
Categorías:- Software de Internet
- Web 2.0
- Aplicaciones web
- Arquitectura de software
Wikimedia foundation. 2010.