Home
News
Download
Documentation
Support
Development
Licence
People

GNU-Paperclips

Java Servlet 2.2 Container

Development

GNU-Paperclips is actually several different development projects. We try to keep projects as self contained as possible so that code can be re-used for other projects.

Some parts of what users might think of as GNU-Paperclips are actually developed outside of the Paperclips project, for example GNUJSP is a seperate effort that is included in the GNU-Paperclips distribution as a .jar file.

Here is a list of the different projects that are part of or associated with Paperclips.
 
 
gnu-socketserver a TCP server API... provides a pool of threads that recieve TCP socket connections and process them. Paperclips uses it to provide the low level server functionality.
The CVS module for socketserver is included in the CVS module for Paperclips. Seperate releases are rarely made but might be when socketserver has more dependants than just Paperclips.
gnu-paperclips a Servlet API container aiming for ease of use primarily and fast serving speeds secondly. The code is design to be flexible and adaptable. Many parts are pluggable with alternative implementations.
gnu-websecurity  a security API specifically for webserver environments. Java has rather caught up since we started this an we're working out whether to depreceate this API in favour of the security stuff in Java JDK 1.2.
This project also includes the filters required for basic security. These will come as standard with Paperclips once it has achieved Servlet API 2.3 compatability (filters are part of the new spec).
Scheme xml parser to develop a validating XML parser with GNU-Kawa. Kawa is a Scheme->Java bytecode compiler. For those of you who don't know Scheme is a LISP like language, it's very simple and elegant and particularly good for language translation. 
You can find out more about Kawa here.

The idea behind this project is that such a tool could be used to build a new improved JSP engine for Paperclips, and could also handle WAR file deployment descriptors.
We shall be putting up a page dedicated to this project soon. There will be a link here.
 

Session Load Balancer to develop a load balancing tool for sessions. The project consists of 3 parts:
  • a session manager which serializes session data to byte arrays
  • a UDP/multicast based protocol layer to transfer session information
  • a TCP mesh based protocol layet to transfer session information
the two protocol layers are alternatives for transferring the session info. Basically the UDP version will be used on well managed ethernet or token-ring networks and will require zero configuration (it will use the network to find out the details it needs to share info). The TCP mesh will be configured by a file.

There is a lot of discussion about the design and implementation of this project on the paperclips list right now so join up and join in!
 


Projects outside of Paperclips
GNUJSP the Paperclips JSP engine. It's actually a seperate project though there is quite a bit of feedback from here to there.
 
GPL Servlet API an free alternative to Sun's servlet API. This allows us to run a completly free software servlet engine. It could help you do that too. 
It's a seperate project although Paperclips developers have helped out with bug fixing quite a bit.
 
Kaffe the free Java Virtual Machine. Kaffe is a great VM - it works really well with Paperclips and can be run on some pretty unusual hardware. We hope that in the near future we'll be able to offer a single download with the kaffe vm and all the Paperclips components.

We hope that soon we will have a description of the Paperclips architecture to here, but right now we're just so busy writing code that it can't be done.

Please do let us know what else you'd like to see though, UML diagrams? JavaDoc? class heirarchies? web cvs?
 
 

contact: webmaster   last updated: 24th August 2000