SlideShare una empresa de Scribd logo
1 de 21
ASP.NET Web API
            Pietro Libro
http://blogs.ugidotnet.org/PietroLibroBlog
pietro.libro@domusdotnet.org
http://www.linkedin.com/in/pietrolibro




    Web@Work
Web@Work
Agenda
• Web API
  –   SOAP & REST

• Web API Client
  – JQuery

  – Windows (8) Client

• Web API Security

• Web API Dependency Resolver
REST (Representational State                                  Web@Work
 Transfer)
• Da Wikipedia


«Representational state transfer (REST) è un tipo di architettura software per i
sistemi di ipertesto distribuiti come il World Wide Web. I termini
"representational state transfer" e "REST" furono introdotti nel 2000 nella tesi
di dottorato di Roy Fielding, uno dei principali autori delle specifiche
dell'Hypertext Transfer Protocol (HTTP), termine ampiamente usato nella
comunità di Internet»
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
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)
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
Web@Work
Web API Story

           WCF                                 ASP.NET




    WCF REST Starter Kit




                                             ASP.NET MVC +
       WCF Web API
                                                 RESTful




                           ASP.NET Web API
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
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
ASP.NET Web API               Web@Work




                               DEMO
                  Web API & Web API Client
Web@Work
Web 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]
Web@Work
Web 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
Web@Work
Web API Security
Web@Work
ASP.NET Web API




                  DEMO
                     Security
Web@Work
Web 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
Web@Work
ASP.NET Web API




                           DEMO
                  Dependency Resolver
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,
Web@Work
ASP.NET Web API




                        DEMO
                  Web Api Self-Host
Web@Work
Cosa non abbiamo visto
• Media Type Formatters

• Content Negotation

• Testing & Debugging

• OData & Web API
Web@Work
Riferimenti
• 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
Web@Work
Grazie agli sponsor

Más contenido relacionado

La actualidad más candente

Blazor per uno sviluppatore Web Form
Blazor per uno sviluppatore Web FormBlazor per uno sviluppatore Web Form
Blazor per uno sviluppatore Web FormAndrea Dottor
 
Introduzione a Ruby On Rails
Introduzione a Ruby On RailsIntroduzione a Ruby On Rails
Introduzione a Ruby On RailsLuca Mearelli
 
REST API fantastiche e dove trovarle
REST API fantastiche e dove trovarleREST API fantastiche e dove trovarle
REST API fantastiche e dove trovarleMarco Breveglieri
 
Sviluppo Web con React e Delphi - Seminario Delphi Day 2016, Piacenza
Sviluppo Web con React e Delphi - Seminario Delphi Day 2016, PiacenzaSviluppo Web con React e Delphi - Seminario Delphi Day 2016, Piacenza
Sviluppo Web con React e Delphi - Seminario Delphi Day 2016, PiacenzaMarco Breveglieri
 
.Net 4.0 Preview @ UGIdotNet
.Net 4.0 Preview @ UGIdotNet.Net 4.0 Preview @ UGIdotNet
.Net 4.0 Preview @ UGIdotNetMauro Servienti
 
.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
 
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
 
Cosa c'è di nuovo in asp.net core 2 0
Cosa c'è di nuovo in asp.net core 2 0Cosa c'è di nuovo in asp.net core 2 0
Cosa c'è di nuovo in asp.net core 2 0Andrea Dottor
 
ASP.NET Core - dove siamo arrivati
ASP.NET Core - dove siamo arrivatiASP.NET Core - dove siamo arrivati
ASP.NET Core - dove siamo arrivatiAndrea Dottor
 
Cloud Google App Engine Paas
Cloud   Google App Engine PaasCloud   Google App Engine Paas
Cloud Google App Engine Paassteccami
 
Applicazioni Web ultra-performanti con Vue.js e Delphi
Applicazioni Web ultra-performanti con Vue.js e DelphiApplicazioni Web ultra-performanti con Vue.js e Delphi
Applicazioni Web ultra-performanti con Vue.js e DelphiMarco Breveglieri
 
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
 
ASP.NET MVC: Andare oltre il 100% (Web@work)
ASP.NET MVC: Andare oltre il 100% (Web@work)ASP.NET MVC: Andare oltre il 100% (Web@work)
ASP.NET MVC: Andare oltre il 100% (Web@work)Giorgio Di Nardo
 
