De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda

Un mashup ( jerga de la industria informática ), en el desarrollo web , es una página web o aplicación web que utiliza contenido de más de una fuente para crear un único servicio nuevo que se muestra en una única interfaz gráfica. Por ejemplo, un usuario podría combinar las direcciones y fotografías de las sucursales de su biblioteca con un mapa de Google para crear un mashup de mapas. [1] El término implica una integración fácil y rápida, con frecuencia utilizando interfaces de programación de aplicaciones abiertas ( API) y fuentes de datos para producir resultados enriquecidos que no fueron necesariamente la razón original para producir los datos originales sin procesar. El término mashup proviene originalmente de crear algo combinando elementos de dos o más fuentes. [2] En el lenguaje reciente en inglés, puede referirse a la música, donde las personas combinan a la perfección el audio de una canción con la pista vocal de otra, mezclándolos para crear algo nuevo.

Las principales características de un mashup son combinación, visualización y agregación. Es importante hacer que los datos existentes sean más útiles, para uso personal y profesional. Para poder acceder permanentemente a los datos de otros servicios, los mashups son generalmente aplicaciones cliente o alojadas en línea.

En los últimos años [ ¿cuándo? ] , cada vez más aplicaciones web han publicado API que permiten a los desarrolladores de software integrar fácilmente datos y funciones a la manera de SOA , en lugar de crearlos por sí mismos. Se puede considerar que los mashups tienen un papel activo en la evolución del software social y la Web 2.0 . Las herramientas de composición de mashup suelen ser lo suficientemente simples como para que las utilicen los usuarios finales. Por lo general, no requieren habilidades de programación y más bien admiten el cableado visual de los widgets , servicios y componentes de la GUI juntos. Por tanto, estas herramientas contribuyen a una nueva visión de la Web , donde los usuarios pueden contribuir. [ aclaración necesaria ]

El término "mashup" no está definido formalmente por ningún organismo de establecimiento de normas. [3]

Historia [ editar ]

El contexto más amplio de la historia de la Web proporciona una base para el desarrollo de mashups. Bajo el modelo Web 1.0 , las organizaciones almacenaban datos de consumidores en portales y los actualizaban periódicamente. Controlaban todos los datos del consumidor, y el consumidor tenía que usar sus productos y servicios para obtener la información. [ cita requerida ]

El advenimiento de la Web 2.0 introdujo estándares Web que fueron adoptados de forma generalizada y generalizada entre los competidores tradicionales y que desbloquearon los datos del consumidor. Al mismo tiempo, surgieron mashups que permitieron mezclar y combinar las API de la competencia para desarrollar nuevos servicios.

Los primeros mashups utilizaban servicios de cartografía o servicios fotográficos para combinar estos servicios con datos de cualquier tipo y, por tanto, producir visualizaciones de datos. [4] [ verificación fallida ] Al principio, la mayoría de los mashups se basaban en el consumidor, pero recientemente [ ¿cuándo? ] el mashup debe ser visto [¿ por quién? ] como un concepto interesante útil también para las empresas. Los mashups empresariales pueden combinar datos internos existentes con servicios externos para generar nuevas vistas de los datos.

Tipos de mashup [ editar ]

Hay muchos tipos de mashup, como mashups empresariales, mashups de consumidores y mashups de datos. [5] El tipo más común de mashup es el mashup de consumidor, dirigido al público en general.

  • Los mashups comerciales (o empresariales ) definen aplicaciones que combinan sus propios recursos, aplicaciones y datos con otros servicios web externos . [4] Enfocan los datos en una sola presentación y permiten la acción colaborativa entre empresas y desarrolladores. Esto funciona bien para un proyecto de desarrollo ágil , que requiere la colaboración entre los desarrolladores y el cliente (o proxy del cliente, generalmente un gerente de producto) para definir e implementar los requisitos comerciales. Los mashups empresariales son aplicaciones web seguras y visualmente ricas que exponen información procesable de diversas fuentes de información internas y externas.
  • Los mashups de consumidores combinan datos de múltiples fuentes públicas en el navegador y los organizan a través de una sencilla interfaz de usuario del navegador. [6] (por ejemplo: Wikipediavision combina Google Map y una API de Wikipedia)
  • Los mashups de datos , a diferencia de los mashups de consumidores, combinan tipos similares de medios e información de múltiples fuentes en una sola representación. La combinación de todos estos recursos crea un servicio web nuevo y distinto que no fue proporcionado originalmente por ninguna de las fuentes.

