SlideShare ist ein Scribd-Unternehmen logo
1 von 24
Downloaden Sie, um offline zu lesen
Real-Time Web Applications with ASP.NET WebAPI and SignalR
ASP.NET Web API


Jim Wang
How to reach more clients?
How to make it scale?
How to keep it simple?
Leverage the Web – build Web APIs
ASP.NET Web API



     A framework for creating HTTP
    services that can reach a broad range
    of clients including browsers and mobile
                      devices
features

 First class modern HTTP           Available as NuGet packages
    programming model               Great templates and tooling in
   Easily map resources to URIs     2012.2 release, like help pages
   Content negotiation             Fully open source
   Request validation
   Flexible hosting
   Lightweight
   .NET 4+
ASP.NET Web API OData

Components for implementing OData services
Model builders, formatters (Atom/JSON/XML), path and query parsers, LINQ expression generator, etc

Support common patterns using an open protocol
Ex. query, paging, relationships, metadata

Built on ODataLib
Same underpinnings as WCF Data Services

Open source and accepting contributions
http://aspnetwebstack.codeplex.com
Three Steps to Get Started

Create your EDM
   ODataConventionModelBuilder modelBuilder = new ODataConventionModelBuilder();
   modelBuilder.EntitySet<Movie>("Movies");
   IEdmModel model = modelBuilder.GetEdmModel();

Configure your OData Route
   config.Routes.MapODataRoute(routeName: "OData", routePrefix: "odata", model: model);


Implement an OData Controller
   public class MoviesController : EntitySetController<Movie, int> {...}
Data Model for OData

The ASP.NET Web API core runtime has no data
model
Objects formatted to/from opaque blobs by formatters

OData is based on the Entity Data Model (EDM)
Entity sets, entities, relationships, complex types, actions, functions

Having a data model means the framework can do
more for you
Provide metadata, setup routes, rich link generation, query, paging

Your OData EDM can be different from your EF
EDM
Query Support

[Queryable] action filter enables OData query
support
Can be used independent of the format

ODataQueryOptions provides the parsed query
AST
Apply the query to an IQueryable
Translate the Abstract Syntax Tree to your query mechanism of choice

Query validation
Restrict supported query options, functions, expression operators, queryable properties, etc.

Paging
Set PageSize to your desired max page size
what’s next?

   Security with OAuth2, JWT
   OData $expand, $select
   Odata scaffolding for templates
   SignalR integration
   CORS, JSONP
signalR


Jim Wang
what is it?

SignalR : Incredibly simple real-time for ASP.NET
 Automatic protocol negotiation




    Simplicity                Reach   Performance
where are we?

github.com/SignalR/SignalR

1.0 RTW with ASP.NET 2012.2
clients

Today                             Future?
   jQuery                           Pure JavaScript (no jQuery)
   .NET 4.0+                        C++ (Windows Store & Embedded)
   Silverlight 5                    MonoTouch/MonoDroid
   Windows Phone 8                  Objective C
   .NET for Windows Store apps      Java
                                     …
what’s next?

       Monthly point releases
       More documentation and samples
       More templates and scaffolding
       Scale out
        Service Bus
        SQL Server
        Redis
knockout.js


Jim Wang
features
let’s build.


Jim Wang
get ASP.NET and Web Tools 2012.2

www.asp.net/vnext
links

Knockout.js
http://knockoutjs.com

Bootstrap
http://twitter.github.com/bootstrap/

OData Security Guidance for Web API
http://www.asp.net/web-api/overview/odata-support-in-aspnet-web-api/odata-security-guidance
questions?


Jim Wang
@turanuk
jim.wang@microsoft.com

Weitere ähnliche Inhalte

Was ist angesagt?

ASP.net MVC Introduction Wikilogia (nov 2014)
ASP.net MVC Introduction Wikilogia (nov 2014)ASP.net MVC Introduction Wikilogia (nov 2014)
ASP.net MVC Introduction Wikilogia (nov 2014)Hatem Hamad
 
