JSON-RPC is a stateless, light-weight remote procedure call (RPC) protocol. It uses JSON (RFC 4627) as data format, and is transport-independent. It is designed to be simple! - from the JSON-RPC specification [L1 ].
APN 20080705 A Tcl implementation of the JSON-RPC client-side API is now part of TclSOAP. Most of the server-side calls are implemented, but not integrated with any http servers.
MaxJarek JSON-RPC is my primary technology for client-server applications. I use Tk GUI on client side and Wibble as JSON-RPC http server. Sample client example:
package require JSONRPC JSONRPC::create add -proxy "http://www.raboof.com/projects/jayrock/demo.ashx" \ -params { val1 int val2 int } puts [::add 2 3456]
Sample server side example (for wibble::jsonrpc::proxy package):
namespace eval ::wibble::json-rpc { proc add {a b} {return [expr {$a+$b}]} }
TclSOAP don't support https transport for JSON-RPC. I have created patch for SOAP::https which is waiting in repo.
wibble::jsonrpc::proxy is my package thats change Wibble in good (for me) SOA application server. jsonrpc-proxy needs same corrects in Wibble core. I am waiting for new Wibble version then proxy package will by public available. :)