I was thinking about implementing JSON-RPC over XMPP (jabber). I am
looking for a solid JSON-RPC framework in java and extending that and
Jabsorb looks like it's well tested and usable for my purpose.
I am thinking about using the Smack jabber framework to implement the
jabber side of things and for the rest mimicking what JSONRPCServlet
does to implement calling methods and returning values.
Something interesting I am trying to achieve by using jabber, is to
call multiple clients at once when they are in a conference room. Of
course, this will only work when there is no return value.
Are there any pointers you could give me?
Would you be willing to accept my work (when it's done, or at least
usable) as a contribution?
Regards,
Matthijs Wensveen.
Also, still no JavaScript client. Found some minor bugs in my code and
added some new features, like timeouts etc. Cleaned up de code a
little too.
Regards,
Matthijs
PS. Unfortunately no unit tests. I couldn't come up with a way to
either mock the xmpp connection or use some sort of embedded xmpp
server.
Matthijs Wensveen wrote:
> I've been using git-svn to track the jabsorb svn repository while
> being able to commit my own changes locally. Does anyone know what is
> the best way to create patches for the changes I've made locally.
> Currently I use: git diff remotes/git-svn, optionally with a path for
> which a diff is to be made. I can mail the output of this command and
> I think that can be used as a patch file, but I'm not sure.
>
We have a wiki page on it here:
http://jabsorb.org/SubmittingPatches
> Also, still no JavaScript client. Found some minor bugs in my code and
> added some new features, like timeouts etc. Cleaned up de code a
> little too.
>
> Regards,
>
BTW I'm quite interested in your work. XMPP is a very appropriate
transport protocol for doing async messaging and point to multi-point
messaging and I really hope the browsers will adopt it as a standard
messaging layer for JS web applications. This would be better than
people having to hack and workaround HTTP limitations like comet/bayeux
does. XMPP is a perfect fit for the job.
Regarding using a 1x1 pixel flash app for doing socket comms, I'm
personally not against this (as its use would be optional). I wouldn't
mind to have a general JSON-RPC socket transport client that used this
approach. A Flash/AS3 port of the client for the existing HTTP transport
is something I'm interested in too.
Cheers,
Michael.
Hi.
Trying to find an appropriate javascript lib to connect to a jabber
server turned up a few results (jsjac and xmpp4js seem good
candidates). Unfortunately all of them suffer from 'same origin
policy' restrictions, so it's (almost?) impossible to create a client
that can connect to just any jabber server (without server-side
trickery like a servlet or a proxy). Xmpp4js claims to be able to do
it using something that is removed from the current xmpp specs.
Unfortunately I'm unable to build xmpp4js from source due to some
missing dependency... sigh..
Anyway, the proposition of a hidden flash or applet seems more
appealing now. Not very good in Flash, but definitely in more
widespread use than java (plugin). I'll give it a shot. Hopefully
flash will allow cross-site connections. I think even applets don't
allow this.
It would be good to implement it in such a way that the HTTP transport
could be plugged in as well, and possibly other transport. I very much
liked the way the java client was designed with pluggable transports.
It'll probably take a while though... Any hints or pointers?
Thanks,
Matthijs
PS. I'll read the SubmittingPatches topic asap.