Microsoft SQL Server 2008
Microsoft SQL Server 2008Microsoft SQL Server 2008
Microsoft SQL Server 2008Hossein Zahed
 
WJAX 2012 - Web Apps With AngularJS
WJAX 2012 - Web Apps With AngularJSWJAX 2012 - Web Apps With AngularJS
WJAX 2012 - Web Apps With AngularJSPhilipp Burgmer
 
Asp.net mvc presentation by Nitin Sawant
Asp.net mvc presentation by Nitin SawantAsp.net mvc presentation by Nitin Sawant
Asp.net mvc presentation by Nitin SawantNitin Sawant
 
Spring online training
Spring online trainingSpring online training
Spring online training> Logics
 
Javascript Frameworks Comparison - Angular, Knockout, Ember and Backbone
Javascript Frameworks Comparison - Angular, Knockout, Ember and BackboneJavascript Frameworks Comparison - Angular, Knockout, Ember and Backbone
Javascript Frameworks Comparison - Angular, Knockout, Ember and BackboneDeepu S Nath
 
Introduction to MVC Web Framework with CodeIgniter
Introduction to MVC Web Framework with CodeIgniterIntroduction to MVC Web Framework with CodeIgniter
Introduction to MVC Web Framework with CodeIgniterPongsakorn U-chupala
 
Mvvm knockout vs angular
Mvvm knockout vs angularMvvm knockout vs angular
Mvvm knockout vs angularBasarat Syed
 
Mortal Kombat! ASP.NET MVC vs ASP.NET Webforms – ASP.NET MVC is amazing
Mortal Kombat! ASP.NET MVC vs ASP.NET Webforms – ASP.NET MVC is amazingMortal Kombat! ASP.NET MVC vs ASP.NET Webforms – ASP.NET MVC is amazing
Mortal Kombat! ASP.NET MVC vs ASP.NET Webforms – ASP.NET MVC is amazingTom Walker
 
ASP .NET MVC
ASP .NET MVC ASP .NET MVC
ASP .NET MVC eldorina
 
ASPNET Roadmap
ASPNET RoadmapASPNET Roadmap
ASPNET Roadmapukdpe
 
Differences Between On Premise And Windows Azure
Differences Between On Premise And Windows AzureDifferences Between On Premise And Windows Azure
Differences Between On Premise And Windows AzureMichal Neuwirth
 
Web testing with selenium and by quontra solutions
Web testing with selenium and  by quontra solutionsWeb testing with selenium and  by quontra solutions
Web testing with selenium and by quontra solutionsQUONTRASOLUTIONS
 
Angular js tutorial slides
Angular js tutorial slidesAngular js tutorial slides
Angular js tutorial slidessamhelman
 

Was ist angesagt? (20)

ASP.net MVC Introduction Wikilogia (nov 2014)
ASP.net MVC Introduction Wikilogia (nov 2014)ASP.net MVC Introduction Wikilogia (nov 2014)
ASP.net MVC Introduction Wikilogia (nov 2014)
 
Microsoft SQL Server 2008
Microsoft SQL Server 2008Microsoft SQL Server 2008
Microsoft SQL Server 2008
 
WJAX 2012 - Web Apps With AngularJS
WJAX 2012 - Web Apps With AngularJSWJAX 2012 - Web Apps With AngularJS
WJAX 2012 - Web Apps With AngularJS
 
Asp.net mvc presentation by Nitin Sawant
Asp.net mvc presentation by Nitin SawantAsp.net mvc presentation by Nitin Sawant
Asp.net mvc presentation by Nitin Sawant
 
ASP .NET MVC - best practices
ASP .NET MVC - best practicesASP .NET MVC - best practices
ASP .NET MVC - best practices
 
Spring online training
Spring online trainingSpring online training
Spring online training
 
