Web 2.0 vernetzt Infos und Nutzer

04.10.2005
Von Matthew Langham
Erst in letzter Zeit entfaltete das Web seinen eigenen Charakter als Medium. Er zeichnet sich durch die Vernetzung von Informationen und Benutzern aus. Das gilt zunehmend auch für Anwendungen.

Während viele Unternehmen noch über moderne Service-orientierte IT-Architekturen philosophieren, entwickelt sich das Internet bereits in eine Richtung, die unter dem Schlagwort "Web 2.0" diskutiert wird. Die Bezeichnung wurde vor eineinhalb Jahren von Dale Dougherty, Mitarbeiter des O’Reilly-Verlags, geprägt und bezeichnet seitdem auch eine O’Reilly-Konferenz.

Mehr zum Thema

www.computerwoche.de/go/

*80263: SOA-Risiken werden gern verschwiegen;

150553: Ruby: Open-Source-Exot aus Japan;

*80622: Microsoft bewirbt Alternative zum Enterprise Service Bus.

Weiterführende Links

APIs vom Landkartendienst Google Maps:

http://www.google.com/apis/maps;

Community-Site Craigslist: http://www.craigslist.org;

Grundlagentext von Clay Shirky zu Situated Software: http://www.shirky.com/writings/ situated_software.html;

Homepage für das Framework Ruby on Rails: http://www.rubyonrails.com;

Meme Map zu Web 2.0 bei Flickr: http://www.flickr.com/photos/36521959321N01/44349798).

Fazit

Web 2.0 dient derzeit als Oberbegriff für Trends in der Erstellung von Web-Anwendungen. Insbesondere die Einbeziehung der Nutzer und die Verfügbarkeit von Services stehen hierbei im Mittelpunkt. Bei näherem Hinschauen erkennt man Ähnlichkeiten und Überschneidungen zum SOA-Konzept, das derzeit meistens nur innerhalb der Firewall eine Rolle spielt. Beide Seiten können voneinander profitieren, und es ist zu erwarten, dass sich Web 2.0 und SOA im Laufe der Zeit annähern und gegenseitig befruchten.

Ob die Versionsnummer des Webs tatsächlich schon bei 2.0 angekommen ist oder gar - wie manche behaupten - bereits 3.0 erreicht hat, sei dahingestellt. Auch kennzeichnet der Begriff weniger eine bestimmte Technik der Implementierung als vielmehr die Eigenschaften neuerer Web-Applikationen.

Hauptmerkmal dieser innovativen Applikationen ist, dass zunehmend die Anwender im Mittelpunkt stehen. Nicht nur die ersten Web-2.0-Anwendungen wie Wikis und Weblogs rücken ihre Benutzer stärker in das Zentrum, sondern auch Social Software wie Flickr oder Del.icio.us erhält einen Großteil ihres Wertes durch die Beiträge ihrer Nutzer.

Die Beteiligung der User an den eigentlichen Anwendungen ist kein neues Thema. Die Vorfahren der innovativen Web-Anwendungen wie Amazon.com, Google oder Ebay verdanken ihren Erfolg genau dieser Möglichkeit der Teilnahme von außen. Bei Amazon geschieht dies etwa durch Produktkritiken, bei Ebay durch die Bewertung der Bieter in Auktionen, und bei Google schließlich füttern die Anwender selbst durch das Verlinken auf bestimmte Seiten den bekannten Pagerank-Algorithmus.

Data inside - Services outside

Anwendungen wie Google, Flickr, Amazon, Ebay und noch viele andere arbeiten datenzentrisch. Sie leben davon, dass sie einen enormen Informationsbestand mittels Diensten (Services) nach außen publizieren. Früher (Web 1.0) erfolgte der Zugang zu den Daten über normale Web-Seiten. Heute findet man zunehmend auch einen programmatischen Zugang mittels eines API.

Diese Schnittstellen (wie die von Google oder Amazon) sind bewusst einfach gehalten. Derzeit ist die Verwendung der Interfaces meistens kostenfrei möglich, wobei der Entwickler oft einen eindeutigen Schlüssel beantragen muss und die Anzahl der Abfragen über einen bestimmten Zeitraum begrenzt wird. In einigen Fällen wird das eigentliche API durch eine mitgelieferte Javascript-Bibliothek gekapselt. So ist die Integration des Dienstes in eine eigene Lösung sehr einfach möglich.

Nachdem die Google-spezifische Javascript-Datei innerhalb der eigenen Web-Seite referenziert wurde, reichen die folgenden zwei Zeilen aus, um eine Karte von Palo Alto anzuzeigen:

var map = new GMap(document. getElementById("map"));

map.centerAndZoom(new GPoint (-122.141944, 37.441944), 4);

Das API bietet aber weitaus mehr Möglichkeiten, die insbesondere dann interessant werden, wenn man verschiedene Anwendungen verknüpfen möchte.

