
It’s up to you to use whatever protocol you want after all, but I thought it’d be interesting to show you how we can leverage Google’s own Jabber infrastructure. You may also wonder why not using raw XML-RPC or standard SOAP for these kind of services? That’s another possibility, of course. I can imagine Google Talk providing some cool services as well in the future, and I’m pretty sure they will. There are many possibilities, and I’m sure others will find some clever use cases for that. doing some home automation to make you house warm when you come back from work in a cold winter.triggering Continuous Integration servers which would support Jabber’s XML-RPC support.

I can also imagine some other use cases, like: So you could run a jabber RPC server which launched the VNC server telling it to reverse connect to your external machine

The VNC server will “reverse connect” to an external client. Some people want to use VNC to manage their home server, however you do not want to open a port on your firewall to allow VNC access from the internet (VNC is not very secure).

echo ( 345 )Ĭurrently, the improved Groovy XML-RPC library is in CVS Head only, so if you’re impatient and can’t wait for a new Groovy release, you’ll have to build it yourself from sources! You propably also noticed you need two GTalk buddies who’ve authorized each other to make this sample work.Ī good question to ask yourself is “uh, well, cool, but what can I do with that?” Here’s a potential use case John told me about where you could want to use Groovy’s XML-RPC support over Google Talk : echo ( "Hello World!" ) println serverProxy. login ( "clientId", "clientPassword" ) // create a transparent proxy around the remote serviceĭef serverProxy = new JabberRPCServerProxy (clientConnection, ) // it's time to call our service as if we were manipulating a local object Import .* import // let's connect to Google Talkĭef clientConnection = new GoogleTalkConnection () clientConnection. That means it’s now possible to do remote procedure calls through Jabber.Īfter all these presentations, it’s high time to hack some code, isn’t it? Let’s create a simple echo service, which will simply echoes whatever we send to it.
XML RPC CLIENT GOOGLE CODE
With this library, we can also build our own payloads to support JEP-0009 and to programmatically make RPC calls.įinal point to glue everything together: my brilliant friend John Wilson, who wrote the Groovy XML-RPC module, built upon the Smack library and its XML-RPC code to add XML-RPC support through Google talk! Groovy’s XML-RPC is particularly easy to use to expose XML-RPC services through some clever use of closures in Groovy. JiveSoftware developed a Jabber library called Smack that you can use to “speak XMPP”! They recently improved this library to support Google Talk pecularities (TLS/SSL connection). This JEP defines a method for transporting XML-RPC encoded requests and responses over Jabber/XMPP. And there’s one JEP of interest for us today: JEP-0009. The Jabber foundation developed an interesting set of complementary protocol extensions by allowing custom XML payloads to be developed.

XML RPC CLIENT GOOGLE SOFTWARE
XMPP was popularized and standardized through the IETF by the Jabber software foundation with its famous open, secure, ad-free alternative to consumer IM services like AIM, ICQ, MSN, and Yahoo (quoted from their site).Ī particular benefit of choosing an open platform is that it takes advantage of available client GUIs for instance, and moreover, it can leverage specific and standardized extensions of the XMPP protocol – called JEPs. The most clever step in that direction was their choice of protocol for their IM solution: XMPP. With the recent release of Google Talk, the fine chaps at Google entered the Instant Messenging market.
