SlideShare une entreprise Scribd logo
1  sur  25
Learning How to Shape and Configure an 
OData Feed for High Performing Web 
Sites and Applications 
NDC LONDON 
CHRIS WOODRUFF
Hi, I’m Woody! 
Chris Woodruff 
cwoodruff@live.com 
http://chriswoodruff.com 
http://deepfriedbytes.com 
twitter @cwoodruff
AGENDA 
BEST PRACTICES VALIDATION CLIENT SIDE 
www.chriswoodruff.com Page Number 3
What are the 2 Sides of OData? 
SERVER-SIDE (PRODUCER) CLIENT-SIDE (CONSUMER) 
www.chriswoodruff.com Page Number 4
Server Side for OData 
www.chriswoodruff.com Page Number 5
BEST PRACTICES 
Lid est laborum dolo rumes fugats untras. 
Etharums ser quidem rerum facilis dolores 
nemis 
Lid est laborum dolo rumes fugats untras. 
Etharums ser quidem rerum facilis dolores 
nemis 
www.chriswoodruff.com Page Number 6
Get to know the OData Protocol!!! 
www.chriswoodruff.com Page Number 7
Configuration Settings 
www.chriswoodruff.com Page Number 8
Query Projection 
www.chriswoodruff.com Page Number 9
Server Side Paging 
www.chriswoodruff.com Page Number 10
How to get DateTime 
working in WeB API OData
VALIDATION AND FILTERING 
Lid est laborum dolo rumes fugats untras. 
Etharums ser quidem rerum facilis dolores 
nemis 
Lid est laborum dolo rumes fugats untras. 
Etharums ser quidem rerum facilis dolores 
nemis 
www.chriswoodruff.com Page Number 12
ODATA ATTRIBUTES 
NotExpandable 
Represents an Attribute that can be placed on a property to specify 
be used in the $expand OData query option. 
0 
5 
NotNavigable 
Represents an Attribute that can be placed on a property to specify 
that the property cannot be navigated in OData query. 
0 
6 
NotSortable 
Represents an attribute that can be placed on a property to specify 
that the property cannot be used in the $orderby OData query 
option. 
0 
7 
NonFilterable 
Represents an Attribute that can be placed on a property to specify 
that the property cannot be used in the $filter OData query option. 
0 
1 
UnSortable 
Represents an Attribute that can be placed on a property to specify 
that the property cannot be used in the $orderby OData query 
option. 
0 
2 
NotExpandable 
Represents an Attribute that can be placed on a property to specify 
that the property cannot be used in the $expand OData query 
option. 
0 
3 
NotCountable 
Represents an Attribute that can be placed on a property to specify 
that the $count cannot be applied on the property. 
0 
4 
[NonFilterable] 
[Unsortable] 
public string Name { get; set; } 
www.chriswoodruff.com Page Number 13
VALIDATION PATHS 
Filter Query 
Represents a validator used to validate a 
FilterQueryOption based on the 
ODataValidationSettings. 
OData Query 
Represents a validator used to validate OData queries 
based on the ODataValidationSettings. 
Order By Query 
Represents a validator used to validate an 
OrderByQueryOption based on the 
ODataValidationSettings. 
Select Expand Query 
Represents a validator used to validate a 
SelectExpandQueryOption based on the 
ODataValidationSettings. 
Skip Query 
Represents a validator used to validate a 
SkipQueryOption based on the 
ODataValidationSettings. 
Top Query 
Represents a validator used to validate a 
TopQueryOption based on the 
ODataValidationSettings. 
www.chriswoodruff.com Page Number 14
Demo 
www.chriswoodruff.com Page Number 15
Client Side for OData 
www.chriswoodruff.com Page Number 16
DEBUGGING/TESTING 
Lid est laborum dolo rumes fugats untras. 
Etharums ser quidem rerum facilis dolores 
nemis 
Lid est laborum dolo rumes fugats untras. 
Etharums ser quidem rerum facilis dolores 
nemis 
www.chriswoodruff.com Page Number 17
XODATA 
TESTING/DEBUGGING ODATA 
Web-based OData Visualizer 
FIDDLER 
Free web debugging tool which 
logs all HTTP(S) traffic between 
your computer and the 
Internet. 
LINQPAD 
Interactively query SQL 
databases (among other data 
sources such as OData or WCF 
Data Services) using LINQ, as 
well as interactively writing C# 
code without the need for an 
IDE. 
ODATA 
VALIDATOR 
Enable OData service authors 
to validate their 
implementation against the 
OData specification to ensure 
the service interoperates well 
with any OData client. 
www.cwherbisswitoenoadmruef.fc.coomm Page Number 18
CONSUMING ODATA 
Lid est laborum dolo rumes fugats untras. 
Etharums ser quidem rerum facilis dolores 
nemis 
Lid est laborum dolo rumes fugats untras. 
Etharums ser quidem rerum facilis dolores 
nemis 
www.chriswoodruff.com Page Number 19
Demo 
www.chriswoodruff.com Page Number 20
Why are we 
excited!!
GITHUB 
http://github.com/cwoodruff 
Project: 
Configure-OData-High-Performing- 
Apps 
Where can you find the source for this 
talk? 
www.chriswoodruff.com Page Number 22
ODATA WORKSHOP 
Go to http://ChrisWoodruff.com for more details and 
pricing 
01 
02 
03 
04 
TESTING/DEBUGGING ODATA 
DEVELPING CLIENT SIDE SOLUTIONS 
• Web Apps using Javascript to consume Odata 
• iOS Swift development for native iPhone and iPad 
apps 
• Windows 8.1 and Windows Phone apps C# and WinJS 
• Android development using Java 
• Using Xamarin for consuming OData 
LEARNING THE PROTOCOL 
• The Metadata and Service Model of OData 
• URI Conventions of OData 
• Format Conventions of OData 
• OData HTTP Conventions and Operations 
DEVELPING SERVER SIDE SOLUTIONS 
• ASP.NET Web API 
• Advanced Performance Tips and Best Practices 
www.chriswoodruff.com Page Number 23
THANK YOU 
Find me around the conference and would enjoy chatting 
Email: cwoodruff@live.com 
Twitter: @cwoodruff 
www.chriswoodruff.com Page Number 24
Credits 
• Security Icon designed by Thibault Geffroy from the Noun Project 
• Check Mark Icon designed by Rafaël Massé from the Noun Project 
• Test Icon designed by ChangHoon Baek from the Noun Project 
• Question Icon designed by Stefano Vetere from the Noun Project 
www.chriswoodruff.com Page Number 25

