Das World Wide Web (kurz Web) hat sich als Plattform für verteilte, vernetze Anwendungen etabliert. So auch für Anwendungen, die die direkte Interaktion von Anwendern miteinander unterstützen. Diese Arbeit beschäftigt sich mit den technologischen Herausforderungen, die aus der Umsetzung von Echtzeitinteraktionen im Web erwachsen. Echtzeitinteraktionen sind eine Annäherung an Interaktionen, in denen der Moment einer Benutzeraktion und der Moment der Wahrnehmbarkeit des Effekts durch andere Anwender übereinstimmen. Betrachtet wird das Spannungsfeld zwischen Interaktionen die der Erlangung eines gemeinsamen Ziels und Interaktionen die der Erlangung individueller Ziele dienen. So wird zum einen untersucht wie die Zeit zwischen Benutzeraktion und Wiedergabe des dazugehörigen Effekts so kurz wie möglich gestaltet werden kann. Zum anderen werden die Auswirkungen der Gleichzeitigkeit von Aktionen verschiedener Benutzer mit Blick auf deren Absichten behandelt, insbesondere für den Fall, dass sich die Aktionen auf ein Anwendungsobjekt (z.B. ein Dokument oder eine Auktion) beziehen. Es entsteht ein Softwarerahmenwerk, das die Realisierung von interaktiven Anwendungen mit Echtzeitanspruch beschleunigt und Entwicklungs- und Programmieraufwände somit deutlich verkürzt. Als Hintergrund der Arbeit werden die internationalen Technologiestandards um die Hypertext Markup Language und gängige Praktiken für deren Einsatz vorgestellt. So wird zunächst der technologische Rahmen definiert in dem die Lösung zu suchen ist. Ausgehend von dem auf Ressourcen ausgelegten Architekturstil des Webs werden dann bekannte Methoden aufgezeigt um auf den Zustand einer gemeinsam genutzten Ressource zuzugreifen. Interaktionen werden mittels wechselseitigem Lesen und Schreiben auf Ressourcen abgebildet. Entsprechend werden die aufgezeigten Methoden mit Blick auf ihre Tauglichkeit für die Realisierung von kooperativen und konkurrierenden Echtzeitinteraktionen diskutiert. Als probate Lösung, die sowohl Unmittelbarkeit als auch Fairness gewährt, wird eine Kombination aus Operational Transformation und Bucket Synchronization Verfahren identifiziert. Im Konzept werden beide Verfahren zusammengeführt. Es entstehen ein Kommunikationsschema für Benutzeraktionen auf Basis von Operation und ein Algorithmus für die Auflösung von Konflikten zwischen gleichzeitigen Operationen unter Berücksichtigung der Benutzerabsichten. Darauf aufbauend wird ein Model für die Darstellung von Zuständen für Anwendungsobjekte eingeführt. Als Basis für die Evaluierung wird das Konzept vollständig implementiert. Die Implementierung bildet die Grundlage für Korrektheit- und Geschwindigkeitstests. Außerdem wird damit eine Fallstudie durchgeführt. Die ersten Tests bestätigen die korrekte Umsetzung des Konzepts in der Implementierung. Die Geschwindigkeitstests zeigen Schwächen in der Skalierbarkeit der Implementierung. Die Fallstudie bestätigt, dass die Ziele mit Blick auf den Softwareentwicklungsprozess erreicht wurden.
Index Terms
- Instant Synchronization of States in Web Hypertext Applications / Unmittelbare Synchronisation von Zuständen Web Hypertext Anwendungen