SlideShare a Scribd company logo
1 of 25
Template designed by
ASP.NET Web Api Reloaded
Pietro Libro
Pietro.libro@libero.it
blogs.ugidotnet.org/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_Transf
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
Azure
AD
Car Rental Data Access
Car
Rental
Domain
...
demo
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 eo gerarchie di risorse
• Api Versioning
• APIV1Clienti
• APIV2Clienti
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
demo
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 HTML
Cross-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 HTML
Cross-Origin Request
http://www.domain1.it http://www.domain2.it
WebService WebClient
demo
«CORS»
NEW! External Authentication Services (OAuthOpenIDSocial Media)
• Microsoft (Windows Live ID Account)
• Twitter
• Facebook
• Google
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
demo
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
demo
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
pietro.libro@libero.it
Grazie

More Related Content

Similar to Asp.net web api reloaded

Visual Studio 2013 - A New kind In Town - ASP.NET Web Api 2
Visual Studio 2013 - A New kind In Town - ASP.NET Web Api 2Visual Studio 2013 - A New kind In Town - ASP.NET Web Api 2
Visual Studio 2013 - A New kind In Town - ASP.NET Web Api 2Pietro Libro
 
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente Andrea Dottor
 
.NET Core, ASP.NET Core e Linux per il Mobile
.NET Core, ASP.NET Core e Linux per il Mobile.NET Core, ASP.NET Core e Linux per il Mobile
.NET Core, ASP.NET Core e Linux per il MobilePietro Libro
 
ASP.NET Core Services e Linux per il Mobile - Pietro Libro - Codemotion Rome...
ASP.NET Core Services e Linux per il Mobile  - Pietro Libro - Codemotion Rome...ASP.NET Core Services e Linux per il Mobile  - Pietro Libro - Codemotion Rome...
ASP.NET Core Services e Linux per il Mobile - Pietro Libro - Codemotion Rome...Codemotion
 
Sviluppare Azure Web Apps
Sviluppare Azure Web AppsSviluppare Azure Web Apps
Sviluppare Azure Web AppsAndrea Dottor
 
Sviluppo di servizi REST per Android - Luca Masini
Sviluppo di servizi REST per Android - Luca Masini Sviluppo di servizi REST per Android - Luca Masini
Sviluppo di servizi REST per Android - Luca Masini Whymca
 
SVILUPPO DI SERVIZI REST PER ANDROID
SVILUPPO DI SERVIZI REST PER ANDROIDSVILUPPO DI SERVIZI REST PER ANDROID
SVILUPPO DI SERVIZI REST PER ANDROIDLuca Masini
 
Cert03 70-486 developing asp.net mvc 4 web applications
Cert03   70-486 developing asp.net mvc 4 web applicationsCert03   70-486 developing asp.net mvc 4 web applications
Cert03 70-486 developing asp.net mvc 4 web applicationsDotNetCampus
 
REST API fantastiche e dove trovarle
REST API fantastiche e dove trovarleREST API fantastiche e dove trovarle
REST API fantastiche e dove trovarleMarco Breveglieri
 
WeWantWeb - WCF Data Services
WeWantWeb - WCF Data ServicesWeWantWeb - WCF Data Services
WeWantWeb - WCF Data ServicesDomusDotNet
 
Architetture web - Linguaggi e standard - Web server, application server, dat...
Architetture web - Linguaggi e standard - Web server, application server, dat...Architetture web - Linguaggi e standard - Web server, application server, dat...
Architetture web - Linguaggi e standard - Web server, application server, dat...Fulvio Corno
 
Introduzione a DotNetNuke
Introduzione a DotNetNukeIntroduzione a DotNetNuke
Introduzione a DotNetNukeMassimo Bonanni
 
Antica presentazione AJAX
Antica presentazione AJAXAntica presentazione AJAX
Antica presentazione AJAXTommaso Torti
 
Le Applicazioni di Internet Web, FTP, Posta e App pr il Mobile
Le Applicazioni di Internet Web, FTP, Posta e App pr il MobileLe Applicazioni di Internet Web, FTP, Posta e App pr il Mobile
Le Applicazioni di Internet Web, FTP, Posta e App pr il MobileI.S.I.S. "Antonio Serra" - Napoli
 
Self hosted Services with .NET OWin
Self hosted Services with .NET OWinSelf hosted Services with .NET OWin
Self hosted Services with .NET OWinNicolò Carandini
 
Blazor ha vinto? Storie di casi reali
Blazor ha vinto? Storie di casi realiBlazor ha vinto? Storie di casi reali
Blazor ha vinto? Storie di casi realiAndrea Dottor
 
Applicazioni web con ASP.NET Owin e Katana
Applicazioni web con ASP.NET Owin e KatanaApplicazioni web con ASP.NET Owin e Katana
Applicazioni web con ASP.NET Owin e KatanaNicolò Carandini
 
Writing apps for android with .net
Writing apps for android with .net Writing apps for android with .net
Writing apps for android with .net Leonardo Alario
 

Similar to Asp.net web api reloaded (20)

Visual Studio 2013 - A New kind In Town - ASP.NET Web Api 2
Visual Studio 2013 - A New kind In Town - ASP.NET Web Api 2Visual Studio 2013 - A New kind In Town - ASP.NET Web Api 2
Visual Studio 2013 - A New kind In Town - ASP.NET Web Api 2
 
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente
 
