Description

JSON Service Description Language (JSDL) is a JSON-based interface description language that is used for describing the functionality offered by a (JSON) HTTP web service. This project contains the JSDL specification and gives the tools to automatically generate JSDL definitions and service client code for various programming languages. Using these generators the developer can concentrate on developing business code rather than creating boiler plate code for each service operation.

JSDL uses JSON Schema to describe types and introduces some new structures to define JSON web services (inspired by Dojo Service Mapping Description Proposal). The main intention of this project is to automatically generate code from these JSDL files and integrate the whole process that it can be used as easily as WCF web service references in .NET.

This project can also be used to simply generate code from JSON Schemas (by only specifying types in the JSDL description).

Available generators (convert JSDL description to client code, like web service client generation in C#):
  • C#/.NET
  • TypeScript
Available providers (generate JSDL description and handle web service operation execution):
  • C# (from WCF service class)
  • PHP

Introduction to JSDL

Download: https://jsdl.codeplex.com/SourceControl/latest (click on "Download")

Similar projects and technologies

  • JSON RPC.
    • In contrast to JSON RPC, JSDL uses a more plain JSON structure and thus fits better to describe existing JSON web services. Using the various envelope types like URL and JSON and support for HTTP GET and POST, it is more flexible. If you are already using JSON RPC we recommend to stick with it and use a JSON RPC client code generator.
  • Dojo Service Mapping Description Proposal
  • OData: Protocol to access data, data driven (JSDL is operation driven)

We need help

If you like the project and like to help develop it, build packages or have suggestions, please contact us!

Donate

This is a free project that is developed in spare time. You can show your appreciation for JSDL and support future development by donating.

Donate with PayPal

This project is developed and maintained by Rico Suter.


Last edited Dec 16 at 10:40 PM by rsuter, version 74