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

PPTX
Fr01 asp.net web api reloaded
PPTX
Web api 2.0
PPTX
Esplorando il Cloud con Azure - Un viaggio tra IaaS, PaaS e SaaS e un compila...
PPTX
UWP e Mobile App Mobile Services
PPTX
Tutto su ASP.NET Identity
PDF
Scrivere Mobile Apps con Javascript: Introduzione a Titanium Mobile e Alloy
PPTX
ASP.NET Web API
PPTX
Introduzione ai Coded UI Tests
Fr01 asp.net web api reloaded
Web api 2.0
Esplorando il Cloud con Azure - Un viaggio tra IaaS, PaaS e SaaS e un compila...
UWP e Mobile App Mobile Services
Tutto su ASP.NET Identity
Scrivere Mobile Apps con Javascript: Introduzione a Titanium Mobile e Alloy
ASP.NET Web API
Introduzione ai Coded UI Tests

Similar to Asp.net web api reloaded (20)

PPTX
Visual Studio 2013 - A New kind In Town - ASP.NET Web Api 2
PDF
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente
PPTX
ASP.NET Core Services e Linux per il Mobile - Pietro Libro - Codemotion Rome...
PPTX
.NET Core, ASP.NET Core e Linux per il Mobile
PPTX
Sviluppare Azure Web Apps
PPTX
Asp.Net MVC 5
PDF
Sviluppo di servizi REST per Android - Luca Masini
PDF
SVILUPPO DI SERVIZI REST PER ANDROID
PPTX
Cert03 70-486 developing asp.net mvc 4 web applications
PDF
REST API fantastiche e dove trovarle
PPTX
WeWantWeb - WCF Data Services
PDF
Architetture web - Linguaggi e standard - Web server, application server, dat...
PPTX
Introduzione a DotNetNuke
PDF
Antica presentazione AJAX
PPTX
Le Applicazioni di Internet Web, FTP, Posta e App pr il Mobile
PPTX
Impara React sfruttando le tecnologie più recenti (Eduard Capanu).pptx
PPTX
Self hosted Services with .NET OWin
PPT
Dominopoint meet the experts 2015 - XPages
PDF
Blazor ha vinto? Storie di casi reali
PPTX
Applicazioni web con ASP.NET Owin e Katana
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
ASP.NET Core Services e Linux per il Mobile - Pietro Libro - Codemotion Rome...
.NET Core, ASP.NET Core e Linux per il Mobile
Sviluppare Azure Web Apps
Asp.Net MVC 5
Sviluppo di servizi REST per Android - Luca Masini
SVILUPPO DI SERVIZI REST PER ANDROID
Cert03 70-486 developing asp.net mvc 4 web applications
REST API fantastiche e dove trovarle
WeWantWeb - WCF Data Services
Architetture web - Linguaggi e standard - Web server, application server, dat...
Introduzione a DotNetNuke
Antica presentazione AJAX
Le Applicazioni di Internet Web, FTP, Posta e App pr il Mobile
Impara React sfruttando le tecnologie più recenti (Eduard Capanu).pptx
Self hosted Services with .NET OWin
Dominopoint meet the experts 2015 - XPages
Blazor ha vinto? Storie di casi reali
Applicazioni web con ASP.NET Owin e Katana
Ad

Asp.net web api reloaded

  • 1. Template designed by ASP.NET Web Api Reloaded Pietro Libro [email protected] 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 [email protected] Grazie