Self hosted Services with .NET OWin
Self hosted Services with .NET OWinSelf hosted Services with .NET OWin
Self hosted Services with .NET OWinNicolò Carandini
 
Asp.NET MVC Framework
Asp.NET MVC FrameworkAsp.NET MVC Framework
Asp.NET MVC FrameworkDotNetMarche
 
What's new in Asp.Net 4.5 (and WebApi)
What's new in Asp.Net 4.5 (and WebApi)What's new in Asp.Net 4.5 (and WebApi)
What's new in Asp.Net 4.5 (and WebApi)Luca Milan
 
Integrazione tra SharePoint 2010 e Windows Azure (Azure Day)
Integrazione tra SharePoint 2010 e Windows Azure (Azure Day)Integrazione tra SharePoint 2010 e Windows Azure (Azure Day)
Integrazione tra SharePoint 2010 e Windows Azure (Azure Day)Giuseppe Marchi
 

La actualidad más candente (17)

Blazor per uno sviluppatore Web Form
Blazor per uno sviluppatore Web FormBlazor per uno sviluppatore Web Form
Blazor per uno sviluppatore Web Form
 
Introduzione a Ruby On Rails
Introduzione a Ruby On RailsIntroduzione a Ruby On Rails
Introduzione a Ruby On Rails
 
REST API fantastiche e dove trovarle
REST API fantastiche e dove trovarleREST API fantastiche e dove trovarle
REST API fantastiche e dove trovarle
 
Sviluppo Web con React e Delphi - Seminario Delphi Day 2016, Piacenza
Sviluppo Web con React e Delphi - Seminario Delphi Day 2016, PiacenzaSviluppo Web con React e Delphi - Seminario Delphi Day 2016, Piacenza
Sviluppo Web con React e Delphi - Seminario Delphi Day 2016, Piacenza
 
.Net 4.0 Preview @ UGIdotNet
.Net 4.0 Preview @ UGIdotNet.Net 4.0 Preview @ UGIdotNet
.Net 4.0 Preview @ UGIdotNet
 
.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
 
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
 
Cosa c'è di nuovo in asp.net core 2 0
Cosa c'è di nuovo in asp.net core 2 0Cosa c'è di nuovo in asp.net core 2 0
Cosa c'è di nuovo in asp.net core 2 0
 
ASP.NET Core - dove siamo arrivati
ASP.NET Core - dove siamo arrivatiASP.NET Core - dove siamo arrivati
ASP.NET Core - dove siamo arrivati
 
Cloud Google App Engine Paas
Cloud   Google App Engine PaasCloud   Google App Engine Paas
Cloud Google App Engine Paas
 
Applicazioni Web ultra-performanti con Vue.js e Delphi
Applicazioni Web ultra-performanti con Vue.js e DelphiApplicazioni Web ultra-performanti con Vue.js e Delphi
Applicazioni Web ultra-performanti con Vue.js e Delphi
 
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
 
ASP.NET MVC: Andare oltre il 100% (Web@work)
ASP.NET MVC: Andare oltre il 100% (Web@work)ASP.NET MVC: Andare oltre il 100% (Web@work)
ASP.NET MVC: Andare oltre il 100% (Web@work)
 
Self hosted Services with .NET OWin
Self hosted Services with .NET OWinSelf hosted Services with .NET OWin
Self hosted Services with .NET OWin
 
Asp.NET MVC Framework
Asp.NET MVC FrameworkAsp.NET MVC Framework
Asp.NET MVC Framework
 
What's new in Asp.Net 4.5 (and WebApi)
What's new in Asp.Net 4.5 (and WebApi)What's new in Asp.Net 4.5 (and WebApi)
What's new in Asp.Net 4.5 (and WebApi)
 
Integrazione tra SharePoint 2010 e Windows Azure (Azure Day)
Integrazione tra SharePoint 2010 e Windows Azure (Azure Day)Integrazione tra SharePoint 2010 e Windows Azure (Azure Day)
Integrazione tra SharePoint 2010 e Windows Azure (Azure Day)
 

Similar a ASP.NET Web API

