SAP Home Learn Build Integrate Model Operate Extend with AI ConnectTutorial navigator Knowledge Graph API Devtoberfest Developer Advocates App Space

Manage my Account SAP Devs YouTube ↗ Learnings ↗ Community ↗ Provide Feedback ↗
Logout
โคข Open full site

Learn about OData's origins

Discover OData's origins in RSS and Atom.

Overview

🎓 beginner 20 min. SAP Business Technology PlatformCloudOdataBeginner

You will learn

  • โœ”Where OData came from
  • โœ”Why OData looks and acts the way it does
DJ Adams D DJ Adams February 25, 2026
Created by January 22, 2026
Contributors

Prerequisites

Steps

Intro

OData is an open standard that is both a data format and a protocol for consuming and manipulating data in a uniform way. It’s ISO/IEC approved and managed by the OASIS organization.

OData has its origins in the world of weblogs and syndication, but now serves to power a great deal of the API and integration activities in typical SAP enterprise environments. This tutorial will help you understand OData’s origins.

This tutorial belongs to the OData Deep Dive mission, a re-write of the original. The re-write is a work in progess, please proceed with caution! More info can be found in the blog post OData Deep Dive rewrite in the open.


Step 1 Examine RSS, an ancestor of OData
โ€”

You can understand OData as being the combination of two essential parts. The first is the format, the second is the protocol. The format defines how data is structured, described and serialized. The protocol defines how that data is retrieved, manipulated, and maintained.

The origin of OData’s format comes from the world of weblogs: blogging and syndication. The Rich Site Summary (RSS) format was defined to describe a blog and the posts available in it, typically with the newest posts first, but in XML format for machine consumption.

RSS is also known as “RDF Site Summary” or “Really Simple Syndication”.

Let’s look at an example of RSS. The British Broadcasting Corporation (BBC) maintains a number of news feeds, one of which is for World News.

The content of this feed looks something like this (reduced to just a few items for brevity):

