Mashups
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.