Por tipo de API [ editar ]

Los mashups también se pueden clasificar según el tipo de API básico que utilizan, pero cualquiera de estos se puede combinar entre sí o incrustarse en otras aplicaciones.

Tipos de datos [ editar ]

  • Datos indexados (documentos, weblogs, imágenes, videos, artículos de compras, trabajos ...) utilizados por los metabuscadores
  • Datos cartográficos y geográficos: software de geolocalización , geovisualización
  • Feeds, podcasts: agregadores de noticias

Funciones [ editar ]

  • Convertidores de datos: traductores de idiomas , procesamiento de voz , acortadores de URL ...
  • Comunicación: correo electrónico , mensajería instantánea , notificación ...
  • Representación visual de datos: visualización de información , diagramas.
  • Relacionados con la seguridad: sistemas de pago electrónico , identificación ID ...
  • Editores

Habilitador de mashup [ editar ]

En tecnología, un habilitador de mashup es una herramienta para transformar recursos de TI incompatibles en una forma que permite combinarlos fácilmente para crear un mashup. Los habilitadores de mashup permiten técnicas y herramientas potentes (como plataformas de mashup) para combinar datos y servicios que se pueden aplicar a nuevos tipos de recursos. Un ejemplo de un habilitador de mashup es una herramienta para crear una fuente RSS a partir de una hoja de cálculo (que no se puede utilizar fácilmente para crear un mashup). Muchos editores de mashup incluyen habilitadores de mashup, por ejemplo, Presto Mashup Connectors, Convertigo Web Integrator o Caspio Bridge .

Los habilitadores de mashup también se han descrito como "los proveedores de servicios y herramientas, [sic] que hacen posible los mashups". [ cita requerida ]

Historia [ editar ]

Los primeros mashups fueron desarrollados manualmente por programadores entusiastas. Sin embargo, a medida que los mashups se hicieron más populares, las empresas empezaron a crear plataformas para crear mashups, que permiten a los diseñadores construir mashups visualmente conectando componentes de mashup.

Los editores de mashup han simplificado enormemente la creación de mashups, aumentando significativamente la productividad de los desarrolladores de mashup e incluso abriendo el desarrollo de mashup a usuarios finales y no expertos en TI. Los componentes y conectores estándar permiten a los diseñadores combinar recursos de mashup en todo tipo de formas complejas con facilidad. Sin embargo, las plataformas de mashup han hecho poco para ampliar el alcance de los recursos accesibles mediante mashups y no han liberado a los mashups de su dependencia de datos bien estructurados y bibliotecas abiertas ( feeds RSS y API públicas ).

Los habilitadores de mashup evolucionaron para abordar este problema, proporcionando la capacidad de convertir otros tipos de datos y servicios en recursos combinables.

Recursos web [ editar ]

Por supuesto, no todos los datos valiosos se encuentran dentro de las organizaciones. De hecho, la información más valiosa para la inteligencia empresarial y el apoyo a las decisiones suele ser externa a la organización. Con la aparición de aplicaciones de Internet enriquecidas y portales web en línea, una amplia gama de procesos críticos para el negocio (como pedidos) están disponibles en línea. Desafortunadamente, muy pocas de estas fuentes de datos distribuyen contenido en formato RSS y muy pocos de estos servicios proporcionan API de acceso público. Por lo tanto, los editores de mashup resuelven este problema proporcionando habilitadores o conectores.

Desafíos de integración de datos [ editar ]