Module2
Module2Module2
Module2
 
Javascript Frameworks Comparison - Angular, Knockout, Ember and Backbone
Javascript Frameworks Comparison - Angular, Knockout, Ember and BackboneJavascript Frameworks Comparison - Angular, Knockout, Ember and Backbone
Javascript Frameworks Comparison - Angular, Knockout, Ember and Backbone
 
Introduction to MVC Web Framework with CodeIgniter
Introduction to MVC Web Framework with CodeIgniterIntroduction to MVC Web Framework with CodeIgniter
Introduction to MVC Web Framework with CodeIgniter
 
Mvvm knockout vs angular
Mvvm knockout vs angularMvvm knockout vs angular
Mvvm knockout vs angular
 
Mortal Kombat! ASP.NET MVC vs ASP.NET Webforms – ASP.NET MVC is amazing
Mortal Kombat! ASP.NET MVC vs ASP.NET Webforms – ASP.NET MVC is amazingMortal Kombat! ASP.NET MVC vs ASP.NET Webforms – ASP.NET MVC is amazing
Mortal Kombat! ASP.NET MVC vs ASP.NET Webforms – ASP.NET MVC is amazing
 
ASP .NET MVC
ASP .NET MVC ASP .NET MVC
ASP .NET MVC
 
MSDN - ASP.NET MVC
MSDN - ASP.NET MVCMSDN - ASP.NET MVC
MSDN - ASP.NET MVC
 
Enterprise TypeScript
Enterprise TypeScriptEnterprise TypeScript
Enterprise TypeScript
 
Extjs
ExtjsExtjs
Extjs
 
ASP.NET MVC for Begineers
ASP.NET MVC for BegineersASP.NET MVC for Begineers
ASP.NET MVC for Begineers
 
ASPNET Roadmap
ASPNET RoadmapASPNET Roadmap
ASPNET Roadmap
 
Differences Between On Premise And Windows Azure
Differences Between On Premise And Windows AzureDifferences Between On Premise And Windows Azure
Differences Between On Premise And Windows Azure
 
Web testing with selenium and by quontra solutions
Web testing with selenium and  by quontra solutionsWeb testing with selenium and  by quontra solutions
Web testing with selenium and by quontra solutions
 
Angular js tutorial slides
Angular js tutorial slidesAngular js tutorial slides
Angular js tutorial slides
 

Andere mochten auch

Owin from spec to application
Owin from spec to applicationOwin from spec to application
Owin from spec to applicationdamian-h
 
OWIN and Katana Project - Not Only IIS - NoIIS
OWIN and Katana Project - Not Only IIS - NoIISOWIN and Katana Project - Not Only IIS - NoIIS
OWIN and Katana Project - Not Only IIS - NoIISBilal Haidar
 
DevIntersections 2014 Web API Slides
DevIntersections 2014 Web API SlidesDevIntersections 2014 Web API Slides
DevIntersections 2014 Web API SlidesBrady Gaster
 
¿Merece la pena SharePoint 2016? Puntos de vista de un IT PRO, desarrollador ...
¿Merece la pena SharePoint 2016? Puntos de vista de un IT PRO, desarrollador ...¿Merece la pena SharePoint 2016? Puntos de vista de un IT PRO, desarrollador ...
¿Merece la pena SharePoint 2016? Puntos de vista de un IT PRO, desarrollador ...Miguel Tabera
 
Real World Asp.Net WebApi Applications
Real World Asp.Net WebApi ApplicationsReal World Asp.Net WebApi Applications
Real World Asp.Net WebApi ApplicationsEffie Arditi
 
Micro Services in .NET Core and Docker
Micro Services in .NET Core and DockerMicro Services in .NET Core and Docker
Micro Services in .NET Core and Dockercjmyers
 
How to Make Own Framework built on OWIN
How to Make Own Framework built on OWINHow to Make Own Framework built on OWIN
How to Make Own Framework built on OWINYoshifumi Kawai
 
