UCT CS Research Document Archive

Designing a Universal Web Application Server

Maunder, Andrew, Reinhardt van Rooyen and Hussein Suleman (2005) Designing a Universal Web Application Server. In Proceedings South African Institute of Computer Scientists and Information Technologists, White River, South Africa.

Full text available as:
PDF - Requires Adobe Acrobat Reader or other PDF viewer.


Modern Web server systems typically consist of a single Web server instance capable of utilising various backend technologies. For security reasons this Web server instance is run as the unprivileged user, the user ‘nobody’. This has the implication of having users make their Web components world-accessible so that such an unprivileged Web server instance may access them. World accessible files or directories are open to many threats including modification and removal by any system user, authorised or unauthorised. The X-Switch system attempts to provide a solution to this problem by allowing Web components to be run with an identical set of privileges as the component owner, an essential feature for maintaining secure multi-user server environments. The X-Switch system is a generalisation of existing solutions but attempts to provide a higher level of performance and scalability while maintaining the benefits of being independent of the implementation language used.

The X-Switch system’s experimental results demonstrated that a Web server that utilises run-time context switching can achieve a high level of performance. Furthermore it was shown that an X-Switch compatible engine can be developed to provide functionality matching that of existing Web application servers but with the added benefit of multi-user support. Finally the X-Switch system showed that it is feasible to completely separate issues of performance from the Web component code thus ensuring that the developer is free from the task of modifying his/her code to make it compatible with the deployment platform.

EPrint Type:Conference Paper
Keywords:Web application servers, scalability, context switching, process persistence, modularity
ID Code:222
Deposited By:Maunder, AJ
Deposited On:06 October 2005