Hay una serie de desafíos que abordar al integrar datos de diferentes fuentes. Los desafíos pueden clasificarse en cuatro grupos: desajuste de texto / datos, desajuste de identificadores de objeto y esquema, desajuste de nivel de abstracción, precisión de datos. [7]

Discrepancia entre texto y datos [ editar ]

Una gran parte de los datos se describe en texto. El lenguaje humano es a menudo ambiguo: se puede hacer referencia a la misma empresa en varias variaciones (por ejemplo, IBM, International Business Machines y Big Blue). La ambigüedad dificulta la reticulación con datos estructurados. Además, los datos expresados ​​en lenguaje humano son difíciles de procesar mediante programas de software. Una de las funciones de un sistema de integración de datos es superar el desajuste entre documentos y datos. [7]

Identidad de objeto y esquemas separados [ editar ]

Los datos estructurados están disponibles en una gran cantidad de formatos. Elevar los datos a un formato de datos común es, por tanto, el primer paso. Pero incluso si todos los datos están disponibles en un formato común, en la práctica las fuentes difieren en cómo declaran lo que es esencialmente el mismo hecho. Las diferencias existen tanto a nivel de objetos individuales como a nivel de esquema. Como ejemplo de un desajuste en el nivel de objeto, considere lo siguiente: la SEC utiliza una llamada clave de índice central (CIK) para identificar personas (directores ejecutivos, directores financieros), empresas e instrumentos financieros, mientras que otras fuentes, como DBpedia ( una versión de datos estructurados de Wikipedia), use URI para identificar entidades. Además, cada fuente usa típicamente su propio esquema e idiosincrasia para establecer lo que es esencialmente el mismo hecho. Por lo tanto,Deben existir métodos para reconciliar diferentes representaciones de objetos y esquemas.

Niveles de abstracción [ editar ]

Las fuentes de datos proporcionan datos en niveles incompatibles de abstracción o clasifican sus datos según taxonomías pertinentes a un determinado sector. Dado que los datos se publican en diferentes niveles de abstracción (por ejemplo, persona, empresa, país o sector), los datos agregados para el punto de vista individual pueden no coincidir con los datos, por ejemplo, de las oficinas de estadística. Además, existen diferencias en la agregación geográfica (por ejemplo, datos regionales de una fuente y datos a nivel de país de otra). Un tema relacionado es el uso de monedas locales (USD frente a EUR) que deben conciliarse para que los datos de fuentes dispares sean comparables y susceptibles de análisis.

Calidad de los datos [ editar ]

La calidad de los datos es un desafío general cuando se integran automáticamente datos de fuentes autónomas. En un entorno abierto, el agregador de datos tiene poca o ninguna influencia sobre el editor de datos. Los datos suelen ser erróneos y la combinación de datos a menudo agrava el problema. Especialmente al realizar el razonamiento (inferir automáticamente nuevos datos a partir de datos existentes), los datos erróneos tienen un impacto potencialmente devastador en la calidad general del conjunto de datos resultante. Por lo tanto, un desafío es cómo los editores de datos pueden coordinarse para solucionar problemas en los sitios de datos o listas negras que no brindan datos confiables. Se necesitan métodos y técnicas para: verificar la integridad y precisión; resaltar, identificar y corroborar evidencia; evaluar la probabilidad de que un enunciado dado sea verdadero; equiparar las diferencias de peso entre sectores del mercado o empresas;establecer cámaras de compensación para plantear y resolver disputas entre proveedores de datos en competencia (y posiblemente en conflicto); e interactuar con datos Web confusos y erróneos de procedencia y calidad potencialmente dudosas. En resumen, los errores en la señalización, las cantidades, el etiquetado y la clasificación pueden obstaculizar seriamente la utilidad de los sistemas que operan sobre dichos datos.

Mashups versus portales [ editar ]

