Ein Mashup ( ein Begriff aus der Computerbranche ) ist in der Webentwicklung eine Webseite oder Webanwendung , die Inhalte aus mehreren Quellen nutzt, um einen neuen Dienst in einer einzigen grafischen Oberfläche darzustellen. Beispielsweise könnte ein Nutzer die Adressen und Fotos seiner Bibliothekszweigstellen mit einer Google-Karte kombinieren , um ein Karten-Mashup zu erstellen. [ 1 ] Der Begriff impliziert eine einfache und schnelle Integration, häufig unter Verwendung offener Programmierschnittstellen ( Open APIs ) und Datenquellen, um angereicherte Ergebnisse zu erzielen, die nicht unbedingt dem ursprünglichen Zweck der Rohdatenerhebung entsprachen. Der Begriff „Mashup“ stammt ursprünglich von der Idee, etwas durch die Kombination von Elementen aus zwei oder mehr Quellen zu erstellen. [ 2 ]

Die Hauptmerkmale eines Mashups sind Kombination, Visualisierung und Aggregation. Es ist wichtig, vorhandene Daten für den privaten und beruflichen Gebrauch nutzbarer zu machen. Um dauerhaft auf Daten anderer Dienste zugreifen zu können, werden Mashups in der Regel als Client-Anwendungen oder online gehostet.

In den letzten Jahren haben immer mehr Webanwendungen APIs veröffentlicht, die es Softwareentwicklern ermöglichen, Daten und Funktionen einfach und nach dem SOA- Prinzip zu integrieren, anstatt sie selbst zu entwickeln. Mashups spielen eine wichtige Rolle in der Entwicklung von Social Software und Web 2.0 . Mashup-Kompositionswerkzeuge sind in der Regel so einfach, dass sie von Endbenutzern bedient werden können. Sie erfordern im Allgemeinen keine Programmierkenntnisse und unterstützen die visuelle Verknüpfung von GUI-Widgets , Diensten und Komponenten. Daher tragen diese Werkzeuge zu einer neuen Vision des Webs bei , in der Benutzer aktiv mitwirken können.

Der Begriff „Mashup“ ist von keiner Normungsorganisation formal definiert. [ 3 ]

Geschichte

Der breitere Kontext der Webgeschichte bildet den Hintergrund für die Entwicklung von Mashups. Im Web-1.0- Modell speicherten Unternehmen Kundendaten auf Portalen und aktualisierten diese regelmäßig. Sie kontrollierten alle Kundendaten, und die Kunden mussten ihre Produkte und Dienstleistungen nutzen, um an die Informationen zu gelangen.

Mit dem Aufkommen von Web 2.0 wurden Webstandards eingeführt, die von traditionellen Wettbewerbern weithin übernommen wurden und den Zugang zu Kundendaten ermöglichten. Gleichzeitig entstanden Mashups, die es erlaubten, APIs von Wettbewerbern zu kombinieren und so neue Dienste zu entwickeln.

Die ersten Mashups nutzten Kartendienste oder Fotodienste, um diese mit Daten jeglicher Art zu kombinieren und so Datenvisualisierungen zu erstellen. [ 4 ] Anfänglich waren die meisten Mashups für Endverbraucher gedacht, doch mittlerweile gilt das Konzept auch für Unternehmen als interessant und nützlich. Business-Mashups können vorhandene interne Daten mit externen Diensten verknüpfen, um neue Datenansichten zu generieren. Mit Yahoo! Pipes, einem kostenlosen Tool zur Erstellung von Mashups mithilfe der Yahoo! Query Language , war dies ebenfalls möglich .

Arten von Mashups

Es gibt viele Arten von Mashups, beispielsweise Business-Mashups, Konsumenten-Mashups und Daten-Mashups. [ 5 ] Die häufigste Art von Mashup ist das Konsumenten-Mashup, das sich an die breite Öffentlichkeit richtet.

  • Business- Mashups (oder Enterprise- Mashups ) sind Anwendungen, die eigene Ressourcen, Anwendungen und Daten mit externen Webdiensten kombinieren . [ 4 ] Sie bündeln Daten in einer einzigen Darstellung und ermöglichen die Zusammenarbeit zwischen Unternehmen und Entwicklern. Dies eignet sich besonders für agile Entwicklungsprojekte , die die Zusammenarbeit zwischen Entwicklern und Kunden (oder deren Vertreter, typischerweise ein Produktmanager) zur Definition und Umsetzung der Geschäftsanforderungen erfordern. Enterprise-Mashups sind sichere, visuell ansprechende Webanwendungen, die verwertbare Informationen aus verschiedenen internen und externen Datenquellen bereitstellen.
  • Consumer Mashups kombinieren Daten aus mehreren öffentlichen Quellen im Browser und organisieren sie über eine einfache Browser-Benutzeroberfläche. [ 6 ] (z. B. kombiniert Wikipediavision Google Maps und eine Wikipedia-API).
  • Daten-Mashups , im Gegensatz zu Konsumenten-Mashups, kombinieren ähnliche Medien und Informationen aus verschiedenen Quellen zu einer einzigen Darstellung. Durch die Kombination all dieser Ressourcen entsteht ein neuer, eigenständiger Webdienst , der ursprünglich von keiner der beiden Quellen angeboten wurde.

