SlideShare uma empresa 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

Mais conteúdo relacionado

Mais procurados

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
 

Mais procurados (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)
 

Semelhante 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
 

Semelhante 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

magia, stregoneria, inquisizione e medicina.pptx
magia, stregoneria, inquisizione e medicina.pptxmagia, stregoneria, inquisizione e medicina.pptx
magia, stregoneria, inquisizione e medicina.pptxpalestiniaurora
 
Le forme allotropiche del C-Palestini e Pancia.docx
Le forme allotropiche del C-Palestini e Pancia.docxLe forme allotropiche del C-Palestini e Pancia.docx
Le forme allotropiche del C-Palestini e Pancia.docxpalestiniaurora
 
Adducchio.Samuel-Steve_Jobs.ppppppppppptx
Adducchio.Samuel-Steve_Jobs.ppppppppppptxAdducchio.Samuel-Steve_Jobs.ppppppppppptx
Adducchio.Samuel-Steve_Jobs.ppppppppppptxsasaselvatico
 
Una breve introduzione ad Elsa Morante, vita e opere
Una breve introduzione ad Elsa Morante, vita e opereUna breve introduzione ad Elsa Morante, vita e opere
Una breve introduzione ad Elsa Morante, vita e opereMarco Chizzali
 
Piccole Personetestoitaliano-AuroraPalestini.docx
Piccole Personetestoitaliano-AuroraPalestini.docxPiccole Personetestoitaliano-AuroraPalestini.docx
Piccole Personetestoitaliano-AuroraPalestini.docxpalestiniaurora
 
Palestini Aurora-Steve Jobs,Olivetti e Gates.pptx
Palestini Aurora-Steve Jobs,Olivetti e Gates.pptxPalestini Aurora-Steve Jobs,Olivetti e Gates.pptx
Palestini Aurora-Steve Jobs,Olivetti e Gates.pptxpalestiniaurora
 
Le forme allotropiche del C-Palestini e Pancia.docx
Le forme allotropiche del C-Palestini e Pancia.docxLe forme allotropiche del C-Palestini e Pancia.docx
Le forme allotropiche del C-Palestini e Pancia.docxpalestiniaurora
 
Pancia Asia-La vita di Steve Jobs-Adriano Olivetti-Bill Gates.pptx
Pancia Asia-La vita di Steve Jobs-Adriano Olivetti-Bill Gates.pptxPancia Asia-La vita di Steve Jobs-Adriano Olivetti-Bill Gates.pptx
Pancia Asia-La vita di Steve Jobs-Adriano Olivetti-Bill Gates.pptxpalestiniaurora
 
Gli isotopi scienze naturale seconda pres
Gli isotopi scienze naturale seconda presGli isotopi scienze naturale seconda pres
Gli isotopi scienze naturale seconda prespalestiniaurora
 
magia, stregoneria, inquisizione e medicina.pptx
magia, stregoneria, inquisizione e medicina.pptxmagia, stregoneria, inquisizione e medicina.pptx
magia, stregoneria, inquisizione e medicina.pptxpalestiniaurora
 
CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...
CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...
CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...Nguyen Thanh Tu Collection
 
a scuola di biblioVerifica: come utilizzare il test TRAAP
a scuola di biblioVerifica: come utilizzare il test TRAAPa scuola di biblioVerifica: come utilizzare il test TRAAP
a scuola di biblioVerifica: come utilizzare il test TRAAPDamiano Orru
 
Esame di Stato 2024 - Materiale conferenza online 09 aprile 2024
Esame di Stato 2024 - Materiale conferenza online 09 aprile 2024Esame di Stato 2024 - Materiale conferenza online 09 aprile 2024
Esame di Stato 2024 - Materiale conferenza online 09 aprile 2024IISGiovanniVallePado
 
presentazione varietà allotropiche del carbonio.pptx
presentazione varietà allotropiche del carbonio.pptxpresentazione varietà allotropiche del carbonio.pptx
presentazione varietà allotropiche del carbonio.pptxmichelacaporale12345
 
