Wave Federation Prototype Server

This post will be an introduction to our series of posts related to the Google Wave Federation Prototype Server. We will introduce the basic concepts that will allow us to have our own wave server. We will give an example of the instalation of our own server and several tips that can be really handy if you want to do it yourself.

The Wave server is based on XMPP technologies.

Extensible Messaging and Presence Protocol (XMPP) a set of open XML technologies for presence and real-time communication developed by the Jabber open-source community in 1999, formalized by the IETF in 2002-2004, continuously extended through the standards process of the XMPP Standards Foundation, and implemented in a wide variety of software, devices, and Internet services. More info

In a few words, the Google Wave server uses a standard XMPP server ( commonly used in Jabber, Gtalk, iChat… ). What Google developed is not a new server, but an application that implements the XEP-0114 extension of the XMPP server.

XMPP is the responsible of the communication between different servers. This way the extension used by the wave server has to be extension of the XMPP but doesn’t have to be the same as the original. In other words, different wave server extensions can interact without problems.

Wave server federation

Wave server federation

The prototype version that Google has released doesn’t have any robot, gadget or embedding functions. Once they release a more stable version, companies will be able to develop any kind of extensions for their own server. Who knows where that can lead us to?

The current version of the Federation Wave Server is extremely simple, it just allows read/write actions and the access control is limited to see if a user has or not access to a wavelet. It is still uncertain to what detail Google will give his server’s source code but it will definitely give a lot of possibilities to the ones who want to own his own server and develop for it.

Do you want to have your own server? In an older post you can find all the necessary information to install the prototype on your own server. Direct link to Google Install Wiki.

But there is something else you have to know before you try to install this server. This prototype does not include any kind of web, so if you want to taste the delicious web interface you have seen in the preview or in the videos, this is not the way. On this release you will be able to interact with wave server using a text-based client. It is not so nice, but it does its job.

FedOne client

For security reasons we block the server domain

As we can see, the user is onthetopofthewave@…  , there is a new wave ( w+5seE3nXQaoC1 ), and it is opened. The wave version is (2:8805c1432913fa422e1ad69db2c160e832610160) and the participant is same user. To see if everything is ok, Google has develop an agent called Echoey. You can run it on the same server or you can use the Echoey on Google Wave server. To use them you should only have to run ./run-agent-echoey.sh and addechoey@yourdomain.com or if you want to try federation, you can add echoey@acmewave.com and use Google agent.

If echoey reply your blips, federation is working. If not, there is something wrong on your configuration. If this is your case, you can try to check your configuration using the next tips. You will find the most common errors in configuration file.

Installation tips

When you install Prototype server you have to take care about little configurations. We have collected the most common errors editing this files.

1.  run-config.sh.example -> rename it to run-config.sh

2. #echo "You must configure the run-config.sh script" ; exit 1

This line has to be commented, otherwise program will exit.

3. WAVE_SERVER_DOMAIN_NAME=yourdomain.net

It is important to do not add the subdomain wave. at your domain.

4. WAVE_SERVER_PORT=9876

Remember to OPEN firewall for this port.

5. XMPP_SERVER_SECRET=VERY_VERY_SECRET

XMPP_SERVER_SECRET has to be the same secret as you register

in Openfire -> External Component Settings -> Allow to Connect -> Shared Secret

6. PRIVATE_KEY_FILENAME=/home/wave/test.key
   CERTIFICATE_FILENAME_LIST=/home/wave/test.cert

We recommend to add the FULL PATH.

As Google updates the source of the Federation Server we will try to give some relevant info here.

Moreover we are preparing new content concerning this topic that sure many companies and developers will find interesting.
Please stay tuned for the latest news on the topic.

Tags: fedone, have your own wave server, Prototype, server, Wave Federation, wave server, XMPP


If you like what you see, please, support us:

  • PDF
  • Digg
  • del.icio.us
  • TwitThis
  • Facebook
  • Google Bookmarks
  • StumbleUpon
  • RSS
  • Print


Posts that may be of your interest:

  1. Google Wave Federation protocol updates
  2. PyGoWave – Wave Server
  3. Wave Federation
  4. Understanding Wave protocol – Part I
  5. Access Control in Wave

This entry was posted in Wave Federation, Wave Servers and tagged fedone, have your own wave server, Prototype, server, Wave Federation, wave server, XMPP. Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.

This website uses IntenseDebate comments, but they are not currently loaded because either your browser doesn't support JavaScript, or they didn't load fast enough.