Applicazioni RESTful con ASP.NET Web Api
Applicazioni RESTful con ASP.NET Web ApiApplicazioni RESTful con ASP.NET Web Api
Applicazioni RESTful con ASP.NET Web ApiPietro Libro
 
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
 
Sviluppare Azure Web Apps
Sviluppare Azure Web AppsSviluppare Azure Web Apps
Sviluppare Azure Web AppsAndrea Dottor
 
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
 
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
 
Fr01 asp.net web api reloaded
Fr01   asp.net web api reloadedFr01   asp.net web api reloaded
Fr01 asp.net web api reloadedDotNetCampus
 
ASP.NET 4.6 e ASP.NET 5...l'evoluzione del web
ASP.NET 4.6 e ASP.NET 5...l'evoluzione del webASP.NET 4.6 e ASP.NET 5...l'evoluzione del web
ASP.NET 4.6 e ASP.NET 5...l'evoluzione del webAndrea Dottor
 
Crea servizi REST per la tua App con ASP.NET 5
Crea servizi REST per la tua App con ASP.NET 5Crea servizi REST per la tua App con ASP.NET 5
Crea servizi REST per la tua App con ASP.NET 5Andrea Dottor
 
Asp.net web api reloaded
Asp.net web api reloadedAsp.net web api reloaded
Asp.net web api reloadedPietro Libro
 
SUE AGILE Architettura (Italiano)
SUE AGILE Architettura (Italiano)SUE AGILE Architettura (Italiano)
SUE AGILE Architettura (Italiano)Sabino Labarile
 
Le novita di visual studio 2012
Le novita di visual studio 2012Le novita di visual studio 2012
Le novita di visual studio 2012Crismer La Pignola
 
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
 
WeWantWeb - WCF Data Services
WeWantWeb - WCF Data ServicesWeWantWeb - WCF Data Services
WeWantWeb - WCF Data ServicesDomusDotNet
 
Sviluppo Web Agile Con MonoRail
Sviluppo Web Agile Con MonoRailSviluppo Web Agile Con MonoRail
Sviluppo Web Agile Con MonoRailStefano Ottaviani
 
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
 

Similar a ASP.NET Web API (20)

Applicazioni RESTful con ASP.NET Web Api
Applicazioni RESTful con ASP.NET Web ApiApplicazioni RESTful con ASP.NET Web Api
Applicazioni RESTful con ASP.NET Web Api
 
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
 
Sviluppare Azure Web Apps
Sviluppare Azure Web AppsSviluppare Azure Web Apps
Sviluppare Azure Web Apps
 
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...
 
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
 
Fr01 asp.net web api reloaded
Fr01   asp.net web api reloadedFr01   asp.net web api reloaded
Fr01 asp.net web api reloaded
 
ASP.NET 4.6 e ASP.NET 5...l'evoluzione del web
ASP.NET 4.6 e ASP.NET 5...l'evoluzione del webASP.NET 4.6 e ASP.NET 5...l'evoluzione del web
ASP.NET 4.6 e ASP.NET 5...l'evoluzione del web
 
Swagger pertutti
Swagger pertuttiSwagger pertutti
Swagger pertutti
 
Web dynpro for abap 01
Web dynpro for abap 01Web dynpro for abap 01
Web dynpro for abap 01
 
Crea servizi REST per la tua App con ASP.NET 5
Crea servizi REST per la tua App con ASP.NET 5Crea servizi REST per la tua App con ASP.NET 5
Crea servizi REST per la tua App con ASP.NET 5
 
Asp.net web api reloaded
Asp.net web api reloadedAsp.net web api reloaded
Asp.net web api reloaded
 
SUE AGILE Architettura (Italiano)
SUE AGILE Architettura (Italiano)SUE AGILE Architettura (Italiano)
SUE AGILE Architettura (Italiano)
 
Le novita di visual studio 2012
Le novita di visual studio 2012Le novita di visual studio 2012
Le novita di visual studio 2012
 
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
 
WeWantWeb - WCF Data Services
WeWantWeb - WCF Data ServicesWeWantWeb - WCF Data Services
WeWantWeb - WCF Data Services
 
Powerful asp.net 4 e ie9
Powerful asp.net 4 e ie9Powerful asp.net 4 e ie9
Powerful asp.net 4 e ie9
 
