A server chore is a process running on an Internet server, providing a single function. In general, this function is termed a web application. It runs isolated from other services on the server, specifically seperate and distinct from any web server. It provides its services on its own, dedicated TCP (or, possibly, UDP) port number. It runs under its own user ID.

In a more traditional service deployment, services are added to "the" web server--typically, Apache. Each service mingles with others in providing CGI executables or PHP files. The files are all commingled in the Apache file space, and a compromise of one gives access to all the file access rights of all the other installed functions (usually the user id "www-data").

This organization made sense when providing web services was a large and demanding task. With the growth of available power--measured in CPU, memory, bus bandwidth, or networking bandwidth--this need to share "the" web server across all services is greatly reduced. It is now quite reasonable to have any given service provide its own web interface through a simple library module. With this change of motivations, it thus becomes sensible to decouple services from each other.

My implementation can be found at: http://sources.vsta.org:7100/chore/index