
Pur risalendo al 2009, questa raccolta di best practices per l’implementazione ad alto livello della applicazioni in ambito Microsoft risulta ancora molto attuale e raccomandabile.
Questo per il fatto che non si scende mai nei dettagli del codice o del pratico utilizzo dei vari tool di sviluppo e deploy, ma ci si mantiene sempre su discorsi molto generali e discorsivi.
In sostanza, quali sono le caratteristiche e i vantaggi delle applicazioni web? Dei servizi? Delle architetture a 2, 3 o più livelli? Quali i loro pro è contro? Come è meglio iniziare a svilupparle? Cosa tenere in mente da subito e cosa si può rimandare?
E così via, il tutto senza una riga di codice (ma ci si aspetta che il lettore ne abbia scritto per anni) e senza diktat estremi (questo No, questo Sì).
Apprezzabile il fatto che gli autori abbiano mantenuto i capitoli piuttosto brevi (20 pagine in media), in modo da completare un argomento prima che sopraggiunga la stanchezza.
A parte i primi capitoli introduttivi, in cui si spiega cosa è l’architettura dei sistemi software, i restanti capitoli possono essere affrontati in base alle necessità del momento, approfondendo solo l’argomento che a cui si è interessati.
Questo è il lunghissimo elenco di persone che, a vario titolo, hanno contribuito a questa guida.

Si tratta quasi sempre di dipendenti della Microsoft stessa, tutte persone che hanno lavorato “dal di dentro” per realizzare questa raccolta di “best practices” architetturali.
È indubbiamente un libro “denso”. Ci sono pagine e pagine di solo testo scritto, spesso sotto forma di paragrafi a scaletta, come questo.

Per fortuna l’inglese utilizzato è molto semplice e comprensibile, senza termini gergali o poco comuni.
Non ho nemmeno mai riscontrato errori o refusi, segno di una valida revisione delle bozze.
Ci sono poche immagini, e quasi sempre si tratta di grafici o diagrammi, come si vede qua sotto.

Lo spessore del libro è abbastanza consistente, come si vede da quest’altra immagine, ma comunque nulla di trascendentale.

Alcune parti, secondo me, andrebbero limate un po’, dato che ho riscontrato parecchie ripetizioni tra un capitolo e l’altro. In tal modo si poteva ridurre leggermente il peso complessivo del libro, e quindi anche la sua praticità di lettura.
È in sostanza un buon libro per riassumere e persistere le buone “practices” di sviluppo.
Non è un libro per imparare a programmare, o per capire come scrivere meglio il codice, ma questo non è il suo scopo.
Qua sotto il lunghissimo sommario.
Table of Contents
3 - Chapter 1 What Is Software Architecture?
9 - Chapter 2 Key Principles of Software Architecture
19 - Chapter 3 Architectural Patterns and Styles
39 - Chapter 4 A Technique for Architecture and Design
55 - Chapter 5 Layered Application Guidelines
67 - Chapter 6 Presentation Layer Guidelines
83 - Chapter 7 Business Layer Guidelines
95 - Chapter 8 Data Layer Guidelines
115 - Chapter 9 Service Layer Guidelines
135 - Chapter 10 Component Guidelines
145 - Chapter 11 Designing Presentation Components
159 - Chapter 12 Designing Business Components
167 - Chapter 13 Designing Business Entities
173 - Chapter 14 Designing Workflow Components
181 - Chapter 15 Designing Data Components
191 - Chapter 16 Quality Attributes
205 - Chapter 17 Crosscutting Concerns
227 - Chapter 18 Communication and Messaging
241 - Chapter 19 Physical Tiers and Deployment
265 - Chapter 20 Choosing an Application Type
277 - Chapter 21 Designing Web Applications
297 - Chapter 22 Designing Rich Client Applications
319 - Chapter 23 Designing Rich Internet Applications
339 - Chapter 24 Designing Mobile Applications
359 - Chapter 25 Designing Service Applications
379 - Chapter 26 Designing Hosted and Cloud Services
403 - Chapter 27 Designing Office Business Applications
423 - Chapter 28 Designing SharePoint LOB Applications
Appendices
437 - Appendix A: The Microsoft Application Platform
449 - Appendix B: Presentation Technology Matrix
461 - Appendix C: Data Access Technology Matrix
471 - Appendix D: Integration Technology Matrix
477 - Appendix E: Workflow Technology Matrix
483 - Appendix F: patterns & practices Enterprise Library
499 - Appendix G: patterns & practices Pattern Catalog
509 – Index
Mentre qua i dettagli del libro, con la possibilità di scaricarsi il primo capitolo in Pdf (27 pagine in tutto, ma comprensive del lungo sommario).

NB:
Foto realizzate con Sony Xperia ion.