ASP.NET Web API

985 views

Published on

Slide della sessione "ASP.NET Web API" - evento "Web@Work" organizzato da DomusDotNet il 14 Dicembre 2012.

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
985
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
28
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

ASP.NET Web API

  1. 1. ASP.NET Web API Pietro Librohttp://blogs.ugidotnet.org/PietroLibroBlogpietro.libro@domusdotnet.orghttp://www.linkedin.com/in/pietrolibro Web@Work
  2. 2. Web@WorkAgenda• Web API – SOAP & REST• Web API Client – JQuery – Windows (8) Client• Web API Security• Web API Dependency Resolver
  3. 3. REST (Representational State Web@Work Transfer)• Da Wikipedia«Representational state transfer (REST) è un tipo di architettura software per isistemi di ipertesto distribuiti come il World Wide Web. I termini"representational state transfer" e "REST" furono introdotti nel 2000 nella tesidi dottorato di Roy Fielding, uno dei principali autori delle specifichedellHypertext Transfer Protocol (HTTP), termine ampiamente usato nellacomunità di Internet»
  4. 4. REST (Representational State Web@Work Transfer)• Punti chiave: – Risorsa : stato dell’applicazione e funzionalità – Ogni risorsa è unicamente indirizzabile tramite una sintassi universale (URI) – Protocollo: • Client-Server • Stateless • Cachable • A livelli
  5. 5. Web@Work REST, SOAP & REST• REST -> Risorsa – Le risorse sono accessibili tramite operazioni HTTP – ROA (Resource Oriented Architecture) – HTTP a livello applicativo – Esalta la predisposizione del Web come piattaforma per l’elaborazione distribuita – Non prevede modalità per descrivere l’interazione con una risorsa (WADL)• SOAP -> Servizio – Metodi (servizi richiamabili da uno o più client) – SOA (Service Oriented Architecture) – HTTP come protocollo di trasporto (utilizza anche altri protocolli) – Basate su chiamate remote – WSDL, Tool per la creazione automatica di Client (dipendenza tra client-server)
  6. 6. Web@Work REST, SOAP & REST• REST -> Risorsa – Non tipizzazione dei dati – Differenti formati di rappresentazione (ad esempio JSON) – Consumo dei servizi da qualsiasi piattaforma• SOAP -> Servizio – Forte tipizzazione dei dati – Formato dati XML – Sessioni, Routing e Transazioni
  7. 7. Web@WorkWeb API Story WCF ASP.NET WCF REST Starter Kit ASP.NET MVC + WCF Web API RESTful ASP.NET Web API
  8. 8. Web@Work Web API Client• Web Browser + Jquery• Applicazioni Web – ASP.NET – PHP – ...• Applicazioni Window – Windows Form – WPF – Window 8 App• Mobile Device• Client che abbiano accesso ad Internet e HTTP
  9. 9. Web@Work Toolbox• .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
  10. 10. ASP.NET Web API Web@Work DEMO Web API & Web API Client
  11. 11. Web@WorkWeb API Security• RESTful è RESTful => Stateless – Non possiamo fare assunzioni tra una chiamata e l’altra, possono essere completamente indipendenti l’una dall’altra – Bisogna verificare autenticazioneautorizzazione ad ogni richiesta – HTTPHTTPS• Come per ASP.NET MVC, «Controller» ed «Action» supportano: – [Authorize] – [AllowAnonymous]
  12. 12. Web@WorkWeb API Security• Message Handler – Riceve una richiesta HTTP e ritorna una riposta HTTP• I Message Handlers 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
  13. 13. Web@WorkWeb API Security
  14. 14. Web@WorkASP.NET Web API DEMO Security
  15. 15. Web@WorkWeb API Dependency Resolver• Dependency – «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
  16. 16. Web@WorkASP.NET Web API DEMO Dependency Resolver
  17. 17. Web@Work Web API Self Host• Web API non richiede l’utilizzo esclusivo di IIS• Possiamo «ospitare» Web API in un processo• Tutto quello che ci serve: – NuGet Packet Manager – Microsoft.AspNet.WebApi.SelfHost,
  18. 18. Web@WorkASP.NET Web API DEMO Web Api Self-Host
  19. 19. Web@WorkCosa non abbiamo visto• Media Type Formatters• Content Negotation• Testing & Debugging• OData & Web API
  20. 20. Web@WorkRiferimenti• ASP.NET http://www.asp.net/• ASP.NET Web API http://www.asp.net/web-api – Tutorial – Video – Esempi• «Pro ASP.NET Web API, HTTP Web Services in ASP.NET» http://www.apress.com/9781430247258
  21. 21. Web@WorkGrazie agli sponsor

×