[Zope3-Users] Announce: jsonserver-1.0beta3 and jsonserver-1.1alpha
Jim Washington
jwashin at vt.edu
Fri Sep 9 12:25:39 EDT 2005
Announcing jsonserver1.0 beta3 and 1.1alpha
jsonserver provides some JSON-RPC (http://json-rpc.org) support for zope3.
jsonserver-1.0beta3 is available at http://zif.hill-street.net/jsonserver
or at svn repository
http://brigadoon.hill-street.net/svn/repos/jsonserver/tags/jsonserver-1.0beta3/
The major change for beta3 is improved safety for the minjson.py JSON
parser. It now pre-parses and inspects the incoming JSON to make rogue
client exploits less likely. They were not likely before, but now it's
more belt-and-suspenders. Unlike beta2, beta3 works with python-2.3.
jsonserver trunk (1.1alpha) is keeping up with zope3 trunk. It now does
the wsgi thing, too, which I presume to be zope3's behavior for 3.2+.
IMPORTANT: jsonserver trunk is now likely incompatible with zope3 3.1 or
lower.
jsonserver trunk is available at svn repository
http://brigadoon.hill-street.net/svn/repos/jsonserver/trunk
Why use JSON-RPC when there is a perfectly good XML-RPC? Client
support. jsonserver with jsolait works with most gecko browsers
(Firefox, Mozilla, Netscape 6.1+, etc.), khtml browsers (Safari 1.2+ and
konqueror 3.4+), recent IEs, and Opera 8.1. And I understand it is very
easy to write your own client in javascript, should you choose not to
use jsolait. JSON-RPC also has a "notify" concept, where the client may
send a message to the server and not expect a return response. This is
handy for methods that do things but do not return things.
Why does jsonserver replace the zope3 HTTP server? Client support. We
need to sniff at the incoming data stream in case the client is Opera
and the content-type is not set the way we want. Actually, jsonserver
uses much the same code as zope3 trunk, and at the moment I don't think
there is any other way to add another RPC listener. There should not be
any noticeable difference other than adding support for JSON-RPC.
So this is an AJAX technology? Well, it's more AJAJ, JSON instead of
XML for the last letter of the acronym. Web browser clients use
XMLHTTPRequest to send and receive data without a complete page refresh.
You may transport HTML or XML snippets as javascript strings, so there
is little difference technically.
-Jim Washington
More information about the Zope3-users
mailing list