[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