SData Specification
Home
SData 1.1 Core
SData 1.1 Sync
SData 2.0
Your comments?
SData on GitHub
1 Introduction
1.1 Terminology
1.2 General Principles
2 Anatomy of an SData URL
2.1 Resource Collection URL
2.2 Single Resource URL
2.3 Resource Property URL
2.4 Service Operation URL
2.5 Named Query URL
2.6 Template Resource URL
2.7 Resource Schema URL
2.8 System and Registry URL
2.9 Intermediate URLs
2.10 Miscellaneous URLs
2.11 Query Parameters
2.12 Query Language
2.13 Naming Conventions for URLs
2.14 Resource Versioning
2.15 Extensibility
2.16 Internationalized URLs
3 Anatomy of an SData Feed
3.1 Typical Feed
3.2 Feed Elements
3.3 Feed-level Links
3.4 Categories
3.5 Paging Information
3.6 Simple List Extensions
3.7 Typical Feed Entry
3.8 Resource Payload
3.9 Resource Linking and Embedding
3.10 Error Payload
3.11 Tracking Payload
3.12 SData Category Scheme
3.13 SData Atom Extensions
3.14 Localization
4 Metadata
4.1 Typical SData Schema
4.2 Resource Kind Definition
4.3 Property Definition
4.4 Relationship Definitions
4.5 Service Operation and Named Query Definitions
4.6 Auxiliary Type Definitions
4.7 Polymophic relations
4.8 Simple Metadata Extensions Summary
4.9 Schema Rules
4.10 Inlined Schemas
4.11 Importing and including schemas
5 Security
5.1 Encryption
5.2 Authentication
5.3 Single Sign-On
6 Queries
6.1 Query Example
6.2 Query Filtering
6.3 Query Sorting
6.4 Query Paging
6.5 Query Payload Control
6.6 Query Caching
6.7 Feed Rendering
6.8 Query on Property URL
6.9 Query on Intermediate URL
6.10 Query Error Handling
7 Read Operation
7.1 Read Example
7.2 Read Payload Control
7.3 Read Caching
7.4 Read on Property URL
7.5 Read Error Handling
8 Create Operation
8.1 Create Example
8.2 Use of $template URL
8.3 Create on Property URL
8.4 Reliable Posting
8.5 Create Error Handling
9 Update Operation
9.1 Update Example
9.2 Update Payloads
9.3 Update Concurrency Handling
9.4 Update on Property URL
9.5 Update Error Handling
10 Delete Operation
10.1 Delete Example
10.2 Delete Concurrency Handling
10.3 Delete on Property URL
10.4 Delete Error Handling
11 Service Operations
11.1 Overview of Service Operations
11.2 Operation URL
11.3 Operation Metadata
11.4 Synchronous Operations
11.5 Asynchronous Operations
11.6 Reliable Posting of Service Operation
11.7 Operation Template
11.8 Service Operation Error Handling
12 Named Queries
12.1 Example of Named Query
12.2 Named Query URL
12.3 Named Query Metadata
12.4 Named Query Template
12.5 Named Query Error Handling
13 Batch Operations
13.1 Batch URL
13.2 Metadata Extension for Batching
13.3 Synchronous Batch Request
13.4 Batch Response
13.5 Asynchronous Batch Operations
13.6 Batch Error Handling
14 SData Registry
14.1 Registry URLs
14.2 Contract Resource
14.3 Endpoint Resource
14.4 Registration Example
14.5 Discovery Example
14.6 Multiple Registries
Appendices
Appendix A - sme.xsd
Appendix B - sdata.xsd
Appendix C - sdatahttp.xsd
Appendix D - categories.xml
Appendix E - registry.xsd
Compliance Summary
History of Changes
Versions Summary
SData Linking & Synchronisation
1 Linking
1.1 Correlating with UUIDs
1.2 Linking Process
1.3 Linking Protocol
1.4 Linking Scenarios
2 Synchronization Algorithm
2.1 Basic Vector Clock Algorithm
2.2 Tick Management
2.3 Basic Conflict Resolution
2.4 Digest Variant
2.5 Selecting Changes with Digest
2.6 Handling Conflicts with Digest
3 Synchronization Architecture
3.1 Terminology
3.2 Reference Architecture
3.3 Architecture Variants
3.4 Immediate and Catch-up Synchronization
4 Synchronization Protocol
4.1 Synchronization URLs
4.2 Synchronization Digest
4.3 Per-resource Synchronization State
4.4 Synchronization Feed
4.5 Synchronization Metadata
5 Synchronization Walkthrough
5.1 Reading Target Digest
5.2 Querying Source Synchronization Feed
5.3 Updating Synchronization Target
5.4 Handling Conflicts on the Target Side
5.5 Updating the Target Digest
5.6 Iterating through the Source Pages
5.7 Logging Synchronization Results
5.8 Immediate Synchronization
6 Advanced Synchronization Topics
6.1 Relationship Handling in Synchronization
7 Implementation Hints
7.1 Implementing Synchronization Engine
7.2 Synchronization Endpoint Implementation Notes
Appendices
Appendix A - sdatasync.xsd
History of Changes
The underlying approach to evolving SData
Contracts
Core
Fundamental SData aspects
SData URL
SData payload elements
Requesting content by means of media type negotiation
Authorization
Status and error codes
JSON Formatted responses
Introduction to the JSON formalism
Formatting native objects in JSON
Requesting JSON formatted SData content
JSON responses
A note to SData ATOM+xml users
Expressing metadata in JSON
Required attributes of the JSON metadata representation
JSON metadata in SData
Requesting metadata
Conventions for metadata
Substitution formalism
SData JSON Types
Links
Embedded metadata
SData prototypes
Compliance
Appendix A - Metadata elements for JSON
SageID integration
History of Changes
SData Home
>
SData Synchronization - version 1.1
>
7 Implementation Hints
7 Implementation Hints