outaTiME

at devel days

Orbited 0.5.0

leave a comment »

You may have noticed the lack of a 0.4.x release. We tried to make a number of improvements for 0.4.x, but ultimately we never thought that branch was stable enough to release. The 0.5.0 release, on the other hand, is the most stable and feature-rich version of Orbited yet. This is a pre-announcement that should give you a day or two notice and some information about porting your app to 0.5. You can expect the official release announcement over the next couple of days.

While we still support the old orbited protocol, there are a couple of differences when using Orbited 0.5.x with 0.3.x applications:

  • orbited.js still contains an Orbited.connect function, but this function now may takes only two arguments: event_cb and token. Orbited connections are now identified by a single token string. If you provide multiple arguments, the javascript client will simply concatanate them with commas in between.
  • when you use an orbit client to send data from your web application, the list of recipients should just be strings that exactly match the token used from the javascript
  • There is no proxy. Instead, Orbited.connect will just work in all browsers cross-port and cross-subdomain.
  • You need to specify where the orbited server is via javascript globals. ORBITED_DOMAIN = ‘127.0.0.1′; ORBITED_PORT = 8000; for example.

Porting an application from the previous version to the new one shouldn’t be hard. They should work out of the box after changes the include from /_/static/orbited.js to /static/orbited.js; adding ORBITED_PORT = 8000; and not using the proxy any more.

This backwards compatibility is a convenience only — Orbited has changed focus away from the 0.3.x architecture. Instead of acting as a simplistic message queue that can route messages to the browser, Orbited is instead a socket proxy. It exposes a TCPConnection to javascript, and relays packets via actual, raw TCP connections on the back end. This way you can use Orbited as a means to talk directly between an out-of-the-box IRC server and the browser. Indeed, in the /static/demos/chat directory you can see an example of connecting directly to an IRC server from javascript.

This new architecture is much better at integrating a browser with arbitrary network servers. Another benefit is that we can connect the browser directly to a message queue, such as ActiveMQ, and use the topic (publish/subscribe) and queue semantics provided out of the box. Furthermore, ActiveMQ comes with a configurable replication strategy out of the box. Take a look at /static/demos/stomp for an example of publish/subscribe with Orbited+ActiveMQ.

(Via Orbited Blog.)

Written by outaTiME

July 10, 2008 at 10:36 am

Posted in Comet, Releases

Leave a Reply