Articulo de referencia

Mashup (aplicación web híbrida)

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 nuevo servici...

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 nuevo servicio único que se muestra en una sola 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, que frecuentemente utiliza interfaces de programación de aplicaciones abiertas ( API abiertas ) y fuentes de datos para producir resultados enriquecidos que no necesariamente fueron la razón original para producir los datos fuente sin procesar. El término mashup proviene originalmente de la creación de algo mediante la combinación de elementos de dos o más fuentes. [ 2 ]

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

En los últimos años , cada vez más aplicaciones web han publicado API que permiten a los desarrolladores de software integrar fácilmente datos y funciones mediante la arquitectura orientada a servicios (SOA) , en lugar de crearlas desde cero. Los mashups desempeñan un papel fundamental en la evolución del software social y la Web 2.0 . Las herramientas de composición de mashups suelen ser lo suficientemente sencillas como para que las utilicen los usuarios finales. Generalmente no requieren conocimientos de programación y, en cambio, facilitan la conexión visual de widgets de interfaz gráfica , servicios y componentes. Por lo tanto, estas herramientas contribuyen a una nueva visión de la Web , donde los usuarios pueden participar activamente.

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

Historia

El contexto histórico más amplio de la Web proporciona una base para el desarrollo de las aplicaciones combinadas (mashups). Bajo el modelo Web 1.0 , las organizaciones almacenaban datos de los consumidores en portales y los actualizaban periódicamente. Controlaban todos los datos de los consumidores, y estos debían utilizar sus productos y servicios para obtener la información.

La llegada de la Web 2.0 introdujo estándares web que fueron adoptados de forma generalizada por los competidores tradicionales y que permitieron acceder a los datos de los consumidores. Al mismo tiempo, surgieron las aplicaciones mashups, que permitieron combinar las API de la competencia para desarrollar nuevos servicios.

Los primeros mashups usaban servicios de mapas o servicios de fotos para combinar estos servicios con datos de cualquier tipo y así producir visualizaciones de datos. [ 4 ] Al principio, la mayoría de los mashups estaban orientados al consumidor, pero recientemente el mashup se considera un concepto interesante y útil también para las empresas. Los mashups empresariales pueden combinar datos internos existentes con servicios externos para generar nuevas vistas de los datos. También existía Yahoo! Pipes, gratuito , para crear mashups de forma gratuita usando el lenguaje de consulta de Yahoo !.

Tipos de mashup

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

  • Las aplicaciones mashups empresariales definen aplicaciones que combinan sus propios recursos, aplicaciones y datos con otros servicios web externos . [ 4 ] Concentran los datos en una única presentación y permiten la colaboración 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 su representante, normalmente un gerente de producto) para definir e implementar los requisitos del negocio. Las aplicaciones mashups empresariales son aplicaciones web seguras y visualmente atractivas que exponen información procesable de diversas fuentes de información internas y externas.
  • Las aplicaciones mashups para consumidores combinan datos de múltiples fuentes públicas en el navegador y los organizan mediante una interfaz de usuario sencilla. [ 6 ] (p. ej.: Wikipediavision combina Google Maps y una API de Wikipedia).
  • A diferencia de las aplicaciones de consumo, las mashups de datos combinan tipos de información y contenido multimedia similares provenientes de múltiples fuentes en una única representación. La combinación de todos estos recursos crea un servicio web nuevo y distintivo que no fue proporcionado originalmente por ninguna de las fuentes.

Por tipo de API

Las aplicaciones combinadas (mashups) también se pueden clasificar según el tipo de API básica que utilizan, pero cualquiera de ellas se puede combinar entre sí o integrar en otras aplicaciones.

Tipos de datos

Funciones

habilitador de mashup

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

Los facilitadores de mashups también han sido descritos como "los proveedores de servicios y herramientas, [sic] que hacen posibles los mashups".

Historia

Los primeros mashups fueron desarrollados manualmente por programadores entusiastas. Sin embargo, a medida que los mashups se hicieron más populares, las empresas comenzaron a crear plataformas para su creación, que permiten a los diseñadores construirlos visualmente conectando sus componentes.

Los editores de mashups han simplificado enormemente su creación, aumentando significativamente la productividad de los desarrolladores e incluso facilitando el desarrollo a usuarios finales y personas sin conocimientos de informática. Los componentes y conectores estándar permiten a los diseñadores combinar recursos de mashups de diversas maneras complejas con facilidad. Sin embargo, las plataformas de mashups han hecho poco por ampliar el alcance de los recursos accesibles y no han liberado a los mashups de su dependencia de datos bien estructurados y bibliotecas abiertas ( fuentes RSS y API públicas ).

Las herramientas para la creación de mashups evolucionaron para abordar este problema, proporcionando la capacidad de convertir otros tipos de datos y servicios en recursos combinables.

Recursos web

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 la toma de decisiones suele estar fuera de ellas. Con la aparición de aplicaciones web avanzadas y portales web, una amplia gama de procesos críticos para el negocio (como la gestión de pedidos) están disponibles en línea. Lamentablemente, muy pocas de estas fuentes de datos distribuyen contenido en formato RSS y muy pocos de estos servicios ofrecen API de acceso público. Por lo tanto, los editores de mashups solucionan este problema proporcionando conectores o herramientas de integración.

Combinaciones de aplicaciones frente a portales

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 la que el proceso de conversión de datos en páginas web con marcado se divide en dos fases: la generación de fragmentos de marcado y la agregación de estos 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 remotamente en un servidor independiente.

