Pietro LibroApplicazioni RESTful con ASP.NET Web APIpietro.libro@domusdotnet.org – DomusDotNet
Agenda                Pietro Libro              pietro.libro@domusdotnetorg - DomusDotNet   REST   Web Api : SOAP & REST...
REST (Representational State Transfer)                 Pietro Libro                   pietro.libro@domusdotnetorg - DomusD...
REST (Representational State Transfer)                Pietro Libro                pietro.libro@domusdotnetorg - DomusDotNe...
REST (Representational State Transfer)                Pietro Libro                  pietro.libro@domusdotnetorg - DomusDot...
REST (Representational State Transfer)                Pietro Libro                 pietro.libro@domusdotnetorg - DomusDotN...
Web API Client               Pietro Libro               pietro.libro@domusdotnetorg - DomusDotNet Web Browser + Jquery A...
Toolbox               Pietro Libro               pietro.libro@domusdotnetorg - DomusDotNet .NET Framework 4.5    Visual ...
ASP.NET Web ApiPietro Libro      pietro.libro@domusdotnetorg - DomusDotNet                                        DEMO
Web API Security               Pietro Libro                pietro.libro@domusdotnetorg - DomusDotNet RESTful è Stateless ...
Web API Security               Pietro Libro                  pietro.libro@domusdotnetorg - DomusDotNet Message Handler  ...
Web API SecurityPietro Libro       pietro.libro@domusdotnetorg - DomusDotNet
Web API SecurityPietro Libro       pietro.libro@domusdotnetorg - DomusDotNet                                         DEMO
Web API Dependency Resolver                Pietro Libro                         pietro.libro@domusdotnetorg - DomusDotNet...
Dependency ResolverPietro Libro          pietro.libro@domusdotnetorg - DomusDotNet                                        ...
Web API Help Page            Pietro Libro         pietro.libro@domusdotnetorg - DomusDotNet Documentazione delle Web Api ...
Web API Help PagePietro Libro        pietro.libro@domusdotnetorg - DomusDotNet                                          DEMO
Cosa non abbiamo visto             Pietro Libro             pietro.libro@domusdotnetorg - DomusDotNet Media Type Formatte...
Riferimenti               Pietro Libro      pietro.libro@domusdotnetorg - DomusDotNet ASP.NET   http://www.asp.net/ ASP...
DomandePietro Libro   pietro.libro@domusdotnetorg - DomusDotNet
Upcoming SlideShare
Loading in …5
×

Applicazioni RESTful con ASP.NET Web Api

680 views

Published on

