2006-11-17T22:42:38.000ZNovember 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
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
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.
(A reference to the CometD "Bayeux" protocol is: http://svn.xantus.org/shortbus/trunk/bayeux/protocol.txt)
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
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.