Pancia Asia_relazione laboratorio(forza d'attrito).docx
Pancia Asia_relazione laboratorio(forza d'attrito).docxPancia Asia_relazione laboratorio(forza d'attrito).docx
Pancia Asia_relazione laboratorio(forza d'attrito).docxpalestiniaurora
 
TeccarelliLorenzo-Mitodella.cavernaa.pdf
TeccarelliLorenzo-Mitodella.cavernaa.pdfTeccarelliLorenzo-Mitodella.cavernaa.pdf
TeccarelliLorenzo-Mitodella.cavernaa.pdfteccarellilorenzo
 
TeccarelliLorenzo-i4stilidellapitturaromana.docx
TeccarelliLorenzo-i4stilidellapitturaromana.docxTeccarelliLorenzo-i4stilidellapitturaromana.docx
TeccarelliLorenzo-i4stilidellapitturaromana.docxteccarellilorenzo
 
Presentazione tre geni della tecnologia informatica
Presentazione tre geni della tecnologia informaticaPresentazione tre geni della tecnologia informatica
Presentazione tre geni della tecnologia informaticanico07fusco
 
Educazione civica-Asia Pancia powerpoint
Educazione civica-Asia Pancia powerpointEducazione civica-Asia Pancia powerpoint
Educazione civica-Asia Pancia powerpointpalestiniaurora
 
PalestiniAurora-la conoscenzatestoita.docx
PalestiniAurora-la conoscenzatestoita.docxPalestiniAurora-la conoscenzatestoita.docx
PalestiniAurora-la conoscenzatestoita.docxpalestiniaurora
 

Último (20)

magia, stregoneria, inquisizione e medicina.pptx
magia, stregoneria, inquisizione e medicina.pptxmagia, stregoneria, inquisizione e medicina.pptx
magia, stregoneria, inquisizione e medicina.pptx
 
Le forme allotropiche del C-Palestini e Pancia.docx
Le forme allotropiche del C-Palestini e Pancia.docxLe forme allotropiche del C-Palestini e Pancia.docx
Le forme allotropiche del C-Palestini e Pancia.docx
 
Adducchio.Samuel-Steve_Jobs.ppppppppppptx
Adducchio.Samuel-Steve_Jobs.ppppppppppptxAdducchio.Samuel-Steve_Jobs.ppppppppppptx
Adducchio.Samuel-Steve_Jobs.ppppppppppptx
 
Una breve introduzione ad Elsa Morante, vita e opere
Una breve introduzione ad Elsa Morante, vita e opereUna breve introduzione ad Elsa Morante, vita e opere
Una breve introduzione ad Elsa Morante, vita e opere
 
Piccole Personetestoitaliano-AuroraPalestini.docx
Piccole Personetestoitaliano-AuroraPalestini.docxPiccole Personetestoitaliano-AuroraPalestini.docx
Piccole Personetestoitaliano-AuroraPalestini.docx
 
Palestini Aurora-Steve Jobs,Olivetti e Gates.pptx
Palestini Aurora-Steve Jobs,Olivetti e Gates.pptxPalestini Aurora-Steve Jobs,Olivetti e Gates.pptx
Palestini Aurora-Steve Jobs,Olivetti e Gates.pptx
 
Le forme allotropiche del C-Palestini e Pancia.docx
Le forme allotropiche del C-Palestini e Pancia.docxLe forme allotropiche del C-Palestini e Pancia.docx
Le forme allotropiche del C-Palestini e Pancia.docx
 
Pancia Asia-La vita di Steve Jobs-Adriano Olivetti-Bill Gates.pptx
Pancia Asia-La vita di Steve Jobs-Adriano Olivetti-Bill Gates.pptxPancia Asia-La vita di Steve Jobs-Adriano Olivetti-Bill Gates.pptx
Pancia Asia-La vita di Steve Jobs-Adriano Olivetti-Bill Gates.pptx
 
Gli isotopi scienze naturale seconda pres
Gli isotopi scienze naturale seconda presGli isotopi scienze naturale seconda pres
Gli isotopi scienze naturale seconda pres
 
magia, stregoneria, inquisizione e medicina.pptx
magia, stregoneria, inquisizione e medicina.pptxmagia, stregoneria, inquisizione e medicina.pptx
magia, stregoneria, inquisizione e medicina.pptx
 
CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...
CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...
CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...
 
a scuola di biblioVerifica: come utilizzare il test TRAAP
a scuola di biblioVerifica: come utilizzare il test TRAAPa scuola di biblioVerifica: come utilizzare il test TRAAP
a scuola di biblioVerifica: come utilizzare il test TRAAP
 
Esame di Stato 2024 - Materiale conferenza online 09 aprile 2024
Esame di Stato 2024 - Materiale conferenza online 09 aprile 2024Esame di Stato 2024 - Materiale conferenza online 09 aprile 2024
Esame di Stato 2024 - Materiale conferenza online 09 aprile 2024
 
presentazione varietà allotropiche del carbonio.pptx
presentazione varietà allotropiche del carbonio.pptxpresentazione varietà allotropiche del carbonio.pptx
presentazione varietà allotropiche del carbonio.pptx
 
Pancia Asia_relazione laboratorio(forza d'attrito).docx
Pancia Asia_relazione laboratorio(forza d'attrito).docxPancia Asia_relazione laboratorio(forza d'attrito).docx
Pancia Asia_relazione laboratorio(forza d'attrito).docx
 
TeccarelliLorenzo-Mitodella.cavernaa.pdf
TeccarelliLorenzo-Mitodella.cavernaa.pdfTeccarelliLorenzo-Mitodella.cavernaa.pdf
TeccarelliLorenzo-Mitodella.cavernaa.pdf
 
TeccarelliLorenzo-i4stilidellapitturaromana.docx
TeccarelliLorenzo-i4stilidellapitturaromana.docxTeccarelliLorenzo-i4stilidellapitturaromana.docx
TeccarelliLorenzo-i4stilidellapitturaromana.docx
 
Presentazione tre geni della tecnologia informatica
Presentazione tre geni della tecnologia informaticaPresentazione tre geni della tecnologia informatica
Presentazione tre geni della tecnologia informatica
 
Educazione civica-Asia Pancia powerpoint
Educazione civica-Asia Pancia powerpointEducazione civica-Asia Pancia powerpoint
Educazione civica-Asia Pancia powerpoint
 
PalestiniAurora-la conoscenzatestoita.docx
PalestiniAurora-la conoscenzatestoita.docxPalestiniAurora-la conoscenzatestoita.docx
PalestiniAurora-la conoscenzatestoita.docx
 

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