ghetolay / jwamp

Java client and server implementation of WebSocket subprotocol WAMP
19 stars 6 forks source link

Non JSR-356 version maintained ? #20

Closed ghetolay closed 10 years ago

ghetolay commented 10 years ago

Let's talk about JEE 7 profile instead of JSR-356 and JSR-353. First cause it's shorter and then cause JWamp could use more Java EE 7 JSR.

As I'm working on JEE 7 compatibility, I had to do some changes to JWamp core. Separating JEE 7 and non JEE 7 stuff make the whole non efficient. This is definitely a lose-lose. Now I could separate it in 2 branch/project but I'm already having difficulty to find time to maintain 1.

So I'm wondering if it worth to have a non JEE 7 compliant version. JWamp was never stable, it hasn't even reached an official version just snapshots, so this change should not affect lots of people (if any). We should then concentrate on the future and in this future I don't see any Java websocket implementation not being JEE 7 compliant.

Also today, JWamp is officially compatible with just one WebSocket implementation : Jetty. And since Jetty is JSR-356 and JSR-353 (with JSON-P) compliant this means i'm working on 2 JWamp version with both working on the last Jetty implementation.

JWamp was created in order to be independant from websocket implementation so what's best than following java profile ?

I'll keep this open for few weeks and if nobody disagree, JWamp will only run on Websocket container compatible with JEE 7 profile.

P.S.: You can preview the changes on the jee7 branch (not at the moment of this writing but soon)

ghetolay commented 10 years ago

Correction I won't use JSR-353 cause it doesn't cover object binding. How on earth can you work on a JSON mechanism and do not include object binding !!

trumpetinc commented 10 years ago

I think that relying on JSR356 is a very good idea (it will drastically simplify things).

I don't think that requiring a full JEE 7 profile for the container is a good idea though - there are huge opportunities for WAMP server and client implementations on mobile.

But maybe that isn't what you are talking about? Is this just a matter of saying (effectively) that jWAMP is going to require a JSR356 compatible websockets implementation?

ghetolay commented 10 years ago

Yes this is exactly what I meant, I got confused.

So jWAMP will work with any JSR356 container with or without JEE 7 profile. I've committed the first draft of this version (on jsr356 branch). I'll also start versioning from it (once it's stable).

ghetolay commented 10 years ago

JWamp will officially focus into working only with JSR 356 container from now.