web apiで遊び倒す
web apiで遊び倒すweb apiで遊び倒す
web apiで遊び倒すKeiichi Daiba
 
Web API or WCF - An Architectural Comparison
Web API or WCF - An Architectural ComparisonWeb API or WCF - An Architectural Comparison
Web API or WCF - An Architectural ComparisonAdnan Masood
 
Web 2.0 Business Models
Web 2.0 Business ModelsWeb 2.0 Business Models
Web 2.0 Business ModelsTeemu Arina
 

Andere mochten auch (12)

Owin from spec to application
Owin from spec to applicationOwin from spec to application
Owin from spec to application
 
OWIN and Katana Project - Not Only IIS - NoIIS
OWIN and Katana Project - Not Only IIS - NoIISOWIN and Katana Project - Not Only IIS - NoIIS
OWIN and Katana Project - Not Only IIS - NoIIS
 
Owin and Katana
Owin and KatanaOwin and Katana
Owin and Katana
 
Retorika Industri Kreatif
Retorika Industri KreatifRetorika Industri Kreatif
Retorika Industri Kreatif
 
DevIntersections 2014 Web API Slides
DevIntersections 2014 Web API SlidesDevIntersections 2014 Web API Slides
DevIntersections 2014 Web API Slides
 
¿Merece la pena SharePoint 2016? Puntos de vista de un IT PRO, desarrollador ...
¿Merece la pena SharePoint 2016? Puntos de vista de un IT PRO, desarrollador ...¿Merece la pena SharePoint 2016? Puntos de vista de un IT PRO, desarrollador ...
¿Merece la pena SharePoint 2016? Puntos de vista de un IT PRO, desarrollador ...
 
Real World Asp.Net WebApi Applications
Real World Asp.Net WebApi ApplicationsReal World Asp.Net WebApi Applications
Real World Asp.Net WebApi Applications
 
Micro Services in .NET Core and Docker
Micro Services in .NET Core and DockerMicro Services in .NET Core and Docker
Micro Services in .NET Core and Docker
 
How to Make Own Framework built on OWIN
How to Make Own Framework built on OWINHow to Make Own Framework built on OWIN
How to Make Own Framework built on OWIN
 
web apiで遊び倒す
web apiで遊び倒すweb apiで遊び倒す
web apiで遊び倒す
 
Web API or WCF - An Architectural Comparison
Web API or WCF - An Architectural ComparisonWeb API or WCF - An Architectural Comparison
Web API or WCF - An Architectural Comparison
 
Web 2.0 Business Models
Web 2.0 Business ModelsWeb 2.0 Business Models
Web 2.0 Business Models
 

Ähnlich wie Real-Time Web Applications with ASP.NET WebAPI and SignalR

ASP.NET MVC - In the Wild
ASP.NET MVC - In the WildASP.NET MVC - In the Wild
ASP.NET MVC - In the WildBrian Boatright
 
OData for iOS developers
OData for iOS developersOData for iOS developers
OData for iOS developersGlen Gordon
 
Web matrix part 2
Web matrix part 2Web matrix part 2
Web matrix part 2yuvaraj72
 
Intro to .NET for Government Developers
Intro to .NET for Government DevelopersIntro to .NET for Government Developers
Intro to .NET for Government DevelopersFrank La Vigne
 
Visual Studio2010
Visual Studio2010Visual Studio2010
Visual Studio2010HimaVejella
 
Net Framework Hima
Net Framework HimaNet Framework Hima
Net Framework HimaHimaVejella
 
Que hay de nuevo en Visual Studio 2013 y ASP.NET 5.1
Que hay de nuevo en Visual Studio 2013 y ASP.NET 5.1Que hay de nuevo en Visual Studio 2013 y ASP.NET 5.1
Que hay de nuevo en Visual Studio 2013 y ASP.NET 5.1Rodolfo Finochietti
 