Nach API-Typ

Mashups können auch nach dem von ihnen verwendeten grundlegenden API-Typ kategorisiert werden, aber alle diese Typen können miteinander kombiniert oder in andere Anwendungen eingebettet werden.

Datentypen

Funktionen

Mashup-Ermöglicher

In der Technologie bezeichnet man als Mashup-Enabler ein Werkzeug, das inkompatible IT-Ressourcen so umwandelt, dass sie sich leicht kombinieren lassen, um ein Mashup zu erstellen. Mashup-Enabler ermöglichen es, leistungsstarke Techniken und Werkzeuge (wie z. B. Mashup-Plattformen) zur Kombination von Daten und Diensten auf neue Ressourcentypen anzuwenden. Ein Beispiel für einen Mashup-Enabler ist ein Werkzeug zur Erstellung eines RSS- Feeds aus einer Tabellenkalkulation (die sich nicht ohne Weiteres zur Erstellung eines Mashups eignet). Viele Mashup-Editoren enthalten Mashup-Enabler, beispielsweise Presto Mashup Connectors, Convertigo Web Integrator oder Caspio Bridge .

Die Ermöglicher von Mashups wurden auch als „die Dienstleister und Werkzeuganbieter, die Mashups ermöglichen“ bezeichnet.

Geschichte

Frühe Mashups wurden von begeisterten Programmierern manuell entwickelt. Mit zunehmender Popularität von Mashups begannen Unternehmen jedoch, Plattformen für die Erstellung von Mashups zu entwickeln, die es Designern ermöglichen, Mashups visuell zu konstruieren, indem sie Mashup-Komponenten miteinander verbinden.

Mashup-Editoren haben die Erstellung von Mashups erheblich vereinfacht, die Produktivität von Mashup-Entwicklern deutlich gesteigert und die Mashup-Entwicklung sogar für Endnutzer und Nicht-IT-Experten zugänglich gemacht. Standardisierte Komponenten und Konnektoren ermöglichen es Designern, Mashup-Ressourcen auf vielfältige und komplexe Weise zu kombinieren. Mashup-Plattformen haben jedoch wenig dazu beigetragen, den Umfang der für Mashups zugänglichen Ressourcen zu erweitern und Mashups weiterhin von ihrer Abhängigkeit von gut strukturierten Daten und offenen Bibliotheken ( RSS- Feeds und öffentlichen APIs ) zu befreien.

Um dieses Problem zu lösen, wurden Mashup-fähige Technologien entwickelt, die die Möglichkeit bieten, andere Arten von Daten und Diensten in Mashup-fähige Ressourcen umzuwandeln.

Webressourcen

Natürlich befinden sich nicht alle wertvollen Daten innerhalb von Organisationen. Tatsächlich liegen die wertvollsten Informationen für Business Intelligence und Entscheidungsunterstützung oft außerhalb der Organisation. Mit dem Aufkommen umfangreicher Webanwendungen und Online-Portale werden zahlreiche geschäftskritische Prozesse (wie beispielsweise Bestellvorgänge) online verfügbar. Leider bieten nur wenige dieser Datenquellen Inhalte im RSS-Format an, und nur wenige dieser Dienste stellen öffentlich zugängliche APIs bereit. Mashup-Editoren lösen dieses Problem, indem sie entsprechende Schnittstellen bereitstellen.

Mashups versus Portale

Mashups und Portale sind beides Technologien zur Inhaltsaggregation . Portale sind eine ältere Technologie, die als Erweiterung traditioneller dynamischer Webanwendungen konzipiert wurde . Dabei wird die Umwandlung von Dateninhalten in Webseiten mit Auszeichnungszeichen in zwei Phasen unterteilt: die Generierung von Auszeichnungsfragmenten und deren Aggregation zu Seiten. Jedes Auszeichnungsfragment wird von einem Portlet generiert , und das Portal kombiniert diese zu einer einzigen Webseite. Portlets können lokal auf dem Portalserver oder remote auf einem separaten Server gehostet werden.

