Mehr Akzeptanz für webbasierte Applikationen
Die Weiterentwicklung des Internets bringt immer wieder neue Schlagwörter und Marketingnamen mit sich, so dass selbst der versierte Nutzer oftmals den Überblick im Dschungel der neuen Technologien und Systeme verliert. In diesem Artikel wollen wir Ihren Focus auf eine interessante Technologie lenken mit der sich die Usability von Webseiten und web-gestützen Applikationen entscheidend ändern lässt.
Der Verleger Tim O'Reilly prägte im Jahre 2005 den Begriff „Web 2.0“ und läutete damit eine neue Epoche ein, die das Verständnis des Internets neu definieren sollte. „Web 2.0“ charakterisiert das Web, an Stelle des lokalen Rechners, als Plattform und steht fortan für einfache Geschäftsmodelle, die gemeinsame, verteilte Inhalte und Dienste nutzen. Das Web ist nicht länger allein für die Bereitstellung von Informationen da, sondern viel mehr für eine „Architektur des Mitwirkens“. Dienste wie Wikipedia, eine freie Enzyklopädie mit mittlerweile ca. einer halben Millionen deutschsprachigen Einträgen, stehen schon seit einigen Jahren für diese Idee.
Natürlich sind jedem die populärsten Namen der „Web 2.0“ Anwendungen bekannt. Angefangen bei Google Earth, dem Online-Kartendienst von Google, über Flickr, einem Onlineportal für die eigene Fotosammlung bis hin zu YouTube, der Community zum Präsentieren eigener Videos. Durch offene APIs (Application Programming Interfaces), die von den Webdiensten für die eigene Verwendung bereitgestellt werden, ist es möglich, dass beispielsweise eine internationale Bank mit Hilfe von Google Earth auf ihren Webseiten alle Standorte der einzelnen Filialen darstellen kann oder der Hobbyfilmer seine Videos auf Flickr einer breiten Community bereitstellen kann um sie dort bewerten zu lassen.
AJAX bringt Benutzerfreundlichkeit
Oftmals sind diese Seiten sehr dynamisch gestaltet und im Gegensatz zu gewohnten Webseiten verhalten sie sich auch ein wenig anders. Nicht jeder Link führt zum Neuladen der gesamten Seite, neue Inhalte erscheinen ohne Interaktion des Benutzers und eigentlich erinnert die Webseite mehr an eine Desktopanwendung als an eine Internetseite. Meist steckt dahinter eine Technologie mit dem Akronym AJAX, was für Asynchronous JavaScript and XML steht.
Wie funktioniert AJAX?
Bei traditionellen Webanwendungen ist der Prozessfluss von der zustandslosen Natur einer HTTP Anfrage bestimmt. Die Kommunikation zwischen Client und Server wird durch das Request-Response-Paradigma organisiert.

Bei jeder Interaktion wird eine Anfrage (engl. Request) an den Server gerichtet, der eine Antwort (engl. Response) zurück an den Client schickt. Wenn sich die Antwort des Servers verzögert oder gar ausbleibt, entstehen auf Clientseite längere Wartezeiten bzw. Unterbrechungen im Ablauf der Webanwendung.
AJAX-basierte Anwendungen erzeugen bei jeder Interaktion des Benutzers, die für gewöhnlich eine vollständige HTTP Anfrage auslösen würde, einen JavaScript Aufruf, der an eine AJAX Engine weitergeleitet wird. Es wird also zwischen die Kommunikation von Client und Server eine Client-seitige Programmlogik gesetzt, die die eigentliche Kommunikation mit dem Server übernimmt. Die AJAX Engine kann entscheiden, ob die Antwort der Anfrage eine Verbindung zum Server erfordert oder sie selbst die Antwort beispielsweise durch eigene Validierungen oder Caching selbst liefern kann. Benötigt die AJAX Engine Daten vom Server, um eine bestimmte Aktion erfolgreich durchführen zu können, zum Beispiel das Übertragen von Daten, die verarbeitet werden müssen oder das Nachladen einzelner Bausteine der Benutzeroberfläche, wird eine asynchrone Anfrage, für gewöhnlich in Form eines XML oder SOAP Dokuments, an den Server abgesetzt.

Hier ist der entscheidende Unterschied zu einer traditionellen Webanwendung. Denn die Interaktion des Benutzers mit der Anwendung muss nicht unterbrochen werden und die neuen Inhalte werden mit Hilfe von JavaScript dynamisch und ohne Neuladen der HTML Webseite eingebunden. AJAX-Anwendungen sind also in der Lage, Anfragen an den Server zu schicken, bei denen nur die Daten angefordert werden, die tatsächlich benötigt werden. Für gewöhnlich geschieht dies über den Aufruf eines SOAP Web Services oder eines vergleichbaren XML basierten Web Service Dialekts.
Diese Tatsache kann ausgenutzt werden, um Webanwendungen, die je nach Konnektivität oft träge erscheinen, dynamischer und schneller zu gestalten. Da durch die AJAX Engine nur Daten vom Server asynchron im Hintergrund abgefragt werden, die sich wirklich seit der letzten Abfrage geändert haben, kann der Traffic zwischen Client und Server auf ein Minimum reduziert werden. Zum Beispiel in folgendem Szenario: Eine Webanwendung zur Verwaltung von Terminen bietet dem Benutzer die Möglichkeit Termine zu speichern bzw. zu löschen. Bei einer Realisierung der Anwendung ohne AJAX, muss bei jeder Änderung eines Termins die Seite neu geladen, weil die Liste der Termine sich geändert hat, wohingegen beim Einsatz von AJAX nur der Termin, der sich geändert hat, neu geladen werden muss.
Voraussetzungen
Die Voraussetzungen für AJAX sind relativ übersichtlich und werden von nahezu allen aktuellen Browsern unterstützt. Um AJAX Anwendungen zu nutzen ist auf Clientseite ein Internetbrowser notwendig, der die Einstellung JavaScript (Mozilla Firefox, Opera, Safari) bzw. ActiveScripting (Internet Explorer) aktiviert hat. Auf Serverseite wird die Programmlogik bzw. der Prozessfluss durch Enterprise Java Beans (EJBs), .NET Komponenten oder in Form von Skriptsprachen, wie Ruby, PHP oder Perl realisiert.
Fazit
Die breite Zustimmung von AJAX Anwendungen in der Industrie hat eine Open AJAX Initiative ins Leben gerufen und ein Standardisierungsprozess vom W3C eingeleitet, der garantiert, dass auch zukünftig die AJAX Technologie auf breiter Basis unterstützt wird. Mit AJAX Webanwendungen bietet man Besuchern und Anwendern einen neuen Komfort in der Bedienung von Webseiten und Webapplikationen. Trotz der momentanen Euphorie rund um AJAX Applikationen, sollte man den Einsatz von AJAX trotzdem von Fall zu Fall abwägen. Richtig eingesetzt bringt AJAX einen deutlichen Akzeptanzanstieg für die webbasierte Applikationslandschaft.
Wenn sie weiteres über AJAX erfahren möchten, zögern Sie nicht sich an uns zu wenden. Mit swift.consult steht Ihnen ein kompetenter und professioneller Partner für die Umsetzung Ihrer Ideen zur Seite. Gerne informieren wir Sie ebenfalls über Referenzprojekte.
Wissen
mehr erfahren