Il titolo di questo libro in realtà è molto più lungo: “ASP.NET 3.5 Enterprise Application Development with Visual Studio 2008: Problem - Design - Solution”.
Fa parte appunto della collana “Problem – Design – Solution” della Wrox, una serie di libri in cui si pone forte accento sul mettere in pratica le conoscenze teoriche di programmazione, portando avanti, capitolo dopo capitolo, un unico corposo progetto il più possibile aderente al mondo reale.
L’autore di queste 500 fitte pagine, Vincent Varallo, vanta una quindicina di anni di esperienza nello sviluppo di applicazioni di livello enterprise per il settore clinico e finanziario, e possiede una più che buona qualità e facilità di trasmettere le sue conoscenze attraverso la scrittura.
Questa tipologia di libri non è adatta ai principianti, meglio chiarirlo subito. Si danno infatti per assodate le conoscenze fondamentali di C# 3.0 e ASP.NET 3.5, oltre che, ovviamente, un minimo di SQL per la scrittura di query e stored procedure (in SQL Server 2005, la versione presa in considerazione nel testo).
Ogni capitolo parte esponendo il problema – lo sviluppo di un sito N-tier (3 in questo caso) in ASP.NET 3.5 – effettua un ripasso della teoria specifica che potrebbe essere applicata, ed infine la applica scrivendo il codice necessario. L’idea base è di separare la parte di accesso al database (SQL Server ovviamente, nella sua versione 2005), dalla business logic e dalla parte di presentazione (UI, User Interface). Su queste fondamenta l’autore costruisce l’applicazione di esempio, un sito intranet per la gestione delle ferie e dei permessi del personale di un’ipotetica azienda, e nel primo capitolo è presente una vera e propria intervista con il cliente fittizio (Mary) che espone all’autore le sue necessità e ciò che la soluzione dovrà contenere. Insomma proprio come nella vita reale, ed anche negli altri capitoli capiterà di rivedere colloqui di questo tipo. Ciò, effettivamente, aiuta molto ad immedesimarsi, e il grande vantaggio di leggere il libro in successione è di diventare partecipi alla costruzione e realizzazione del progetto.
I primi 4 capitoli sono quelli fondamentali, in cui si costruiscono, davvero passo per passo, i famosi tre livelli del progetto. In questi primi capitoli si imposta anche il database, tabelle e le necessarie stored procedure (da utilizzare con LINQ to SQL, scelto dall’autore al posto dell’Entity Framework).
Per il “Data Access” vengono usate le librerie delle “Microsoft Application Blocks for .NET”. Stranamente l’autore consiglia di utilizzare non l’ultima versione, ma la 2.0, di qualche tempo fa, adducendo il fatto che secondo lui è più semplice da utilizzare (si potrebbe applicare gli stessi concetti anche a Windows?).
Vengono ben sfruttate quasi tutte le nuove feature introdotte con la versione 3.0 di C#. L’autore fa uso sia delle Lambda expressions, sia degli extension methods che dei partial methods.
Si passa poi ad una abbastanza sintetica gestione degli errori (Cap. 5) e alla realizzazione della sicurezza improntata ai ruoli degli utenti.
Un po’ più complessi risultano i capitoli 7 e 8. Nel primo si creano le classi che dovranno gestire il flusso (workflow) delle funzionalità dell’applicazione, mentre il successivo si dedica alle notifiche (tramite mail).
Gli ultimi 5 capitoli (fino al 13esimo) aggiungono gli ultimi tasselli al puzzle, compresa la reportistica utilizzando i Crystal Reports di Visual Studio 2008.
È da sottolineare l’utilità del capitolo 9 sui Crystal Reports: sono 34 pagine utilissime per chi abbia necessita di impratichirsi di questo argomento, di cui non è così facile trovare libri o documentazione in rete.
La lunghezza è molto variabile, e passa dalle sole del primo introduttivo capitolo, fino alle ben 90 del capitolo 7 (“The Workflow Engine”). Consiglierei di dedicare, se proprio si vuole leggere il libro per intero e sequenzialmente, di dedicare non più di un capitolo al giorno (a parte il capitolo 1), in modo da assimilare per bene i concetti. Ovviamente, se servisse invece approfondire solo un particolare aspetto, sapendo già come impostare la propria applicazione, si può passare subito al capitolo di pertinenza, anche perdendo un po’ di vista il contesto generale intessuto dall’autore.
Autore che possiede uno stile di scrittura meravigliosamente fluido, colloquiale e leggibile anche per i lettori non madrelingua inglese (ben poche volte, infatti, capiterà di dover ricorrere al dizionario di inglese).
Questa è la pagina del sito della Wrox relativa al testo.
dove è possibile scaricare, in formato Pdf, il sommario dettagliato il primo capitolo (10 pagine).
Il codice sorgente invece è scaricabile separatamente capitolo per capitolo, e le dimensioni variano tra i 20 kB (primo capitolo), e i 4.2 MB (dodicesimo capitolo).
Il forum di questo libro è molto frequentato (cosa che non sempre accade per i libri della Wrox), e può essere utile leggersi qualcuno dei post, con relativa risposta, lasciati dai lettori.
E soprattutto, prima di iniziare lo studio del libro, raccomando di sistemare le “errata” sul libro (recuperata dalla apposita sezione del sito). Non sono tantissime, ma piuttosto significative.
PRO
Una bella cavalcata su come si realizza un progetto discretamente complesso dall’inizio alla fine, con tonnellate di esempi di codice e richiami teorici, il che non guasta mai. Lo stile di scrittura dell’autore è molto colloquiale e godibile, e l’inglese è perfettamente comprensibile anche per i non-madrelingua (e anche questo non guasta mai). Il capitolo sui Crystal Reports è la ciliegina sulla torta per questo utile ed interessante libro.
CONTRO
Alcune scelte dell’autore posso risultare decisamente opinabili. Perché usare un libreria vecchia? La scelta dei nomi per classi, progetti e variabili è piuttosto infelice, dato che ne risente la leggibilità del codice. Pur essendo un progetto completo mancano alcuni tasselli fondamentali, test unitari e localizzazione/globalizzazione, per fare due esempi. E più di una volta si trova la logica di business annegata sia nelle stored procedure che nel codice.
Voto complessivo: 8/10
Lettore: Intermedio
Table of Contents
Introduction
Cap. 1 - A Framework for Enterprise Applications
Cap. 2: The Data Access Layer
Cap. 3: The Business Logic Layer
Cap. 4: The User Interface Layer
Cap. 5: Exception Handling
Cap. 6: Role-Based Security
Cap. 7: The Workflow Engine
Cap. 8: Notifications
Cap. 9: Reporting
Cap. 10: The Query Builder Control
Cap. 11: The Dashboard
Cap. 12: Auditing
445 - Cap. 13: Code Generation
465 – Index
Titolo: ASP.NET 3.5 Enterprise Application Development with Visual Studio 2008: Problem Design Solution
Autore: Vincent Varallo
Editore: Wrox
ISBN: 978-0-470-39686-5
Pagine: 482
Prezzo: 49.99 $ (prezzo di copertina)
Data di uscita: Feb. 2009