XML
<?xml version="1.0" encoding="UTF-8"?>
<rss
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:media="http://search.yahoo.com/mrss/"
  version="2.0">
    <channel>
        <title><![CDATA[BBC News]]></title>
        <description><![CDATA[BBC News - World]]></description>
        <link>https://www.bbc.co.uk/news/world</link>
        <image>
            <url>https://news.bbcimg.co.uk/nol/shared/img/bbc_news_120x60.gif</url>
            <title>BBC News</title>
            <link>https://www.bbc.co.uk/news/world</link>
        </image>
        <generator>RSS for Node</generator>
        <lastBuildDate>Mon, 19 Jan 2026 15:14:13 GMT</lastBuildDate>
        <atom:link href="https://feeds.bbci.co.uk/news/world/rss.xml" rel="self" type="application/rss+xml"/>
        <copyright><![CDATA[Copyright: (C) British Broadcasting Corporation, see https://www.bbc.co.uk/usingthebbc/terms-of-use/#15metadataandrssfeeds for terms and conditions of reuse.]]></copyright>
        <language><![CDATA[en-gb]]></language>
        <ttl>15</ttl>
        <item>
            <title><![CDATA[IMF warns of trade tension risk to global growth]]></title>
            <description><![CDATA[Trade tensions and a reversal in the AI boom are among the main risks to global economic growth, the IMF says.]]></description>
            <link>https://www.bbc.com/news/articles/c0r47ey0d1vo?at_medium=RSS&amp;at_campaign=rss</link>
            <guid isPermaLink="false">https://www.bbc.com/news/articles/c0r47ey0d1vo#0</guid>
            <pubDate>Mon, 19 Jan 2026 11:04:56 GMT</pubDate>
            <media:thumbnail width="240" height="134" url="https://ichef.bbci.co.uk/ace/standard/240/cpsprodpb/a2c4/live/b15aa5d0-f51d-11f0-b011-ad48785e60d2.jpg"/>
        </item>
        <item>
            <title><![CDATA[Japan PM Takaichi calls snap election three months after taking office]]></title>
            <description><![CDATA[Sanae Takaichi, who took office last October, hopes the vote will give her a stronger mandate. ]]></description>
            <link>https://www.bbc.com/news/articles/c1dk0x0v6pdo?at_medium=RSS&amp;at_campaign=rss</link>
            <guid isPermaLink="false">https://www.bbc.com/news/articles/c1dk0x0v6pdo#0</guid>
            <pubDate>Mon, 19 Jan 2026 12:00:48 GMT</pubDate>
            <media:thumbnail width="240" height="135" url="https://ichef.bbci.co.uk/ace/standard/240/cpsprodpb/b2dd/live/55618d90-f52f-11f0-b5f7-49f0357294ff.jpg"/>
        </item>
        <item>
            <title><![CDATA[South African team helps search for politician swept away by Mozambique floodwaters]]></title>
            <description><![CDATA[Mozambique President Daniel Chapo cancels a trip to Davos due to severe floods in the country]]></description>
            <link>https://www.bbc.com/news/articles/c62nen4n971o?at_medium=RSS&amp;at_campaign=rss</link>
            <guid isPermaLink="false">https://www.bbc.com/news/articles/c62nen4n971o#1</guid>
            <pubDate>Mon, 19 Jan 2026 14:22:15 GMT</pubDate>
            <media:thumbnail width="240" height="134" url="https://ichef.bbci.co.uk/ace/standard/240/cpsprodpb/116d/live/3a1890e0-f52c-11f0-90ad-db9d8738e245.jpg"/>
        </item>
        <item>
            <title><![CDATA[China's birth rate hits record low as population continues to shrink]]></title>
            <description><![CDATA[Beijing has been trying hard to encourage more young people to marry and have children.]]></description>
            <link>https://www.bbc.com/news/articles/c79r7v7qr53o?at_medium=RSS&amp;at_campaign=rss</link>
            <guid isPermaLink="false">https://www.bbc.com/news/articles/c79r7v7qr53o#1</guid>
            <pubDate>Mon, 19 Jan 2026 07:12:01 GMT</pubDate>
            <media:thumbnail width="240" height="135" url="https://ichef.bbci.co.uk/ace/standard/240/cpsprodpb/cc3b/live/a4e454e0-f50e-11f0-b385-5f48925de19a.jpg"/>
        </item>
    </channel>
</rss>

Observe the structure of the XML document.

  • Following the XML declaration (first line), &lt;rss&gt; is the outermost enclosing element, and in the opening tag, comes with a number of namespace (xmlns) declarations and a version. Think of this as the “envelope”.
  • Nested a level within the &lt;rss&gt; element is the &lt;channel&gt; element, which is the encoded representation of this feed resource, with elements that one would expect here, conveying the feed’s title, image link, last updated date, and so on. Think of this as the “header”.
  • Also within the &lt;channel&gt; element are multiple &lt;item&gt; elements, each representing an individual news item in the context of the channel, i.e. world news items. Each item has elements conveying the details, such as news item title, short description, publication date, and so on.

Here’s the structure in simple terms:

Text
rss
  |
  +-- channel
        |
        +-- item
        |
        +-- item
        |
        +-- ...

Within the RSS envelope, this is indeed much like a document (in the ERP sense), with a header and items.

Beyond news feeds like this, the archetypal use case for RSS (and indeed Atom) is for weblogs, where a channel represents a weblog and the items represent the individual posts.

Step 2 Examine the Atom Syndication Format
+
Step 3 Examine the Atom Publishing Protocol
+
Step 4 Consider the basics of OData
+
Step 5 Look at the public Northwind service
+
Step 6 Retrieve the Northwind service's service document
+
Step 7 Retrieve entity data
+
Step 8 Further info
+

Resources

Discussion

Share feedback on this tutorial or join the conversation in SAP Community.

Submit detailed feedback Discuss in Community
Steps
Step 1 of 8
1. Examine RSS, an ancestor of OData 2. Examine the Atom Syndication Format 3. Examine the Atom Publishing Protocol 4. Consider the basics of OData 5. Look at the public Northwind service 6. Retrieve the Northwind service's service document 7. Retrieve entity data 8. Further info

Learn more →