SData on GitHub
Welcome to SData!
This site provides technical information on the version 2.0, 1.1 and synchronization of the standard.
SData is a web toolkit, promoting the development of REST-orientated services and their consumption. It consists of a small, standards-based core (HTTP, ATOM, JSON) and a set of optional mechanisms solving common implementation challenges in a consistent manner.
Version 2.0 of the standard is current. It expands upon the 1.1 version providing additions aimed towards the needs of web product- and interface definitions. The focal points of the new release are:
- Specification of the JSON format for SData information exchanges
- Relaxation of several SData restrictions, resulting in a smaller, better-defined specification core
- Compatibility with the SData 1.1 version, ensuring that SData 1.1 implementations are automatically version 2.0 compliant
- Clarification of the role and form of contracts
- Reorganization of the standard, stressing the freedom of choice for development teams and architects
Included in the site are older but still valid specifications:
- Vesion 1.1 of the standard is the basis on which the current version (2.0) is built. The focus is on ATOM+xml and REST as applicable primarily for integrating applications. The specification contained herein maintains its validity in the context of the 2.0 release.
- SData Sync describes the synchronization protocol underlying compliant applications.
Conventions used on the site
The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in RFC 2119, “Key words for use in RFCs to Indicate Requirement Levels” [5].
- Compliance aspects are displayed in a black box as shown below
Compliance requirements
- Aspects of particular importance are highlighted in an orange box
Important text
- Notes to the reader are displayed as shown below
note contents
References
Number | Title | Version | Date | Author |
---|---|---|---|---|
1 | SData Welcome to SData | 1.1 | 2011 | Sage Group plc |
2 | RFC 4627 The application/json Media Type for JavaScript Object Notation (JSON) | Informational | July 2006 | Internet Engineering Task Force |
3 | RFC 6749 The OAuth 2.0 Authorization Framework | Proposed Standard | October 2012 | Internet Engineering Task Force |
4 | RFC 6750 The OAuth 2.0 Authorization Framework: Bearer Token Usage | Proposed Standard | October 2012 | Internet Engineering Task Force |
5 | RFC 2119 Key words for use in RFCs to Indicate Requirement Levels | Best Current Practice | Internet Engineering Task Force | |
6 | RFC 5322 Internet Message Format | Draft Standard | October 2008 | Internet Engineering Task Force |
7 | ISO 4217 Codes for the representation of currencies and funds | - | 2008 | International Organization for Standardization |
8 | RFC 2616 Hypertext Transfer Protocol -- HTTP/1.1 | Standard | June 1999 | Internet Engineering Task Force |
9 | ISO 3166-1 Codes for the representation of names of countries and their subdivisions - Part 1: Country codes | - | 2006 | International Organization for Standardization |
10 | ISO 8601 Data elements and interchange formats - Information interchange - Representation of dates and times | Third Edition | 03-Dec-2004 | International Organization for Standardization |
Related work
You may also find these SData-related GitHub repositories of interest:
- Argos-SDK: framework for creating SData-powered mobile applications using HTML5, CSS and Javascript
- Argos-template: template project for Argos
- SDataJavaScriptClientLib: JavaScript library aiding the consumption of SData services
- SDataCSharpClientLib: C# library aiding the consumption of SData services
- SData contracts: a library of schema-based contracts supported by some Sage applications
- Acts-as-SData: a Ruby implementation of the SData protocol