Using Google Wave reference implementation with ejabberd

Following up our work with Google in Mountain View this week (Federation day), here is the in a few step how to configure Google Wave reference implementation.

Using Java 6

Make sure you have Java 1.6.0 installed on your system to run Google reference implementation.

For example, on Mac OS X you can change Java preferences or type the following commands:


$ export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home
$ export PATH=$JAVA_HOME/bin:$PATH

Getting the code

To retrieve the code, you need to have Mercurial installed on your system. Type hg –version to check that this is the case. If you need to install it, you can download a binary version for Windows or Mac OS X from this page.

Then, check out the code with Mercurial.


hg clone https://wave-protocol.googlecode.com/hg/ wave-protocol

To compile the code, type:


ant

The dist directory should now contain the resulting version of the Google Wave server: fedone-0.2.jar

Creating the certificates for Google Wave server

The process to create those self-signed certificates are described on Google Wave wiki: Certificates.

Configuring ejabberd

To configure ejabberd, simply add a new listener service in the listen section of the configuration file:


{listen,
[
...
{8888, ejabberd_service, [{access, all}, {shaper_rule, fast},
{hosts, ["wave.process-one.net"],
[{password, "foobar"}]}
]}
]}.

You can then restart ejabberd. The port 8888 should now be open and ready to accept connections from the Google Wave server.

Starting the Google Wave server

With the following example command, we launch the Wave server reference implementation and ask it to connect as a component to ejabberd.


java -jar dist/fedone-0.2.jar --client_frontend_hostname localhost --client_frontend_port 3456 --xmpp_component_name=wave --xmpp_server_hostname=process-one.net --xmpp_server_ip=127.0.0.1 --xmpp_server_port=8888 --xmpp_server_secret foobar --xmpp_server_ping="" --certificate_domain process-one.net --certificate_private_key test.key --certificate_files test.cert --waveserver_disable_verification true

You should now see the Google Wave component in the server service discovery:

<img src="http://www.process-one.net/images/uploads/Wave_disco.png" style="border: 0;" alt="image" width="697" height="514" /

Leave a Comment