Mix it

Webseiten mithilfe von Mashups erstellen
Kommentare

Mashups bezeichnet Internetseiten, die aus bereits vorhandenen Webinhalten neu erstellt werden. Der Begriff wurde der Musikszene entnommen und bedeutet „Remix“. Also: Bestehende Inhalte nehmen und diese mit neuen Inhalten anreichern und kombinieren. So können beispielsweise Lexikoneinträge mit Ortsinformationen von Google Maps angereichert werden.

Eigentlich ganz logisch, was passiert: Da baut man mit einigem Aufwand einen Service und stellt diesen im Web zur Verfügung, erstmal per URL und mit interaktivem AJAX User Interface. Immer wieder genanntes (weil auch gutes!) Beispiel: Google Maps. Die Benutzer freuen sich und schauen sich das Satellitenbild ihres Häuschens von oben an. Und dafür der ganze Aufwand? – Nein, etwas nachhaltiger und vor allem „Business-lastiger“ sollte es schon sein. Deswegen sollte der Service mit Schnittstellen ausgestattet werden, sodass andere diesen integrieren können. Wenn der Service samt Schnittstellen gut genug ist, dann kommen auch genug andere auf gute Ideen. Vom Immobilienmakler, der die Lage seiner Immobilien direkt visualisieren will, bis hin zum Vertriebsleiter, der sich nur dann gut fühlt, wenn pro Mitarbeiter mindestens ein Pünktchen auf der Karte blinkt. Der Begriff Mashup suggeriert dabei eine gewisse Leichtigkeit und Freude am Verknüpfen von Bestehendem. Und das ist auf den ersten Blick auch in Ordnung so. Bleiben wir bei Google Maps. Ein Blick auf die API-Seite zeigt, wie es geht (Listing 1).

Listing 1
------------------------------------------------------------------

  
      

In einer HTML-Seite, ob diese nun statisch oder dynamisch erzeugt wird, wird eine JavaScript-Bibliothek eingebunden, die von Google zur Verfügung gestellt wird. Über das JavaScript-API wird nun dafür gesorgt, dass ein bestimmter Ort dargestellt wird (Abb. 1).

Abb. 1: Google Maps zeigt den Standort der Konferenz

Ein echter Mashup! 16 Zeilen HTML und JavaScript, Ergebnis: eine doch erstaunliche Anwendung! Wer nun in der API-Dokumentation weitergräbt, der wird schnell feststellen, dass andere Dinge genauso einfach sind: vom Hinzufügen von optischen Markierungen mit eigenem Icon und Tooltip, bis hin zu einem API, in dem man nicht mehr eine Längen- bzw. Breitenangabe an Google Maps übergibt, sondern eine Adresse; das Auffinden der Koordinate wird dann automatisch und für einige Länder auch sehr gut gemacht.

So wie Google Maps gibt es nun mittlerweile eine große Anzahl von Services, die sich für Mashups zur Verfügung stellen. Fast schon eine Referenzseite ist. Hier registrieren sich Services, um genutzt zu werden (bei Redaktionsschluss waren es immerhin schon knapp 1000). Die Services geben Auskunft über ihre Schnittstellen und ihre Kombinierbarkeit. Zudem erkennt man, welches die zurzeit „heißen“ Mashup-Szenarien sind (Abb. 2).

Abb. 2: Die beliebtesten Mashups (Quelle: ProgrammableWeb)

Eindeutiger Hit ist also im Moment das Thema Mapping, was aufgrund der Popularität der angebotenen Services auch nicht verwunderlich ist. Ein Durchscannen der angebotenen Services lohnt sich aber auf jeden Fall. Oft hat man als Entwickler ja selbst mit einer recht klassischen Anwendung zu tun und wird bei der Fülle angebotener Services „so richtig kreativ“, wenn es darum geht, die eigene Anwendung aufzupeppen. In einer Mitarbeiterverwaltung direkt per Klick in einen Online-Chat mit einem ausgewählten Mitarbeiter gehen – warum nicht?