Sviluppo Web Agile Con MonoRail
Sviluppo Web Agile Con MonoRailSviluppo Web Agile Con MonoRail
Sviluppo Web Agile Con MonoRail
 
Net core base
Net core baseNet core base
Net core base
 
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...
 

Último

Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxLorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxlorenzodemidio01
 
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxLorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxlorenzodemidio01
 
descrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptxdescrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptxtecongo2007
 
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptxNicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptxlorenzodemidio01
 
Quadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceoQuadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceoyanmeng831
 
LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................giorgiadeascaniis59
 
case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....giorgiadeascaniis59
 
Tosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptxTosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptxlorenzodemidio01
 
Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................giorgiadeascaniis59
 
Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.camillaorlando17
 
discorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptxdiscorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptxtecongo2007
 
Aristotele, vita e opere e fisica...pptx
Aristotele, vita e opere e fisica...pptxAristotele, vita e opere e fisica...pptx
Aristotele, vita e opere e fisica...pptxtecongo2007
 
Descrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptxDescrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptxtecongo2007
 
Lorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxLorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxlorenzodemidio01
 
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptxScienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptxlorenzodemidio01
 
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxLorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxlorenzodemidio01
 
Scrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibileScrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibileNicola Rabbi
 
Confronto tra Sparta e Atene classiche.ppt
Confronto tra Sparta e Atene classiche.pptConfronto tra Sparta e Atene classiche.ppt
Confronto tra Sparta e Atene classiche.pptcarlottagalassi
 
Presentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione CivicaPresentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione CivicaSalvatore Cianciabella
 

Último (19)

Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxLorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
 
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxLorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
 
descrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptxdescrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptx
 
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptxNicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
 
Quadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceoQuadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceo
 
LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................
 
case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....
 
Tosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptxTosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptx
 
Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................
 
Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.
 
discorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptxdiscorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptx
 
Aristotele, vita e opere e fisica...pptx
Aristotele, vita e opere e fisica...pptxAristotele, vita e opere e fisica...pptx
Aristotele, vita e opere e fisica...pptx
 
Descrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptxDescrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptx
 
Lorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxLorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptx
 
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptxScienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
 
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxLorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
 
Scrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibileScrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibile
 
Confronto tra Sparta e Atene classiche.ppt
Confronto tra Sparta e Atene classiche.pptConfronto tra Sparta e Atene classiche.ppt
Confronto tra Sparta e Atene classiche.ppt
 
Presentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione CivicaPresentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione Civica
 

ASP.NET Web API

  • 1. ASP.NET Web API Pietro Libro http://blogs.ugidotnet.org/PietroLibroBlog pietro.libro@domusdotnet.org http://www.linkedin.com/in/pietrolibro Web@Work
  • 2. Web@Work Agenda • Web API – SOAP & REST • Web API Client – JQuery – Windows (8) Client • Web API Security • Web API Dependency Resolver
  • 3. REST (Representational State Web@Work Transfer) • Da Wikipedia «Representational state transfer (REST) è un tipo di architettura software per i sistemi di ipertesto distribuiti come il World Wide Web. I termini "representational state transfer" e "REST" furono introdotti nel 2000 nella tesi di dottorato di Roy Fielding, uno dei principali autori delle specifiche dell'Hypertext Transfer Protocol (HTTP), termine ampiamente usato nella comunità di Internet»
  • 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. 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. 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. Web@Work Web API Story WCF ASP.NET WCF REST Starter Kit ASP.NET MVC + WCF Web API RESTful ASP.NET Web API
  • 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. 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. ASP.NET Web API Web@Work DEMO Web API & Web API Client
  • 11. Web@Work Web 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. Web@Work Web 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
  • 14. Web@Work ASP.NET Web API DEMO Security
  • 15. Web@Work Web 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. Web@Work ASP.NET Web API DEMO Dependency Resolver
  • 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. Web@Work ASP.NET Web API DEMO Web Api Self-Host
  • 19. Web@Work Cosa non abbiamo visto • Media Type Formatters • Content Negotation • Testing & Debugging • OData & Web API
  • 20. Web@Work Riferimenti • 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