Web Development Day - Asp.Net in Applicazionin multi-tier

19
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-TIER Michele Aponte DotNetCampania Team [email protected] g

Transcript of Web Development Day - Asp.Net in Applicazionin multi-tier

Page 1: 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]

Page 2: 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

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]

Page 3: 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

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]

Page 4: 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

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]

Page 5: 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

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]

Page 6: 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

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]

Page 7: 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

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]

Page 8: 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

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]

Page 9: 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

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

Page 10: 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

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

Page 11: 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

DEMOClient Web con ASP.NET Web Form

Page 12: 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

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

Page 13: 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

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

Page 14: 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

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

Page 15: 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

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

Page 16: 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

DEMOClient Web con ASP.NET MVC

Page 17: 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

Q&AVisto che mi avete sopportato fine alla fine…

Page 18: 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

18

Un grazie di cuore a tutti gli sponsor!

05/02/2010Michele Aponte - DotNetCampania Team - [email protected]

Page 19: 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

GRAZIE PER L’ATTENZIONE

La vostra opinione per noi è fondamentale: compilate

il modulo di feedback!