Los mashups y los portales son tecnologías de agregación de contenido . Los portales son una tecnología más antigua diseñada como una extensión de las aplicaciones web dinámicas tradicionales , en las que el proceso de convertir el contenido de datos en páginas web marcadas se divide en dos fases: generación de "fragmentos" de marcado y agregación de los fragmentos en páginas. Cada fragmento de marcado es generado por un " portlet " y el portal los combina en una sola página web. Los portlets pueden alojarse localmente en el servidor del portal o de forma remota en un servidor separado.

La tecnología de portal define un modelo de evento completo que cubre lecturas y actualizaciones. Una solicitud de una página agregada en un portal se traduce en operaciones de lectura individuales en todos los portlets que forman la página (" render" operaciones en portlets locales, JSR 168 u getMarkupoperaciones " " en portlets remotos, WSRP ). Si se presiona un botón de envío en cualquier portlet en una página del portal, se traduce en una operación de actualización solo en ese portlet ( processActionen un portlet local o performBlockingInteractionen un portlet WSRP remoto). La actualización es seguida inmediatamente por una lectura en todos los portlets de la página.

La tecnología de portal se trata de la agregación del nivel de presentación del lado del servidor . No se puede utilizar para impulsar formas más sólidas de integración de aplicaciones, como la confirmación en dos fases .

Los mashups se diferencian de los portales en los siguientes aspectos:

El modelo de portal ha existido por más tiempo y ha tenido una mayor inversión e investigación de productos. Por lo tanto, la tecnología de portal está más estandarizada y madura. Con el tiempo, el aumento de la madurez y la estandarización de la tecnología mashup probablemente la hará más popular que la tecnología de portal porque está más estrechamente asociada con la Web 2.0 y, últimamente , con las arquitecturas orientadas a servicios (SOA). [8] Se espera que las nuevas versiones de los productos del portal eventualmente agreguen soporte de mashup mientras aún soportan aplicaciones de portlet heredadas. Por el contrario, no se espera que las tecnologías de mashup brinden soporte para los estándares del portal.

Mashups comerciales [ editar ]

Los usos de mashup se están expandiendo en el entorno empresarial. Los mashups empresariales son útiles para integrar servicios empresariales y de datos, ya que las tecnologías de mashups empresariales brindan la capacidad de desarrollar nuevos servicios integrados rápidamente, combinar servicios internos con información externa o personalizada y hacer que estos servicios sean tangibles para el usuario empresarial a través de una Web fácil de usar interfaces del navegador. [9]

Los mashups empresariales se diferencian de los mashups de consumidores en el nivel de integración con los entornos informáticos empresariales, las funciones de seguridad y control de acceso, la gobernanza y la sofisticación de las herramientas de programación (editores de mashup) utilizadas. Otra diferencia entre los mashups de negocios y los mashups de consumidores es una tendencia creciente de usar mashups de negocios en la oferta de software comercial como servicio (SaaS).

Muchos de los proveedores de tecnologías de mashups empresariales han agregado funciones SOA .

Aspectos arquitectónicos de mashups [ editar ]

La arquitectura de un mashup se divide en tres capas:

  • Presentación / interacción del usuario : esta es la interfaz de usuario de mashups. Las tecnologías utilizadas son HTML / XHTML , CSS , JavaScript , JavaScript asíncrono y Xml (Ajax) .
  • Servicios web: se puede acceder a la funcionalidad del producto mediante los servicios API. Las tecnologías utilizadas son XMLHTTPRequest , XML-RPC , JSON-RPC , SOAP , REST .
  • Datos: manejo de los datos como enviar, almacenar y recibir. Las tecnologías utilizadas son XML , JSON , KML .

Arquitectónicamente, hay dos estilos de mashups: basados ​​en web y basados ​​en servidor. Mientras que los mashups basados ​​en Web normalmente utilizan el navegador web del usuario para combinar y reformatear los datos, los mashups basados ​​en servidor analizan y reformatean los datos en un servidor remoto y transmiten los datos al navegador del usuario en su forma final. [10]