Slide of talk at Codemotion 2013

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
680
On SlideShare
0
From Embeds
0
Number of Embeds
12
Actions
Shares
0
Downloads
15
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Applicazioni RESTful con ASP.NET Web Api

  1. 1. Pietro LibroApplicazioni RESTful con ASP.NET Web APIpietro.libro@domusdotnet.org – DomusDotNet
  2. 2. Agenda Pietro Libro pietro.libro@domusdotnetorg - DomusDotNet REST Web Api : SOAP & REST Web Api, definizione di un servizio Web Api Client  Browser + JQuery  Win 8 App Store Web Api Security Web Api Help Page Web Api Dependency Resolver
  3. 3. REST (Representational State Transfer) Pietro Libro pietro.libro@domusdotnetorg - DomusDotNetDa Wikipedia«Representational state transfer (REST) è un tipo di architetturasoftware per i sistemi di ipertesto distribuiti come il World Wide Web. Itermini "representational state transfer" e "REST" furono introdottinel 2000 nella tesi di dottorato di Roy Fielding, uno dei principaliautori delle specifiche dellHypertext Transfer Protocol (HTTP),termine ampiamente usato nella comunità di Internet»
  4. 4. REST (Representational State Transfer) Pietro Libro pietro.libro@domusdotnetorg - DomusDotNetREST prevede:  Stato e funzionalità divise in Risorse  Una Risorsa é unicamente indirizzabile tramite una sintassi universale (URI)  Le Risorse sono condivise come interfaccia uniforme per il trasferimento di stato tra client e Risorse (operazioni & contenuti vincolati)  Si basa su un protocollo:  Client-Server  Stateless  Cachable  A livelli I sistemi che seguono i principi REST sono definiti "RESTful".
  5. 5. REST (Representational State Transfer) Pietro Libro pietro.libro@domusdotnetorg - DomusDotNet REST: Risorsa  Le risorse sono accessibili tramite i metodi propri HTTP  ROA (Resource Oriented Architecture)  Utilizza HTTP a livello applicativo  Esalta il Web come piattaforma per l’elaborazione distribuita  Nessua definizione delle interfacce di servizio tipo WSDL SOAP: Servizio  Metodi -> RPC  SOA (Service Oriented Architecture)  HTTP a livello di trasporto, trasport multiprotocollo  WSDL
  6. 6. REST (Representational State Transfer) Pietro Libro pietro.libro@domusdotnetorg - DomusDotNet REST: Risorsa  Formato dati non fortemente tipizzato  Diversi formati di rappresentazione (ad esempio JSON)  Consumo dei servizi da qualsiasi piattaforma SOAP: Servizio  Forte tipizzazione dei dati aderenti ad uno schema  Formato dati XML  Supporto a Sessioni, Routing e Transazioni
  7. 7. Web API Client Pietro Libro pietro.libro@domusdotnetorg - DomusDotNet Web Browser + Jquery Applicazioni Web  ASP.NET  PHP  ... Applicazioni Windows  WPF (Windows Presentation Foundation)  Windows 8 App Store  Windows Form Dispositivi Mobile Praticamente uutti i client che hanno «accesso» al protocollo HTTP
  8. 8. Toolbox Pietro Libro pietro.libro@domusdotnetorg - DomusDotNet .NET Framework 4.5  Visual Studio 2012  Visual Studio Express 2012 for Web .NET Framework 4.0  Visual Studio 2010 con ASP.NET MVC 4  Visual Studio 2010 Developer Express con ASP.NET MVC 4 Installazione tramite Web Platform Installer  http://www.microsoft.com/web/downloads/platform.aspx
  9. 9. ASP.NET Web ApiPietro Libro pietro.libro@domusdotnetorg - DomusDotNet DEMO
  10. 10. Web API Security Pietro Libro pietro.libro@domusdotnetorg - DomusDotNet RESTful è Stateless  Nessuna assunzione tra un’invocazione ed un’altra, sono completamente indipendenti  Autenticazioneautorizzazione ad ogni richiesta  HTTPHTTPS Come per ASP.NET MVC, «Controller» ed «Action» supportano:  «[Authorize]»  «[AllowAnonymous]»
  11. 11. Web API Security Pietro Libro pietro.libro@domusdotnetorg - DomusDotNet Message Handler  Riceve una richiesta HTTP e ritorna una riposta HTTP I Message Handler possono lavorare in catena  Adatti per cross-cutting concerns (ad esempio Security) a livello HTTP Un Message Handler può  Leggere e modificare una richiesta  Aggiungere Header ad una risposta  Validare una richiesta prima che raggiunga un controller
  12. 12. Web API SecurityPietro Libro pietro.libro@domusdotnetorg - DomusDotNet
  13. 13. Web API SecurityPietro Libro pietro.libro@domusdotnetorg - DomusDotNet DEMO
  14. 14. Web API Dependency Resolver Pietro Libro pietro.libro@domusdotnetorg - DomusDotNet Dipendenza  «Oggetto o interfaccia che un oggetto richiede per svolgere il proprio lavoro» Web API dependency resolver  Permette di «iniettare» le dipendenze richieste da un ASP.NET Web Api Controller  Un oggetto non è più responsabile di creare da se le dipendenze di cui necessità  Le dipendenze necessarie verranno fornite da «qualcuno» dall’esterno
  15. 15. Dependency ResolverPietro Libro pietro.libro@domusdotnetorg - DomusDotNet DEMO
  16. 16. Web API Help Page Pietro Libro pietro.libro@domusdotnetorg - DomusDotNet Documentazione delle Web Api  Automatica (via NuGet)  Personalizzabile  GUI  IDocumentationProvider
  17. 17. Web API Help PagePietro Libro pietro.libro@domusdotnetorg - DomusDotNet DEMO
  18. 18. Cosa non abbiamo visto Pietro Libro pietro.libro@domusdotnetorg - DomusDotNet Media Type Formatters Content Negotation Testing, Debugging & Tracing OData & Web API
  19. 19. Riferimenti Pietro Libro pietro.libro@domusdotnetorg - DomusDotNet ASP.NET  http://www.asp.net/ ASP.NET Web API  http://www.asp.net/web-api  Tutorial  Video  Esempi
  20. 20. DomandePietro Libro pietro.libro@domusdotnetorg - DomusDotNet

×