How is SJS designed?

Simple Java Server is designed using a plug-in architecture. Each service provided by SJS is written as a plug-in, allowing developers to design and implement new services independently of each other and without altering the internal structure of SJS itself. The system is designed such that developers do not need to worry about the details of socket programming; the plug-in interface allows developers to interact with generic input/output streams. More information can be found at the project's wiki and Javadocs. Simple Java Server is licensed under the GNU General Public License, version 2.

Plug-in Architecture

SJS allows you to create as many internet services as you like via a simple plug-in architecture. In order to create an internet service, the programmer simply has to create a concrete subclass of AbstractRequestResponseAdapter (see documentation of AbstractRequestResponseAdapter and AbstractAdapter). The programmer need not worry about the details of socket programming as the AbstractRequestResponseAdapter allows the programmer to simply interact with generic i/o streams.

Class Diagrams

Here is a list of class diagrams for SJS version 1.0, without the adapters:


In order for developers to integrate the SJS server into Eclipse, you will need to install subclipse first: