video izle video izle video izle video izle porno sikiş izle dizi izle video izle video izle

September 25 th

5

XMPP Mini-Series: Part 2 – How Google Wave Uses XMPP

by David

In Part 1 – 7 Advantages of  XMPP we discussed some of the strengths of XMPP. In this second part of our XMPP Mini-Series we will concentrate on how Google Wave uses XMPP. Of note: this particular part has drawn a lot of attention in the blogosphere lately, based on an article which claimed that Google had developed a “full-featured XMPP Client”.

I hope to make is clear in this article that Google has not, nor do they claim to have, developed a XMPP Client. Although, it is easy to see how one could jump to that assumption given that what you see on your screen looks and feel like XMPP. Moreover, I don’t think the comment deserves the pedantic scrutiny that it has received. In fact, I thought the post was very well written and very clear describing the architecture and clearer with the point it was trying to make: that XMPP is a great tool. That being said, how does Google make the magic happen.

The best explanation can be found in a very short article, by J. Aaron Farr, titled Wave’s Web of Protocol. The diagram below comes from that post and is offered freely by the author.

wave_protocols

by J. Aaron Farr

This diagram is the best I have come across to date and I think very clearly outlines the protocols used here. Thus, the following protocols and APIs being used by Google Wave are:

  • Federation Protocol         –  XMPP
  • Robot Protocol                 –  JSON
  • Client-Server Protocol      -  As defined by the GWT
  • Gadget API                       –  OpenSocial
  • Wave Embedded  API       –  Javascript

Now the problem is that only the Federation Protocol is defined. The Robot and Client-Server Protocol are not. The reason for that is because, according to Joe Gregorio in a Google Groups – Wave Protocol FAQ

The focus of our open source and protocol work at this point is on the federation protocol, which is critical for getting inter-operable server implementations, that is, for allowing many other people to build Wave servers and have them interop with each other and with the Google Wave server. We have definitely heard the requests for defining a client-server protocol, but at this time the team doesn’t have the time to put into such an effort.

What is clear in the diagram above is that Google only uses XMPP in the federation protocol, and the federation protocol is only used for wave server-to-wave server communication. The Wave server itself is a OpenFire Server with a Google Wave Extension. Then using the GWT you build your client to speak with that extension. How it does that is pretty much wide open to whoever is building the Wave Client.

So why is it clear that the client is not XMPP. Well, if I have a new wave client, let’s say a desktop based client, I have no way to communicate to Google’s wave server. I have to host my own server, with its own private client-server protocol. Then I can federate with the Goole Server via the XMPP protocol.

At the XMPP Standards Foundation page they list the current XMPP clients and link to a ton of other information about XMPP. The clients listed , in fact, look and feel much like Google Wave does: a XMPP Client. But it is not, many folks have made some clients for their own FedOne Server implementations that act and feel like Google Wave’s Client (see my PyGo Wave post) and their clients are not XMPP, they are clients that have been built with GWT. The fact that is not defined by Google will mean that the argument will continue. But in my mind, it is quite clear that building your server and your client is a different development effort.

I keep saying that I will be building my own server soon. That will now happen in the week after next as my lab space has finally become available and the equipment is being moved and set-up next week.That means I will be putting into practice what I am preaching here.

So, all that to say that Google uses XMPP for Wave Sever-to-Wave Server communications which is accomplished by adding a Google Wave extension to a OpenFire Server. Many folks have also done this using other XMPP servers.

Part 3 of this mini-series will focus on XMPP security.

No related posts.

Related posts brought to you by Yet Another Related Posts Plugin.

Why I am using the Thesis Wordpress Theme

How smart is your Theme?  How good is your support? Check out ThesisTheme for WordPress.

Thesis makes my site look very professional, clean and has an easy-to-read layout. Thesis delivers unmatched SEO, cross-browser compatibility, and top-notch HTML + CSS architecture. Visit this site to find out more and get the Thesis Theme for WordPress Get your Thesis Theme today!



Why I host my blog with DreamHost

DreamHost gives me unlimited Disk Storage, unlimited monthly bandwidth, unlimited domain hosting, MySQL 5, PHP5, Subversion Repository, SSL Security server, 24/7 Technical support, One-click installs (Wordpress, Gallery, ZenCart, PHPGedView, Pigg, dotProject, Moodle, Joomla, phpBB, MediaWiki, WebCalendar, Advanced Poll and Trac) and much, much more. Visit DreamHost today!.

{ 2 trackbacks }

XMPP Mini Series: Part 1 - The 7 Advantages of XMPP | Google Wave Blogger
September 25, 2009 at 7:35 pm
XMPP Mini-Series: Part 2 - How Google Wave Uses XMPP | Google Wave …
September 27, 2009 at 1:27 pm

{ 3 comments… read them below or add one }

Daniel Graversen September 27, 2009 at 8:52 am

Hi,
Thanks for sharing.
Interesting discussion about wave as xmpp client.
.-= Daniel Graversen´s last blog ..My first 2 months with Google Wave =-.

Tariq September 28, 2009 at 8:13 am

great! it will surely bring something new to the web.

reis8888 September 28, 2009 at 3:29 pm

Wow!!this is..wow,super ,WOWWWW wow.. im speechless!!!

Leave a Comment

CommentLuv badge

Previous post:

Next post:

film izle film izle yerli film izle online film izle şarkı dinle