D22 Portlet Development With Open Source Frameworks
D22 Portlet Development With Open Source FrameworksD22 Portlet Development With Open Source Frameworks
D22 Portlet Development With Open Source FrameworksSunil Patil
 
D22 portlet development with open source frameworks
D22 portlet development with open source frameworksD22 portlet development with open source frameworks
D22 portlet development with open source frameworksSunil Patil
 
ASP.NET Presentation
ASP.NET PresentationASP.NET Presentation
ASP.NET PresentationRasel Khan
 
Web development concepts using microsoft technologies
Web development concepts using microsoft technologiesWeb development concepts using microsoft technologies
Web development concepts using microsoft technologiesHosam Kamel
 
Advanced Web Development
Advanced Web DevelopmentAdvanced Web Development
Advanced Web DevelopmentRobert J. Stein
 
Usability AJAX and other ASP.NET Features
Usability AJAX and other ASP.NET FeaturesUsability AJAX and other ASP.NET Features
Usability AJAX and other ASP.NET FeaturesPeter Gfader
 
Websites, Web Services and Cloud Applications with Visual Studio
Websites, Web Services and Cloud Applications with Visual StudioWebsites, Web Services and Cloud Applications with Visual Studio
Websites, Web Services and Cloud Applications with Visual StudioMicrosoft Visual Studio
 
Introduction To Mvc
Introduction To MvcIntroduction To Mvc
Introduction To MvcVolkan Uzun
 
Develop iOS and Android apps with SharePoint/Office 365
Develop iOS and Android apps with SharePoint/Office 365Develop iOS and Android apps with SharePoint/Office 365
Develop iOS and Android apps with SharePoint/Office 365Kashif Imran
 

Ähnlich wie Real-Time Web Applications with ASP.NET WebAPI and SignalR (20)

The Future of ASP.NET
The Future of ASP.NETThe Future of ASP.NET
The Future of ASP.NET
 
ASP.NET MVC - In the Wild
ASP.NET MVC - In the WildASP.NET MVC - In the Wild
ASP.NET MVC - In the Wild
 
OData for iOS developers
OData for iOS developersOData for iOS developers
OData for iOS developers
 
Web matrix part 2
Web matrix part 2Web matrix part 2
Web matrix part 2
 
Intro to .NET for Government Developers
Intro to .NET for Government DevelopersIntro to .NET for Government Developers
Intro to .NET for Government Developers
 
Visual Studio2010
Visual Studio2010Visual Studio2010
Visual Studio2010
 
Net Framework Hima
Net Framework HimaNet Framework Hima
Net Framework Hima
 
Que hay de nuevo en Visual Studio 2013 y ASP.NET 5.1
Que hay de nuevo en Visual Studio 2013 y ASP.NET 5.1Que hay de nuevo en Visual Studio 2013 y ASP.NET 5.1
Que hay de nuevo en Visual Studio 2013 y ASP.NET 5.1
 
Django
DjangoDjango
Django
 
D22 Portlet Development With Open Source Frameworks
D22 Portlet Development With Open Source FrameworksD22 Portlet Development With Open Source Frameworks
D22 Portlet Development With Open Source Frameworks
 
D22 portlet development with open source frameworks
D22 portlet development with open source frameworksD22 portlet development with open source frameworks
D22 portlet development with open source frameworks
 
ASP.NET Presentation
ASP.NET PresentationASP.NET Presentation
ASP.NET Presentation
 
Web development concepts using microsoft technologies
Web development concepts using microsoft technologiesWeb development concepts using microsoft technologies
Web development concepts using microsoft technologies
 
Advanced Web Development
Advanced Web DevelopmentAdvanced Web Development
Advanced Web Development
 
Usability AJAX and other ASP.NET Features
Usability AJAX and other ASP.NET FeaturesUsability AJAX and other ASP.NET Features
Usability AJAX and other ASP.NET Features
 