Contenu connexe

En vedette

Beneficial courses for medical profession.
Beneficial courses for medical profession.Beneficial courses for medical profession.
Beneficial courses for medical profession.dr anil nirale
 
Cosmetology, trichology courses
Cosmetology, trichology coursesCosmetology, trichology courses
Cosmetology, trichology coursesdr anil nirale
 
Build Conference Highlights: How Windows 8 Metro is Revolutionary
Build Conference Highlights: How Windows 8 Metro is RevolutionaryBuild Conference Highlights: How Windows 8 Metro is Revolutionary
Build Conference Highlights: How Windows 8 Metro is RevolutionaryWoodruff Solutions LLC
 
Parade Plan V1.0
Parade Plan V1.0Parade Plan V1.0
Parade Plan V1.0zollida
 
Connecting to Data from Windows Phone 8
Connecting to Data from Windows Phone 8Connecting to Data from Windows Phone 8
Connecting to Data from Windows Phone 8Woodruff Solutions LLC
 
Learning How to Shape and Configure an OData Service for High Performing Web ...
Learning How to Shape and Configure an OData Service for High Performing Web ...Learning How to Shape and Configure an OData Service for High Performing Web ...
Learning How to Shape and Configure an OData Service for High Performing Web ...Woodruff Solutions LLC
 
Cosmetology Trichology Courses by ICLS.
Cosmetology Trichology Courses by ICLS.Cosmetology Trichology Courses by ICLS.
Cosmetology Trichology Courses by ICLS.dr anil nirale
 
