Table of Contents

    OData (Open Data Protocol)

    Key Features of OData:

    1. RESTful Architecture

      • OData follows REST principles, allowing CRUD operations using standard HTTP methods:
        • GET (Retrieve data)
        • POST (Create data)
        • PUT/PATCH (Update data)
        • DELETE (Remove data)
    2. Queryable API (Similar to SQL)

      • OData allows filtering, sorting, and pagination directly in API requests.
      • Example:
        
        GET /Customers?$filter=Age gt 30&$orderby=Name
        
        
        • Retrieves customers where Age > 30, sorted by Name.
    3. Metadata and Schema Discovery

      • OData provides a $metadata endpoint to expose the data structure.
        
        GET /$metadata
        
        
      • This helps clients understand available entities, relationships, and operations.
    4. Supports JSON & XML Formats

      • OData allows clients to choose between JSON and XML responses.
    5. Standardized Data Manipulation

      • Supports batch processing, associations, and nested data handling.

    OData Example

    Request (Retrieve Customers over 30 years old, sorted by Name)

    
    GET https://api.example.com/Customers?$filter=Age gt 30&$orderby=Name
    
    

    Response (JSON)

    
    {
      "value": [
        {
          "ID": 1,
          "Name": "Alice",
          "Age": 35,
          "Email": "alice@example.com"
        },
        {
          "ID": 2,
          "Name": "Bob",
          "Age": 40,
          "Email": "bob@example.com"
        }
      ]
    }
    
    

    OData vs REST API: What's the Difference?

    Feature OData REST API
    Standardization Well-defined query syntax No standard query syntax
    Filtering Built-in ($filter, $orderby) Custom query parameters
    Metadata Automatic ($metadata endpoint) No standard metadata
    Data Format JSON & XML JSON, XML, plain text
    Complex Queries Supports batch processing & relationships Requires multiple requests
    Best For Enterprise applications with large datasets General-purpose APIs

    Where is OData Used?

    Microsoft Dynamics 365 Finance & Operations (D365 F&O)
    Power BI & Excel Data Integration
    SAP, SharePoint, and Enterprise Applications
    Applications with complex querying needs

    OData is especially useful when working with D365 F&O, as it provides seamless data integration with external apps.


    For more information on OData, please refer to the following web links:

    Topic Link
    OData standards http://www.odata.org/documentation/
    OData introduction https://msdn.microsoft.com/en-us/library/dd541188.aspx
    OData by example http://www.odata.org/odata-services/