HTML5 & rest services
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

HTML5 & rest services

on

  • 3,719 views

Dutch presentation about REST services, HTML5 clients and using SignalR to create HTML clients.

Dutch presentation about REST services, HTML5 clients and using SignalR to create HTML clients.

Statistics

Views

Total Views
3,719
Views on SlideShare
2,243
Embed Views
1,476

Actions

Likes
0
Downloads
16
Comments
0

6 Embeds 1,476

http://msmvps.com 1432
http://feeds.feedburner.com 34
http://html5support.nl 6
http://translate.googleusercontent.com 2
http://www.dataclips.com 1
http://outswindling8.slorf.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

HTML5 & rest services Presentation Transcript

  • 1. Maurice de Beijer
  • 2. Waar gaan we het over hebben Wat zijn REST services Wat is de ASP.NET Web API Hoe kan je een REST service vanuit de browser gebruiken Realtime communicatie
  • 3. Wie ben ik Maurice de Beijer. The Problem Solver. Microsoft CSD MVP. DevelopMentor instructor. Twitter: @mauricedb of @HTML5SupportNL Blog: http://msmvps.com/blogs/ theproblemsolver/default.aspx Web: http://www.HTML5Support.nl E-mail: mauricedb@computer.org
  • 4. Wat is REST Representational State Transfer REST is een architectuur voor gedistribueerde applicaties Er is geen REST standaard De HTTP standaard is de basis  Heeft zich door de jaren bewezen
  • 5. Hypertext Transfer Protocol The Hypertext Transfer Protocol (HTTP) is an application-level protocol for distributed, collaborative, hypermedia informationsystems. It is a generic, stateless, protocol which can be used for many tasks beyond its use for hypertext
  • 6. REST is niet nieuw Architectural Styles and the Design of Network-based Software Architectures  By Roy Thomas Fielding  Chapter 5 Een van de schrijvers van de HTTP specificaties
  • 7. Basis begrippen Resource = data  Bv: een product of een klant Representation = het weergave formaat  Bv: XML, JSON  Maar ook een PDF of een vCard
  • 8. REST versus SOAP REST SOAPStandardized No WS-*Transport HTTP HTTP, FTP, Pipes, MSMQ etcData Format Any XMLReach Very good GoodDevelopment tools Basic GoodFlexibility Flexible RigidScalability Very good ReasonableSecurity HTTP Security WS-SecurityOperations Stateless Often statefull
  • 9. ASP.NET Web API Onderdeel van ASP.NET MVC 4  Maar ook los te gebruiken  Zelfs buiten ASP.NET Gebruik ApiController als de baseclass  Gewoon de data ipv een ActionResult teruggeven Routing net als normale controllers  Alleen RouteCollection.MapHttpRoute() gebruiken  De standaard route is: "api/{controller}/{id}"
  • 10. HTTP Methods HTTP methods worden gebruikt om acties aan te geven ASP.NET Web API gebruikt functie namen  Attributen kan eventueel ook Action HTTP Method Create POST Read GET Update (replace) PUT Update (partial) PATCH of MERGE Delete DELETE
  • 11. HTTP Status Codes Een verplicht onderdeel van elke response  Als alles goed gaat is het 200 OK Ingedeeld in groepen  1-- Informational  2-- Success  3-- Redirection  4-- Client Error  5-- Server Error Binnen de ASP.NET Web API met een HttpResponseMessage aan te geven  Anders is het 200 OK
  • 12. Resource formats Web API ondersteunt content negotiation  XML, JSON en Form Encoded standaard De client gebruikt de Accept header  De server mag daar van afwijken! Extra formats toe te voegen via MediaTypeFormatter
  • 13. Pauze
  • 14. Browsers en REST Soms vergeet een browser de juiste Accept header HTML != HTTP Caching
  • 15. Accept headers Sommige browsers claimen alles als image te kunnen t0nen  De Accept header mist of bevat */* Via de URL aangeven wat het gewenste formaat is  GET /api/books/1?$format=jpeg In de MediaTypeFormatter een AddQueryStringMapping () doen.
  • 16. HTML != HTTP De HTTP standaard ondersteunt veel request methods als GET, PUT, POST, DELETE etc  Maar de browser alleen GET en POST Gebruik het XMLHttpRequest  Maar dan via jQuery.ajax()
  • 17. Caching Caching maakt het web schaalbaar  En kan ook helpen binnen onze applicaties Standaard wordt data niet gecached bij de Web API  En dat is een goede zaak want browsers hebben verschillende defaults Caching is moeilijk goed te krijgen  Caching instructies zijn alleen hints
  • 18. Cross-origin resource sharing Een XmlHttpRequest mag alleen naar de oorspronkelijke server  JSONP is een oplossing maar kan alleen GET CORS maakt het mogelijk om naar een andere server te gaan  De service voegt een extra HTTP header toe  Als die ontbreekt blokeert de browser de response
  • 19. Real time communications Waarom wachten tot een gebruiker de pagina ververst?  De server kan wijzigingen ook naar de browser sturen In HTML5 hebben we WebSockets  Maar de ondersteuning is nog beperkt SignalR is een goede communicatie library  Gebruikt WebSockets indien mogelijk  Gebruikt anders een fallback communicatie
  • 20. Conclusie REST services zijn zeer flexibel  En dat is maar goed ook met alle tablets en smartphones De ASP.NET Web API is een prima framework  En er zijn genoeg alternatieven Browsers hebben hun kuren  Test met verschillende browsers Real time communicatie heeft de toekomst
  • 21. Vragen ?mauricedb@computer.org