[Back]


Diploma and Master Theses (authored and supervised):

J. Korherr:
"RESTful web applications with reactive, partial server-side processing in Java EE";
Supervisor: S. Dustdar, M. Vögler; Institut für Informationssysteme, Distributed Systems Group, 2015; final examination: 2016-01-11.



English abstract:
Classic web applications are sending too much data from the web server to the client browser, because they are using full page requests, although only parts of the UI are actually changing.
This implies that resources on the web server and network traffic are wasted, and furthermore the user experience suffers, because of longer response times. In fact, it is sufficient to only rerender
those parts of the current web page, which are actually changing, whereas the other parts of the page can remain unchanged. This approach, called single-page web applications, can be implemented using AJAX, unfortunately, introducing problems like decreased bookmarkability and reduced back-button support. However, by introducing the HTML5 history API, these problems can be circumvented.
This thesis aims to add declarative support (i.e. using special syntax rather then having to call the API manually) for using the HTML5 history API with Java EE by developing a novel web application framework, built on existing Java EE standards, for creating single-page web applications, called Mascherl. This framework employs partial-page rendering using AJAX in combination with the history API, in order to make the resulting single-page web application
bookmarkable, and to allow the browser´s back- and forward-buttons to work as expected. The framework uses server-side rendering with partial model evaluation for the partial-page updates, as opposed to client-side rendering used in popular JavaScript single-page web application frameworks like AngularJS, EmberJS, or Google Web Toolkit (GWT).
Moreover, this thesis also addresses the scalability problem of prevalent web frameworks, which mainly exists because of the usage of stateful servers and synchronous, blocking request processing. Using the resulting framework, it is possible to create RESTful single-page web applications, which run on stateless Java EE servlet containers, and can therefore be horizontally scaled without further considerations. In addition, the framework has built-in support for
asynchronous, non-blocking request handling, which allows the web application server to serve a great number of concurrent requests without blocking.
On top, this thesis presents an example application, which is built using the developed framework. This example application is then used for evaluating the framework´s performance.

Created from the Publication Database of the Vienna University of Technology.