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 AG
Progettazione, sviluppo, installazione e manutenzione di soluzioni software
Erogazione di consulenza in ambito Information Technology per la progettazione, lo
sviluppo e la manutenzione di soluzioni gestionali.
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
• Batch Requests
• Cross-Origin Request (CORS)
• External Authentication Services
• Web Api & Windows Azure
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
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 Requests
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 Requests
Web API HTML
Cross-Origin Request
http://www.domain1.it http://www.domain2.it
WebService WebClient
demo
«CORS»
• 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
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
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

Fr01 asp.net web api reloaded

  • 1.
    Template designed by ASP.NETWeb Api Reloaded Pietro Libro Pietro.libro@libero.it blogs.ugidotnet.org/PietroLibroBlog Template designed by
  • 2.
  • 3.
    Fincons Group AG Progettazione,sviluppo, installazione e manutenzione di soluzioni software Erogazione di consulenza in ambito Information Technology per la progettazione, lo sviluppo e la manutenzione di soluzioni gestionali. 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 • Batch Requests • Cross-Origin Request (CORS) • External Authentication Services • Web Api & Windows Azure agenda
  • 5.
    • Architettura persistemi 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
  • 6.
  • 7.
    REST vs SOAP(Classic Web Services) Fonte : http://jegatech.wordpress.com/2012/10/18/soap-vs-rest/
  • 8.
    CarRental : Architettura CarRental 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: Matchtra 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! Routingbasato su attributi • Overloaded URI segments • Ordini/1 • Ordini/Pending • Multiple Parameter Types • Ordini/1 • Ordini/29/11/2013 • Routing Constraints Attribute Routing
  • 12.
    • «Attivare» AttributeRouting • «MapHttpAttributeRoutes()» in WebApiConfig • Uso dell’attributo Route • Uso dell’attributo RoutePrefix Attribute Routing
  • 13.
  • 14.
    • Browser Security(Same Origin Policy) • Evita che una pagina web possa effettuare richieste Ajax verso un altro dominio Web API 2: Cross-Origin Requests Web API HTML Cross-Origin Request http://www.domain1.it http://www.domain2.it WebService WebClient
  • 15.
    • CORS • CrossOrigin 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 Requests Web API HTML Cross-Origin Request http://www.domain1.it http://www.domain2.it WebService WebClient
  • 16.
  • 17.
    • 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
  • 18.
  • 19.
    NEW! External AuthenticationServices (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
  • 20.
    Web API 2:Windows Azure AD
  • 21.
    ADAL – ActiveDirectory 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
  • 22.
  • 23.
  • 24.
  • 25.
    Grazie a tuttiper la partecipazione Riceverete il link per il download a slide e demo via email nei prossimi giorni Per contattarmi pietro.libro@libero.it Grazie