Come ho già sottolineato in altre occasioni, i training kit per le certificazioni Microsoft, pur essendo pensati e scritti con lo scopo del superamento dell’esame, si rendono utili anche come ripasso mirato per chi già conosce sufficientemente l’argomento.
Questo testo della Microsoft Press, scritto a più mani da diversi autori, rappresenta il manuale ufficiale per la preparazione all’esame 70-547, “Designing and Developing Web-Based Applications Using the Microsoft .NET Framework”, scoglio da superare per ottenere la certificazione MCPD (Microsoft Certified Professional Developer), il gradino più alto nelle certificazioni legate al mondo .NET, ed è l’unico attualmente che è stato tradotto dalla Mondadori Informatica.
Ottenere una certificazione di questo tipo, legata al Framework 2.0, mantiene intatta la sua validità, pur essendo già stata rilasciata la versione 3.5 (ufficialmente a febbraio, in concomitanza con il rilascio di Visual Studio 2008). In questi casi, infatti, vengono emessi degli esami di integrazione, molto più accessibili degli esami completi, in modo da consentire al candidato di mantenersi aggiornato con le nuove tecnologie.
Come consuetudine già da diversi anni, tutti i libri per le certificazioni Microsoft hanno la stessa struttura.
Ogni capitolo inizia con una rapida introduzione in cui vengono riportati gli argomenti che verranno approfonditi. Segue poi, ma non sempre, un box riportante esperienze professionali dirette di uno degli autori, in qualche modo collegate all’argomento trattato. Seguono poi le vere e proprie lezioni, in genere due o tre per capitolo. Anche le lezioni iniziano con un riepilogo degli argomenti che tratteranno e riportano, per comodità del lettore, un tempo stimato per la loro lettura. Ho notato che è leggermente sottostimato, ovvero se riportano 20 minuti per la lettura della lezione, in realtà ne servono almeno 30 (lo “studio” è più lento di una mera “lettura”, a mio modo di vedere). Al termine di ogni lezione sono riportate una manciata di domande tipiche d’esame, con la solita struttura a risposte multiple. La soluzione di esse è riportata nell’appendice apposita. Un grande vantaggio è che vengono spiegate non solo le risposte esatte, ma anche perché quelle sbagliate sono tali. Come si può ben immaginare questo è un aspetto importantissimo ai fini della preparazione dell’esame. Al termine di ogni capitolo infine è riportata un esercitazione pratica, in cui viene chiesto al lettore di provare a metter mano al pc per realizzare dei compiti più articolati, dalla creazione di diagrammi (anche su carta), fino a vere e proprie bozze di applicazioni web. Anche in questa esercitazione sono riportate delle domande, con relative risposte nell’appendice.
Nel secondo capitolo si entra nel dettaglio della notazione UML per la stesura dei vari diagrammi che questa notazione prevede: delle Attività, di Classe, di Collaborazione, di Sequenza, ecc. Il lettore si troverà di fronte ad una moltitudine di diagrammi, la cui comprensione, come segnalato dagli autori, è indispensabile per il superamento dell’esame, dato che rientrano in vario titolo in un buon numero di domande. Purtroppo questo capitolo soffre della presenza di un vasto numero di refusi, spesso anche più di uno in una stessa pagina.
A parte per il diagramma delle Classi, realizzabile anche con Visual Studio 2005, per poter eseguire le esercitazioni di questo capitolo è necessario Visio, l’unico strumento Microsoft per la creazione degli altri tipi di diagrammi UML. Il successivo breve terzo capitolo è l’ultimo interamente teorico prima di addentrarsi con un po’ di codice nella creazione di pagine web, e tratta della valutazione di tutti gli aspetti legati alla progettazione di un’applicazione software di un certo livello. Nella lunga prima lezione del quarto capitolo si inizia finalmente a lavorare con un po’ di codice. Per prima cosa si spiega il cross page posting tra le pagine web, poi si analizzano i nuovi controlli menu e treeview, e nella seconda lezione gli importanti concetti delle pagine master, dei temi/CSS e delle Web Parts (eccessivamente tradotte come “Parti Web”).
Purtroppo, se si apre il codice presente nel cd (ed autoinstallabile sul proprio pc), si scopre che mancano interi pezzi di codice e pagine intere. Diverse pagine, invece di riportare i metodi (e quant’altro) riportati nel testo, contengono solo dei Page_Load vuoti, e i file .aspx figurano con la strana estensione .xpsa (le stesse lettere messe in ordine inverso), inutilizzabile in Visual Studio.
Solo pochi file .aspx e .cs (oltre ai vari file di configurazione) dispongono del contenuto corretto.
Questa rappresenta una grave mancanza e svista, che influirà sicuramente sul giudizio finale del testo.
Gli esempi presenti nel testo invece sono interessanti e significativi. Peccano solo, in alcune occasioni, di una scarsa indentazione. Prima appare la versione in VB, poi di seguito quella in C#, e i commenti tra le righe del codice (in buon numero) sono in inglese.
Come se non bastasse pure il programma per esercitarsi con le prove d’esame ha un bug nel caso di utilizzo con Windows Vista, e appena lanciato si blocca mostrando uno schermata di run-time error (“Application-defined or object-defined error”). Anche cercando qualche soluzione con Google, non ho trovato nulla, e nemmeno ho ricevuto risposte mettendo un post su un newsgroup americano dedicato alle certificazioni. L’unica soluzione (oltre a poter disporre di un altro pc con XP) è stata quella di crearmi una macchina virtuale con Windows XP Professional, e utilizzarlo in questo ambiente.
Le schermate presenti nel testo sono tratte da IE 7, segno di un buon aggiornamento con le ultime versioni dei vari software; spesso però sono sovrabbondanti e poco ottimizzate, nel senso che viene mostrata tutta la pagina bianca del browser anche quando si deve mostrare solo un piccolo controllo nell’angolo in alto a sinistra.
Il quinto capitolo tratta dei controlli utente e dei controlli personalizzati, e con due semplici esercitazioni spiega al lettore come si creano. In questo capitolo ci sono errori anche nel codice nel testo; nella parte C# figura infatti il “Me”, che non è supportato in tale linguaggio, invece del corretto “this” (fortunatamente i file del codice sono corretti). In questo capitolo le stime dei tempi per la lettura sono sovradimensionate; per la lezione 2, ad esempio, sono stimati ben 90 minuti, quando ne bastano una ventina. Il sesto capitolo spiega, nella prima lezione, il funzionamento dei 6 tipi di controlli di validazione, le loro proprietà e soprattutto quando è meglio utilizzarne uno l’altro. La seconda lezione invece tratta del controllo Wizard, utile per aiutare l’utente nel seguire un certo percorso di operazioni. Al termine del capitolo è presente un’esercitazione abbastanza completa di creazione di una pagina che racchiuda gran parte dei controlli esaminati. Purtroppo il codice nel testo potrebbe essere meglio ottimizzato; sono mostrate pagine di codice HTML perfettamente identico solo per differenziare la pagina .aspx nel caso di utilizzo di Visual Basic .NET invece di C#, quando sarebbe stato sufficiente mostrarne solo una.
Il successivo breve settimo capitolo riguarda un argomento poco utilizzato, almeno nella maggior parte delle applicazioni web, ma che comunque rientra negli argomenti d’esame, ovvero come inserire funzionalità multimediali in una pagina web (e che soprattutto diventerà sempre più fondamentale ed importante, si pensi al recente Silverlight). Anche i file di codice di questo capitolo, pur sostanzialmente corretti, contengono sempre tutta una serie di errorini da sistemare per poter compilare ed eseguire l’applicazione, e considerando la brevità di questi esempi ci si sarebbe aspettato un codice più che perfetto. Ciò da adito a pensare che questi esempi non siano mai stati testati.
Dal capitolo 8 si ritorna nel mondo della progettazione, anche se da un punto di vista più pratico di quanto visto nei primi capitoli. La prima lezione spiega la procedure corretta per progettare un database partendo dalle specifiche di progetto, considerando sia le entità (tabelle e relazioni), che i tipi di dato e la gestione della concorrenza. Questa lezione ha la stima di 20 minuti, ma ce ne vogliono almeno il doppio per completarla.
Soprattutto in questo capitolo si nota come chi ha tradotto l’originale non sia un informatico; la “forma normale” dei database viene resa come “maschera normale” (pag. 225) e il “progettista” di un componente diventa addirittura un “progettatore”. Si parla poi di progettazione dei componenti e viene anche introdotto (molto a grandi linee) il concetto dei “Design Patterns”.
Quattro gli scenari presenti al termine di questo capitolo, interessanti per capire quali sono le scelte da fare per le più comuni applicazioni web.
Dopo la progettazione dei componenti, si passa al loro sviluppo (capitolo 9), soffermandosi in particolare sulla gestione del ciclo di vita (interfaccia IDisposable, ecc.) e dell’accesso ai dati. Pur essendo un capitolo interessante è da rimarcare ancora qualche problema nella traduzione; ad es. la parola “profiler”, come in SQL Profiler, viene tradotta come “profili SQL”, che non è esattamente la stessa cosa.
Il capitolo 10, composto da una sola lunghissima lezione, tratta dei componenti riutilizzabili (in sostanza classi), riepilogando anche i fondamentali concetti di programmazione ad oggetti.
Dato che le diversità di nomenclatura fra VB.NET e C#, in questo ambito, è abbastanza marcata, fare attenzione nella risoluzione delle domande, dato che sono prese solo dalla versione VB.NET delle prove d’esame.
I successivi due capitoli (11 e 12) trattano, in maniera molto teorica e con pochi esempi di codice, la gestione delle eccezioni, la configurazione e il monitoraggio. Sono di lettura un po’ pesante, ma necessaria, dato che rientrano anch’essi nelle possibili domande di esame.
Nel capitolo 13 si rientra più nel dettaglio nell’analisi del file di configurazione web.config e dello strumento Amministrazione del sito web, reso disponibile con Visual Studio 2005.
Come anche negli altri capitoli, mi preme sottolineare che lo scopo di queste lezioni non è quello di insegnare l’argomento di cui trattano, ma di fornire un riassunto ragionato a chi già conosce bene l’argomento, aggiungendo dettagli e particolarità che spesso sfuggono negli altri manuali più didattici.
Il capitolo 14, dedicato alle strategie e ai piani di test, è forse il meno comprensibile di tutto il libro. Anche dopo averlo riletto non ho compreso quali, come e quando è utile e necessario effettuare i test. Le poche conoscenze, almeno nel mio caso, le ho tratte leggendo le domande e le relative risposte, corrette e sbagliate, al termine delle due prolisse e confuse lezioni.
Fortunatamente viene in soccorso il capitolo successivo, il quindicesimi, che mette in pratica, anche con esempi di codice, quanto illustrato, molto teoricamente, nel capitolo precedente. Per l’esecuzione degli esempi è necessaria però la versione più completa di Visual Studio 2005, ovvero la “Team Suite”.
Comunque anche in questo capitolo la parte teorica è preponderante, rendendo la lettura piuttosto impegnativa.
Giunti alla fine del ciclo di vita del software, gli ultimi due capitoli non potevano essere dedicati che alla distribuzione ed al supporto dell’applicazione web.
Il primo (capitolo 16) necessita di Visio, o di qualche altro software simile, per la creazione di diagrammi UML per disegnare i flussi logici dell’applicazione, mentre l’ultimo capitolo (17esimo)
Segue quindi l’importantissima e fondamentale parte delle risposte a tutte le domande disseminate nel testo, con commenti sia delle risposte sbagliate che di quelle corrette.
Terminano il libro un sintetico glossario di 7 pagine, e un dettagliato indice analitico (ben 36 pagine).
Per quanto riguarda l’aspetto esteriore del libro, si può sottolineare la robusta legatura e la buona impaginazione complessiva.
Per giustificare il prezzo elevato del libro (100 euro) sono presenti un Dvd e un Cd.
Il primo è la versione Professional (più ricca della Standard) di Visual Studio 2005 (in inglese). Il programma è, ovviamente, in versione trial valido 90 giorni dall’installazione.
Nel Cd è presente il programma per installare le esercitazioni pratiche che simulano una vera prova d’esame, e che sono configurabili a piacimento e la versione originale in inglese del libro in formato Pdf.
Il codice, purtroppo, soffre del grave difetto spiegato prima.
Sempre all’interno del Cd sono presenti alcuni capitoli tratti da altri libri della Mondadori Informatica, in particolare dedicati a Windows Server 2003.
Questo è l’elenco:
88-04-54069-9_Capitolo10.pdf
Windows XP e Windows Server 2003 Guida al registry Seconda edizione
ISBN 88-04-54069-9
88-04-54214-4_Capitolo21.pdf
Windows Server 2003 Resource Kit - Guida all'automazione dell'amministrazione
ISBN 88-04-54214-4
88-04-54213-6_Capitolo04.pdf
Windows 2000 Network Infrastructure Administration MCSA/MCSE Training (Esame 70-216), II ed
ISBN 88-04-54213-6
88-04-54215-2_Capitolo14.pdf
Windows Server 2003 Guida all'uso - Installazione, configurazione e amministrazione, 2^ ed.
ISBN 88-04-54215-2
88-04-54159-8_Capitolo03.pdf
Windows Server 2003 Resource Kit - Guida alla sicurezza
ISBN 88-04-54159-8
88-04-54130-X_Capitolo3.pdf
Windows Server 2003 Resource Kit - Guida all'ottimizzazione delle performance
ISBN 88-04-54130-X
88-04-54216-0_Capitolo11.pdf
Windows Server 2003 Guida all'uso - Supporto al sistema e servizi Internet, 2^ ed.
ISBN 88-04-54216-0
A questa pagina è presente la scheda del libro, senza la possibilità però di scaricarsi nessun materiale.
PRO
Per chi voglia cimentarsi nel superamento dell’esame 70-547 per conseguire la certificazione MCPD questo testo rappresenta un passo necessario, fosse solo per il ricco programma di simulazione delle prove d’esame. Viene anche fornito il Dvd della versione Professional di Visual Studio 2005 valido per 180 giorni, un lasso di tempo sufficiente per prepararsi con la dovuta calme alla prova d’esame. Le domande hanno, nell’appendice, tutte le risposte commentate, anche quelle non corrette, e questo rappresenta un utile modo per fissare meglio i concetti, sempre in visione della prova d’esame.
CONTRO
Purtroppo questo libro soffre di una traduzione non perfetta; parecchi refusi, parole tecniche sbagliate e frasi spesso senza senso compiuto concorrono a ridurre di parecchio la qualità complessiva. Il codice (ma qua non dipende dalla Mondadori Informatica) è pur esso menomato, e con intere parti mancanti.
Per quanto riguarda la vera e propria trattazione della materia è da rimarcare come in certi punti gli autori si perdano in mille rivoli teorici, perdendo di vista l’obiettivo primario della lezione, e spesso confondendo le idee al lettore. Il prezzo poi, considerando quando offerto, è decisamente sproporzionato.
Voto complessivo: 6/10
Lettore: Intermedio
Sommario
Introduzione
1 – Cap. 1: Requisiti e progettazione delle applicazioni
37 – Cap. 2: Specifiche di scomposizione per gli sviluppatori
85 – Cap. 3: Valutazione della progettazione
103 – Cap. 4: Creazione di un’interfaccia utente
147 – Cap. 5: Creazione e scelta dei controlli
165 – Cap. 6: Convalida dei dati
203 – Cap. 7: Offerta di risorse multimediali
223 – Cap. 8: Progettazione di componenti
269 – Cap. 9: Sviluppo di componenti
301 – Cap. 10: Componenti software riutilizzabili
331 – Cap. 11: Livello della logica dell’applicazione
375 – Cap. 12: Registrazione e monitoraggio
413 – Cap. 13: Configurazione dell’applicazione
437 – Cap. 14: Definizione e valutazione di una strategia di test
471 – Cap. 15: Creazione dei test di sviluppo
531 – Cap. 16: Distribuzione di un’applicazione
561 – Cap. 17: Supporto di un’applicazione
587 – Risposte
639 – Glossario
647 – Indice analitico
Titolo: Designing and Developing Web-Based Applications Using the Microsoft .NET Framework MCPD Training (Esame 70-547)
Autori: Shawn Wildermuth et al
Editore: Mondadori Informatica
ISBN: 88-6114-068-8
Pagine: 720
Prezzo: 100€
Data di uscita: Luglio 2007