Die Portaltechnologie definiert ein vollständiges Ereignismodell für Lese- und Aktualisierungsvorgänge. Eine Anfrage für eine aggregierte Seite eines Portals wird in einzelne Leseoperationen aller Portlets der Seite übersetzt ( renderOperationen auf lokalen JSR-168- Portlets oder getMarkupOperationen auf entfernten WSRP- Portlets). Wird auf einem Portlet einer Portalseite die Schaltfläche „Senden“ gedrückt, wird dies in eine Aktualisierungsoperation nur dieses Portlets übersetzt ( processActionlokal oder performBlockingInteractionentfernt). Unmittelbar im Anschluss an die Aktualisierung erfolgt ein Lesevorgang aller Portlets auf der Seite.

Bei der Portaltechnologie geht es um serverseitige Aggregation auf der Präsentationsschicht . Sie kann nicht verwendet werden, um robustere Formen der Anwendungsintegration wie beispielsweise den Zwei-Phasen-Commit zu realisieren .

Mashups unterscheiden sich von Portalen in folgenden Punkten:

PortalVermanschen
Einstufung Ältere Technologie, Erweiterung des traditionellen Webserver-Modells mit einem klar definierten Ansatz Nutzt neuere, weniger klar definierte „Web 2.0“-Techniken.
Philosophie/Ansatz Die Aggregation erfolgt durch Aufteilung der Rolle des Webservers in zwei Phasen: Markup-Generierung und Aggregation von Markup-Fragmenten. Nutzt APIs verschiedener Content-Websites, um die Inhalte zu aggregieren und auf andere Weise wiederzuverwenden.
Inhaltsabhängigkeiten Fasst präsentationsorientierte Markup-Fragmente (HTML, WML, VoiceXML usw.) zusammen. Kann sowohl mit reinem XML-Inhalt als auch mit präsentationsorientiertem Inhalt (z. B. HTML) arbeiten.
Standortabhängigkeiten Traditionell findet die Inhaltsaggregation auf dem Server statt. Die Inhaltsaggregation kann entweder auf dem Server oder auf dem Client erfolgen.
Aggregationsstil „ Salatbar “-Stil: Aggregierte Inhalte werden nebeneinander ohne Überlappungen präsentiert. „ Schmelztiegel “-Stil – Einzelne Inhalte können beliebig kombiniert werden, wodurch ein beliebig strukturierter Hybridinhalt entsteht.
Ereignismodell Lese- und Aktualisierungsereignismodelle werden über eine spezifische Portlet-API definiert. Die CRUD -Operationen basieren auf den Architekturprinzipien von REST , es existiert jedoch keine formale API.
Relevante Standards Das Verhalten von Portlets wird durch die Standards JSR 168 , JSR 286 und WSRP geregelt , obwohl Seitenlayout und Funktionalität des Portals undefiniert und herstellerspezifisch sind. Basisstandards sind XML-basierte Schnittstellen wie REST oder Webdienste. RSS und Atom sind weit verbreitet. Spezifischere Mashup-Standards wie EMML gewinnen zunehmend an Bedeutung.

Das Portalmodell existiert schon länger und wurde umfangreicher in Forschung und Entwicklung investiert. Daher ist die Portaltechnologie standardisierter und ausgereifter. Mit der Zeit dürfte die zunehmende Reife und Standardisierung der Mashup-Technologie diese populärer machen als die Portaltechnologie, da sie enger mit Web 2.0 und in jüngerer Zeit mit serviceorientierten Architekturen (SOA) verbunden ist. [ 7 ] Es wird erwartet, dass neue Versionen von Portalprodukten zukünftig Mashup-Unterstützung bieten und gleichzeitig ältere Portlet-Anwendungen weiterhin unterstützen. Mashup-Technologien hingegen werden voraussichtlich keine Unterstützung für Portalstandards bieten.

Business-Mashups

Die Einsatzmöglichkeiten von Mashups nehmen im Geschäftsumfeld zu. Business-Mashups eignen sich zur Integration von Geschäfts- und Datendiensten, da sie die schnelle Entwicklung neuer integrierter Dienste ermöglichen, interne Dienste mit externen oder personalisierten Informationen kombinieren und diese Dienste dem Geschäftsanwender über benutzerfreundliche Webbrowser-Oberflächen zugänglich machen. [ 8 ]

