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

Das große Problem klassischer Web-Anwendungen ist, dass sie ihre Daten synchron übertragen: Wenn ein Anwender beispielsweise eine Bestellung zusammengestellt hat und die Transaktion mit der Eingabe seiner Zahlungsinformationen abschließen möchte, passiert folgendes: Der Browser sendet eine Anforderung (HTTP-Request) an den Web-Server. Dieser empfängt die Nachricht, wertet die darin enthaltenen Zahlungsinformationen aus und schickt beispielsweise eine Fehlermeldung mitsamt einer kompletten Seite mit den Eingaben wieder an den Browser zurück. Danach beginnt der Vorgang mit der Korrektur der Daten erneut, bis diese gültig sind.

Javascript im Hintergrund

Um solche langatmigen Aktionen abzukürzen und viele Fehleingaben schon im Ansatz auszusieben, lassen sich für Standardfälle wie die Plausibilisierung einer Kreditkartennummer kleine Javascript-Programme einsetzen. Dabei überträgt der Web-Server eine Internet-Seite, die mit einem Javascript-Validator versehen ist. Gibt der Benutzer beispielsweise seine Visa-Kreditkartennummer ein, prüft die Seite vor dem Absenden mit Hilfe dieses Javascript-Programms, ob die Nummer überhaupt dem gängigen Format des speziellen Kartenanbieters entspricht. Ist das nicht der Fall, erfolgt unmittelbar eine Fehlermeldung, ohne dass eine Web-Server-Kommunikation notwendig wäre.

Das gerade beschriebene Javascript-Verfahren ist eine der Hauptideen, auf denen Ajax aufsetzt: Auch hier lädt der Browser statt einer konventionellen, vollkommen statischen Seite eine solche, in der Programmlogik in Form eines speziellen Javascripts eingebettet ist. Dieses Programm ist aber deutlich mächtiger als der vorher beschriebene einfache Validator und nennt sich demzufolge auch Ajax-Engine. Die Ajax-Engine wird in einem versteckten Rahmen der Web-Seite untergebracht und ist nicht nur für Ad-hoc-Validierungen, sondern auch für eine neue Art der Kommunikation zwischen Web-Browser und Web-Server verantwortlich.

Ajax und Eclipse

Auch das Eclipse-Projekt, das schon viele Frameworks konsolidierte, hat sich des Themas Ajax angenommen. Im Rahmen einer Ajax-Initia- tive wollen neben IBM auch andere Firmen wie Bea, Borland und die Dojo Foundation den zersplitterten Ajax-Markt wieder ordnen. Für den Entwickler, der mit Eclipse arbeitet, bedeutet das, dass er wahrscheinlich bald mit einer Erweiterung des Eclipse-Projekts Web Tools Platform (WTP) und einer besseren Ajax-Unterstützung innerhalb der Entwicklungsumgebung rechnen kann.