Cosmetology, Trichology, 'Art of Medical Practice" Courses
Cosmetology, Trichology, 'Art of Medical Practice" CoursesCosmetology, Trichology, 'Art of Medical Practice" Courses
Cosmetology, Trichology, 'Art of Medical Practice" Coursesdr anil nirale
 

En vedette (13)

Beneficial courses for medical profession.
Beneficial courses for medical profession.Beneficial courses for medical profession.
Beneficial courses for medical profession.
 
Cosmetology, trichology courses
Cosmetology, trichology coursesCosmetology, trichology courses
Cosmetology, trichology courses
 
Build Conference Highlights: How Windows 8 Metro is Revolutionary
Build Conference Highlights: How Windows 8 Metro is RevolutionaryBuild Conference Highlights: How Windows 8 Metro is Revolutionary
Build Conference Highlights: How Windows 8 Metro is Revolutionary
 
Parade Plan V1.0
Parade Plan V1.0Parade Plan V1.0
Parade Plan V1.0
 
Connecting to Data from Windows Phone 8
Connecting to Data from Windows Phone 8Connecting to Data from Windows Phone 8
Connecting to Data from Windows Phone 8
 
Yourskin
YourskinYourskin
Yourskin
 
Learning How to Shape and Configure an OData Service for High Performing Web ...
Learning How to Shape and Configure an OData Service for High Performing Web ...Learning How to Shape and Configure an OData Service for High Performing Web ...
Learning How to Shape and Configure an OData Service for High Performing Web ...
 
Cosmetology Trichology Courses by ICLS.
Cosmetology Trichology Courses by ICLS.Cosmetology Trichology Courses by ICLS.
Cosmetology Trichology Courses by ICLS.
 
Nose Job. Rhinoplasty
Nose Job. RhinoplastyNose Job. Rhinoplasty
Nose Job. Rhinoplasty
 
Iclsstudents
IclsstudentsIclsstudents
Iclsstudents
 
A Look at OData
A Look at ODataA Look at OData
A Look at OData
 
my profile
my profilemy profile
my profile
 
Cosmetology, Trichology, 'Art of Medical Practice" Courses
Cosmetology, Trichology, 'Art of Medical Practice" CoursesCosmetology, Trichology, 'Art of Medical Practice" Courses
Cosmetology, Trichology, 'Art of Medical Practice" Courses
 

Similaire à Learning How to Shape and Configure an OData Feed for High Performing Web Sites and Applications

Gaining the Knowledge of the Open Data Protocol (OData)
Gaining the Knowledge of the Open Data Protocol (OData)Gaining the Knowledge of the Open Data Protocol (OData)
Gaining the Knowledge of the Open Data Protocol (OData)Woodruff Solutions LLC
 
Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of ...
Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of ...Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of ...
Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of ...Eric D. Boyd
 
OData for iOS developers
OData for iOS developersOData for iOS developers
OData for iOS developersGlen Gordon
 
MongoDB Mobile
MongoDB Mobile MongoDB Mobile
MongoDB Mobile MongoDB
 
Testing RESTful Web Services
Testing RESTful Web ServicesTesting RESTful Web Services
Testing RESTful Web ServicesTechWell
 
Seguridad en Servicios Web .Net
Seguridad en Servicios Web .NetSeguridad en Servicios Web .Net
Seguridad en Servicios Web .NetSaul Mamani
 
Hacking Client Side Insecurities
Hacking Client Side InsecuritiesHacking Client Side Insecurities
Hacking Client Side Insecuritiesamiable_indian
 
OData - The Universal REST API
OData - The Universal REST APIOData - The Universal REST API
OData - The Universal REST APINishanth Kadiyala
 
Front-End Test Fest Keynote: The State of the Union for Front End Testing.pdf
Front-End Test Fest Keynote: The State of the Union for Front End Testing.pdfFront-End Test Fest Keynote: The State of the Union for Front End Testing.pdf
Front-End Test Fest Keynote: The State of the Union for Front End Testing.pdfApplitools
 
