JSON-RPC and Json-rpc service discovery specifications

4.9k views Asked by At

I'm going to implement JSON-RPC web service. I need specifications for this. So far I had found only one resource that can be called as real specifications:

However I've seen that JavaScript frameworks like Dojo actively use JSON-RPC SMD

But it requires JSON Schema specifications, but it redirects to incorrect URL as reference. So far I had found the following:

And it is still draft...

Can anybody point me to some actual specifications... At least something official updated? Because it looks like that implementing JSON-RPC 1.0 as is may be not enough, at least for frameworks like Dojo. Or am I wrong?

Questions:

  • Would implementation of JSON-RPC 1.0 specifications be enough to provide JSON-RPC service for most of modern clients, and how many clients are there (if at-all) that actually support capabilities beyond JSON-RPC 1.0 (SMD, Schema, 2.0)?

    Because it looks like that JSON-RPC 1.0 is only one that has official specifications (and not draft)

  • If I should implement SMD, or it is recommended can somebody point to official, most recent specifications of Json Schema and Service Mapping Description or are the links I found really "the specifications?"

  • Are JSON-RPC 2.0, SMD and JSON-Schema drafts stable enough to implement them?

Note: do not suggest existing JSON-RPC service implementations.

Anybody?

Edit: Anybody uses JSON-RPC at all?

4

There are 4 answers

0
rwilliams On BEST ANSWER

If I should implement SMD, or it is recommended can somebody point to official, most recent specifications of Json Schema and Service Mapping Description or links I found are really "the specifications?"

Are JSON-RPC 2.0, SMD and JSON-Schema drafts stable enough to implement them?

Every project I've found using this stuff links to the same specs that you've found. Folks are using it based on the draft specs, but not enough to really drive the development of good docs and examples.

http://javascript.neyric.com/blog/2009/03/06/inputex-022-smd-yui-rpc/

http://www.tine20.org/wiki/index.php/Developers/Concepts/Howto_connect_to_Tine_2.0_over_JSON-RPC

http://framework.zend.com/manual/en/zend.json.server.html

0
Austin Harris On

There is an SMD in JSON-RPC.NET. So if you would like some sample code you can pull it from the source browser. Here is a Link to SMD code, it could at least be worth a peek, even if though it's not claimed to be release quality SMD service yet.

0
idelvall On

I created Brutusin-RPC based on the following references:

In my case the fact of this last being a draft did not bother me too much since the library provides tools that isolate the client from the details of the schema, like endpoint clients, descriptive builtin services, and testing modules... In fact, I use some custom extensions of JSON-Schema...

0
Andre Steenveld On

I have found the specification for SMD in the dojo documentation. So far this is the most complete and most up to date I could find. Did you have any luck getting your JsonRPC service up and running?

https://github.com/dojo/docs/blob/master/dojox/rpc/smd.rst