OData (Open Data) Protocol is a Web protocol for querying and updating data from sources such as relational databases, file systems or Web sites. It implements a REST (REpresentational State Transfer) interface and as such provides an easy way for querying data through URL address. WCF Data Services is the Microsoft implementation of OData. This presentation describes these concepts and shows how to create a WCF Data Service to query a database using URL address.
2. What is OData Protocol? OData (Open Data) Protocol is a Web protocol for querying and updating data. It is based on HTTP, AtomPub, JSON and XML. It can be used to expose and access information from sources such as relational databases, file systems, content management systems or traditional Web sites.
3. OData Protocol It can be used as a general purpose interface for exposing Create Retrieve Update Delete (CRUD) operations on a data model. It performs the CRUD based on existing HTTP methods: Create – POST, Retrieve- GET, Update - PUT , Delete – DELTE.
4. What is REST? Representational State Transfer (REST) is a software architecture for stateless client-server communication. Conforming to the REST constraints is referred to as being "RESTful". REST uses existing HTTP verbs such as GET, PUT, POST and DELETE.
5. REST and OData REST is an architecture style and design pattern. OData is a specific protocol implementing REST.
6. What is WCF Data Services? WCF Data Services expose and consume OData feeds.
7. WCF Programming Models From http://blogs.msdn.com/b/endpoint/archive/2010/01/04/wcf-data-services-ria-services-alignment-questions-and-answers.aspx
8. WCF Programming Models SOAP Services - The original WCF . Best for method based interfaces, needing message based security, other channels in addition to HTTP, or hosting outside of IIS. Workflow Services -Is used for sending and receiving Windows Workflow Foundation (WF) messages. RIA Services – Best for building Silverlight applications.
9. WCF Programming Models WebHttp Services (WCF REST) – Best for exposing method based HTTP services or building a RESTful service with full control over the URI format. Data Services – Best when you are exposing your data model and associated logic through a RESTful interface. It includes a full implementation of the Open Data (OData) Protocol.
10. Exposing data as a OData feed Define the data model. WCF Data Services natively supports ADO.NET Entity Framework. You can use any data model that implements IQueryable and IUpdateable interfaces. Create the data service. It is a class that inherits from the DataServiceclass, with a type T that is the namespace-qualified name of the entity container. Configure the data service.
11. Accessing data service resources In OData, you address any data exposed by the data model by using a URI. http://server1/DS1.svc/Employees http://server1/DS1.svc/Employees(2) http://server1/DS1.svc/Employees(2)/FirstName/$value http://server1/DS1.svc/Employees?$filter=FirstNameeq ‘Tom’