Mash-ups - Remix the Web

Was passiert, wenn man Google Maps mit einer Liste für angebotene Immobilien kombiniert? Paul Rademacher fand das eine gute Idee und entwarf so einen interaktiven Immobiliensuchdienst . Das Besondere an der Anwendung war die Tatsache, dass Rademacher seine "neue" Applikation alleine durch die Kombination der Dienste von Google und dem Anzeigendienst Craigslist erstellen konnte. Dies wiederum war nur möglich, weil beide Dienste Programmierschnittstellen anbieten.

Durch die Verknüpfung vorhandener Services zu neuen Anwendungen entsteht auch eine Art Software, die sich viel schneller realisieren lässt als herkömmliche monolithische Web-Applikationen. Aufgrund einer besonderen Anforderung oder eines kurzfristigen Bedürfnisses können nun neue Anwendungen einfach zusammengestöpselt werden. So entstanden in jüngster Zeit beispielsweise einige Websites, die den Verlauf von Hurrikanen mit Google Maps sichtbar machen (wie "Rita" auf http://flhurricane.com/googlemap.php?2005s18).

Die heute verfügbaren Services oder APIs kommen bisher ganz ohne einen zentralen Verzeichnis-Server aus. Auf der Web-Seite http://wsfinder.jot. com/WikiHome/ findet man jedoch eine wachsende Zusammenstellung von offenen Web-Services und APIs.

Situated Software - weniger ist mehr

Der Internet-Vordenker und Medientheoretiker Clay Shirky prägte im letzten Jahr den Begriff der "Situated Software" - also einer Software, die situativ erstellt und verwendet wird. Anstatt ein Produkt mit einer Vielzahl umfangreicher, aber wenig benötigter Funktionen zu entwickeln, geht es bei Situated Software bewusst nur um den Anspruch "gut genug". Dafür erfüllt sie aber genau die zentralen Anforderungen ihrer Benutzer.

Um Situated Software so zu entwickeln, empfiehlt sich ein Entwicklungs-Framework. Dabei ist im Web derzeit "Ruby on Rails" (RoR) das Maß aller Dinge.

Ruby on Rails

Ursprünglich wurde das Framework als Teil des Produkts "Basecamp" von der Firma 37Signals entwickelt. Basecamp ist eine Web-basierende Projektverwaltung. Da sich innerhalb des Vorhabens einige Bestandteile standardisieren ließen, entschied der Chefentwickler David Heinemeier Hansson, diese Teile frühzeitig als eigenständiges Framework herauszulösen.

Obwohl das Framework in einer bis dato weniger verbreiteten Programmiersprache, nämlich Ruby, entwickelt wurde, verbreitete es sich rasch. RoR zeichnet sich dadurch aus, dass es die schnelle Entwicklung von datenbankgestützten Anwendungen erlaubt, indem sich die wichtigsten Bestandteile der Anwendung aus dem Framework generieren lassen und nicht mehr von Hand programmiert werden müssen. So können Web-Applikationen schnell programmiert und publiziert werden, um frühzeitig Input durch die Benutzer zu bekommen.

Ein Nachteil der bisherigen Web-Anwendungen gegenüber Rich Clients war immer, dass sie Web-Seiten komplett aktualisieren müssen, um neue Informationen anzuzeigen. (Eine gewisse Ausnahme sind Frames). Daher stürzen sich die Anwendungsentwickler momentan auf eine Technik, die - trotz ihres Namens - nichts mit Reinigungsmitteln zu tun hat.

Ajax für neuartige Web-Clients

Ajax ist die Abkürzung für "Asynchronous Javascript and XML" und bezeichnet eine Technik, die es erlaubt, Teile von Web-Seiten dynamisch zu verändern. Hierzu sendet der Browser eine Nachricht an den Server. Dieser ermittelt die zu verändernden Bestandteile der Seite und schickt sie an den Browser zurück wo sie mittels Javascript in die aktuelle Seite eingefügt werden. Somit ist es nicht mehr notwendig, ganze HTML-Seiten auszutauschen, um beispielsweise nur bestimmte Felder zu verändern. Ein bekanntes Beispiel für die Verwendung von Ajax ist wieder Google Maps. Hier wird die Technik genutzt, um die Kacheln der Landkarten nachzuladen, wenn man über die Seite scrollt.

Web 2.0 aus Redmond

Microsoft verhielt sich zum Thema Web 2.0 bisher auffällig ruhig. Allerdings hat sich dies auf der kürzlich abgehaltenen Professional Developer Conference (PDC) geändert. So kündigte Microsoft dort an, APIs zu "MSN Search" und "Virtual Earth" anzubieten. Diese Schnittstellen sollen teilweise frei, aber auch teilweise gegen Gebühr nutzbar sein. Mit dem Toolkit "Atlas" will Microsoft zudem die Erstellung von Web-2.0-Anwendungen unterstützen. (ws)