SlideShare a Scribd company logo
1 of 13
OData Protocol and WCF Data Services Morris Bahrami
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.
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.
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.
REST and OData REST is an architecture style and design pattern. OData is a specific protocol implementing REST.
What is WCF Data Services? WCF Data Services expose and consume OData feeds.
WCF Programming Models From http://blogs.msdn.com/b/endpoint/archive/2010/01/04/wcf-data-services-ria-services-alignment-questions-and-answers.aspx
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.
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.
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.
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’
Some query options
Query operators

More Related Content

Viewers also liked

MS PPM Summit Chicago_Nov 2015
MS PPM Summit Chicago_Nov 2015MS PPM Summit Chicago_Nov 2015
MS PPM Summit Chicago_Nov 2015
Ludvic Baquie
 
Developing ssrs-reports-for-dynamics-ax
Developing ssrs-reports-for-dynamics-axDeveloping ssrs-reports-for-dynamics-ax
Developing ssrs-reports-for-dynamics-ax
Nicc Ngo
 
Business intelligence in microsoft dynamics ax
Business intelligence in microsoft dynamics axBusiness intelligence in microsoft dynamics ax
Business intelligence in microsoft dynamics ax
AlfaPeople US
 

Viewers also liked (8)

OData: A Standard API for Data Access
OData: A Standard API for Data AccessOData: A Standard API for Data Access
OData: A Standard API for Data Access
 
MS PPM Summit Chicago_Nov 2015
MS PPM Summit Chicago_Nov 2015MS PPM Summit Chicago_Nov 2015
MS PPM Summit Chicago_Nov 2015
 
Developing ssrs-reports-for-dynamics-ax
Developing ssrs-reports-for-dynamics-axDeveloping ssrs-reports-for-dynamics-ax
Developing ssrs-reports-for-dynamics-ax
 
Data Warehouse approaches with Dynamics AX
Data Warehouse  approaches with Dynamics AXData Warehouse  approaches with Dynamics AX
Data Warehouse approaches with Dynamics AX
 
Dynamics Day 2013 AX 2012 Tips and Tricks 45 in 45
Dynamics Day 2013 AX 2012 Tips and Tricks 45 in 45Dynamics Day 2013 AX 2012 Tips and Tricks 45 in 45
Dynamics Day 2013 AX 2012 Tips and Tricks 45 in 45
 
Business intelligence in microsoft dynamics ax
Business intelligence in microsoft dynamics axBusiness intelligence in microsoft dynamics ax
Business intelligence in microsoft dynamics ax
 
Dynamics Day 2014: Microsoft Dynamics AX - Roadmap
Dynamics Day 2014: Microsoft Dynamics AX - RoadmapDynamics Day 2014: Microsoft Dynamics AX - Roadmap
Dynamics Day 2014: Microsoft Dynamics AX - Roadmap
 
Dynamics Day 2012: Dynamics AX Update and Roadmap
Dynamics Day 2012: Dynamics AX Update and RoadmapDynamics Day 2012: Dynamics AX Update and Roadmap
Dynamics Day 2012: Dynamics AX Update and Roadmap
 

Recently uploaded

Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Peter Udo Diehl
 

Recently uploaded (20)

Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through Observability
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and Planning
 
Connecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAKConnecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAK
 
Strategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering TeamsStrategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering Teams
 
WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM Performance
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджера
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
 
THE BEST IPTV in GERMANY for 2024: IPTVreel
THE BEST IPTV in  GERMANY for 2024: IPTVreelTHE BEST IPTV in  GERMANY for 2024: IPTVreel
THE BEST IPTV in GERMANY for 2024: IPTVreel
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
 
Buy Epson EcoTank L3210 Colour Printer Online.pdf
Buy Epson EcoTank L3210 Colour Printer Online.pdfBuy Epson EcoTank L3210 Colour Printer Online.pdf
Buy Epson EcoTank L3210 Colour Printer Online.pdf
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
 
Designing for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastDesigning for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at Comcast
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
 
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
 

OData and WCF Data Services

  • 1. OData Protocol and WCF Data Services Morris Bahrami
  • 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’