I have read that SharePoint REST and ODATA provide web services like WCF to fetch list/items, etc.

  1. So what is difference between REST and ODATA?

  2. Please provide a programmatic example to show the difference. For example: how we can use REST and how we can use ODATA, say to fetch list items.? Or is there no programmatic way to differentiate as ODATA is used to implement REST? Just guessing!

  3. Is it correct to say that ODATA/REST now replaces the web services and WCF concept? So, we no longer need to create web service with Server object model and expose it to other applications?


1 Answer 1


" As Franci said, OData is based on Atom Pub. However, they have layered some functionality on top and unfortunately have ignored some of the REST constraints in the process.

The querying capability of an OData service requires you to construct URIs based on information that is not available, or linked to in the response. It is what REST people call out-of-band information and introduces hidden coupling between the client and server.

The other coupling that is introduced is through the use of EDMX metadata to define the properties contained in the entry content. This metadata can be discovered at a fixed endpoint called $metadata. Again, the client needs to know this in advance, it cannot be discovered.

Unfortunately, Microsoft did not see fit to create media types to describe these key pieces of data, so any OData client has to make a bunch of assumptions about the service that it is talking to and the data it is receiving." Link: http://www.bizcoder.com/2009/11/30/oh-data/

Source: https://stackoverflow.com/questions/2458407/difference-between-odata-and-rest-web-services

Another Good Article i saw, check this one

  • 1
    The reason why I posted the link you reference as a comment on the question is because I'm not sure if it is really really SharePoint related, and perhaps a duplicate from SO (if that is even possible to tag here)
    – eirikb
    Apr 14, 2014 at 12:02
  • 1
    The original poster of this answer has added that this answer is extremely outdated due to way newer versions of OData.
    – user2536
    Apr 14, 2014 at 12:08
  • 1
    I think something as simple as The difference is that OData is a specific protocol; REST is architecture style and design pattern. should suffice
    – eirikb
    Apr 14, 2014 at 12:13
  • guys, can you check the updated question and answer please.
    – variable
    Apr 28, 2014 at 10:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.