Dot net training bangalore
Dot net training bangaloreDot net training bangalore
Dot net training bangalore
 
Websites, Web Services and Cloud Applications with Visual Studio
Websites, Web Services and Cloud Applications with Visual StudioWebsites, Web Services and Cloud Applications with Visual Studio
Websites, Web Services and Cloud Applications with Visual Studio
 
Introduction To Mvc
Introduction To MvcIntroduction To Mvc
Introduction To Mvc
 
Develop iOS and Android apps with SharePoint/Office 365
Develop iOS and Android apps with SharePoint/Office 365Develop iOS and Android apps with SharePoint/Office 365
Develop iOS and Android apps with SharePoint/Office 365
 
Practical OData
Practical ODataPractical OData
Practical OData
 

Mehr von Microsoft Developer Network (MSDN) - Belgium and Luxembourg

Mehr von Microsoft Developer Network (MSDN) - Belgium and Luxembourg (20)

Code in the Cloud - Ghent - 20 February 2015
Code in the Cloud - Ghent - 20 February 2015Code in the Cloud - Ghent - 20 February 2015
Code in the Cloud - Ghent - 20 February 2015
 
Executive Summit for ISV & Application builders - January 2015
Executive Summit for ISV & Application builders - January 2015Executive Summit for ISV & Application builders - January 2015
Executive Summit for ISV & Application builders - January 2015
 
Executive Summit for ISV & Application builders - Internet of Things
Executive Summit for ISV & Application builders - Internet of ThingsExecutive Summit for ISV & Application builders - Internet of Things
Executive Summit for ISV & Application builders - Internet of Things
 
Executive Summit for ISV & Application builders - January 2015
Executive Summit for ISV & Application builders - January 2015Executive Summit for ISV & Application builders - January 2015
Executive Summit for ISV & Application builders - January 2015
 
Code in the Cloud - December 8th 2014
Code in the Cloud - December 8th 2014Code in the Cloud - December 8th 2014
Code in the Cloud - December 8th 2014
 
Adam azure presentation
Adam   azure presentationAdam   azure presentation
Adam azure presentation
 
release management
release managementrelease management
release management
 
cloud value for application development
cloud value for application developmentcloud value for application development
cloud value for application development
 
Modern lifecycle management practices
Modern lifecycle management practicesModern lifecycle management practices
Modern lifecycle management practices
 
Belgian visual studio launch 2013
Belgian visual studio launch 2013Belgian visual studio launch 2013
Belgian visual studio launch 2013
 
Windows Azure Virtually Speaking
Windows Azure Virtually SpeakingWindows Azure Virtually Speaking
Windows Azure Virtually Speaking
 
Inside the Microsoft TechDays Belgium Apps
Inside the Microsoft TechDays Belgium AppsInside the Microsoft TechDays Belgium Apps
Inside the Microsoft TechDays Belgium Apps
 
TechDays 2013 Developer Keynote
TechDays 2013 Developer KeynoteTechDays 2013 Developer Keynote
TechDays 2013 Developer Keynote
 
Windows Phone 8 Security Deep Dive
Windows Phone 8 Security Deep DiveWindows Phone 8 Security Deep Dive
Windows Phone 8 Security Deep Dive
 
Deep Dive into Entity Framework 6.0
Deep Dive into Entity Framework 6.0Deep Dive into Entity Framework 6.0
Deep Dive into Entity Framework 6.0
 
Applied MVVM in Windows 8 apps: not your typical MVVM session!
Applied MVVM in Windows 8 apps: not your typical MVVM session!Applied MVVM in Windows 8 apps: not your typical MVVM session!
Applied MVVM in Windows 8 apps: not your typical MVVM session!
 
Building SPA’s (Single Page App) with Backbone.js
Building SPA’s (Single Page App) with Backbone.jsBuilding SPA’s (Single Page App) with Backbone.js
Building SPA’s (Single Page App) with Backbone.js
 
