von Franz Binder

Allgemeines

Mit Ajax (kurz für Asynchronous JavaScript and XML) wird eine seit etwa 2005 aufstrebende Technologie bezeichnet, die es Webentwicklern ermöglicht, selbst nach dem vollständigen Laden seiner Internetseite mit dem Server in Verbindung zu treten. Auf diese Weise lassen sich desktopähnliche Anwendungen im Webbrowser schaffen, die eine deutlich höhere Benutzerfreundlichkeit aufweisen als bisher bekannte Techniken.

Begriffsklärung

Ajax wird landläufig als abgeschlossenes Softwareprodukt wie etwa Adobe Flash aufgefasst. Tatsache ist aber, dass es sich weder um ein proprietäres Format handelt, noch um eine eigenständige Anwendung. Vielmehr ist Ajax ein ganzes Bündel unterschiedlicher Technologien, die es für sich auch schon vor dessen schlagartiger Verbreitung durch Google Maps (ein kostenloser Kartendienst) gab. Deren Zusammenspiel zwischen dem Client-Browser und dem Webserver des Anbieters ermöglicht erst den Zugriff auf vom Server bereitgestellte Dateien zur weiteren Verarbeitung.

Technik

Bei Ajax-Anwendungen wird zunächst die gewünschte Webseite wie gewohnt geladen und die HTML-Datei auf herkömmlichem Wege über das HTTP-Protokoll bezogen. Der entscheidende Unterschied zu Seiten, die nicht auf dieser Technik basieren, zeigt sich erst wenn der geladene JavaScript-Code nach dessen Aufruf ausgeführt wird und mit dem XMLHttp-Request eine Serververbindung herstellt. Ein Beispiel soll den Ablauf veranschaulichen.

Beispiel

Nach seiner virtuellen Shopping-Tour ist Internetnutzer A am sog. Checkout des Shops angelangt und soll nun für die Bezahlung seines Navigationsgeräts seine Bankverbindung zur Zahlung per Lastschriftverfahren hinterlassen. Früher musste dazu die Bankleitzahl (BLZ) eingegeben wurden und erst auf der nächsten Seite wurde das hierfür passende Kreditinstitut ergänzt. Mit Ajax kann dieser Prozess vereinheitlicht werden, indem der zweite Schritt vorgenommen wird, sobald der User die achtstellige BLZ angegeben hat. Beim Verlassen des BLZ-Eingabefeldes wird JavaScript mit einem sog. Event angewiesen, beim Server die passende Bezeichnung des Kreditinstitutes zu erfragen. Dazu übergibt es mittels eines XMLHttpRequests die vom Benutzer bereitgehaltene BLZ. Die Datenbank des Servers gibt (sofern eine gültige BLZ vorgelegen hat) dann wiederum den Namen der Bank zurück und JavaScript füllt diese in das vom Benutzer betrachtete Formular.

HTML

Die Markup-Sprache HTML ist aus Ajax-Anwendungen nicht wegzudenken. Mit ihr wird erst die Darstellung jedweder Inhalte ermöglicht, d.h. Fließtext, Grafiken, Tabellen, etc. Besonderes Gewicht innerhalb von HTML hat die Möglichkeit der Auszeichnung einzelner Komponenten mit sog. IDs. Diese erlauben es dem Programmierer, jeden einzelnen Teil der Seite für sich mit eindeutigen Bezeichnungen anzusprechen.

Document Object Model (DOM)

Liefert der Server dynamisch Inhalte an das aufrufende JavaScript zurück, so sollen diese meist auch für den Benutzer sichtbar dargestellt werden. Dies geschieht mit Hilfe des DOM, welches als eine Art Schnittstelle den Zugriff auf Inhalte, Struktur und Stil des HTML-Dokuments ermöglicht.

JavaScript

Die Skriptsprache JavaScript wird gerne mit Popups und Formularverifikation in Verbindung gebracht und mithin in ihren Kapazitäten unterschätzt. Die nähere Beschäftigung mit Ajax zeigt aber schnell, wie mächtig JavaScript doch eigentlich ist und dass es für die Entwicklung dynamischer Inhalte in den nächsten Jahren weiterhin an noch mehr Bedeutung gewinnen wird.

In Ajax-Anwendungen ist die Sprache für die Änderung des DOM verantwortlich, d.h. für das Einfügen der vom Server bereitgehaltenen Informationen.

XMLHttpRequest

Der XMLHttpRequest ist eine Programmierschnittstelle, die z.B. von JavaScript angesprochen werden kann und im Hintergrund einer Webanwendung Daten in Form von XML, JSON, Plaintext o.ä. vom Server bezieht. Sie ist als Herzstück jeder Ajax-Applikation anzusehen und wurde bereits im Jahre 1999 im Internet Explorer als ActiveX-Element eingeführt. Die Verbreitung bzw. intensive Nutzung ließ aber bis ca. 2005 auf sich warten.

Kritische Betrachtung

Trotz des großen Hypes um die neue Technik müssen vielerlei negative Aspekte von Ajax berücksichtigt werden: Weil durch Ajax einige Änderungen an der Dokumentstruktur vorgenommen werden, ist es einerseits nicht mehr ohne weiteres möglich, der Seite ein Lesezeichen hinzuzufügen, um später auf genau dieselben Daten zuzugreifen. Andererseits kann genauso wenig mit dem Vor- und Zurück-Knopf des Browsers gearbeitet werden, was die Navigation grds. vereinfachen würde. Daneben werden die Ajax-Anwendungen meistens für grafische Browser entworfen, womit sie i.d.R. nicht als barrierefrei einzustufen sind.

Demgegenüber stehen selbstverständlich auch gewichtige Vorteile. Ajax war quasi die Initialzündung für die Phase 2.0 des Webs. Es ermöglicht deutlich schnellere, benutzerfreundlichere Websites, die weniger träge wirken als in der Zeit davor. Dazu trägt bei, dass mit Ajax (fast) die Zustandslosigkeit des http-Protokolls überwunden scheint und Client und Server wirken, als stünden sie in ständigem Kontakt miteinander. Auch wenn des nicht ganz der Fall ist (und in naher Zukunft aus technischen Erwägungen nicht sein kann), werden sich doch weiterhin mehr und mehr Anwendungen auf das Internet verlagern.

  • Save to Mister Wong
  • Save to del.icio.us
  • Save to digg
  • Save to Furl
  • Save to Yahoo! My Web * Save to Google
Creative Commons License Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.

Die Suche in eLRex ist jetzt noch einfacher gestaltet und zeigt Ergebnisse zu Schlagwörtern direkt an. Hier können Sie sich das Video zur einfachen Suche mit eLRex ansehen.