La tecnología de portal define un modelo de eventos completo que abarca 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 la componen (operaciones de " en portlets renderlocales, JSR 168getMarkup o operaciones de " en portlets remotos, WSRP ). Si se pulsa un botón de envío en cualquier portlet de 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 remoto, WSRP). La actualización va seguida inmediatamente de una lectura en todos los portlets de la página.

La tecnología de portal se centra en la agregación del lado del servidor, en la capa de presentación . No se puede utilizar para impulsar formas más robustas 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 lleva más tiempo en el mercado y ha recibido mayor inversión e investigación de producto. Por lo tanto, la tecnología de portal está más estandarizada y madura. Con el tiempo, la creciente madurez y estandarización de la tecnología mashup probablemente la hará más popular que la tecnología de portal, ya que está más estrechamente asociada con la Web 2.0 y, más recientemente, con las Arquitecturas Orientadas a Servicios (SOA). [ 7 ] Se espera que las nuevas versiones de los productos de portal añadan soporte para mashup, sin dejar de ser compatibles con las aplicaciones de portlet heredadas. En cambio, no se espera que las tecnologías mashup ofrezcan soporte para los estándares de portal.

Combinaciones de negocios

El uso de mashups se está 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 permiten desarrollar rápidamente nuevos servicios integrados, combinar servicios internos con información externa o personalizada y hacer que estos servicios sean tangibles para el usuario empresarial a través de interfaces de navegador web fáciles de usar. [ 8 ]

Las aplicaciones mashup empresariales se diferencian de las aplicaciones mashup para 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 las aplicaciones mashup empresariales y las de consumo es la creciente tendencia a utilizar las primeras en las ofertas comerciales de software como servicio (SaaS).

Muchos de los proveedores de tecnologías de mashups empresariales han añadido funcionalidades SOA .

Aspectos arquitectónicos de las combinaciones

La arquitectura de un mashup se divide en tres capas:

Desde el punto de vista arquitectónico, existen dos estilos de mashups: basados ​​en web y basados ​​en servidor. Mientras que los mashups basados ​​en web suelen utilizar el navegador del usuario para combinar y reformatear los datos, los mashups basados ​​en servidor analizan y reformatean los datos en un servidor remoto y los transmiten al navegador del usuario en su formato final. [ 9 ]

Los mashups parecen ser una variación de un patrón de fachada . [ 10 ] 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 las diferentes fuentes con diferentes API ).

Las aplicaciones combinadas (mashups) se pueden utilizar con software proporcionado como servicio ( SaaS ).

Tras varios años de desarrollo de estándares, las empresas convencionales están empezando a adoptar arquitecturas orientadas a servicios (SOA) para integrar datos dispares, poniéndolos a disposición como servicios web independientes. Los servicios web proporcionan protocolos abiertos y estandarizados que ofrecen un medio unificado para acceder a la información desde diversas plataformas ( sistemas operativos , lenguajes de programación , aplicaciones ). Estos servicios web pueden reutilizarse para ofrecer servicios y aplicaciones completamente nuevos dentro y entre organizaciones, lo que proporciona flexibilidad empresarial.

Véase también

Referencias

  1. Fichter, Darlene. ¿Qué es un mashup? (PDF) . Consultado el 12 de agosto de 2013 .
  2. "mash-up" . merriam-webster.com . 31 de mayo de 2024.
  3. "Enterprise Mashups: La nueva cara de su SOA" . SOA WORLD MAGAZINE. Archivado del original el 5 de junio de 2009. 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 de normalización.
  4. 1 2 Clarkin, Larry; Holmes, Josh (14 de enero de 2009). "Enterprise Mashups" . MSDN Architecture Journal . MSDN Architecture Center.
  5. Sunilkumar Peenikal (2009). "Mashups y la empresa" (PDF) . MphasiS - HP. Archivado del original (PDF) el 2 de junio de 2013. Consultado el 27 de febrero de 2010 .
  6. "Enterprise Mashups: La nueva cara de su SOA" . SOA WORLD MAGAZINE. Archivado del original el 5 de junio de 2009. Consultado el 3 de marzo de 2010. Un mashup para el 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 interfaz de usuario sencilla.
  7. Digna, Larry (2007). "Gartner: El futuro de los portales son los mashups, SOA y más agregación" . ZDNET. Archivado del original el 13 de abril de 2012. Recuperado el 26 de diciembre de 2009 .
  8. Holt, Adams (2009). "Arquitecto ejecutivo de TI, escenarios y patrones de negocios de Mashup" . IBM DeveloperWorks.
  9. Bolim, Michael (2005). "Programación para usuarios finales en la web, tesis de maestría del MIT, PDF de 2,91 MB" (PDF) . págs. 22–23 . 
  10. 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

Lecturas adicionales

  • Ahmet Soylu, Felix Mödritscher, Fridolin Wild, Patrick De Causmaecker, Piet Desmet. 2012. “Mashups by Orchestration and Widget-based Personal Environments: Key Challenges, Solution Strategies, and an Application.” Archivado el 3 de agosto de 2020 en el programa Wayback Machine : Electronic Library and Information Systems 46 (4): 383–428.
  • Endres-Niggemeyer, Brigitte (ed.). 2013. Semantic Mashups. Intelligent Reuse of Web Resources. Springer. ISBN 978-3-642-36402-0(Imprimir)