A business partner has suggested building a web services library with JSON-RPC rather that SOAP. (note they are not building in .NET necessarily, but I am)
I am a potential consumer of this data.
I've used JSON for client-based Ajax calls in the past, but this web services library will be used primarily for server-side calls and syncing large amounts of data.
I don't have much experience with JSON-RPC.
Questions:
Thanks
JSON-RPC is used to communicate with an application that you running on your computer. It uses the HTTP protocol for remote procedure calls and JSON for data representation. It's a stateless, lightweight RPC protocol that's written in JavaScript.
Based upon the JSON-RPC version used, the remote system will send various data outputs back to the source of request. All the JSON-RPC powered web transfers are unified and serialized with the help of JSON only.
JSON-RPC is a remote procedure call protocol encoded in JSON. It is similar to the XML-RPC protocol, defining only a few data types and commands.
What exactly is JSON-RPC. It's a way for someone to send a request and receive a response. ( On the other side of the same coin, it's a way for someone to receive a request and send a response)
Can I easily build a JSON-RPC consumer in .NET?
Yes. JSON-RPC services are simple to consume as long as you have a robust JSON parser or formatter. Jayrock provides a simple client implementation JsonRpcClicnet
that you can use to build a consumer. There is also a small demo sample included.
Are JSON-RPC web services self documenting and discoverable, like a SOAP WSDL?
No, there is nothing standardized but there are ideas being floated around like Service Mapping Description Proposal.
Can I easily add a Web Reference in Visual Studio to a JSON-RPC web service?
This can work if the server-side implementation provides a WSDL-based description of the JSON-RPC service but none are known to provide this to date.
Check out Jayrock.
Jayrock is a modest and an open source (LGPL) implementation of JSON and JSON-RPC for the Microsoft .NET Framework, including ASP.NET. What can you do with Jayrock? In a few words, Jayrock allows clients, typically JavaScript in web pages, to be able to call into server-side methods using JSON as the wire format and JSON-RPC as the procedure invocation protocol. The methods can be called synchronously or asynchronously.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With