Overview of ASP.NET Web API Framework

F32f547e66f3b6528376d67fdb67008f?s=47 Alexander Beletsky
September 29, 2012
360

Overview of ASP.NET Web API Framework

F32f547e66f3b6528376d67fdb67008f?s=128

Alexander Beletsky

September 29, 2012
Tweet

Transcript

  1. @alexbeletsky http://beletsky.net Overview of ASP .NET Web API Framework

  2. @alexbeletsky http://beletsky.net @alexbeletsky http://beletsky.net http://xpinjection.com

  3. @alexbeletsky http://beletsky.net What's new in ASP.NET 4.5? One ASP.NET Framework

    ASP.NET MVC 4 Release ASP.NET WebForms Improvements ASP.NET Web Pages 2 (Web Matrix) SignalR ASP.NET Web API (ex. WCF Web API) Open Source
  4. @alexbeletsky http://beletsky.net What's new in ASP.NET 4.5? One ASP.NET Framework

    ASP.NET MVC 4 Release ASP.NET WebForms Improvements ASP.NET Web Pages 2 (Web Matrix) SignalR ASP.NET Web API (ex. WCF Web API) Open Source
  5. @alexbeletsky http://beletsky.net Early days of API oriented apps /GetOrders /GetOrders

    /UpdateOrder /GetAllDueOrders /DeleteOrder.asmx?id=1 /UpdateOrder.asms?id=1&title=”New”...
  6. @alexbeletsky http://beletsky.net RPC Remote Procedure Call The architecture style, where

    client sends a request to remote server and execute specified procedure with optional parameters.
  7. @alexbeletsky http://beletsky.net SOAP, WSDL, UDDI WS-* Finally considered to be...

  8. @alexbeletsky http://beletsky.net … evil

  9. @alexbeletsky http://beletsky.net RESTful based API GET /orders GET /orders/1 POST

    /orders PUT /orders/1?title=”New” DELETE /orders/1
  10. @alexbeletsky http://beletsky.net REST Representational State Transfer The architecture style, where

    communication between client and server relys on HTTP standard and uses lightweight mechanisms for transporting data
  11. @alexbeletsky http://beletsky.net REST, JSON, VERBS Finally considered to be...

  12. @alexbeletsky http://beletsky.net

  13. @alexbeletsky http://beletsky.net What is ASP.NET Web API? Framework for build

    REST style API services, providing best practices and features of REST services inside the box.
  14. @alexbeletsky http://beletsky.net But I got used to build REST API

    with ASP.NET MVC?
  15. @alexbeletsky http://beletsky.net ASP.NET MVC vs. ASP.NET WEB API ASP.NET MVC

    is positioned as page-oriented development framework. ASP.NET Web API is positioned as api-oriented development framework.
  16. @alexbeletsky http://beletsky.net ASP.NET WEB API One service – many clients

  17. @alexbeletsky http://beletsky.net ASP.NET Web API main features - Code Scaffolding

    - Content Negotiation - MediaTypeFormatters - Hypermedia - IQueryable & Odata support - Self-Documenting API - Hosting Options
  18. @alexbeletsky http://beletsky.net Quick Example: ASP.NET Mobile App

  19. @alexbeletsky http://beletsky.net Code Scaffolding - Scaffolds for Code-First Entity Framework

    - Easy to use - Great for quick start and prototyping - CRUD from the box
  20. @alexbeletsky http://beletsky.net Content Negotiation - Find best match between client-server

    - Uses HTTP header information - “Invisible” for developer - JSON, XML from the box
  21. @alexbeletsky http://beletsky.net Media Type Formatters - For support any custom

    API format - Based on async operations - BufferedMediaTypeFormatter wraps the asynchronous read/write methods inside sychronous methods.
  22. @alexbeletsky http://beletsky.net Hypermedia Support - Flexibility of formats - HttpResponseMessage

    class - Embrace correct HTTP status codes
  23. @alexbeletsky http://beletsky.net IQueryable & OData support - Paging and sorting

    from the box - OData functions: $top, $order, $skip, $filter
  24. @alexbeletsky http://beletsky.net Self Documenting API - IApiExplorer interface for getting

    info - ApiDescription encapsulates information about particual API class - Used to generate documentation pages
  25. @alexbeletsky http://beletsky.net Hosting Options - ASP.NET hosting by default -

    Self Hosting (HTTP server in .exe) - OWIN, Kayak - Azure Roles
  26. @alexbeletsky http://beletsky.net I need more!

  27. @alexbeletsky http://beletsky.net Resources http://asp.net/web-api http://channel9.msdn.com/search?term=web+api http://blogs.msdn.com/b/henrikn/ http://webapibloggers.com/

  28. @alexbeletsky http://beletsky.net Follow those guys @glennblock, @filip_woj, @tourismgeek, @frystyk, @radenkozec,

    @benfosterdev
  29. @alexbeletsky http://beletsky.net Thanks, @alexbeletsky