Treffer: RESTful web applications with reactive, partial server-side processing in Java EE
Weitere Informationen
Zusammenfassung in deutscher Sprache ; Klassische Webapplikationen senden zu viele Daten vom Webserver zum Browser des Benutzers, weil für jede Server-Anfrage eine vollständige Seite generiert und übertragen wird, obwohl sich nur Teile dieser Seite wirklich ändern. Diese Verschwendung von Server- und Netzwerk-Ressourcen führt zu einem verminderten Nutzererlebnis, aufgrund der längeren Anfrage- und Übertragungszeiten. In Wirklichkeit reicht es vollkommen aus nur die Teile der aktuellen Seite neu zu berechnen und zu übertragen, welche sich auch tatsächlich ändern, wohingegen alle anderen Teile der Seite unverändert bleiben können. Dieser Ansatz, welcher unter dem Begriff "single-page Webapplikationen" bekannt ist, kann mit Hilfe von AJAX implementiert werden, wobei das jedoch zu neuen Problemen führt, wie z.B. schlechterer Unterstützung für direkte Links zu jeder beliebigen Seite der Webapplikation oder verminderter Funktionalität des Zurück-Buttons des Browsers auf der Webseite. Durch die Verwendung der HTML5 History API können diese Probleme jedoch beseitigt werden. Das Ziel dieser Arbeit ist es die HTML5 History API auf deklarative Weise (d.h. mittels spezieller Syntax anstatt expliziter Aufrufe der API) in Java EE einzubinden. Realisiert wird dieses Ziel durch die Entwicklung eines neuen Webframeworks für die Erstellung von single-page Webapplikationen, basierend auf etablierten Java EE Standards, genannt Mascherl. Dieses Framework nutzt partielles Rendering zusammen mit AJAX und der HTML5 History API, damit die resultierende Webapplikation bookmarkfähige Internetadressen verwendet sowie die Zurück- und Vorwärts-Buttons des Browsers wie erwartet unterstützt, obwohl rein technisch der Webbrowser immer auf derselben Webseite bleibt. Das Berechnen und Rendern der partiellen Aktualisierungen der Webseite geschieht dabei vollständig am Server, im Unterschied zu bekannten Vertretern von "single-page Webapplikationen", die auf JavaScript basieren, wie z.B. AngularJS, EmberJS, oder dem Google Web Toolkit (GWT). ...