Ajax verleiht Web-Anwendungen Flügel

14.03.2006
Von   
Bernhard Steppan arbeitet als IT-Chefarchitekt bei DB Systel GmbH (Deutsche Bahn) in Frankfurt am Main. Er hat 100+ Artikel und zahlreiche Bücher über C++ und Java verfasst. Er betreibt mehrere Blogs, unter anderem http://steppan.net, http://artouro.org und http://tourbine.com

Während normalerweise jede Aktion eines Anwenders einen HTTP-Request zur Folge hat, zügelt die Ajax-Engine dieses langatmige und ressourcenfressende Verhalten. Sie entscheidet autark, ob eine solche Server-Anfrage überhaupt notwendig ist oder eine Aktion der Ajax-Engine ausreicht. Der Clou an diesem Verfahren ist nicht nur, dass damit die Leitungen und der Web-Server wie beim vorher beschriebenen Validator geschont werden. Diese Methode hat auch den großen Vorteil, dass sie Daten im Hintergrund nachladen kann, während sich der Anwender noch mit weiteren Eingaben auf der Seite beschäftigt.

Kontinuierliche Kommunikation

Um Daten dynamisch vom Web-Server nachzuladen, setzt Ajax auf eine Datenschnittstelle namens "XMLHttpRequest". Diese XML-Schnittstelle geht ursprünglich auf Microsoft zurück und fand im Internet Explorer 5 erstmals Verwendung. Sie verleiht Ajax die Fähigkeit, asynchron XML-Daten vom Web- Server anzufordern, ohne dass dazu die Seite komplett neu aufgebaut werden muss. Die Kommunikation verläuft hier nicht mehr in starren Intervallen, in denen ein Partner agiert und der andere auf ihn wartet. Stattdessen können beide Teile asynchron agieren - der Datenfluss erfolgt nach Bedarf nahezu kontinuierlich und nicht sprunghaft wie bei konventionellen Anwendungen.

Literatur und Links

Datenaustausch

Die XML-Daten, die der Browser vom Server via XML HTTP Request erhält, nutzt die Ajax-Engine dazu, nur die Teile einer Web-Seite zu aktualisieren, deren Austausch erforderlich ist. Um herauszufinden, welche das sind, bedient sich Ajax des Document Object Models. Mit Hilfe dieses Datenmodells lässt sich jede Web-Seite als objektorientierte Baumstruktur darstellen und ein einzelner Bestandteil wie eine Datentabelle auf objektorientierte Weise manipulieren - beispielsweise um einen Teil der Daten auszutauschen. Was Ajax dazu benötigt, ist lediglich ein DOM-fähiger Browser wie beispielsweise der aktuelle Internet Explorer oder Mozillas Firefox, der auch einen DOM-Inspektor zur Anzeige der Baumstruktur besitzt.