Advance Serverless for Production Grade Workloads
Advance Serverless for Production Grade WorkloadsAdvance Serverless for Production Grade Workloads
Advance Serverless for Production Grade WorkloadsGary Arora
 
Semantic Web Services Meta-model
Semantic Web Services Meta-modelSemantic Web Services Meta-model
Semantic Web Services Meta-modelAbdalmassih Yakeen
 
Semantic Web Services Meta-Model (SWS-MM)
Semantic Web Services Meta-Model (SWS-MM)Semantic Web Services Meta-Model (SWS-MM)
Semantic Web Services Meta-Model (SWS-MM)Hussein Alshkhir
 
Testing RESTful Web Services
Testing RESTful Web ServicesTesting RESTful Web Services
Testing RESTful Web ServicesTechWell
 
Rock Your Web Apps with Vaadin: Coding Serbia 2014
Rock Your Web Apps with Vaadin: Coding Serbia 2014Rock Your Web Apps with Vaadin: Coding Serbia 2014
Rock Your Web Apps with Vaadin: Coding Serbia 2014Ville Ingman
 
Enterprise Single Sign On
Enterprise Single Sign On Enterprise Single Sign On
Enterprise Single Sign On WSO2
 
6 Months Dotnet internship in Noida
6 Months Dotnet internship in Noida6 Months Dotnet internship in Noida
6 Months Dotnet internship in NoidaTech Mentro
 
Rapid Application Development with WSO2 Platform
Rapid Application Development with WSO2 PlatformRapid Application Development with WSO2 Platform
Rapid Application Development with WSO2 PlatformWSO2
 
AWS Stripe Meetup - Powering UK Startup Economy
AWS Stripe Meetup - Powering UK Startup EconomyAWS Stripe Meetup - Powering UK Startup Economy
AWS Stripe Meetup - Powering UK Startup EconomyAmazon Web Services
 
AT&T Shape Hackathon Kick-off
AT&T Shape Hackathon Kick-offAT&T Shape Hackathon Kick-off
AT&T Shape Hackathon Kick-offEd Donahue
 

Similaire à Learning How to Shape and Configure an OData Feed for High Performing Web Sites and Applications (20)

Gaining the Knowledge of the Open Data Protocol (OData)
Gaining the Knowledge of the Open Data Protocol (OData)Gaining the Knowledge of the Open Data Protocol (OData)
Gaining the Knowledge of the Open Data Protocol (OData)
 
Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of ...
Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of ...Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of ...
Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of ...
 
OData for iOS developers
OData for iOS developersOData for iOS developers
OData for iOS developers
 
MongoDB Mobile
MongoDB Mobile MongoDB Mobile
MongoDB Mobile
 
Testing RESTful Web Services
Testing RESTful Web ServicesTesting RESTful Web Services
Testing RESTful Web Services
 
Seguridad en Servicios Web .Net
Seguridad en Servicios Web .NetSeguridad en Servicios Web .Net
Seguridad en Servicios Web .Net
 
Hacking Client Side Insecurities
Hacking Client Side InsecuritiesHacking Client Side Insecurities
Hacking Client Side Insecurities
 
OData - The Universal REST API
OData - The Universal REST APIOData - The Universal REST API
OData - The Universal REST API
 
Front-End Test Fest Keynote: The State of the Union for Front End Testing.pdf
Front-End Test Fest Keynote: The State of the Union for Front End Testing.pdfFront-End Test Fest Keynote: The State of the Union for Front End Testing.pdf
Front-End Test Fest Keynote: The State of the Union for Front End Testing.pdf
 
OData – Super Cola W3
OData – Super Cola W3OData – Super Cola W3
OData – Super Cola W3
 
Advance Serverless for Production Grade Workloads
Advance Serverless for Production Grade WorkloadsAdvance Serverless for Production Grade Workloads
Advance Serverless for Production Grade Workloads
 
Semantic Web Services Meta-model
Semantic Web Services Meta-modelSemantic Web Services Meta-model
Semantic Web Services Meta-model
 
Semantic Web Services Meta-Model (SWS-MM)
Semantic Web Services Meta-Model (SWS-MM)Semantic Web Services Meta-Model (SWS-MM)
Semantic Web Services Meta-Model (SWS-MM)
 
