MinDataServiceVersion: 1.0 / MaxDataServiceVersion: 3.0

Represents a service's model

Unnamed

Part of entity type definition

Allow side effects, non composable

Don't allow side effects, composable

Set of related type annotations terms or value annotation terms in a common namespace

Usually to define a common concept, such as a person or a movie

Individual value terms, tipically used to specify an individual fact about an element, such as whether it is read-onlu

Data model and type system

List top-level entity sets

Replace

DIfferential update with only specified input propertie values to be replaced

Non standard; dIfferential update with whole entity as input

Replace

Properties of type Edm.Stream.

Not deletable or directly creatable by the client; the service owns their lifetime.

Replace

Replace

DIfferential update with only specified input propertie values to be replaced

Non standard; dIfferential update with whole entity as input

 A ChangeSet is an atomic unit of work consisting of an unordered group of one or more of the insert/update/delete operations, Action invocations or Service Operation

Declaration in $metadatda with FunctionImport

Functions might be part of the resource URI

Low-level communication with OData server.

High-level, dynamic mapping

  1. from POJO to custom OData entities (via Java annotations and / or XML, like as Spring)
  2. Java interfaces for OData operations (via Java annotations and / or XML, like as Spring MVC)

Context-based state tracking of entities. When savechanges() is called, its requests will be issued and objects updated.

Allow easy navigation of entity tree; such tree is defined as follows:

  1. the root is the entity being requested
  2. child nodes are
    1. leaf nodes for properties
    2. intermediate nodes for linked entities

An idea could be to take inspiration from other tree navigation APIs (DOM, JCR, ...)

  • extend provider's EDM on client-side
  • ...