.NET Core, ASP.NET Core e Linux per il Mobile
.NET Core, ASP.NET Core e Linux per il Mobile.NET Core, ASP.NET Core e Linux per il Mobile
.NET Core, ASP.NET Core e Linux per il Mobile
 
ASP.NET Core Services e Linux per il Mobile - Pietro Libro - Codemotion Rome...
ASP.NET Core Services e Linux per il Mobile  - Pietro Libro - Codemotion Rome...ASP.NET Core Services e Linux per il Mobile  - Pietro Libro - Codemotion Rome...
ASP.NET Core Services e Linux per il Mobile - Pietro Libro - Codemotion Rome...
 
Sviluppare Azure Web Apps
Sviluppare Azure Web AppsSviluppare Azure Web Apps
Sviluppare Azure Web Apps
 
Asp.Net MVC 5
Asp.Net MVC 5Asp.Net MVC 5
Asp.Net MVC 5
 
Sviluppo di servizi REST per Android - Luca Masini
Sviluppo di servizi REST per Android - Luca Masini Sviluppo di servizi REST per Android - Luca Masini
Sviluppo di servizi REST per Android - Luca Masini
 
SVILUPPO DI SERVIZI REST PER ANDROID
SVILUPPO DI SERVIZI REST PER ANDROIDSVILUPPO DI SERVIZI REST PER ANDROID
SVILUPPO DI SERVIZI REST PER ANDROID
 
Cert03 70-486 developing asp.net mvc 4 web applications
Cert03   70-486 developing asp.net mvc 4 web applicationsCert03   70-486 developing asp.net mvc 4 web applications
Cert03 70-486 developing asp.net mvc 4 web applications
 
REST API fantastiche e dove trovarle
REST API fantastiche e dove trovarleREST API fantastiche e dove trovarle
REST API fantastiche e dove trovarle
 
WeWantWeb - WCF Data Services
WeWantWeb - WCF Data ServicesWeWantWeb - WCF Data Services
WeWantWeb - WCF Data Services
 
Architetture web - Linguaggi e standard - Web server, application server, dat...
Architetture web - Linguaggi e standard - Web server, application server, dat...Architetture web - Linguaggi e standard - Web server, application server, dat...
Architetture web - Linguaggi e standard - Web server, application server, dat...
 
Introduzione a DotNetNuke
Introduzione a DotNetNukeIntroduzione a DotNetNuke
Introduzione a DotNetNuke
 
Antica presentazione AJAX
Antica presentazione AJAXAntica presentazione AJAX
Antica presentazione AJAX
 
Le Applicazioni di Internet Web, FTP, Posta e App pr il Mobile
Le Applicazioni di Internet Web, FTP, Posta e App pr il MobileLe Applicazioni di Internet Web, FTP, Posta e App pr il Mobile
Le Applicazioni di Internet Web, FTP, Posta e App pr il Mobile
 
Self hosted Services with .NET OWin
Self hosted Services with .NET OWinSelf hosted Services with .NET OWin
Self hosted Services with .NET OWin
 
Dominopoint meet the experts 2015 - XPages
Dominopoint   meet the experts 2015 - XPagesDominopoint   meet the experts 2015 - XPages
Dominopoint meet the experts 2015 - XPages
 
Blazor ha vinto? Storie di casi reali
Blazor ha vinto? Storie di casi realiBlazor ha vinto? Storie di casi reali
Blazor ha vinto? Storie di casi reali
 
Applicazioni web con ASP.NET Owin e Katana
Applicazioni web con ASP.NET Owin e KatanaApplicazioni web con ASP.NET Owin e Katana
Applicazioni web con ASP.NET Owin e Katana
 
Writing apps for android with .net
Writing apps for android with .net Writing apps for android with .net
Writing apps for android with .net
 

Asp.net web api reloaded

  • 1. Template designed by ASP.NET Web Api Reloaded Pietro Libro Pietro.libro@libero.it blogs.ugidotnet.org/PietroLibroBlog Template designed by
  • 3. 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
  • 4. 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
  • 5. • 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_Transf REST in pillole
  • 7. REST vs SOAP (Classic Web Services) Fonte : http://jegatech.wordpress.com/2012/10/18/soap-vs-rest/
  • 8. CarRental : Architettura Car Rental Service (Web API 2.1) DB HTML Web Client Windows Client Windows Phone 8 Client Windows Azure AD Car Rental Data Access Car Rental Domain ...
  • 9. demo Web Api & Car Rental
  • 10. • 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 eo gerarchie di risorse • Api Versioning • APIV1Clienti • APIV2Clienti Attribute Routing
  • 11. • 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
  • 12. • «Attivare» Attribute Routing • «MapHttpAttributeRoutes()» in WebApiConfig • Uso dell’attributo Route • Uso dell’attributo RoutePrefix Attribute Routing
  • 14. • 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 HTML Cross-Origin Request http://www.domain1.it http://www.domain2.it WebService WebClient
  • 15. • 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 HTML Cross-Origin Request http://www.domain1.it http://www.domain2.it WebService WebClient
  • 17. NEW! External Authentication Services (OAuthOpenIDSocial Media) • Microsoft (Windows Live ID Account) • Twitter • Facebook • Google 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
  • 18. Web API 2: Windows Azure AD
  • 19. 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
  • 21. • 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
  • 25. Grazie a tutti per la partecipazione Riceverete il link per il download a slide e demo via email nei prossimi giorni Per contattarmi pietro.libro@libero.it Grazie