Testing RESTful Web Services
Testing RESTful Web ServicesTesting RESTful Web Services
Testing RESTful Web Services
 
Rock Your Web Apps with Vaadin: Coding Serbia 2014
Rock Your Web Apps with Vaadin: Coding Serbia 2014Rock Your Web Apps with Vaadin: Coding Serbia 2014
Rock Your Web Apps with Vaadin: Coding Serbia 2014
 
Enterprise Single Sign On
Enterprise Single Sign On Enterprise Single Sign On
Enterprise Single Sign On
 
6 Months Dotnet internship in Noida
6 Months Dotnet internship in Noida6 Months Dotnet internship in Noida
6 Months Dotnet internship in Noida
 
Rapid Application Development with WSO2 Platform
Rapid Application Development with WSO2 PlatformRapid Application Development with WSO2 Platform
Rapid Application Development with WSO2 Platform
 
AWS Stripe Meetup - Powering UK Startup Economy
AWS Stripe Meetup - Powering UK Startup EconomyAWS Stripe Meetup - Powering UK Startup Economy
AWS Stripe Meetup - Powering UK Startup Economy
 
AT&T Shape Hackathon Kick-off
AT&T Shape Hackathon Kick-offAT&T Shape Hackathon Kick-off
AT&T Shape Hackathon Kick-off
 

Plus de Woodruff Solutions LLC

Developing Mobile Solutions with Azure Mobile Services in Windows 8.1 and Win...
Developing Mobile Solutions with Azure Mobile Services in Windows 8.1 and Win...Developing Mobile Solutions with Azure Mobile Services in Windows 8.1 and Win...
Developing Mobile Solutions with Azure Mobile Services in Windows 8.1 and Win...Woodruff Solutions LLC
 
Pushing Data to and from the Cloud with SQL Azure Data Sync -- TechEd NA 2013
Pushing Data to and from the Cloud with SQL Azure Data Sync -- TechEd NA 2013Pushing Data to and from the Cloud with SQL Azure Data Sync -- TechEd NA 2013
Pushing Data to and from the Cloud with SQL Azure Data Sync -- TechEd NA 2013Woodruff Solutions LLC
 
Developing Mobile Solutions with Azure and Windows Phone VSLive! Redmond 2013
Developing Mobile Solutions with Azure and Windows Phone VSLive! Redmond 2013Developing Mobile Solutions with Azure and Windows Phone VSLive! Redmond 2013
Developing Mobile Solutions with Azure and Windows Phone VSLive! Redmond 2013Woodruff Solutions LLC
 
Connecting to Data from Windows Phone 8 VSLive! Redmond 2013
Connecting to Data from Windows Phone 8 VSLive! Redmond 2013Connecting to Data from Windows Phone 8 VSLive! Redmond 2013
Connecting to Data from Windows Phone 8 VSLive! Redmond 2013Woodruff Solutions LLC
 
AzureConf 2013 Developing Cross Platform Mobile Solutions with Azure Mobile...
AzureConf 2013   Developing Cross Platform Mobile Solutions with Azure Mobile...AzureConf 2013   Developing Cross Platform Mobile Solutions with Azure Mobile...
AzureConf 2013 Developing Cross Platform Mobile Solutions with Azure Mobile...Woodruff Solutions LLC
 
Breaking down data silos with the open data protocol
Breaking down data silos with the open data protocolBreaking down data silos with the open data protocol
Breaking down data silos with the open data protocolWoodruff Solutions LLC
 

Plus de Woodruff Solutions LLC (10)

Developing Mobile Solutions with Azure Mobile Services in Windows 8.1 and Win...
Developing Mobile Solutions with Azure Mobile Services in Windows 8.1 and Win...Developing Mobile Solutions with Azure Mobile Services in Windows 8.1 and Win...
Developing Mobile Solutions with Azure Mobile Services in Windows 8.1 and Win...
 
