asp.net web api reloaded
TRANSCRIPT
Template designed by
ASP.NET Web Api Reloaded
Pietro [email protected]/PietroLibroBlog
Template designed by
brought to you by
Fincons Group
Primaria società di IT Business Consulting attiva in Europa da oltre 30 anni con uffici in Italia e in Svizzera. Servizi di IT business consulting, system integration di prodotti di vendor internazionali, core business solution development, application management e IT Service in Nearshore.
http://www.finconsgroup.com/
DomusDotNet
User Group romano per lo studio e la divulgazione delle tecnologie .Net
www.domusdotnet.org
chi sono
Web API 2.1
• Rest In Pillole
• Web Api Overview
• Attribute Routing
• Cross-Origin Resource Sharing(CORS)
• External Authentication Services
• Web Api & Windows Azure
• Batch Requests
agenda
• Architettura per sistemi di ipertesto distribuiti come il WWW
• Principi che delineano come le risorse sono definite ed indirizzate
• Risorse:
• Univocamente indirizzabili tramite URI
• Definiscono stato e funzionalità dell’applicazione
• Basato su protocollo HTTP/HTTPS
• http://it.wikipedia.org/wiki/Representational_State_Transfer
REST in pillole
Web Api Overview
REST vs SOAP (Classic Web Services)
Fonte : http://jegatech.wordpress.com/2012/10/18/soap-vs-rest/
CarRental : Architettura
Car Rental Service (Web API 2.1)
DB
HTML Web Client
Windows Client
Windows Phone 8 Client Windows
AzureAD
Car Rental Data Access
Car RentalDomai
n
...
dem
o Web Api & Car Rental
• Routing: Match tra URI ed azioni
• (V1) Routing basato su convenzioni
• Difficile (non impossibile ) mappare URI del tipo Cliente/1/Ordini
• NEW! Routing basato su attributi
• URI User Friendly che descrivono risorse e\o gerarchie di risorse
• Api Versioning
• API\V1\Clienti
• API\V2\Clienti
Attribute Routing
• NEW! Routing basato su attributi
• Overloaded URI segments
• Ordini/1
• Ordini/Pending
• Multiple Parameter Types
• Ordini/1
• Ordini/29/11/2013
• Routing Constraints
Attribute Routing
• «Attivare» Attribute Routing
• «MapHttpAttributeRoutes()» in WebApiConfig
• Uso dell’attributo Route
• Uso dell’attributo RoutePrefix
Attribute Routing
dem
o Attribute Routing
• Browser Security (Same Origin Policy)
• Evita che una pagina web possa effettuare richieste
Ajax verso un altro dominio
Web API 2: Cross-Origin Resource Sharing
Web API HTMLCross-Origin Request
http://www.domain1.it http://www.domain2.it
WebService WebClient
• CORS
• Cross Origin Resource Sharing è uno standard W3C che permette di
«rilassare» il vincolo Same Origin Policy
• Alcune Cross-Origin Request sono accettate, altre sono rifiutate
• NEW! Supporto CORS in ASP.NET Web Api 2 (Package NuGet)
• Abilitazione per Action
• Abilitazione per Controller
• Abilitazione a livello Globale
Web API 2: Cross-Origin Resource Sharing
Web API HTMLCross-Origin Request
http://www.domain1.it http://www.domain2.it
WebService WebClient
dem
o «CORS»
NEW! External Authentication Services (OAuth\OpenID\Social Media)
• Microsoft (Windows Live ID Account)
Riduzione tempi di sviluppo nuove applicazioni
• Perché re-inventare la ruota ogni volta ?
• Gli utenti non devono creare l’ennesimo account
Web API 2: External Authentication Services
Web API 2: Windows Azure AD
ADAL – Active Directory Authentication Library
Esempi:
https://github.com/AzureADSamples
Un ottimo blog di riferimento (Vittorio Bertocci)
http://www.cloudidentity.com/blog/
Web API 2: Windows Azure AD
dem
o External
Authentication
Windows Azure AD
• Web Api «Batch Requests»
• Più richieste Web Api in singola Request HTTP
• Singola Response HTTP con risposta a tutte le richieste Web Api
• Numero di chiamate al Server ridotte (round-trip) : Performance &
Scalabilità
• Requisito
• Registrare una «Rotta» per il Batch Handler
Web API 2: Batch API
dem
o Batch API
http://www.asp.net/web-api
http://www.asp.net/vnext/overview/aspnet-web-api
Riferimenti e Codice D’esempio
Domande
Grazie a tutti per la partecipazione
Riceverete il link per il download a slide e demo via email nei prossimi giorni
Per contattarmi
Grazie