Free tutorials for Java, Eclipse and Web programming



Google Wave - Tutorial

Lars Vogel

Version 1.3

02.01.2010

Revision History
Revision 0.129.08.2009Lars Vogel
First version
Revision 0.230.08.2009Lars Vogel
Added embedded
Revision 0.301.09.2009Lars Vogel
clean-up
Revision 0.402.09.2009Lars Vogel
more information
Revision 0.503.09.2009Lars Vogel
Screenshot of Wave, first working robot
Revision 0.606.09.2009Lars Vogel
Clean-up of description, better GAE description
Revision 0.707.09.2009Lars Vogel
Added buzzword bot from Oliver Gierke
Revision 0.811.09.2009Lars Vogel
Added link to Google Wave example apps
Revision 0.929.10.2009Lars Vogel
Added link to the standard Google Wave system
Revision 1.025.12.2009Lars Vogel
General re-work
Revision 1.128.12.2009Lars Vogel
improved robot description
Revision 1.230.12.2009Lars Vogel
added one week in average to wait for account
Revision 1.302.01.2010Lars Vogel
added logging

Google Wave

This article describes Google Wave and the usage of the Google Wave API to build a robot.

This article was developed with Java 6.0 and Eclipse 3.5.


Table of Contents

1. Google Wave
1.1. What is Google Wave
1.2. Getting access
1.3. Wave, Wavelets and Blips
1.4. Protocol
2. Extensions
3. Installation of the Google Tools for Eclipse
4. Installation requirements for Wave Robot Development
5. Robots and Google App Engine
6. Your first Robot
6.1. Overview
6.2. Create Project
6.3. Add libraries
6.4. Create Servlet and Servlet mapping
6.5. Create Configuration File
6.6. Configure your application
6.7. Deploy your application to GAE/J
6.8. Test your robot
6.9. Extend your robot
7. Logging
7.1. App Engine
8. Thank you
9. Questions and Discussion
10. Links and Literature
10.1. Google Wave Links

1. Google Wave

1.1. What is Google Wave

Google Wave is a communication platform which merges the mediums email, forum, chat, instance messaging and wiki.

Google Wave can be separated into the product, the platform and the protocol. The product is what people can use, the platform allows developers to extend the Wave product and the protocol takes care of the synchronization between wave documents and other services.

The Google Wave product looks similar to the following screenshot.

1.2. Getting access

Currently Google is running a beta program so not everyone can join Google Wave. You can sign-up to a waiting list on the Google Wave homepage . Google tries to grand access to Wave as fast as possible; currently access is usually given within a week after sign-up.

Google Wave has two environments. The Wave sandbox and the standard Wave Server. The standard wave server can be found https://wave.google.com/wave . The Wave sandbox system can be found here https://www.wavesandbox.com .

1.3. Wave, Wavelets and Blips

A wave is a threated conversation between one or several parties (people or programs (robots)).

A wave can be seen as an envelop which contains wavelets. A wavelet is a subset of a larger conversation (== wave). Access control can be given based on wavelets and all participants in a wavelet have full read and write access to the wavelet.

Wavelets contain blips. A Blip is a single, individual message. Blips can be have the status "published" or "draft". Blip stores their content in a XML document.

The Google Wave API operates either on wavelets or on blips.

1.4. Protocol

The Wave protocol is based on XMPP ("Extensible Messaging and Presence Protocol").

The Google Wave protocol will immediately update all clients in case a change occurs.

Changes in a wave the are communicated as deltas between client and server, e.g. only the changes are communicated.