Deep Dive and Best Practices for Windows Azure Storage Services
Deep Dive and Best Practices for Windows Azure Storage ServicesDeep Dive and Best Practices for Windows Azure Storage Services
Deep Dive and Best Practices for Windows Azure Storage Services
 
Building data centric applications for web, desktop and mobile with Entity Fr...
Building data centric applications for web, desktop and mobile with Entity Fr...Building data centric applications for web, desktop and mobile with Entity Fr...
Building data centric applications for web, desktop and mobile with Entity Fr...
 
Bart De Smet Unplugged
Bart De Smet UnpluggedBart De Smet Unplugged
Bart De Smet Unplugged
 

Real-Time Web Applications with ASP.NET WebAPI and SignalR

  • 3. How to reach more clients?
  • 4. How to make it scale?
  • 5. How to keep it simple?
  • 6. Leverage the Web – build Web APIs
  • 7. ASP.NET Web API A framework for creating HTTP services that can reach a broad range of clients including browsers and mobile devices
  • 8. features  First class modern HTTP  Available as NuGet packages programming model  Great templates and tooling in  Easily map resources to URIs 2012.2 release, like help pages  Content negotiation  Fully open source  Request validation  Flexible hosting  Lightweight  .NET 4+
  • 9. ASP.NET Web API OData Components for implementing OData services Model builders, formatters (Atom/JSON/XML), path and query parsers, LINQ expression generator, etc Support common patterns using an open protocol Ex. query, paging, relationships, metadata Built on ODataLib Same underpinnings as WCF Data Services Open source and accepting contributions http://aspnetwebstack.codeplex.com
  • 10. Three Steps to Get Started Create your EDM ODataConventionModelBuilder modelBuilder = new ODataConventionModelBuilder(); modelBuilder.EntitySet<Movie>("Movies"); IEdmModel model = modelBuilder.GetEdmModel(); Configure your OData Route config.Routes.MapODataRoute(routeName: "OData", routePrefix: "odata", model: model); Implement an OData Controller public class MoviesController : EntitySetController<Movie, int> {...}
  • 11. Data Model for OData The ASP.NET Web API core runtime has no data model Objects formatted to/from opaque blobs by formatters OData is based on the Entity Data Model (EDM) Entity sets, entities, relationships, complex types, actions, functions Having a data model means the framework can do more for you Provide metadata, setup routes, rich link generation, query, paging Your OData EDM can be different from your EF EDM
  • 12. Query Support [Queryable] action filter enables OData query support Can be used independent of the format ODataQueryOptions provides the parsed query AST Apply the query to an IQueryable Translate the Abstract Syntax Tree to your query mechanism of choice Query validation Restrict supported query options, functions, expression operators, queryable properties, etc. Paging Set PageSize to your desired max page size
  • 13. what’s next?  Security with OAuth2, JWT  OData $expand, $select  Odata scaffolding for templates  SignalR integration  CORS, JSONP
  • 15. what is it? SignalR : Incredibly simple real-time for ASP.NET  Automatic protocol negotiation Simplicity Reach Performance
  • 17. clients Today Future?  jQuery  Pure JavaScript (no jQuery)  .NET 4.0+  C++ (Windows Store & Embedded)  Silverlight 5  MonoTouch/MonoDroid  Windows Phone 8  Objective C  .NET for Windows Store apps  Java  …
  • 18. what’s next?  Monthly point releases  More documentation and samples  More templates and scaffolding  Scale out  Service Bus  SQL Server  Redis
  • 22. get ASP.NET and Web Tools 2012.2 www.asp.net/vnext
  • 23. links Knockout.js http://knockoutjs.com Bootstrap http://twitter.github.com/bootstrap/ OData Security Guidance for Web API http://www.asp.net/web-api/overview/odata-support-in-aspnet-web-api/odata-security-guidance