Hi all,
I'd like to contribute to apache wave, in particular in the c/s protocol
area, my ideal goal (in wave terms) is to make a working c/s protocol and
an android API that could later be used to build any kind of wave clients.
(because my general goal, outside of wave scope, is to have a special
purpose android client)

First of all i have to say that neither websockets nor client server
communication is my area of expertise, so i'm sure i'll encounter a lot of
troubles and will need your help various times. In fact this is my first
call for help. please bear with me...

So far i've read (hopefully) all the docs i've found on the net, spread
between waveprotocol.org and incubator.apache.org and yet i don't have a
clear idea on the current state of wave in regard to the c/s protocol.

For what i understood, there are 4 ways to talk to wave right now.
1 wave api
2 servlets
3 socket.io
4 websockets

1 is an heritage of the past and will be or is already discontinued, 2 is
mostly a hack to enable caching on the webclient, 3 is the way used by the
webclient, 4 should be the "right" way but it's mostly experimental (i
guess because of the immaturity of the ws standard).

is all this right?
if yes, then the right way to implement the c/s protocol is via websockets
and using this document [1] as a guidance, right?

in this regard i've already started to experiment a bit. i'm using this
websocket implementation [2] on the android phone to connect to the wave
server, without success to far. First of all, i couldn't figure out what
version of the draft for ws is wave using atm, secondly, when i try to
connect (no matter the version i'm using) i get a 302 response.
For what i could understand, 302 means the resource has been moved and a
redirect will happen, but this doesn't make sense to me in the case of
websockets.
On the server side of things, i've hooked up the debugger to the wave
server and put some breakpoints here and there, but none is ever triggered,
so either i'm after the wrong classes or the server isn't getting any
request at all. is there any kind of authentication i have to go through
before i can send messages to the server? or is the authentication itself
done with messages?
All i could find was this doc [3] but it describes only the webcliant
authentication via jaas and i guess that doesn't apply to websockets...

so to recap, here's a list of questions that i hope will help me tackle
this problem from the right angle:
- which is the right way to communicate with a wave server? (my guess is
websocket)
- which ws standard draft if wave using atm? (my guess is [4])
- is the websocket lib i've choosen good for the client, or am i forced to
use jetty as wave seems to use that particular one? (my guess is that the
lib is ok)
- is authentication required with ws? what kind of auth is used?
- from which class in the wave server should i start looking in order to
get an idea of what's going on? (my guess is
WaveWebSocketServerChannel.java)
- from a talk in the wave summit i understood there was an eclipse
preference file with code style and other useful stuffs, but i can't seems
to find it, is it still true?

any kind of help is much appreciated, including ideas, thoughts and
pointers to documentation i might have missed.

Thanks everybody for reading this very long mail and happy new year! =)
Davide

[1]
http://www.waveprotocol.org/protocol/design-proposals/clientserver-protocol
[2] https://github.com/TooTallNate/Java-WebSocket
[3] http://www.waveprotocol.org/protocol/design-proposals/authentication
[4] http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-10

Reply via email to