skip to main content
article

Definition of REST web services with JSON schema

Published: 01 June 2017 Publication History

Abstract

The Web has evolved from being a collection of documents to a collection of interconnected services that interoperate throughout the Internet. Web services are a natural consequence of this evolution. The web services model was initially centered around the eXtensible Markup Language XML. Such services can be described by Web Services Description Language documents that are formally defined through the XML Schema Definition language. However, in recent years the popularity of XML-based web services has declined, as more developers favor JavaScript Object Notation JSON-based alternatives. Although the use of the latter language is spreading, no official standard to formally describe JSON documents exists. The aim of this article is to demonstrate how JSON Schema, and particularly the JSON Hyper Schema extension, is suitable to describe JSON-based web services that follow the REST architectural pattern. Copyright © 2016 John Wiley & Sons, Ltd.

References

[1]
Curbera F, Nagy W, Weerawarana S. Web services: why and how. In OOPSLA 2001 Workshop on Object-Oriented Web Services. ACM Association for Computing Machinery: New York City, 2001 August: pp.249-259.
[2]
Programmable web. n d "http://www.programmableweb.com/"
[3]
DuVander, A 2013, December 26. "JSON's eight year convergence with XML ". ProgrammableWeb. Retrieved July 2015, from "http://goo.gl/eSsO9H"
[4]
World Wide Web Consortium W3C n d "https://www.w3.org/"
[5]
Christensen, E, Curbera, F, Meredith, G, &Weerawarana, S 2001. Web services description language WSDL pp.1.1.
[6]
Crockford, D 2013. JSON: the fat-free alternative to XML, 2006. URL: "http://www.json.org/fatfree.html"last accessed December 11, 2011.
[7]
Castillo, PA, Bernier, JL, Arenas, MG, Merelo, JJ, &García-Sánchez, P 2011. SOAP vs REST: comparing a master-slave GA implementation. arXiv preprint arXiv:1105.4978.
[8]
Levitt, J 2001. From EDI to XML and UDDI: a brief history of Web services. Information Week.
[9]
Rodriguez JM, Crasso M, Mateos C, Zunino A. Best practices for describing, consuming, and discovering web services: a comprehensive toolset. Software: Practice and Experience 2013; Volume 43 Issue 6: pp.613-639.
[10]
"CRM stock quote - Salesforce.com Inc stock price - NASDAQ.com " n d NASDAQ.com.
[11]
Lane K. History of APIs. API Evangelist 2012; Volume 20: pp.1-3.
[12]
World Wide Web Consortium W3C .n d Schema. XML Technology. Retrieved July 2015, from "http://www.w3.org/standards/xml/schema"
[13]
Fielding R, Gettys J, Mogul J, Frystyk H, Masinter L, Leach P, Berners-Lee T. RFC 2616. Hypertext Transfer Protocol-HTTP/1.1 1999; Volume 2 Issue 1: pp.2-2.
[14]
Fielding RT. Architectural Styles and the Design of Network-Based Software Architectures. Doctoral dissertation, University of California: Irvine, 2000.
[15]
Rodriguez, A 2008. Restful web services: the basics. IBM developerWorks.
[16]
Paredes-Valverde MA, Alor-Hernández G, Rodríguez-González A, Valencia-García R, Jiménez-Domingo E. A systematic review of tools, languages, and methodologies for mashup development. Software: Practice and Experience 2015; Volume 45 Issue 3: pp.365-397.
[17]
Mandel, L 2008. Describe REST Web services with WSDL 2.0. Rational Software Developer, IBM.
[18]
Hadley, M 2009. Web application description language, W3C Member Submission 31 Aug. 2009.
[19]
Lafon, Y Team comment on the "Web Application Description Language" submission 2009. URL"http://www.w3.org/Submission/2009/03/Comment"RetrievedAugust2011.
[20]
Richardson, L, &Ruby, S 2008. RESTful web services. "O'Reilly Media, Inc.".
[21]
JSON-WSP. n d "http://ladonize.org/index.php/Common_jsonwsp"
[22]
JSON-RPC. n d "http://json-rpc.org"/
[23]
ioDocs. n d "https://www.mashery.com/api/io-docs"
[24]
Apiary. n d "https://apiary.io/"
[25]
Van Kesteren, A, &Jackson, D 2007. The xmlhttprequest object. World Wide Web Consortium, Working Draft WD-XMLHttpRequest-20070618.
[26]
Highcharts. n d "http://www.highcharts.com/"
[27]
LeafletJS. n d "http://leafletjs.com/"
[28]
Internet Engineering Task Force. 2013, January 30. JSON Schema: core definitions and terminology. Retrieved July 2015, from "http://json-schema.org/latest/json-schema-core.html"
[29]
Internet Engineering Task Force. 2013, January 30. JSON Schema: interactive and non interactive validation. Retrieved July 2015, from "http://json-schema.org/latest/json-schema-validation.html"
[30]
Galiegue, F 2013. JSON Schema: interactive and non interactive validation. Internet-Draft: "http://json-schema.org/latest/json-schemavalidation.html".
[31]
JSON Schema software. n d "http://json-schema.org/implementations.html"
[32]
AlpacaJS. n d "http://www.alpacajs.org/"
[33]
JSON Editor. n d "https://github.com/jdorn/json-editor"
[34]
Google Maps. n d "http://maps.google.com/"
[35]
Apple Maps. n d "http://www.apple.com/ios/maps/"
[36]
OpenStreetMap. n d "https://www.openstreetmap.org/"
[37]
Nokia Here. n d "https://here.com/en"
[38]
Carto. n d "https://carto.com/"
[39]
Mapbox. n d "https://www.mapbox.com/"
[40]
GeoJSON. n d "http://geojson.org/"
[41]
Internet Engineering Task Force. 2013, January 30. JSON Schema: hypertext definitions for JSON Schema. Retrieved July 2015, from "http://json-schema.org/latest/json-schema-hypermedia.html"
[42]
BuildWith. n d "https://builtwith.com/"
[43]
Swagger. n d "http://swagger.io/"
[44]
Swagger. Specification. n d Retrieved January 2016, from: "http://swagger.io/specification/"
[45]
Google API Discovery Service. n d "https://developers.google.com/discovery/"
[46]
Heroku. n d "https://www.heroku.com/"
[47]
FAOSTAT. n d "http://faostat.fao.org/"
[48]
FAOSTAT API Schema. n d "http://fenixapps2.fao.org/api/v1.0/"
[49]
FAOSTAT Client. n d "http://faostat.github.io/faostat-api/#javascript_client"

Index Terms

  1. Definition of REST web services with JSON schema
      Index terms have been assigned to the content through auto-classification.

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image Software—Practice & Experience
      Software—Practice & Experience  Volume 47, Issue 6
      June 2017
      137 pages

      Publisher

      John Wiley & Sons, Inc.

      United States

      Publication History

      Published: 01 June 2017

      Author Tags

      1. JSON Hyper Schema
      2. JSON Schema
      3. REST
      4. web services definition

      Qualifiers

      • Article

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • 0
        Total Citations
      • 0
        Total Downloads
      • Downloads (Last 12 months)0
      • Downloads (Last 6 weeks)0
      Reflects downloads up to 24 Sep 2024

      Other Metrics

      Citations

      View Options

      View options

      Get Access

      Login options

      Media

      Figures

      Other

      Tables

      Share

      Share

      Share this Publication link

      Share on social media