Mashups vermischen verschiedene Webdienste zu einem neuen Angebot. So wie beim Kochen aus den einzelnen Zutaten ein neues Gericht entsteht, wird bei Mashups durch die Zusammensetzung einzelner Komponenten ein neuer Dienst erzeugt, der als Gesamtpaket mehr Wert ist als die Einzelteile – also einen Mehrwert generiert.
Ein sehr anschauliches Beispiel ist die Vermischung von
geographischen Daten eines Anbieters (z.B. Google Maps) mit den Daten eines
weiteren Informationsanbieters (z.B. e-teaching.org). Während vom
Kartenanbieter die geographischen Daten und Karten geliefert werden, stellt
e-teaching.org Informationen über Veranstaltungen, Referenzbeispiele und
Partnerhochschulen bereit. Durch die Integration beider Dienste können diese
Informationen direkt auf einer Landkarte erscheinen. Der Basisdienst des
Kartenanbieters wird also um weitere Funktionen erweitert. Möglich wird dies
durch offene Schnittstellen (APIs), die das Abfragen von
bestimmten Informationen und Ergebnissen erlauben. Google Maps stellt zum
Beispiel eine Schnittstelle bereit, die Anfragen wie "Hey, zeig mir mal die
Landkarte rund um Berlin" oder "Platziere folgende Informationen über dieser
Adresse" zulässt. Die Landkarte kommt dann von Google und die darauf
platzierten Informationen, z.B. Name und Adresse einer Hochschule, kommen
von e-teaching.org oder anderen Drittanbietern.
In diesem Fall hat e-teaching.org den Koch gespielt und die eigenen Zutaten
mit denen von Google Maps vermanscht (to mash=vermanschen). Typisch für Web
2.0 ist jedoch, dass die Anwender selbst aktiv werden und Inhalte oder
Angebote mitgestalten. Tatsächlich besteht die Möglichkeit, sich als
Lehrender oder Lernender seine eigenen Informations- und Dienstangebote
zusammenzustellen. In der Vision von
Stephen Downes (2006)
entstehen
so persönliche Lernumgebungen (Personal Learning Environments, kurz PLE), in
denen Studenten nach dem Baukasten-Prinzip Werkzeuge und Informationsquellen
frei wählen.
Beim Zusammenstellen der Mashups gibt es verschiedene Varianten:
- Sie können in Ihre eigene Webseite oder Blog verschiedene
Medienschnipsel (z.B. Text, Bild, Animation, Ton, Video,
Miniaturanwendungen) integrieren. Die Schnipsel werden in den
HTML
-Code der Webseite
eingebaut.
- Mit Mashup-Generatoren können Sie Daten und Komponenten verschiedener
Anbieter zu einer neuen Anwendung, einem persönlichen Arbeitsdesktop oder
einer individualisierten Startseite kombinieren. Eine Programmierung ist
nicht nötig, die selbst komponierten Anwendungen werden in der Regel beim
Anbieter des Mashup-Generators gespeichert.
- Drittanbieter erstellen neue Dienste durch Kombination verschiedener
Komponenten oder vermischen Fremdinhalte mit ihrem eigenen Angebot. Die
Integration der verschiedenen Dienste geschieht im Client-Browser (via
AJAX) oder auf dem Server des Anbieters (per Webservice), indem Daten und
Funktionen über offene Programmierschnittstellen aufgerufen werden. In der
Regel ist eine professionelle Softwareentwicklung, z.B. durch das
Rechenzentrum Ihrer Hochschule, nötig.
Die folgende Grafik zeigt schematisch, wie sich eine Webseite aus
verschiedenen Quellen zusammensetzen kann:
Die Beispielseite enthält einem Videofilm, der aus einer Tauschbörse stammt,
spezifische Daten für einen Studenten, die über einen Webservice abgefragt
werden, aktuelle Informationen aus einem externen Blog (per RSS eingelesen),
und die Verknüpfung von Community-Daten eines Content Management Systems mit
Geo-Daten über eine API. Die genaue Funktionsweise wird im Folgenden kurz
erklärt.
Einbetten von Inhaltsobjekten
Die Struktur einer Webseite wird in HTML-Code definiert. Bilder und Objekte
werden dabei innerhalb des Codes nur referenziert. Dadurch ist es möglich,
dass die eigentliche Mediendatei (z.B. Bilder oder Video) auf einem ganz
anderen Rechner liegt als die Webseite selbst. Code-Framente, mit denen sich
die Mediendateien einbinden lassen, werden vom Anbieter eines Dienstes für
die jeweilige Mediendatei erzeugt und können als HTML-Schnipsel in das
eigene Angebot übernommen werden.
Auf diese Weise können Sie Beiträge von TeacherTube, zufällig ausgewählte
Bücher Ihrer Bibliothek bei LibraryThing oder SlideShare Vortragsfolien
Ihrer Vorlesung in Ihre Webseite per Copy & Paste einbauen.
Bei „echten“ Mashups werden die Dienste verschiedener Anbieter nicht nur auf
der selben Webseite eingebettet sondern miteinander kombiniert, d.h. die
angeforderten Daten und Funktionsaufrufe interagieren miteinander. Hierbei
kommen in der Regel AJAX oder Flash zum Einsatz, um die Daten verschiedener
Quellen innerhalb des Browsers zu verarbeiten. So steuert zum Beispiel ein
JavaScript-Programm bei der e-teaching.org Hochschullandkarte den Mix von
Daten aus Google Maps und der Community von e-teaching.org
Webservices und Content Syndication
Beim Einbetten verschiedener (Medien-)quellen in eine Webseite werden die
einzelnen Bausteine erst im Browser zusammengefügt. Oft werden die
Informationen und Dienste jedoch bereits auf einem Server von verschiedenen
Quellen zusammengestellt. Dies ist zum Beispiel sinnvoll wenn ein
Lernmanagementsystem die eigenen Daten mit anderen Systemen austauschen,
aktualisieren oder abgleichen soll.
Ein einfacher Webservice besteht darin, eine von einem anderen Server gestellte Anfrage zu beantworten. Ein Lernmanagementsystem kann so zum Beispiel mit dem Hochschulverwaltungssystem Verbindung aufnehmen und Informationen über Studenten abfragen. Es können aber auch Dienste von fremden Servern in Anspruch genommen werden, z.B. können bibliographische Informationen zu einem Literaturhinweis automatisch von Bibliotheksservern abgefragt werden.
Die Entkopplung verschiedener Serviceangebote innerhalb der Hochschulinfrastruktur führt zu einer serviceorientierten Architektur (SOA) und erleichtert zum Beispiel Single Sign-On, den Austausch von Kursangeboten und Metadaten, die Rückgabe von Noten oder das Zusammenstellen von Materialien aus verschiedenen Quellen innerhalb der Hochschule. Da bei Webservices der Mashup verschiedener Systeme im Hintergrund stattfindet,
bekommt man als Anwender hiervon meist wenig mit.
Außer dem Aufrufen von Funktionen anderer Anbieter besteht die Möglichkeit,
dass Server Daten miteinander austauschen. Für diese Content Syndication von
Inhaltsbausteinen und Microcontent wird häufig das RSS-Format eingesetzt. In
regelmäßigen Abständen fragt dabei ein Server den anderen, welche neuen
Inhalte verfügbar sind. Zum Beispiel können von e-teaching.org der
NotizBlog, das Glossar, der Veranstaltungskalender und die
Weiterbildungsdatenbank im RSS-Format abonniert werden. Die empfangenen
Daten können dann vom eigenen System verarbeitet und aufbereitet werden.
Viele Lernmanagementsysteme verfügen bereits über dafür vorgesehene
Funktionen. Auf diese Weise können laufend aktualisierte Informationen in
ein Hochschulportal oder die persönliche Startseite einer Lernumgebung
einfließen, ohne dass jede einzelne Hochschule selbst die gesamte
redaktionelle Arbeit übernehmen muss. Auch viele Mashup-Generatoren bieten
die Möglichkeit, RSS-Feeds zu integrieren und so Nachrichten aus
verschiedenen Informationsquellen in einer selbst festgelegten
Zusammenstellung zu präsentieren.