Blue Flower

 

 AJAX als technische Basis des Web 2.0

Ein zentraler Aspekt vieler Angebote, die in engeren Sinn zum Web 2.0 gezählt werden ist jedoch, dass in vielen Fällen als technische Basis AJAX fungiert. Wobei wir gleich ausführen werden, dass auch AJAX im Grunde auch nur ein reiner Marketingbegriff ist, den es wei gesagt seit etwa 2005 gibt. AJAX bezeichnet einfach nur den Zusammenschluss etablierter Technologien. Beginnend bei HTML bzw. XHTML und HTTP über JavaScript und CSS bis hin zu XML und - etwas später hinzugenommen - JSON. Dazu kommt die Möglichkeit der asynchronen Nachforderung von Daten, die in eine Webseite integriert werden sollen.

Wie die ausgeschriebene Form Asynchronous JavaScript and XML schon deutlich wird, handelt es sich bei AJAX also im Kern um eine Erweiterung von JavaScript. Mit AJAX ist es möglich, auch im Internet interaktive Webseiten zu erstellen, die im günstigsten Fall ein Antwortverhalten zeigen, wie es die Anwender von ihren Desktop-Applikationen gewohnt sind. Teile der Webseite können durch neue Informationen ausgetauscht und ergänzt werden, ohne das träge Antwortverhalten bisheriger Web-Applikationen und die Unterbrechung der Anwenderaktivität in Kauf nehmen zu müssen. Und es ist mit AJAX viel leichter als bisher möglich, dass ein Anwender seinen eigenen Beitrag zu der weltweiten Sammlung an Informationen und Wissen leistet und eine Webseite nach seinen eigenen Bedürfnissen anpasst.

Aber wie gesagt - AJAX beschreibt im Grunde nicht viel mehr als die Möglichkeit mit JavaScript über ein neues Kommunikationsobjekt neue Daten für eine nachzufordern und diese darin einzubauen, ohne die Webseite komplett neu laden zu müssen. Vereinfacht gesagt werden Daten bei der Verwendung von AJAX also erst dann angefordert, wenn sie benötigt werden, dann für JavaScript verfügbar gemacht und anschließend mit DHTML in die bereits in den Browser geladene Webseite eingebaut. Dabei wird in vielen Fällen die normale Interaktion des Benutzers mit der Webanwendung nicht durch ein Laden einer neuen Seite unterbrochen. Vergegenwärtigen Sie sich nun noch einmal, dass das A in AJAX für asynchron seht. Die Kommunikation zwischen Browser und Server, die der Benutzer wahrnimmt, ist nur die, die durch seine Aktionen ausgelöst wird. Zum Beispiel sein Anklicken eines Hyperlinks oder das Versenden von Formulardaten. Die offensichtlichen Schritte der Kommunikation zwischen Client und Server gibt der Benutzer vor. Bei der konventionellen Webprogrammierung kommunizieren Browser und Server sonst normalerweise auch nicht weiter.

Bei AJAX ist das anders. Unabhängig von einer offensichtlichen Benutzeraktion können der Browser und der Webserver weitere Nachrichten austauschen. Eben asynchron zum Verhalten der Webapplikation an der Oberfläche. Ein Skript, das auf Grund eines gewissen Ereignisses aufgerufen wird, kann zum Beispiel eine Kommunikation außerhalb des Benutzertaktes auslösen. Dies kann und wird im Extremfall so weit führen, dass ein Anwender in einem Webformular über ein Listenfeld ein Zeichen auf der Tastatur eingibt und direkt nach Eingabe des Zeichens bereits eine ergänzende Information vom Server nachgeladen wird. So etwas kennen Anwender bereits von vielen Desktop-Anwendungen mit Suchfunktionen. Aber im Web ist diese komfortable Unterstützung des Anwenders bisher daran gescheitert, dass immer eine vollständige Webseite ausgetauscht werden musste.

Allgemein wird ein Server auf jede Anfrage dieser Art mit Daten antworten, die dann im Client via JavaScript  zur Verfügung stehen. AJAX-Anwendungen können dabei in allen konformen Webbrowsern ausgeführt werden, wobei in der Regel die meiste Programmlogik oder der Prozessfluss der Anwendung zum Generieren der Daten auf dem Server bleibt. Diese serverseitige Geschäftslogik kann beliebig komplex werden, aber die konkrete Umsetzung ist nicht vorgegeben. AJAX fordert zwar im Client bestimmte Techniken, jedoch – wie schon erwähnt - keine explizit einzuhaltenden Voraussetzungen auf dem Webserver. Hier kommen dann weitgehend beliebige serverseitige Techniken wie PHP, Java Servlets und Java Server Pages oder ASP.NET-Komponenten zum Einsatz.

Das ist sicher ein Schlüssel zum Erfolg von AJAX, da auf Serverseite keinerlei Erweiterungen oder Umstellungen erfolgen. Nur müssen Daten so zum Client geschickt werden, dass dieser damit etwas anfangen kann.

Richtig populär begannen AJAX und das Web 2.0 als Begriffe im Jahr 2005 zu werden. Das lag sicher nicht zuletzt daran, dass Google das mit AJAX sehr griffig zusammengefasste Verfahren für einige bekannte Anwendungen wie beispielsweise Google Groups, Google Maps, Gmail und Google Suggest verwendet und auch den Begriff selbst übernommen hat. Google hat sich unzweifelhaft als die (!!) treibende Kraft hinter AJAX und dem Web 2.0 erwiesen. Und wenn Google auf eine Technik setzt, lohnt sich ein Hinsehen nach der Meinung vieler Leute immer. Deshalb gab es schnell ein riesiges Interesse an AJAX. Und dies wiederum erzeugte den Druck, AJAX-Unterstützung in alle modernen Webbrowser zu integrieren.