Business-Mashups unterscheiden sich von Consumer-Mashups hinsichtlich des Integrationsgrades in die IT-Umgebung von Unternehmen, der Sicherheits- und Zugriffskontrollfunktionen, der Governance und der Komplexität der verwendeten Programmierwerkzeuge (Mashup-Editoren). Ein weiterer Unterschied besteht im zunehmenden Trend, Business-Mashups in kommerziellen Software-as-a-Service- Angeboten (SaaS) einzusetzen.

Viele Anbieter von Business-Mashup-Technologien haben SOA- Funktionen hinzugefügt.

Architektonische Aspekte von Mashups

Die Architektur eines Mashups ist in drei Schichten unterteilt:

Architektonisch lassen sich zwei Arten von Mashups unterscheiden: webbasierte und serverbasierte. Während webbasierte Mashups typischerweise den Webbrowser des Nutzers verwenden , um die Daten zu kombinieren und neu zu formatieren, analysieren und formatieren serverbasierte Mashups die Daten auf einem entfernten Server und übertragen sie in ihrer endgültigen Form an den Browser des Nutzers. [ 9 ]

Mashups scheinen eine Variante des Fassadenmusters zu sein . [ 10 ] Das heißt: ein Software-Engineering-Entwurfsmuster, das eine vereinfachte Schnittstelle zu einem größeren Codeblock bietet (in diesem Fall dem Code zur Aggregation der verschiedenen Feeds mit unterschiedlichen APIs ).

Mashups können mit Software verwendet werden, die als Dienstleistung ( SaaS ) bereitgestellt wird.

Nach jahrelanger Standardentwicklung setzen Unternehmen zunehmend auf serviceorientierte Architekturen (SOA), um heterogene Daten zu integrieren, indem sie diese als separate Webdienste bereitstellen. Webdienste bieten offene, standardisierte Protokolle für den einheitlichen Zugriff auf Informationen von verschiedenen Plattformen ( Betriebssysteme , Programmiersprachen , Anwendungen ). Diese Webdienste lassen sich wiederverwenden, um innerhalb und zwischen Organisationen völlig neue Dienste und Anwendungen zu entwickeln und so die Flexibilität von Unternehmen zu erhöhen.

Siehe auch

Referenzen

  1. ^ Fichter, Darlene. Was ist ein Mashup? (PDF) . Abgerufen am 12. August 2013 .
  2. ^ "Mash-up" . merriam-webster.com . 31. Mai 2024.
  3. ^ „Enterprise Mashups: Das neue Gesicht Ihrer SOA“ . SOA WORLD MAGAZINE. Archiviert vom Original am 05.06.2009 . Abgerufen am 03.03.2010 . Der Begriff „Mashup“ ist von keiner Normungsorganisation formal definiert.
  4. ^ a b Clarkin, Larry; Holmes, Josh (14. Januar 2009). „Enterprise Mashups“ . MSDN Architecture Journal . MSDN Architecture Center.
  5. ^ Sunilkumar Peenikal (2009). „Mashups and the enterprise“ (PDF) . MphasiS – HP. Archiviert vom Original (PDF) am 2. Juni 2013. Abgerufen am 27. Februar 2010 .
  6. ^ „Enterprise Mashups: Das neue Gesicht Ihrer SOA“ . SOA WORLD MAGAZINE. Archiviert vom Original am 05.06.2009 . Abgerufen am 03.03.2010 . Ein Consumer Mashup ist eine Anwendung, die Daten aus mehreren öffentlichen Quellen im Browser kombiniert und über eine einfache Browser-Benutzeroberfläche organisiert.
  7. ^ Digna, Larry (2007). „Gartner: Die Zukunft der Portale liegt in Mashups, SOA und weiterer Aggregation“ . ZDNET. Archiviert vom Original am 13.04.2012 . Abgerufen am 26.12.2009 .
  8. ^ Holt, Adams (2009). „Executive IT Architect, Mashup business scenarios and patterns“ . IBM DeveloperWorks.
  9. ^ Bolim, Michael (2005). „End-User Programming for the Web, MIT MS thesis, 2.91 MB PDF“ (PDF) . S.  22– 23.
  10. ^ Entwurfsmuster: Elemente wiederverwendbarer objektorientierter Software ( ISBN 0-201-63361-2) von Erich Gamma, Richard Helm, Ralph Johnson und John Vlissides

Weiterführende Literatur