Skip to main content
Kent Academic Repository

occwserv: An occam Web-Server

Barnes, Frederick R.M. (2003) occwserv: An occam Web-Server. In: Broenink, Jan F. and Hilderink, Gerald H., eds. Communicating Process Architectures 2003. Concurrent Systems Engineering . IOS Press, Amsterdam, Netherlands, pp. 251-268. ISBN 978-1-58603-381-1. (The full text of this publication is not currently available from this repository. You may be able to access a copy if URLs are provided) (KAR id:13916)

The full text of this publication is not currently available from this repository. You may be able to access a copy if URLs are provided.
Official URL:


This paper presents `occwserv', the occam web-server. This is a highly concurrent web-server, written in the occam multi-processing language, that supports the majority of the HTTP/1.1 protocol. Dynamic process and channel creation mechanisms are used to create scalable `server-farms', each responsible for a particular web-server function -- for example, reading client requests or running CGI processes. The design of the web-server is presented, along with some early performance benchmark results. Although performance may appear a limiting factor (when compared to other web-servers such as Apache), much is gained from the simplicity and security of occam. Extending the web-server with new functionality, for example, is intuitive and largely trivial -- with the guarantees that code is free from race-hazard and aliasing errors. An experimental non-standard addition, the OGI (occam Gateway Interface), is also presented. This provides a mechanism for dynamically loading and attaching pre-compiled occam processes to the running web-server, that can then handle one or multiple client connections. A text-based style adventure game is examined briefly, that allows multiple clients to interact within a `multi-user dungeon' (MUD) style environment.

Item Type: Book section
Uncontrolled keywords: occam web-server concurrency
Subjects: Q Science > QA Mathematics (inc Computing science) > QA 76 Software, computer programming,
Divisions: Divisions > Division of Computing, Engineering and Mathematical Sciences > School of Computing
Depositing User: Mark Wheadon
Date Deposited: 24 Nov 2008 18:00 UTC
Last Modified: 16 Nov 2021 09:52 UTC
Resource URI: (The current URI for this page, for reference purposes)

University of Kent Author Information

Barnes, Frederick R.M..

Creator's ORCID:
CReDIT Contributor Roles:
  • Depositors only (login required):

Total unique views for this document in KAR since July 2020. For more details click on the image.