Generell ist zu erkennen, dass sich hinter dem Begriff „Mashup“ zwei verschiedene Schnittstellenarten befinden: Clientseitige Mashups und serverseitige Mashups. Clientseitige Mashups: Dabei werden in der Regel HTML/JavaScript-Schnittstellen angeboten, die es erlauben, einen Service in einem bestimmten Oberflächenbereich zu laden und diesen über ein API zu bedienen. Das bereits erwähnte Google Map API ist ein Vertreter dieser Schnittstellenart. Die Integration verschiedener Services mit deren Oberflächen findet im Browser statt. Serverseitige Mashups: Dabei werden Programmschnittstellen in verschiedenen Technologien abgeboten, die es erlauben, über http Requests an im Web zur Verfügung gestellte Services zu stellen und von diesen dann eine Antwort zu erhalten. Es geht hier also nicht um die Integration von Bildschirmbestandteilen, sondern um die Integration von Logik. Beispielsweise kann man alle Suchmaschinenanbieter mittlerweile über ein „Dark API“ aufrufen, für die Visualisierung der Trefferliste ist man dann selbst zuständig. Oder man kann seine Daten aus dem online verfügbaren Customer Relationship Management System (CRM) salesforce.com abfragen bzw. einbringen – vorausgesetzt man gehört zum Kreis der Nutzer dieses Services. Die Technologien, auf denen die Schnittstellen beruhen, reichen von „sauber definierten“ Web Services, über eigene http-Protokolle bis hin zu Bibliotheken für spezifische Umgebungen (z.B. PHP Libraries).

Was einfach beginnt, muss nicht einfach bleiben. Das Bauen von Mashups ist genauso einfach oder komplex, wie die Funktionalität der dahinterstehenden Anwendung. Zu einem Geo-Informationssystem ist die Schnittstelle recht naheliegend, eine GPS-Koordinate. Die Übergabe eines Kundenauftrags an ein im Web bereitgestelltes CRM-System ist naturgegeben etwas komplexer und erfordert ein sehr eingehendes Studium der bereitgestellten Schnittstellen. Je „logiklastiger“ die Schnittstelle wird, desto mehr spielen dann auch Begriffe wie „transaktionale Konsistenz“ und „Security“ eine Rolle. Die Grenze zwischen Mashup und dem viel gewichtigeren Wort „Anwendungsintegration innerhalb einer SOA (Service Oriented Architecture)“ ist dann fließend.

Außerdem ist der Begriff „Mashup“ noch recht jung. Die meisten Services, die sich zum Mashup anbieten, sind noch in ihrer Version „1.0“ (auch wenn sie anders heißen mag …). Sobald ein Service sich weiterentwickelt, werden alle Verwender um Gnade flehen, dass das bestehende API erhalten bleiben möge, ansonsten heißt es: Schnell in die Tasten greifen. Google Maps hat beispielsweise bereits eine Version 2 der APIs zur Verfügung gestellt (wobei die Version 1 zurzeit auch noch zur Verfügung gestellt wird). Wer neue Funktionen der Version 2 nutzen will, muss erst einmal umprogrammieren.

Bei aller berechtigten Mashup-Euphorie heißt es daher: aufpassen! Ein Mashup-Szenario ist schnell erstellt, die Folgekosten sind aber meist versteckt. Angefangen von den angesprochenen Kosten im Bereich Softwarepflege, weitergehend mit den Lizenzkosten (wie viele Entwickler kennen die kommerziellen Bedingungen des Einsatzes von Google Maps) bis hin zu der Frage, wie man reagiert, sollte ein eingebundener Service nicht in der gewünschten Qualität rund um die Uhr zur Verfügung stehen. Wer sich mit anderen integriert, macht sich eben auch von diesen abhängig, profitiert aber umgekehrt auch von deren Expertise!

Björn Müller ist Direktor UI-Technologien bei der Software AG in Darmstadt. Zuvor war er 10 Jahre in verschiedenen Entwicklungs- und Managementpositionen bei der SAP AG tätig, bevor er im Jahre 2001 Casabac Technologies GmbH gründete, eines der führenden Unternehmen im Bereich AJAX-Entwicklung. Im Sommer 2005 wurde Casabac Technologies durch die Software AG übernommen.
Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -