190 likes | 278 Views
ASP.NET IN APPLICAZIONI N-TIER. Michele Aponte DotNetCampania Team michele.aponte@dotnetcampania.org. Chi sono. Michele Aponte Presidente DotNetCampania Docente Overnet Education Resp. Area Sviluppo e Risorse Umane in BC Soft SNC
E N D
ASP.NET IN APPLICAZIONI N-TIER Michele Aponte DotNetCampania Team michele.aponte@dotnetcampania.org
Chi sono • Michele Aponte • PresidenteDotNetCampania • DocenteOvernet Education • Resp. Area Sviluppo e Risorse Umane in BC SoftSNC • Microsoft Student Partner per la Federico II di Napoli • http://dotnetcampania.org/blogs/michele • michele.aponte@dotnetcampania.org Michele Aponte - DotNetCampania Team - michele.aponte@dotnetcampania.org
Agenda • .NET e le appliazionin-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 Michele Aponte - DotNetCampania Team - michele.aponte@dotnetcampania.org
.Net e le applicazionin-tier Checos’èun’applicazione n-layer? E’ un’applicazione in cui le varieresponsabilitàvengonodistribuitesupiù layer funzionali Layer != Tier Il layer è un raggruppamentofunzionale, il tier inveceunostratofisico Michele Aponte - DotNetCampania Team - michele.aponte@dotnetcampania.org
.Net e le applicazionin-tier Quandorealizzareapplicazioni n-tier? • Cisonopiù client • Cisonopiù back-end • Manutelibilità, Testabilità, Riusabilità, Estendibilità • Scalabilità, Sicurezza… Possibilmentechesianorequisitireali, non messinell’analisi per mettereallaprova la nostra virilità…. Michele Aponte - DotNetCampania Team - michele.aponte@dotnetcampania.org
.Net e le applicazionin-tier Come disegnareapplicazioni n-tier? • SoC (Separation Of Concern) • Definireun’interfaccia di comunicazione per ognilivello Vantaggi: • Il basso accoppiamentofavorisce la manutenibilità • L’isolamentodei layer favorisce la testabilità • Riutilizzodei layer • Distribuzione del lavoro Svantaggi: • Performance per la comunicazionetra layer • Costidovutiall’astrazione Michele Aponte - DotNetCampania Team - michele.aponte@dotnetcampania.org
.Net e le applicazionin-tier SoC? Facciamociaiutaredai pattern! Client Business Logic Data Access DTO BO MVC, Model 2, MVP, MVVM DAO Table Module Active Record Domain Model Michele Aponte - DotNetCampania Team - michele.aponte@dotnetcampania.org
.Net e le applicazionin-tier Cosacioffre.Net per realizzareapplicazioni n-layer / n-tier? Client Business Logic Data Access WS WCF WS WCF ASP.NET, ASP.NET MVC, Web Forms, WPF, Compact Framework ADO.NET LinqToSql Entity Framework Class Library, Linq, Workflow Michele Aponte - DotNetCampania Team - michele.aponte@dotnetcampania.org
Il client Web: ASP.NET Web Form ASP.NET Web Form è unadelletecnologia Microsoft per lo sviluppo di applicazioni web: • Fortementebasatasupostback e viewstate • Progettato per essere molto “RAD”, per aiutare a esserevelocementeproduttivi • Forniscetuttaunaserie di controlli per le funzionalitàpiùcomuni, in particolare per l’accessoaidati. • Il codice Html generato non è traimigliori. Michele Aponte - DotNetCampania Team - michele.aponte@dotnetcampania.org
Il client Web: ASP.NET Web Form • L’Object Data Source Traivari data source presentinella nostra toolbox l’ObjectDataSource è quellocipermette di usare come fontedati un oggetto custom, facendocispecificareattraversoisuoiattributiinostrimetodi di business: Michele Aponte - DotNetCampania Team - michele.aponte@dotnetcampania.org
Il client Web: ASP.NET MVC ASP.NET MVC è ilnuovo framework Microsoft per lo sviluppo di applicazioni web con il pattern Model-View-Controller: • Non ha postback e viewstate • Le pagineaspx non hanno code behind • Fortementebasatosullafilosofia Convention over Configuration • Dobbiamoscrivere “molto” HTML Michele Aponte - DotNetCampania Team - michele.aponte@dotnetcampania.org
Il client Web: ASP.NET MVC Come funziona? Request Action Action Result Url Routing Controller View Result Michele Aponte - DotNetCampania Team - michele.aponte@dotnetcampania.org
Il client Web: ASP.NET MVC E’ ilmeccanismo di routing chepermette di smistare la richiesta: Non sitratta di unafunzionalità del framework MVC, ma è statointrodotto con .NET 3.5 SP1 Michele Aponte - DotNetCampania Team - michele.aponte@dotnetcampania.org
Il client Web: ASP.NET MVC Supponiamoarrivi la richiesta: http://miaapplicazione.com/News/Show/12 http://miaapplicazione.com/News/Show/12 Show(12) Action Result Url Routing NewsController Show Result Michele Aponte - DotNetCampania Team - michele.aponte@dotnetcampania.org
Un grazie di cuore a tuttigli sponsor! Michele Aponte - DotNetCampania Team - michele.aponte@dotnetcampania.org
La vostraopinione per noi è fondamentale: compilateil modulo di feedback! GraZIE PER L’ATTENZIONE