Para entender más sobre qué es un mashup, debes mirar los orígenes de la palabra: proviene de la música pop, y un mashup es una mezcla de voces y pistas instrumentales de dos canciones diferentes (generalmente pertenecientes a diferentes géneros de canciones nuevas). . En el género Mashup, exploramos los mashups populares.
1. Introducción
Un nuevo tipo de aplicación de integración de datos basada en Web está surgiendo gradualmente en Internet. A menudo denominados mashups, su popularidad surge de un énfasis estilo Frankenstein en la participación interactiva del usuario y la integración de datos de terceros. Usamos la palabra brote por una razón; los sitios web mashup se caracterizan por su aparición en la Web, aprovechando el contenido y la funcionalidad de fuentes de datos fuera de los límites de la organización.
La definición de mashup de integración de datos crípticos ciertamente no es muy estricta. Para entender más sobre qué es un mashup, debes mirar los orígenes de la palabra: proviene de la música pop, y un mashup es una mezcla de voces y pistas instrumentales de dos canciones diferentes (generalmente pertenecientes a diferentes géneros de canciones nuevas). . Al igual que esas canciones de "pop bastardo", los mashups son combinaciones inusuales e innovadoras de contenido (a menudo derivados de fuentes no relacionadas) que son sintetizados por humanos (en lugar de computadoras).
Entonces, ¿cómo es un mashup? El sitio web ChicagoCrime.org tiene un ejemplo muy intuitivo que explica qué es un mashup de mapas. Uno de los primeros mashups que se volvió muy popular fue un sitio web que combinaba antecedentes penales de la base de datos en línea del Departamento de Policía de Chicago con mapas de Google Maps. Los usuarios pueden interactuar con el sitio mashup, por ejemplo diciéndole que muestre una interfaz gráfica con un mapa que contiene chinchetas que muestran detalles de todas las invasiones recientes de viviendas en el sur de California. El concepto y la presentación son muy simples y las capacidades de visualización que brinda la combinación de datos de mapas y delitos son muy poderosas.
En el género mashups, exploramos mashups populares, incluidos los mashups de mapas. Se proporciona una breve introducción al panorama técnico relacionado con la construcción y operación de mashups. Las secciones de desafíos técnicos y desafíos sociales presentan los principales desafíos técnicos y desafíos sociales que afectan a los mashups, respectivamente.
2. Tipos de mashup
En esta sección, presentaremos brevemente algunos estudios de tipos de mashup conocidos.
Map Mashup
En esta etapa de la tecnología de la información, las personas recopilan una gran cantidad de datos sobre cosas y comportamientos, los cuales a menudo tienen información de anotaciones de ubicación. Todos estos diferentes conjuntos de datos que contienen datos de ubicación se pueden presentar gráficamente de formas sorprendentes mediante mapas. Una de las principales fuerzas impulsoras detrás del auge de los mashups es el lanzamiento público de Google de su API de Google Maps. Esto abre la puerta a que los desarrolladores web (aficionados, desarrolladores de parches y otros) puedan incluir todo tipo de datos en mapas (desde desastres de bombas atómicas hasta las vacas CowParade de Boston). Para no quedarse atrás, Microsoft (Virtual Earth), Yahoo (Yahoo Maps) y AOL (MapQuest) también revelaron rápidamente sus propias API.
Mashups de vídeo e imágenes
El auge de los servidores de imágenes y los sitios de redes sociales (como Flickr, que utiliza su propia API para compartir imágenes) ha llevado al surgimiento de muchos mashups interesantes. Debido a que los proveedores de contenido tienen metadatos asociados con las imágenes que guardan (como quién tomó la foto, de qué se trata, cuándo y dónde se tomó, etc.), los diseñadores de mashup pueden combinar estas fotos y otras con los metadatos y poner información relevante. juntos. Por ejemplo, un mashup podría analizar una canción o un poema para unir fotos relacionadas, o mostrar un gráfico de red social basado en los mismos metadatos de la foto (título, marca de tiempo u otros metadatos). Otro ejemplo puede tomar un sitio web (por ejemplo, un sitio de noticias como CNN) como entrada y presentar el contenido de la foto en forma de texto mediante la comparación de fotografías en las noticias.
Mashups de búsqueda y compras
Los mashups de búsqueda y compras han existido mucho antes de que se acuñara el término mashup. Antes de la aparición de Web API, había bastantes herramientas de compra, como BizRate, PriceGrabber, MySimon y Froogle de Google, que utilizaban tecnología B2B o screen scraping para acumular datos de precios relevantes. Para facilitar el desarrollo de mashups y otras aplicaciones web interesantes, sitios de consumo como eBay y Amazon han lanzado sus propias API para el acceso programático a su contenido.
Las fuentes de noticiasde News Mashup
(como el New York Times, la BBC o Reuters) han estado utilizando tecnologías de distribución como RSS y Atom desde 2002 para publicar noticias sobre diversos temas. Un mashup basado en tecnología de federación puede agregar el feed de un usuario y presentarlo en la Web para crear un periódico personalizado adaptado a los intereses únicos de un lector. Diggdot.us es un ejemplo de ello, ya que fusiona contenido relacionado con la tecnología de Digg.com, Slashdot.org y Del.icio.us.
3. Desafíos técnicos
Al igual que otros campos de integración de datos, el desarrollo de mashup también está lleno de muchos desafíos técnicos que deben resolverse a medida que las características y funciones de las aplicaciones mashup se enriquecen aún más, este desafío se ha vuelto más severo. Esta sección presenta brevemente algunos de los desafíos, algunos de los cuales ahora pueden resolverse o mitigarse, mientras que otros siguen sin resolverse.
Desafíos de la integración de datos: calidad semántica y de los datos
Las encuestas de calidad muestran que la principal preocupación de la TI empresarial actual es la integración de datos en las organizaciones virtuales empresariales. (En este caso, utilizamos el término organización virtual para referirnos a una combinación de muchas unidades de negocios federadas, cada una contenida en su propio dominio administrativo). Con muchas organizaciones que se encuentran ocupadas integrando fuentes de datos tradicionales, como gerentes de TI empresariales (por ejemplo, Al crear paneles empresariales que reflejan las condiciones comerciales actuales), los desarrolladores de mashup enfrentan desafíos similares que surgen al compartir semántica entre conjuntos de datos heterogéneos. Entonces, para comprender cómo se están preparando los desarrolladores de mashup para esto, sólo es necesario comprender los desafíos de integración que enfrenta la TI empresarial.
Por ejemplo, tenemos que diseñar sistemas de conversión entre modelos de datos. Al convertir datos a un formato común, cuando la asignación está incompleta (por ejemplo, una fuente de datos puede tener un modelo en el que un tipo de dirección contiene un campo de país, pero otro modelo no tiene este campo), debemos hacer algunas suposiciones razonables. . Aunque se han enfrentado estos desafíos, es posible que los desarrolladores de mashup no sean expertos en el campo del modelo de datos de origen, porque estos modelos pueden ser productos de terceros y estas suposiciones razonables pueden no ser intuitivas y claras, lo que exacerba la gravedad del desafío.
Además de los datos faltantes y el mapeo incompleto, los diseñadores de mashup pueden encontrar que los datos que desean integrar no son adecuados para la automatización de la máquina, lo que implicará mucho trabajo de desinfección; Por ejemplo, los registros de arrestos policiales pueden ser inconsistentes: los registros pueden usar abreviaturas comunes para los nombres (por ejemplo, "mkt sqr" en un registro y "Market Square" en otro), lo que no deja claro si, por ejemplo, la inferencia automática sobre los mismos -El comportamiento sexual se vuelve muy difícil, incluso con buenas reglas heurísticas. Las tecnologías de modelado semántico, como RDF, pueden ayudar a simplificar el problema del razonamiento automático entre diferentes conjuntos de datos integrados en el medio de almacenamiento de datos. Para las fuentes de datos tradicionales, generalmente se invierte una gran cantidad de recursos humanos y materiales en el análisis y la purificación de datos antes de que puedan usarse en la tecnología de modelado semántico.
Es posible que los desarrolladores de mashup también tengan que enfrentar algunos problemas que los gerentes de integración de TI no tienen que enfrentar, uno de los cuales es la contaminación de datos. Como parte del diseño de la aplicación, muchos mashups requieren la participación de los usuarios públicos. La investigación en el campo de las aplicaciones wiki muestra que esto es un arma de doble filo: puede ser muy poderosa porque permite contribuciones abiertas y la mejor innovación de datos en su clase, pero puede conducir a elementos de datos inconsistentes, incorrectos o engañosos. . Esto último puede poner en peligro la credibilidad de los datos y, en última instancia, reducir el valor que aporta la combinación.
Otro problema de integración al que deben enfrentarse los desarrolladores de mashup surge de las técnicas de screen scraping que deben utilizarse para obtener datos. Como se comentó en la sección anterior, el análisis y adquisición de herramientas y modelos de datos requieren mucho trabajo relacionado con la ingeniería inversa. En el mejor de los casos, estas herramientas y modelos se pueden crear, pero aún existe el problema de cómo el sitio de origen representa su propio contenido, lo que puede interrumpir el proceso de integración y provocar errores en la aplicación mashup.
Desafíos de los componentes
Aunque el modelo Ajax de desarrollo web puede proporcionar una experiencia de usuario más rica y fluida que las técnicas tradicionales de actualización de páginas completas, también plantea algunos desafíos. En su nivel básico, Ajax requiere el uso de las capacidades de secuencias de comandos del lado del cliente del navegador con su propio DOM para implementar un método de entrega de contenido que fue concebido en su totalidad por los diseñadores del navegador. (Quizás la naturaleza hacker de Ajax aumenta su atractivo.) Sin embargo, esto somete a las aplicaciones basadas en Ajax a los mismos problemas de compatibilidad del navegador que han afectado a los desarrolladores web desde que Microsoft desarrolló Internet Explorer. Por ejemplo, el motor Ajax utiliza un objeto XMLHttpRequst para intercambiar datos de forma asíncrona con el servidor remoto. En Internet Explorer 6, este objeto se implementa utilizando ActiveX en lugar de JavaScript nativo, lo que requiere que ActiveX esté habilitado.
Un requisito más básico es que Ajax requiere que JavaScript esté habilitado en el navegador del usuario. Esta puede ser una suposición razonable para la mayoría de las personas, pero para algunos usuarios específicos, es posible que su navegador o herramienta automatizada no admita JavaScript o que no tenga habilitada la compatibilidad con JavaScript. Estas herramientas incluyen robots, arañas y rastreadores web que recopilan información para los motores de búsqueda de Internet e intranet. Sin concesiones de funcionalidad, las aplicaciones mashup basadas en Ajax también pueden perder parte de su base de usuarios y volverse menos atractivas para los motores de búsqueda.
El uso de JavaScript para actualizar de forma asincrónica el contenido de una página también crea problemas en la interfaz de usuario. Debido a que ya no es necesario vincular el contenido a la URL en la barra de direcciones del navegador, es posible que los usuarios no experimenten la funcionalidad del botón ATRÁS o los marcadores del navegador. Además, aunque Ajax puede reducir la latencia al solicitar actualizaciones incrementales de contenido, un diseño deficiente puede tener un impacto negativo en la experiencia del usuario; por ejemplo, cuando la granularidad de las actualizaciones es muy pequeña, el número y la carga de actualizaciones ocupan todos los recursos disponibles. Además, también debemos preocuparnos de cómo ayudar a los usuarios al cargar la interfaz o actualizar el contenido (por ejemplo, utilizando tecnología de retroalimentación visual como barras de progreso).
Al igual que con cualquier aplicación distribuida entre dominios, existen preocupaciones de seguridad que los desarrolladores de mashup y los proveedores de contenido deben abordar. El concepto de identidad puede ser un tema espinoso y la Web tradicional fue construida principalmente para el acceso anónimo. El inicio de sesión único es una característica deseable, pero existen múltiples tecnologías competidoras (desde Microsoft Passport hasta Liberty Alliance) que pueden generar un desorden de espacios de nombres de identidad que debemos integrar. Los proveedores de contenido pueden adoptar modelos de autenticación y autorización en sus propias API (que requieren el concepto de identidades seguras o atributos confirmados seguros) para hacer cumplir modelos comerciales que involucran suscripciones pagas o datos confidenciales. Los datos confidenciales también pueden requerir un cierto nivel de confidencialidad (es decir, cifrado) y debemos saber cuándo integrarlos con otros recursos sin introducir riesgos. La identidad también es importante para la auditoría y el cumplimiento normativo. Además, dado que la integración de datos se produce tanto en el lado del servidor como en el del cliente, la delegación de identidad y certificado del usuario al servicio mashup también puede convertirse en un requisito.
4. Desafíos sociales
Además de los desafíos técnicos presentados en la sección anterior, con la mayor popularidad de los mashups, también han surgido (o están a punto de surgir) algunos problemas sociales.
Uno de los problemas sociales más serios que los desarrolladores de mashup deben enfrentar es lograr un equilibrio entre la protección de la propiedad intelectual y la privacidad del consumidor versus la publicidad y el libre flujo de información. Los proveedores de contenido desprevenidos (el objetivo del screen scraping), proveedores de contenido que proporcionan API para facilitar la recuperación de datos, pueden necesitar determinar si su contenido está siendo utilizado por otros de una manera que no han aprobado. Las aplicaciones web mashups todavía están en su infancia, y algunos aficionados escriben mashups en su tiempo libre. Es posible que estos desarrolladores no estén al tanto (o no se preocupen) de cuestiones como la seguridad. Además, los proveedores de contenido recién están comenzando a ver el valor de proporcionar API para el acceso al contenido basado en máquinas, y muchos no ven esto como una preocupación comercial central. Todo esto se combina para dar como resultado un software de baja calidad en la actualidad, ya que esfuerzos como las pruebas y el control de calidad tienen menos prioridad que la prueba de concepto y la innovación. Para promover la madurez del proceso de desarrollo de software, la comunidad debe trabajar en conjunto para desarrollar estándares abiertos y kits de herramientas reutilizables.
Antes de que los mashups puedan pasar de ser un juguete genial a una aplicación programática, es necesario trabajar mucho para formular estándares, protocolos, modelos y conjuntos de herramientas altamente sólidos. Para ello, los principales pioneros de la industria del desarrollo de software, proveedores de contenidos y empresarios deben reconocer el valor de los mashups como modelo de negocio viable. Los proveedores de API deben determinar si deben cobrar por su contenido y, de ser así, cómo cobrarlo (por ejemplo, por suscripción o por uso). Quizás proporcionen diferentes niveles de calidad de servicio. Algunos proveedores de mercados, como eBay o Amazon, pueden encontrar que las API gratuitas aumentarán la rotación de productos. Es posible que los desarrolladores de mashup quieran seguir un modelo de ingresos basado en publicidad o crear aplicaciones mashup interesantes para obtener reconocimiento.
Conclusión
Los mashups son de hecho una aplicación web bastante nueva. La combinación de técnicas de modelado de datos derivadas de la Web Semántica y protocolos de comunicación independientes de plataforma, orientados a servicios y poco acoplados proporcionarán en última instancia la infraestructura necesaria para desarrollar aplicaciones que puedan explotar e integrar plenamente grandes cantidades de información Web. A medida que las aplicaciones mashup ganan cada vez más atención, es importante comprender cómo contribuirán a ciertas cuestiones sociales (como la cuestión entre el uso público y la protección de la propiedad intelectual) y otras áreas de aplicación (integración de datos a través de fronteras organizacionales, como Internet). ). Será interesante ver cómo esto afecta la computación grid y la gestión del flujo de trabajo B2B.