The plugins site is currently in development.
We've been looking to provide a higher-quality, spam-free experience at the plugins site for some time, and a major error on our part forced us to shut down the current site before we could put the new one in place. We are developing a new site, and you can follow along with its development on GitHub. For more information about this transition, including steps you can take as a plugin author to prepare, please read our post about what's going on.
SOAPjr - create clean, fast AJAX API's using JSON
SOAPjr is the love child of SOAP and JR (JSON-RPC).
It let's jQuery developers handle multiple errors in a clean and efficient way, and makes it easy for server-side developers to provide clean and fast APIs. See http://SOAPjr.org/demos.html for a live working example.
Traditional SOAP is no longer the Simple Object Access Protocol it was initially designed to be. It's bloated and overly verbose making it bandwidth hungry and slow. It's also based on XML, making it expensive to parse and manipulate - especially on mobile or embedded clients. However, it's core Envelope/Head/Body design pattern is really useful for AJAX style API's.
SOAPjr uses a similar Envelope/Head/Body model, but instead of bloated and verbose XML it uses lightweight and easy to manipulate JSON. After all, there's no X in SOAP and it's Envelope/Head/Body concept is not bound in any way to requiring XML.
In contrast to SOAP, JR (JSON-RPC) is overly simplistic and basically tunnels HTTP GET style key/value pairs within a query string using JSON. However, within JR there is no Head/Body separation leaving metadata to pollute the main data space.
SOAPjr combines the best of these two concepts and is designed to create modern AJAX API's that can easily be used by mobile devices, embedded systems or PC browsers.
So how does this make building AJAX API's any easier? Well getting a browser to talk to make XMLHttpRequest calls is easy enough. But the complex part is defining what data structures each request and response will contain, and debugging invisible requests to find out if it's an HTTP transport error, a Server error, a JSON parser error or a web server or DB error.
SOAPjr makes all of this simple.