Pushing Data to and from the Cloud with SQL Azure Data Sync -- TechEd NA 2013
Pushing Data to and from the Cloud with SQL Azure Data Sync -- TechEd NA 2013Pushing Data to and from the Cloud with SQL Azure Data Sync -- TechEd NA 2013
Pushing Data to and from the Cloud with SQL Azure Data Sync -- TechEd NA 2013
 
Developing Mobile Solutions with Azure and Windows Phone VSLive! Redmond 2013
Developing Mobile Solutions with Azure and Windows Phone VSLive! Redmond 2013Developing Mobile Solutions with Azure and Windows Phone VSLive! Redmond 2013
Developing Mobile Solutions with Azure and Windows Phone VSLive! Redmond 2013
 
Connecting to Data from Windows Phone 8 VSLive! Redmond 2013
Connecting to Data from Windows Phone 8 VSLive! Redmond 2013Connecting to Data from Windows Phone 8 VSLive! Redmond 2013
Connecting to Data from Windows Phone 8 VSLive! Redmond 2013
 
AzureConf 2013 Developing Cross Platform Mobile Solutions with Azure Mobile...
AzureConf 2013   Developing Cross Platform Mobile Solutions with Azure Mobile...AzureConf 2013   Developing Cross Platform Mobile Solutions with Azure Mobile...
AzureConf 2013 Developing Cross Platform Mobile Solutions with Azure Mobile...
 
Sql Azure Data Sync
Sql Azure Data SyncSql Azure Data Sync
Sql Azure Data Sync
 
Producing an OData feed in 10 minutes
Producing an OData feed in 10 minutesProducing an OData feed in 10 minutes
Producing an OData feed in 10 minutes
 
Sailing on the ocean of 1s and 0s
Sailing on the ocean of 1s and 0sSailing on the ocean of 1s and 0s
Sailing on the ocean of 1s and 0s
 
Breaking down data silos with OData
Breaking down data silos with ODataBreaking down data silos with OData
Breaking down data silos with OData
 
Breaking down data silos with the open data protocol
Breaking down data silos with the open data protocolBreaking down data silos with the open data protocol
Breaking down data silos with the open data protocol
 

Dernier

Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 

Dernier (20)

Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 

