Low Latency Data for the Browser

Poster Content
nk4um User
Posts: 31
November 17, 2006 22:42JSON
Thanks you Randy !
As it''s not as easy to find the adapted way among the different approach proposed out there, in the same time i have almost everything to get a start saved to your work in NK among other things
Like · Post Reply
nk4um Administrator
Posts: 158
November 15, 2006 19:46Web 2.0 messaging with NetKernel
Thank you for the question. Answering your question gave me an opportunity to look a the links you mentioned and so some additional research.

NetKernel cleanly separates the idea of a transport from an application. Netkernel supports a resource-oriented environment in which everything is addressed by a URI. Accessors handling a request for a resource can themselves issue one or more sub-requests - either asynchronously or synchronously - into the internal address space. At the boundary between this environment and the outside world reside transports. Transports transfer external requests inward and return responses back to the outside world. Similarly, there are accessors that can initiate a connection from inside and reach outward.

From a fundamental architectural perspective, NetKernel can support any protocol or communication mechanism. Applications are independent of transports and can easily support multiple protocols simultaneously (e.g. JMS, HTTP, POP/SMTP, etc.).

The articles you referenced are discussing ways to make a browser / server pair act in a more independent manner, approaching the idea of multiple distributed nodes in a large-scale network. NetKernel is being used in such an environment today and more are being planned. See http://pharm2phork.org/ for one example.

As you know, NetKernel includes a number of transports - JMS, HTTP, Cron, etc. Others have been added by customers.

One answer to your question is that NetKernel can handle any protocol or messaging scheme by using an appropriate transport. Transports can be added at anytime (even to a live running system) and the applications do not need modification.

More specifically about Qooxdoo and e.g. Comet - we do not currently offer a transport for these. We use Jetty for our HTTP transport, so it should be straight forward to leverage Greg''s work for NetKernel. I also (quickly) looked at the protocol Greg is using in Comet and noted that it is based on JSON and has a distinctly BEEP-like feel to it. With NetKernel''s JSON support (new in release 3.1), it should be relatively easy to build a Comet transport within NetKernel.

-- Randy

(A reference to the CometD "Bayeux" protocol is: http://svn.xantus.org/shortbus/trunk/bayeux/protocol.txt)
Like · Post Reply
nk4um User
Posts: 31
November 15, 2006 11:50Low Latency Data for the Browser

How NK can deal with Low Latency Data for the Browser as exposed in this article http://alex.dojotoolkit.org/?p=545 ?

Do you eventually have examples of some kind of Ajax toolkits dealing with NK in this objective ?

To be more specific (and for personal needs to conclude), i evaluate the Qooxdoo GUI toolkit for adoption and i have to find a way of communication between Qooxdoo and NK regarding some considerations. These considerations are exposed on this page http://qooxdoo.org/community/wishlist section I/O, that are the three points :
- Network: AJAX push (=comet)
- Network: Beyong http Streaming (=comet)
- Network: Web-2.0 messaging layer

Not yet sure how you can answer these subjects, also depend among others things of the actual NK capabilities but as some kind of similar projects try (or do) to answer them, like Twisted, correlations may exist.

Thanks for your informations, even if you don''t have direct related answers.

Like · Post Reply