Introduzione a web e servizi con .net e azure
-
Upload
dotnetabruzzo -
Category
Mobile
-
view
41 -
download
0
Transcript of Introduzione a web e servizi con .net e azure
DotNetAbruzzo
.NET Day
#netday15
05 Febbraio 2015
Marco [email protected]: http://marcominerva.wordpress.com Twitter: @marcominerva
Introduzione a Web e Servizi con .NET e Azure
.NET Day #netday15
• Consulente freelance• .NET addicted• Windows Store, Windows Phone, Azure• Co-fondatore della Community DotNetToscana• Microsoft MVP .NET• Speaker ad eventi Community e nazionali
Chi sono
.NET Day #netday15
• L’ecosistema Web di Microsoft• Siti Web con .NET• Servizi Web con .NET• Introduzione ad Azure
Agenda
.NET Day #netday15
One ASP.NET
ASP.NET
WebForms
Sites
WebPages
SinglePageApps
MVCWebAPI
SignalR
Services
.NET Day #netday15
• Web Forms• Programmazione visuale con Drag & Drop• Controlli ed eventi (stessa filosofia della programmazione Windows)
• Web Pages• Per avvicinarsi alla programmazione Web con ASP.NET• Sviluppo con WebMatrix
• Single Pages applications• Applicazione Web “racchiusa in una sola pagina” (non c’è navigazione)• Interattività e dinamicità lato client (HTML 5, CSS, Javascript)• Comunicazione con il server tramite servizi (Web API)
• MVC• Pattern Model-View-Controller• “Alternativa” a Web Forms• Netta separazione tra UI e logica applicativa
Siti Web
.NET Day #netday15
ASP.NET MVC
Model
View
Controller
1
5
2
4
3
Browser
The request hits the controller
The Controller asks the Model for data
The Model gives the data back to the
Controller
The controller formats the data and passes them to the View
The view renders the HTML that needs to be
sent to the client
.NET Day #netday15
• Model: gestisce i dati del dominio dell’applicazione• Ad esempio, un oggetto Prodotto che recupera le informazioni da un database, opera su di
esse e quindi le persiste in una tabella Products
• View: gestisce la visualizzazione delle informazioni• Mostra nella UI le informazioni che provengono da un modello• Ad esempio, una vista (pagina) che mostra caselle di testo, drop down e checkbox
valorizzate in base allo stato di un oggetto Prodotto che deriva dal modello
• Controller: gestisce le interazioni con l’utente, manipola il modello e decide quale View mostrare• Ad esempio, elabora i parametri che sono stati inviati da una View e il passa al modello che li
utilizza per effettuare una query su un database
Model, View, Controller
.NET Day #netday15
• Un View Engine per ASP.NET MVC• Consente di integrare markup HTML e codice, così che possiamo descrivere la logica
secondo cui una pagina web dinamica viene generata
• Controllo sul codice HTML• Quello che scriviamo è quello che viene generato
• Non esiste un designer grafico
Razor
.NET Day #netday15
• OR/M (Object-Relational Mapper) per .NET• Lavorare con dati relazionali usando normali
classi .NET• Senza dover scrivere esplicitamente il codice per l’accesso al database
Entity Framework
.NET Day #netday15
• ASP.NET Identity• Autenticazione locale• Two Factor Authentication
• E-Mail• SMS
• Supporto ai Social Network• Facebook• Microsoft Account• Twitter• Google
Autenticazione
.NET Day #netday15
• Un framework per la realizzazione di interfacce web responsive• Una serie di componenti riusabili e personalizzabili, adattabili in termini stilistici ed
estetici alle richieste del progetto e alla creatività di chi concepisce il sito• E’ ormai uno standard
• Approccio mobile first• Una pagina basata su Bootstrap si adatta ad una gamma ampia di device, dagli
smartphone fino ai desktop ad altissima risoluzione
Bootstrap
.NET Day #netday15
• Web API• Framework per creare servizi HTTP che possono essere utilizzati da browser,
applicazioni desktop, app per smartphone, tablet, device IoT
• SignalR• Astrazione di una connessione real-time e persistente tra client e server basata sul
protocollo HTTP
Servizi
.NET Day #netday15
• Applicazioni RESTful• Risorse REST accessibili tramite chiamate HTTP
in GET, POST, PUT, ecc.• Stessa filosofia di MVC
• Ma senza View • Risposte JSON o XML
Web API
.NET Day #netday15
• Un'astrazione di una connessione real-time e persistente su protocollo HTTP
• Permette comunicazioni bi-direzionali tra server e client
• Il server può effettuare push verso i client• Niente più polling
SignalR
.NET Day #netday15
• Server: Hub SignalR• ASP.NET MVC• Web API• All’interno di applicazioni console e servizi (non Web)
• Client: supporto per la maggior parte delle piattaforme• Applicazioni Web con Javascript• .NET Desktop• Windows Phone/Windows Phone/Universal app• Xamarin• Android & iOS
SignalR: Server e Client
.NET Day #netday15
It’s Microsoft’s cloud platform: a growing collection of integrated services—compute, storage, data, networking, and app—that help you move faster, do more, and save money.
Che cosa è Microsoft Azure?
Huge infrastructure scale is the enabler19 Regions ONLINE…huge datacenter capacity around the world…and
we’re growing
Central USIowa
West USCalifornia
North EuropeIreland
East USVirginia
East US 2Virginia
US GovVirginia
North Central USIllinois
US GovIowa
South Central USTexas
Brazil SouthSao Paulo
West EuropeNetherlands
China North *Beijing
China South *Shanghai
Japan EastSaitama
Japan WestOsakaIndia West
TBD
India EastTBD
East AsiaHong Kong
SE AsiaSingapore
Australia WestMelbourne
Australia EastSydney
100+ datacenters Top 3 networks in the world 2x AWS, 6x Google DC Regions G Series – Largest VM in World, 32 cores, 448GB Ram, SSD… Operational Announced* Operated by 21Vianet
Microsoft Azure Web Sites
Code smart Go liveStart simpleCrea nuovi siti Web in pochi secondi
Gestisci e scala i tuoi siti con facilità
Load balancing automatico
Utilizza istanze riservate per aumentare le performance e la scalabilità
Supporto per attività schedulate (Web jobs)
Utilizza ASP.NET, ASP, PHP, Java o Node.js
Database SQL Azure o MySQL
Supporto ad applicazioni e framework open source
Sviluppa con Visual Studio e WebMatrix
Supporta tool di sviluppo Web su ogni piattaforma (Windows, OSX e Linux)
Integrazione con source control come Team Foundation Server e Git
Supporto per l’analisi dell’utilizzo e delle performance
Accesso veloce a log, richieste e diagnostica
• Database SQL Server as a service • Completamente gestito• Scalabile• Cross Datacenter failover e backup per
supportare scenari di disaster recovery
SQL Azure
• Storage as a service • Completamente gestito• Replica automatica dei dati
Azure Storage
Mobile ServicesStorage
Authentication
Logic
Push
Scheduler
• Fornisce i servizi di base per losviluppo di applicazioni client• Client supportati• iOS• Android• HTML5/Web• Xamarin• Windows• Windows Phone• PhoneGap• Sencha
Provare Azure• 150 € di credito validi per un mese• Utilizzabili con tutti i servizi di Azure• Una serie di risorse utilizzabili gratuitamente
http://azure.microsoft.com/it-it/pricing/free-trial
+
.NET Day #netday15
• http://www.asp.net• http://www.asp.net/web-api• http://www.asp.net/signalr
• http://azure.microsoft.com
Riferimenti