SitePen Support
Free Liberator

Comet Support for IIS

by Dylan SchiemannNovember 14th, 2009

Frozen Mountain recently announced WebSync, a Comet solution for IIS.

WebSync is a full-blown comet server built for the Microsoft stack (IIS/MSSQL/.NET) written in 100% managed C#. Use it to instantly transform your website into a real-time, comet-enabled communications platform.

Jerod Venema recently wrote a guest post for Ajaxian, WebSync: Comet for IIS, explaining in detail about their approach.

One section in particular was of interest to me, their use of Bayeux, but not Dojo:

Once we were satisfied with the server’s performance, we set our sights on a JavaScript client. We had originally been using the Dojo Toolkit, but the overhead was more than what we wanted (it rang in at about 90k after compression, but before gzipping), so we wrote our own library that, when compressed and gzipped, comes across the wire at about 8k total (just over 15k before gzipping). We also ran into a slew of cross-browser issues (of course), in particular when dealing with long-lived HTTP connections. A bit of effort, though, and we can now claim the client to be fully compatible with over a dozen browsers, from IE5.5 all the way to the iPhone and Android browsers. Being fans of open-source technology (even in a Microsoft world), we decided to use the Bayeux transport protocol rather than develop our own, so any Bayeux-compliant client can link in to the server.

I take objection to their Dojo size, as they could have stripped their use of Dojo down to about 8K total as well by stripping out unneeded features.

Since they are supporting Bayeux, then any Bayeux-compliant client such as the one found in Dojo will work with their server. If you are using Dojo and IIS, and are interested in Comet, you should consider WebSync.

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]
Comet Support by SitePen

One Response to “Comet Support for IIS”

  1. Jerod Venema Says:

    Hey Dylan!

    Glad you had a chance to read the article!

    You make a good point regarding the use of dojo, and my intent was definitely not to disparage the work done by the dojo folks - the dojo project is awesome, we’re even using it in a different project of ours that’s in the works. We did try to get dojo down as small as we could via custom builds and so forth, but no matter what we did we still hit much higher numbers than we wanted. Maybe we were just doing something wrong :).

    That said, we also wanted a little closer control over some of the facets of the client, for example when dealing with cross-domain support (so you can stream on a different domain than the main app) while avoiding the stupid “loading” indicators in various browsers (which we’ve done via HTML5 and an iframe shim in the browsers that need it). We probably could have written extensions for dojo, etc, but when it was all said and done, it just ended up being simpler to roll our own.

    Kudos, however, to the dojo folks - it’s an amazing framework. Anyone who’s attempted to write a “Web2.0″ app and had gotten fed up with interdependencies and trying to figure out a good build structure NEEDS to look at dojo and see how they’ve done it.

Leave a Reply



Copyright 2010 Comet Daily, LLC. All Rights Reserved