Learning How to Shape and Configure an OData Feed for High Performing Web Sites and Applications

  • 1. Learning How to Shape and Configure an OData Feed for High Performing Web Sites and Applications NDC LONDON CHRIS WOODRUFF
  • 2. Hi, I’m Woody! Chris Woodruff cwoodruff@live.com http://chriswoodruff.com http://deepfriedbytes.com twitter @cwoodruff
  • 3. AGENDA BEST PRACTICES VALIDATION CLIENT SIDE www.chriswoodruff.com Page Number 3
  • 4. What are the 2 Sides of OData? SERVER-SIDE (PRODUCER) CLIENT-SIDE (CONSUMER) www.chriswoodruff.com Page Number 4
  • 5. Server Side for OData www.chriswoodruff.com Page Number 5
  • 6. BEST PRACTICES Lid est laborum dolo rumes fugats untras. Etharums ser quidem rerum facilis dolores nemis Lid est laborum dolo rumes fugats untras. Etharums ser quidem rerum facilis dolores nemis www.chriswoodruff.com Page Number 6
  • 7. Get to know the OData Protocol!!! www.chriswoodruff.com Page Number 7
  • 10. Server Side Paging www.chriswoodruff.com Page Number 10
  • 11. How to get DateTime working in WeB API OData
  • 12. VALIDATION AND FILTERING Lid est laborum dolo rumes fugats untras. Etharums ser quidem rerum facilis dolores nemis Lid est laborum dolo rumes fugats untras. Etharums ser quidem rerum facilis dolores nemis www.chriswoodruff.com Page Number 12
  • 13. ODATA ATTRIBUTES NotExpandable Represents an Attribute that can be placed on a property to specify be used in the $expand OData query option. 0 5 NotNavigable Represents an Attribute that can be placed on a property to specify that the property cannot be navigated in OData query. 0 6 NotSortable Represents an attribute that can be placed on a property to specify that the property cannot be used in the $orderby OData query option. 0 7 NonFilterable Represents an Attribute that can be placed on a property to specify that the property cannot be used in the $filter OData query option. 0 1 UnSortable Represents an Attribute that can be placed on a property to specify that the property cannot be used in the $orderby OData query option. 0 2 NotExpandable Represents an Attribute that can be placed on a property to specify that the property cannot be used in the $expand OData query option. 0 3 NotCountable Represents an Attribute that can be placed on a property to specify that the $count cannot be applied on the property. 0 4 [NonFilterable] [Unsortable] public string Name { get; set; } www.chriswoodruff.com Page Number 13
  • 14. VALIDATION PATHS Filter Query Represents a validator used to validate a FilterQueryOption based on the ODataValidationSettings. OData Query Represents a validator used to validate OData queries based on the ODataValidationSettings. Order By Query Represents a validator used to validate an OrderByQueryOption based on the ODataValidationSettings. Select Expand Query Represents a validator used to validate a SelectExpandQueryOption based on the ODataValidationSettings. Skip Query Represents a validator used to validate a SkipQueryOption based on the ODataValidationSettings. Top Query Represents a validator used to validate a TopQueryOption based on the ODataValidationSettings. www.chriswoodruff.com Page Number 14
  • 16. Client Side for OData www.chriswoodruff.com Page Number 16
  • 17. DEBUGGING/TESTING Lid est laborum dolo rumes fugats untras. Etharums ser quidem rerum facilis dolores nemis Lid est laborum dolo rumes fugats untras. Etharums ser quidem rerum facilis dolores nemis www.chriswoodruff.com Page Number 17
  • 18. XODATA TESTING/DEBUGGING ODATA Web-based OData Visualizer FIDDLER Free web debugging tool which logs all HTTP(S) traffic between your computer and the Internet. LINQPAD Interactively query SQL databases (among other data sources such as OData or WCF Data Services) using LINQ, as well as interactively writing C# code without the need for an IDE. ODATA VALIDATOR Enable OData service authors to validate their implementation against the OData specification to ensure the service interoperates well with any OData client. www.cwherbisswitoenoadmruef.fc.coomm Page Number 18
  • 19. CONSUMING ODATA Lid est laborum dolo rumes fugats untras. Etharums ser quidem rerum facilis dolores nemis Lid est laborum dolo rumes fugats untras. Etharums ser quidem rerum facilis dolores nemis www.chriswoodruff.com Page Number 19
  • 21. Why are we excited!!
  • 22. GITHUB http://github.com/cwoodruff Project: Configure-OData-High-Performing- Apps Where can you find the source for this talk? www.chriswoodruff.com Page Number 22
  • 23. ODATA WORKSHOP Go to http://ChrisWoodruff.com for more details and pricing 01 02 03 04 TESTING/DEBUGGING ODATA DEVELPING CLIENT SIDE SOLUTIONS • Web Apps using Javascript to consume Odata • iOS Swift development for native iPhone and iPad apps • Windows 8.1 and Windows Phone apps C# and WinJS • Android development using Java • Using Xamarin for consuming OData LEARNING THE PROTOCOL • The Metadata and Service Model of OData • URI Conventions of OData • Format Conventions of OData • OData HTTP Conventions and Operations DEVELPING SERVER SIDE SOLUTIONS • ASP.NET Web API • Advanced Performance Tips and Best Practices www.chriswoodruff.com Page Number 23
  • 24. THANK YOU Find me around the conference and would enjoy chatting Email: cwoodruff@live.com Twitter: @cwoodruff www.chriswoodruff.com Page Number 24
  • 25. Credits • Security Icon designed by Thibault Geffroy from the Noun Project • Check Mark Icon designed by Rafaël Massé from the Noun Project • Test Icon designed by ChangHoon Baek from the Noun Project • Question Icon designed by Stefano Vetere from the Noun Project www.chriswoodruff.com Page Number 25

Notes de l'éditeur

  1. So far, DateTime is not the part of the OASIS OData V4 standard and Web API doesn't support the DateTime type while it does support the DateTimeOffset type. Invoice.cs WebApiConfig.cs