Logo UGIdotNET

Workshop "Architecture Days"

18 ottobre 2006

c/o Microsoft Italia
Centro Direzionale San Felice
Palazzo A
Via Rivoltana, 13 - Segrate 

 
Soddisfare i requisiti, reagendo al cambiamento. Due anni dopo, "Architettura" torna ad essere il tema ispiratore di un workshop UGIdotNET; una full immersion della durata di 2 giorni, dedicati all'apprendimento sia degli strumenti concettuali, sia di quelli tecnologici.
Partendo dalla definizione del ruolo dell'architetto all'interno della economia di un team, ci addentreremo nei meandri di UML quale formalismo di espressione del progetto, superandone i limiti ricorrendo ai Domain Specific Languages. Dai "classici" pattern enterprise (domain model, service layer), agli idiomi caratteristici della progettazione in ambiente .NET, non trascurando le problematiche quali "sicurezza" e progettazione della interfaccia utente, sia essa di tipo web o smart client. Affermata la dote di persistance ignorance del domain model, affronteremo le tematiche di accesso ai dati, partendo da un approccio tradizionale e giungendo alle problematiche di object/relational mapping, avvalendoci degli strumenti odierni (NHibernate) e futuri (LINQ).

Tutte le dimostrazioni saranno basate su un progetto reale, reso disponibile con licenza open source a tutti i partecipanti.
 

L'iscrizione è gratuita, ma richiede registrazioni distinte per le due giornate.
18 Ottobre: puoi iscriverti qui.
19 Ottobre: puoi iscriverti qui.

Agenda

18 Ottobre 2006


 

9:15 - 10:00
Registrazione

10:00 - 10:30
Solution Architecture Primer
Speaker: Andrea Saltarello

10:30 - 11:45
UML Distilled
Speaker: Riccardo Golia

UML (Unified Modeling Language) rappresenta una famiglia di notazioni grafiche utili a rappresentare sotto diversi punti di vista il progetto di un sistema software, basato, in particolare, sul paradigma orientato agli oggetti.
La sessione affronta le motivazioni che stanno dietro a UML, ne definisce le diverse modalità di utilizzo e introduce le regole sintattiche di base che caratterizzano i principali diagrammi di modellazione (diagramma delle classi, casi d'uso, diagrammi di sequenza).

12:00 - 13:15
Life between the Domain Model and the Service Layer
Speaker: Andrea Saltarello

Le architetture layered permettono di stratificare servizi concentrando e delegando le responsabilità dei sottosistemi; al centro dell'architettura troviamo quindi il Domain Model, che definisce le entità gestite dal sistema ed il loro comportamento. Concentrare questo comportamento nei servizi impoverisce il Domain Model, di fatto "impoverendo" l'adesione della nostra architettura al paradigma object oriented.
Viceversa, affollare il Domain Model rischia di precludere caratteristiche strategiche quale la "persistence ignorance".
In questa sessione introdurremo i principi necessari ad operare una distribuzione delle funzionalità all'interno del sistema in modo da soddisfarne i requisiti. 

11:45 - 12:00
Break

 

13:15 - 14:45
Pranzo

 

14:45 - 16:15
Designing the Data Access Layer
Speaker: Andrea Saltarello, Giancarlo Sudano

Responsabilità del Data Access Layer è gestire la persistenza del Domain Model, il cui mapping verso una struttura relazionale apre un vaso di Pandora colmo dei "tipici" requisiti: persistenza transazionale di grafi di oggetti, supporto a differenti DBMS, supporto a strutture dati eterogenee, ... In questa sessione mostreremo come disaccoppiare il Domain Model dallo strato di accesso ai dati, inizialmente implementato basandosi direttamente su ADO.NET per poi introdure l'utilizzo di strumenti ORM.

16:15 - 16:45
Break

 

16:45 - 18:15
Security by Design
Speaker: Raffaele Rialdi

Per essere efficente la sicurezza di una applicazione deve nascere e crescere insieme alla sua architettura. Microsoft ha collaudato su se stessa un processo chiamato Security Develpment Lifecycle (SDL) che si avvale di una serie di linee guida e di un modello della minaccia (threat modeling) che accompagna il progetto in tutto il ciclo di vita. Nella sessione oltre a questi principi vedremo anche il tool di modellazione e le librerie che sono a disposizione per l'intero team di sviluppo.

 

19 Ottobre 2006


 

9:15 - 10:00
Registrazione

10:00 - 11:15
Beyond UML: from Domain Specific Languages to Software Factories
Speaker: Lorenzo Barbieri

 

11:15 - 12:30
Model View Controller feat. web user interfaces
Speaker: Luca Minudel

Model View Controller (il pattern più frequentemente citato e altrettanto spesso frainteso) apre la porta alla progettazione dell'interazione utente: CRC, Mind Map, execution-evaluation cycle di Norman, il General Interaction Framework e il diagramma di interazione utente

12:30 - 14:00
Pranzo

 

14:00 - 15:15
Managing real projects using Team Foundation Server
Speaker: Lorenzo Barbieri

Visual Studio Team System e Team Foundation Server permetteno di cambiare completamente il modo di gestire i progetti. Si passa da una gestione in cui vengono predetti dati e tempi, preparati diagrammi e piani di progetto, cercando poi di adattare il progetto ai numeri e alle date costruite in maniera "empirica", ad una gestione che utilizza le metriche di progetto e di processo preparate automaticamente da Team Foundation Server per guidare le decisioni. In questa sessione vedremo come sfruttare al meglio i prodotti della famiglia Team System senza tralasciare metodologie, progettazione... e tutto il resto!

15:15 - 16:30
.NET Idiomatic Design Principles
Speaker: Adrian Florea

 

16:30 - 17:00
Break

 

17:00 - 18:15
Model View Presenter feat. smart client applications
Speaker: Corrado Cavalli

 


© 2001 User Group Italiano UGIdotNET. Tutti i diritti riservati. Note legali. - Partita IVA 01927050185