Los mashups parecen ser una variación de un patrón de fachada . [11] Es decir: un patrón de diseño de ingeniería de software que proporciona una interfaz simplificada a un cuerpo de código más grande (en este caso, el código para agregar los diferentes feeds con diferentes API ).

Los mashups se pueden utilizar con software proporcionado como servicio ( SaaS ).

Después de varios años de desarrollo de estándares, las empresas principales están comenzando a adoptar arquitecturas orientadas a servicios (SOA) para integrar datos dispares haciéndolos disponibles como servicios web discretos. Los servicios web proporcionan protocolos abiertos y estandarizados para proporcionar un medio unificado de acceder a la información de un conjunto diverso de plataformas ( sistemas operativos , lenguajes de programación , aplicaciones ). Estos servicios web se pueden reutilizar para proporcionar servicios y aplicaciones completamente nuevos dentro y entre organizaciones, proporcionando flexibilidad empresarial.

Ver también [ editar ]

  • Mashup (cultura)
  • Mashup (música)
  • Open Mashup Alliance
  • API abierta
  • Webhook
  • Portal web
  • Raspado web

Referencias [ editar ]

  1. ^ Fichter Darlene, ¿Qué es un mashup? http://books.infotoday.com/books/Engard/Engard-Sample-Chapter.pdf (consultado el 12 de agosto de 2013)
  2. ^ "mash-up" . merriam-webster.com .
  3. ^ "Enterprise Mashups: la nueva cara de su SOA" . http://soa.sys-con.com/ : SOA WORLD MAGAZINE . Consultado el 3 de marzo de 2010 . El término mashup no está sujeto a una definición formal por parte de ningún organismo que establezca estándares.
  4. ^ a b Clarkin, Larry; Holmes, Josh. "Enterprise Mashups" . Revista de arquitectura de MSDN . Centro de arquitectura de MSDN.
  5. ^ Sunilkumar Peenikal (2009). "Mashups y la empresa" (PDF) . MphasiS - HP. Archivado desde el original (PDF) en 2013-06-02 . Consultado el 27 de febrero de 2010 .
  6. ^ "Enterprise Mashups: la nueva cara de su SOA" . http://soa.sys-con.com/ : SOA WORLD MAGAZINE . Consultado el 3 de marzo de 2010 . Un mashup de consumidor es una aplicación que combina datos de múltiples fuentes públicas en el navegador y los organiza a través de una sencilla interfaz de usuario del navegador.
  7. ^ a b E. Curry, A. Harth y S. O'Riain, "Challenges Ahead for Converging Financial Data", Archivado el 18 de julio de 2012 en Archive.today en Proceedings of the XBRL / W3C Workshop on Improving Access to Financial Datos en la Web, 2009.
  8. ^ Digna, Larry (2007). "Gartner: el futuro de los portales son mashups, SOA, más agregación" . ZDNET.
  9. ^ Holt, Adams (2009). "Arquitecto Ejecutivo de TI, escenarios y patrones de negocio Mashup" . IBM DeveloperWorks.
  10. ^ Bolim, Michael (2005). "Programación del usuario final para la Web, tesis de maestría del MIT, 2,91 MB PDF" (PDF) . págs. 22-23.
  11. ^ Patrones de diseño: elementos de software orientado a objetos reutilizable ( ISBN 0-201-63361-2 ) por Erich Gamma, Richard Helm, Ralph Johnson y John Vlissides 

Lectura adicional [ editar ]

  • Ahmet Soylu, Felix Mödritscher, Fridolin Wild, Patrick De Causmaecker, Piet Desmet. 2012. "Mashups por orquestación y entornos personales basados ​​en widgets: desafíos clave, estrategias de solución y una aplicación". Programa: Biblioteca electrónica y sistemas de información 46 (4): 383–428.
  • Endres-Niggemeyer, Brigitte ed. 2013. Semantic Mashups. Reutilización inteligente de recursos web. Saltador. ISBN 978-3-642-36402-0 (Imprimir)