Web Development Day - Asp.Net in Applicazionin multi-tier
-
Upload
michele-aponte -
Category
Presentations & Public Speaking
-
view
19 -
download
1
Transcript of Web Development Day - Asp.Net in Applicazionin multi-tier
Fare clic per modificare lo stile del titolo
• Fare clic per modificare stili del testo dello schema– Secondo livello• Terzo livello
– Quarto livello» Quinto livello
ASP.NET IN APPLICAZIONI
N-TIERMichele Aponte DotNetCampania [email protected]
Fare clic per modificare lo stile del titolo
• Fare clic per modificare stili del testo dello schema– Secondo livello• Terzo livello
– Quarto livello» Quinto livello
Michele Aponte - DotNetCampania Team - [email protected]
2
Chi sono
05/02/2010
Michele ApontePresidente DotNetCampaniaDocente Overnet EducationResp. Area Sviluppo e Risorse Umane in BC Soft SNCMicrosoft Student Partner per la Federico II di Napolihttp://dotnetcampania.org/blogs/michele [email protected]
Fare clic per modificare lo stile del titolo
• Fare clic per modificare stili del testo dello schema– Secondo livello• Terzo livello
– Quarto livello» Quinto livello
3
Agenda
• .NET e le appliazioni n-tier• Il client Web: ASP.NET Web Form– L’Object Data Source
• Il client Web: ASP.NET MVC– Pattern MVC– Funzionamento del framework– Url Routing
• Q&A
05/02/2010
Michele Aponte - DotNetCampania Team - [email protected]
Fare clic per modificare lo stile del titolo
• Fare clic per modificare stili del testo dello schema– Secondo livello• Terzo livello
– Quarto livello» Quinto livello
4
.Net e le applicazioni n-tier
Che cos’è un’applicazione n-layer?E’ un’applicazione in cui le varie responsabilità
vengono distribuite su più layer funzionali
Layer != TierIl layer è un raggruppamento funzionale, il tier
invece uno strato fisico
05/02/2010
Michele Aponte - DotNetCampania Team - [email protected]
Fare clic per modificare lo stile del titolo
• Fare clic per modificare stili del testo dello schema– Secondo livello• Terzo livello
– Quarto livello» Quinto livello
5
.Net e le applicazioni n-tier
Quando realizzare applicazioni n-tier?• Ci sono più client• Ci sono più back-end• Manutelibilità, Testabilità, Riusabilità, Estendibilità• Scalabilità, Sicurezza…
Possibilmente che siano requisiti reali, non messi nell’analisi per mettere alla prova la nostra virilità….
05/02/2010
Michele Aponte - DotNetCampania Team - [email protected]
Fare clic per modificare lo stile del titolo
• Fare clic per modificare stili del testo dello schema– Secondo livello• Terzo livello
– Quarto livello» Quinto livello
6
.Net e le applicazioni n-tier
Come disegnare applicazioni n-tier?• SoC (Separation Of Concern)• Definire un’interfaccia di comunicazione per ogni livello
Vantaggi:• Il basso accoppiamento favorisce la manutenibilità• L’isolamento dei layer favorisce la testabilità• Riutilizzo dei layer• Distribuzione del lavoro
Svantaggi:• Performance per la comunicazione tra layer• Costi dovuti all’astrazione
05/02/2010
Michele Aponte - DotNetCampania Team - [email protected]
Fare clic per modificare lo stile del titolo
• Fare clic per modificare stili del testo dello schema– Secondo livello• Terzo livello
– Quarto livello» Quinto livello
7
.Net e le applicazioni n-tier
SoC? Facciamoci aiutare dai pattern!
05/02/2010
DataAccessClient Business
Logic
MVC, Model 2, MVP, MVVM
Table ModuleActive Record
Domain Model
DAO
DTO BO
Michele Aponte - DotNetCampania Team - [email protected]
Fare clic per modificare lo stile del titolo
• Fare clic per modificare stili del testo dello schema– Secondo livello• Terzo livello
– Quarto livello» Quinto livello
8
.Net e le applicazioni n-tier
Cosa ci offre .Net per realizzare applicazioni n-layer / n-tier?
05/02/2010
DataAccessClient Business
Logic
ASP.NET, ASP.NET MVC, Web Forms, WPF,
Compact Framework
Class Library,Linq, Workflow
ADO.NETLinqToSql
Entity Framework
WSWCF
WSWCF
Michele Aponte - DotNetCampania Team - [email protected]
Fare clic per modificare lo stile del titolo
• Fare clic per modificare stili del testo dello schema– Secondo livello• Terzo livello
– Quarto livello» Quinto livello
Michele Aponte - DotNetCampania Team - [email protected]
9
Il client Web: ASP.NET Web Form
ASP.NET Web Form è una delle tecnologia Microsoft per lo sviluppo di applicazioni web:
• Fortemente basata su postback e viewstate• Progettato per essere molto “RAD”, per aiutare a
essere velocemente produttivi• Fornisce tutta una serie di controlli per le funzionalità
più comuni, in particolare per l’accesso ai dati.• Il codice Html generato non è tra i migliori.
05/02/2010
Fare clic per modificare lo stile del titolo
• Fare clic per modificare stili del testo dello schema– Secondo livello• Terzo livello
– Quarto livello» Quinto livello
Michele Aponte - DotNetCampania Team - [email protected]
10
Il client Web: ASP.NET Web Form
Tra i vari data source presenti nella nostra toolbox l’ObjectDataSource è quello ci permette di usare come fonte dati un oggetto custom, facendoci specificare attraverso i suoi attributi i nostri metodi di business:
05/02/2010
L’Object Data Source
Fare clic per modificare lo stile del titolo
• Fare clic per modificare stili del testo dello schema– Secondo livello• Terzo livello
– Quarto livello» Quinto livello
DEMOClient Web con ASP.NET Web Form
Fare clic per modificare lo stile del titolo
• Fare clic per modificare stili del testo dello schema– Secondo livello• Terzo livello
– Quarto livello» Quinto livello
Michele Aponte - DotNetCampania Team - [email protected]
12
Il client Web: ASP.NET MVC
ASP.NET MVC è il nuovo framework Microsoft per lo sviluppo di applicazioni web con il pattern Model-View-Controller:
• Non ha postback e viewstate• Le pagine aspx non hanno code behind• Fortemente basato sulla filosofia Convention
over Configuration• Dobbiamo scrivere “molto” HTML
05/02/2010
Fare clic per modificare lo stile del titolo
• Fare clic per modificare stili del testo dello schema– Secondo livello• Terzo livello
– Quarto livello» Quinto livello
Michele Aponte - DotNetCampania Team - [email protected]
13
Il client Web: ASP.NET MVC
Come funziona?
05/02/2010
Request
UrlRouting Controller
Action Action Result
View Result
Fare clic per modificare lo stile del titolo
• Fare clic per modificare stili del testo dello schema– Secondo livello• Terzo livello
– Quarto livello» Quinto livello
14
Il client Web: ASP.NET MVC
E’ il meccanismo di routing che permette di smistare la richiesta:
05/02/2010
Michele Aponte - DotNetCampania Team - [email protected]
Non si tratta di una funzionalità del framework MVC, ma è stato introdotto con .NET 3.5 SP1
Fare clic per modificare lo stile del titolo
• Fare clic per modificare stili del testo dello schema– Secondo livello• Terzo livello
– Quarto livello» Quinto livello
15
Il client Web: ASP.NET MVC
Supponiamo arrivi la richiesta:http://miaapplicazione.com/News/Show/12
05/02/2010
Michele Aponte - DotNetCampania Team - [email protected]
http://miaapplicazione.com/News/
Show/12
UrlRouting
NewsController
Show(12) Action Result
Show Result
Fare clic per modificare lo stile del titolo
• Fare clic per modificare stili del testo dello schema– Secondo livello• Terzo livello
– Quarto livello» Quinto livello
DEMOClient Web con ASP.NET MVC
Fare clic per modificare lo stile del titolo
• Fare clic per modificare stili del testo dello schema– Secondo livello• Terzo livello
– Quarto livello» Quinto livello
Q&AVisto che mi avete sopportato fine alla fine…
Fare clic per modificare lo stile del titolo
• Fare clic per modificare stili del testo dello schema– Secondo livello• Terzo livello
– Quarto livello» Quinto livello
18
Un grazie di cuore a tutti gli sponsor!
05/02/2010Michele Aponte - DotNetCampania Team - [email protected]
Fare clic per modificare lo stile del titolo
• Fare clic per modificare stili del testo dello schema– Secondo livello• Terzo livello
– Quarto livello» Quinto livello
GRAZIE PER L’ATTENZIONE
La vostra opinione per noi è fondamentale: compilate
il modulo di feedback!