Synchrone Übermittlung ist im Web 2.0 zu langsam. Ständig aktuelle Inhalte im Internet bedeuten auch ganz neue Anforderungen an die Übermittlungskonzepte – hier gibt es Infos zu spannenden technologischen Entwicklungen.
Die rasante Entwicklung des World Wide Web (WWW) hat zu völlig veränderten Anforderungen an Webseiten geführt: Das Schlagwort Web 2.0 verweist hierbei auf dynamische Webseiten, die ständig wechselnde, aktuelle Inhalte auf nur zu einem kleinen Teil komplett vorgefertigten, d.h. statischen, Websites enthalten.
Dynamisches Web
Die von den Benutzern über den Browser angeforderten Webseiten werden erst dynamisch zum Zeitpunkt der Anforderung von besonderen Programmen erzeugt und können damit zum einen aktuell und individuell auf den Kunden zugeschnitten sein, erlauben zum anderen auch eine bislang nie gekannte so genannte „mediale Interaktivität“: Den Nutzern wird auch ohne ausgefeilte HTML-Kenntnisse ermöglicht, Inhalte ins WWW zu bringen, um sie dort zugänglich zu machen und/oder sich mit anderen auszutauschen. Es geht den Nutzern nicht mehr um die technische Realisierung, sondern um Inhalte. Die Unterscheidung von Content-Anbietern und Content-Nutzern schwindet zunehmend, da nun die Benutzer selbst Inhalte generieren können und die Anbieter mehr und mehr nur noch den Rahmen für die Content-Erstellung zur Verfügung stellen.
Neue Anforderungen im Internet
Dies hat zu völlig veränderten Anforderungen z.B. auch an den Datei- bzw. Bild-Upload geführt. Der Bild-Upload gehört zu einem der meistverwendeten Features des Web 2.0. So bieten Communities (z.B. StudiVZ oder MySpace) ebenso wie auch kommerziell ausgerichtete Portale (z.B. Immobilienscout24) den Upload von Bildern an. Hierfür unabdingbar jedoch ist zum einen die einfache Bedienbarkeit für den Benutzer auf der Clientseite, d.h. ein sicheres und unkompliziertes Hochladen oder Löschen der Bilder. Zum anderen stellt dies hohe Anforderungen an die Serverseite und deren Dateiverwaltung.
Und genau diese Rahmenbedingungen haben dazu geführt, dass sich das Gewicht von der synchronen zur so genannten asynchronen Kommunikation verschoben hat. Von Kommunikation spricht man hier deswegen, weil dahinter die Vorstellung steht, dass zwei Rechner „miteinander reden“ oder verständigen.
Synchrone Kommunikation
Bei synchroner Kommunikation werden Anfragen und Antworten jeweils vollständig und nacheinander abgearbeitet. Sender und Empfänger von Daten synchronisieren, d.h. sie warten, bis die Kommunikation vollständig abgeschlossen ist. In einer synchronen Client-Server-Kommunikation ist also der Client solange blockiert, bis der Server den Request angenommen, bearbeitet und der Response beim Client angekommen ist.
Die Vorteile dieses Kommunikationskonzepts sind offensichtlich bei Anwendungen wie dem Chat oder bei der Nutzung gemeinsamer Ressourcen, z.B. eines im Team bearbeiteten Dokuments. Denn bei der synchronen Kommunikation muss zuerst die Rückmeldung vorliegen, bis weitere Aktionen erfolgen können (unten findet sich dazu eine Grafik). Außerdem wird so jede Anfrage immer hinsichtlich ihrer Korrektheit verifiziert.
Das synchrone Kommunikationskonzept findet ihre Entsprechung im Prozessfluss einer traditionellen Webanwendung, die durch die Zustandslosigkeit einer HTTP-Anfrage bestimmt wird. Das unter Datenübertragung via HTTP beschriebene Request-Response-Prinzip von HTTP führt dazu, dass jede Benutzeraktion eine zugehörige Anfrage an den Server zur Folge hat. Verzögert sich die bei der HTTP-Dateiübertragung erforderliche Antwort des Servers oder bleibt diese aus, entstehen Wartezeiten oder sogar Abbrüche im Ablauf der Anwendung.
Nachteile der synchronen Kommunikation
Bezogen auf Webapplikationen gilt es hier Client- wie Serverseite zu beachten: Läuft ein Request-Vorgang, z.B. ein Bild-Upload, lokal auf dem Browser des Nutzers (Client) ab, ist dieser blockiert, bis der Server den Request vollständig bearbeitet und der entsprechende Response beim Client angekommen ist. Dies kann bei umfangreicheren Übertragungen bedeuten, dass die Webapplikation nicht reagiert und der Anwender zwischenzeitlich keine anderen Aktionen innerhalb der Website vornehmen kann. Servergestützte Webanwendungen wiederum müssen bei synchroner Kommunikation immer die komplette Seite übertragen, was bei komplexen Prozessen heißen kann, dass sich die Ladezeit verlängert.
Eine Lösung hierfür ist die Zwischenschaltung eines „Agenten“, über den die Kommunikation zwar synchron verläuft, der aber dem Client sofort eine „Eingangsbestätigung“ sendet und anstelle des Clients auf die Abarbeitung durch den Server wartet, sodass der Client nicht blockiert ist. Genau dies ist nun aber eigentlich wie bei asynchronen Signalen.
Asynchrone Kommunikation
Bei der asynchronen Kommunikation erfolgt das Senden und Empfangen von Daten ohne das Blockieren der Prozesse, d.h. zeitlich versetzt, sodass der Sender nicht auf die Antwort des Empfängers warten muss. Der Nachteil liegt in der fehlenden Rückmeldung bezüglich der Korrektheit bzw. des Ergebnisses der Anfrage, denn der Sender erhält – wie bei obiger Lösung mit einem zwischengeschalteten Agenten – nur eine „Empfangsbestätigung“.
Besonders interessante (und einfache) Ansätze bieten Ajax und IFrames, beides Lösungen für Webanwendungen, die unter dem asynchronen Paradigma geführt werden.