Hookbox is THE fastest way to add comet functionality in an existing webapp

I have a web application that runs Flash in the browser client, and a JBoss 4.0.4 J2EE server on the server side. I don’t know a lot about comet technologies, but after poring through reading material over 1 day, it sounded complicated.

Thankfully I discovered Hookbox while reading CometDaily.

It’s still an early beta, but in my initial tests, I found it to be the perfect solution that I was looking for. You install hookbox on a server, and it’s a self-contained server that has provides basic comet (i.e. ajax push) functionality. It comes with a javascript library which you install on the client-side, and it allows your web server to communicate with the hookbox server via a RESTy api.

I managed to get a full-loop test going in about an hour, especially since there is a hosted version of hookbox that you can sign up instantaneously for development testing. To see server push happen so effortlessly in my existing web app, it’s beautiful!

The application which I’m going to build around hookbox will be fairly complex: It is a K-12 school scheduling software. Why I need comet is that it will be a multi-user interactive scheduling tool, i.e. many users can log on at the same time, and schedule classes, and everyone sees updates as they happen. So it will be interesting to see how the beta-release of hookbox handles this.

I’ll write more as I discover things. But for now, two quick notes:

  • The document says that javascript can connect to hookbox via a call like hookbox.connect(“http://<hookboxserverandport>/csp&#8221;); Actually, the /csp at the end has to be dropped. So mine is: hookbox.connect(“http://aris.hosted.hookbox.org&#8221;);
  • I couldn’t get the subscribe.publish() to work. The publish method doesn’t exist on the subscribe object. But I don’t need this right now, since only my webserver publishes events.

Update after 1 week of testing is in my next post.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s