The Jabber WebClientService consists of two jabber components. A http component which handles the communication over http and a wcs component which handles the communication with the jabber server. Both modules are written for jabberd-1.4.x (Note: They can not be used with any other jabber server as they are internal components - though they can be set up to run as seperate processes).
WebClientService was initially developed by Jeremie Miller and is now maintained by Stefan Strigler <steve@zeank.in-berlin.de>.
If you want to run your own installation of JWChat you need to install theses modules first.
You can also choose to use Anonymous CVS to get a current snapshot. To do this please follow these steps:
Change to your jabberd installation directory first.
export CVSROOT=:pserver:anonymous@jabberstudio.org:/home/cvs cvs loginat password prompt, just hit the "Return" key.
cvs -z3 co -d http WebClientService/httpAnd finally the wcs component:
cvs -z3 co -d wcs WebClientService/wcs
Compile both modules by executing
make -C http make -C wcsNow you have to configure your jabber server to make use of both components. For detailed configuration instructions please follow the steps in the README's of both components.
To get a clue how your jabber.xml should look like you can download my jabber.xml as an example.
If you plan to run both modules as seperate processes please have a look at the README of some other external component like mu-conference or aim-t. You should be aware that this will cost you a performance penalty at about 50%.
For submitting bugs or making feature requests feel free to use the modules at our JabberStudio project site.
perl setup.pl jabber.zeank.in-berlin.de/wcs/docs jabber.zeank.in-berlin.de:8080 jabber.zeank.in-berlin.deNow point your browser to this location and follow the instructions there.
For those interested in how it works all together here is a brief description of both components:
The http component enables your jabber server to handle incoming http connections on the configured port. It parses all incoming HTTP into an xml packet and then routes those xml packets to the configured component to handle it. Responses from the component are then written back to the connection.
The wcs component handles the communication with your jabber server. It converts incoming packages from the http component into proper jabber packets which can be understood by jabberd-1.4.x and vica versa (see figure below).
Asynchronous incoming packets from the jabber service are being held in a session based cache which can be polled by a client. Response output format can be chosen at runtime accordingly to a specific request. Known output formats are HTML, XML and JavaScript so far.
Due to its modular design the component can be extended very easily.