+ All Categories
Home > Education > ASP.NET Web API

ASP.NET Web API

Date post: 21-Apr-2017
Category:
Upload: pietro-libro
View: 994 times
Download: 0 times
Share this document with a friend
21
@ Web@Work ASP.NET Web API Pietro Libro http://blogs.ugidotnet.org/ PietroLibroBlog [email protected] http://www.linkedin.com/in/pietrolibro
Transcript
Page 1: ASP.NET Web API

@Web@Work

ASP.NET Web APIPietro Libro

http://blogs.ugidotnet.org/[email protected]://www.linkedin.com/in/pietrolibro

Page 2: ASP.NET Web API

@Web@WorkAgenda

• Web API– SOAP & REST

• Web API Client– JQuery– Windows (8) Client

• Web API Security• Web API Dependency Resolver

Page 3: ASP.NET Web API

@Web@Work

REST (Representational State 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»

Page 4: ASP.NET Web API

@Web@Work

REST (Representational State 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

Page 5: ASP.NET Web API

@Web@WorkREST, 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)

Page 6: ASP.NET Web API

@Web@WorkREST, 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

Page 7: ASP.NET Web API

@Web@WorkWeb API Story

ASP.NET

WCF REST Starter Kit

WCF Web API ASP.NET MVC + RESTful

WCF

ASP.NET Web API

Page 8: ASP.NET Web API

@Web@WorkWeb 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

Page 9: ASP.NET Web API

@Web@WorkToolbox

• .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

Page 10: ASP.NET Web API

@Web@Work

ASP.NET Web API

DEMOWeb API & Web API Client

Page 11: ASP.NET Web API

@Web@WorkWeb 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 autenticazione\autorizzazione ad ogni

richiesta– HTTP\HTTPS

• Come per ASP.NET MVC, «Controller» ed «Action» supportano:– [Authorize]– [AllowAnonymous]

Page 12: ASP.NET Web API

@Web@WorkWeb 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

Page 13: ASP.NET Web API

@Web@WorkWeb API Security

Page 14: ASP.NET Web API

@[email protected] Web API

DEMOSecurity

Page 15: ASP.NET Web API

@Web@WorkWeb 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

Page 16: ASP.NET Web API

@[email protected] Web API

DEMODependency Resolver

Page 17: ASP.NET Web API

@Web@WorkWeb 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,

Page 18: ASP.NET Web API

@[email protected] Web API

DEMOWeb Api Self-Host

Page 19: ASP.NET Web API

@Web@WorkCosa non abbiamo visto

• Media Type Formatters• Content Negotation• Testing & Debugging• OData & Web API

Page 20: ASP.NET Web API

@Web@WorkRiferimenti

• 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

Page 21: ASP.NET Web API

Web@WorkGrazie agli sponsor


Recommended