Tutorial basico de google wave bots

0
9615

TUTORIAL BÁSICO GOOGLE WAVE BOTS

A lo
largo de este tutorial crearemos un robot muy simple, que al
invitarlo a un Wave sustituye una tag por la fecha y hora actual.

Comenzaremos
creando un proyecto como se explicó en el tutorial anterior
“TUTORIAL BÁSICO GOOGLE APPLICATION ENGINE”.

Luego
añadiremos a la carpeta /war/WEB-INF/lib del proyecto los
ficheros: wave-robot-api.jar, json.jar y jsonrpc.jar que bajaremos de
http://code.google.com/p/wave-robot-java-client/downloads/list
y lo añadiremos a las libraries del proyecto mediante el menú
Project/properties…/Java Build Path/Libraries/Add jars…

En la carpeta /war crearemos una carpeta _wave para añadir dos ficheros:

donde
vemos que se informa este bot atenderá el evento
document_changed y cuestiones de profile (nombre, logo, descriptor).
Añadimos entonces la imagen y el index.html en el /war.

Vamos a
actualizar el web.xml como vemos a continuación:

El
servlet principal será Robiebot que atenderá la ruta
estándar /_wave/robot/jsonrpc y el RobiebotProfileServlet
responderá con información de profile también en
una ruta estándar para los bots de Wave.

Veamos
los servlets:

Este
servlet es sencillo, sólo implementa una interfaz
ProfileServlet para resolver la info que el bot entregará a
Wave para que el usuario vea el logo, descripción, etc.

Y ahora
el servlet principal:

Vamos a
analizarlo: implementamos
AbstractRobotServlet
un que ya tiene un método para interceptar eventos, que vienen
informados en bundle. Con el
bundle.wasSelfAdded()
el Wave nos informa que se acaba de añadir a nuestro bot en un
Wave. Si no fuera el caso
buscamos que si se ha producido un
EventType.DOCUMENT_CHANGED
y el texto del documento contiene el tag
<rb:now/>
generamos un replace en el documento.

Sólo
nos queda publicarlo e invitarlo a un wave:


Y
entonces genera el blip con el saludo y si escribimos el tag lo
sustituye por la fecha/hora actual.

Con esto
sólo estamos viendo el primer milímetro del ovillo
waves.

¿por
dónde seguir?

Otros
links interesantes:

Que
aproveche!

Dejar respuesta

Please enter your comment!
Please enter your name here