Thanks a lot for your help Vincente, I'll check everything and report back :-)
D Il giorno 30/dic/2011 01:34, "Vicente J. Ruiz Jurado" <[email protected]> ha scritto: > El 29/12/11 20:30, Davide Carnovale escribió: > > 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 > > > > Hi David: > > First of all, I'm not a WIAB internals expert. But as I was patching the > websocket part these months I can give you some advices: > - WIAB now uses websocket (via jetty) for clients like chrome and > socket-io-java for other browsers like firefox. > - I recommend you to read: > + this list archive, for instance the thread "jWebSocket vs Atmosphere > vs Cometd" or my review request: "Jetty updated to version 8, socketio > patched and socket/socketio workaround" > > http://mail-archives.apache.org/mod_mbox/incubator-wave-dev/201110.mbox/thread > + > http://www.ibm.com/developerworks/web/library/wa-reverseajax4/index.html > + Finally, I think that we should follow the recommendation of Tad > Glines (author of socket-io-java): > > http://mail-archives.apache.org/mod_mbox/incubator-wave-dev/201110.mbox/%3CCAKF7Ee1w1qgOuD6Em=BVAz5jWFrzfnsCKYZOd=+gdexhdnq...@mail.gmail.com%3E > (thanks indeed Tad by the way) > > About authentication, see the websocket code part in > ServerRpcProvider.java. > > About Android (and mobile in general), I was asking myself if we can use > some library like: > http://code.google.com/p/gwt-mobile-webkit/ > https://github.com/dennisjzh/GwtMobile > to reuse client ui code. > > Bests, > -- > Vicente J. Ruiz Jurado > > http://comunes.org > http://ourproject.org > http://homes.ourproject.org/~vjrj/blog (@vjrj) > > "For the more there are who say 'Ours,'-not 'Mine'- by that much is > each richer ." [Dante on the joys of sharing (Purgatorio, XV)] > > > > > > >
