Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

1,009 views

Published on

You have all sat through the simple WCF Data Service or ASP.NET Web API introductory sessions multiple times and they are valuable but it is time to learn how to really leverage that WCF knowledge and learn how to build and produce valuable OData feeds which will allow your applications usability to sizzle. At the same time you will learn how OData is built for high performance and security. Chris Woodruff will teach and give deep knowledge into the configuration and extensibility of the Web API/OData feed. It will also teach developers to secure their feeds through multiple user authentications such as OAuth, Windows and Forms Authentication.

Published in: Technology
  • Be the first to comment

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

  1. 1. Learning How to Shape and Configure an OData Feed for High Performing Web Sites and Applications NDC LONDON CHRIS WOODRUFF
  2. 2. Hi, I’m Woody! Chris Woodruff cwoodruff@live.com http://chriswoodruff.com http://deepfriedbytes.com twitter @cwoodruff
  3. 3. AGENDA BEST PRACTICES VALIDATION CLIENT SIDE www.chriswoodruff.com Page Number 3
  4. 4. What are the 2 Sides of OData? SERVER-SIDE (PRODUCER) CLIENT-SIDE (CONSUMER) www.chriswoodruff.com Page Number 4
  5. 5. Server Side for OData www.chriswoodruff.com Page Number 5
  6. 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. 7. Get to know the OData Protocol!!! www.chriswoodruff.com Page Number 7
  8. 8. Configuration Settings www.chriswoodruff.com Page Number 8
  9. 9. Query Projection www.chriswoodruff.com Page Number 9
  10. 10. Server Side Paging www.chriswoodruff.com Page Number 10
  11. 11. How to get DateTime working in WeB API OData
  12. 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. 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. 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
  15. 15. Demo www.chriswoodruff.com Page Number 15
  16. 16. Client Side for OData www.chriswoodruff.com Page Number 16
  17. 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. 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. 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
  20. 20. Demo www.chriswoodruff.com Page Number 20
  21. 21. Why are we excited!!
  22. 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. 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. 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. 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

×