Skip to content

1. Introduzione

Il PDF di questo documento è disponibile |QUI|.

Gli esempi contenuti in questo documento sono disponibili |QUI|.

Vogliamo scrivere un'applicazione .NET che consenta a un utente di simulare i calcoli delle buste paga per gli operatori dell'assistenza all'infanzia presso l'associazione "Maison de la petite enfance" in un comune. Ci concentreremo tanto sull'organizzazione del codice .NET dell'applicazione quanto sul codice stesso.

L'applicazione finale, che chiameremo [SimuPaie], avrà la seguente struttura a tre livelli:

  • Il livello [1-DAO] (DAO = Data Access Object) gestirà l'accesso ai dati. I dati saranno memorizzati in un database.
  • Il livello [2-business] gestirà la logica di business dell'applicazione, ovvero il calcolo delle buste paga.
  • Il livello [3-ui] (ui = User Interface) gestirà la presentazione dei dati all'utente e l'esecuzione delle richieste dell'utente. Indichiamo con [Application] l'insieme dei moduli che svolgono questa funzione. Funge da interfaccia utente.
  • I tre livelli saranno resi indipendenti tramite l'uso delle interfacce .NET
  • L'integrazione dei diversi livelli sarà gestita da Spring IoC

L'elaborazione di una richiesta del cliente segue questi passaggi:

  1. Il client invia una richiesta all'applicazione.
  1. L'applicazione elabora questa richiesta. Per farlo, potrebbe aver bisogno dell'assistenza del livello [business], che a sua volta potrebbe aver bisogno del livello [DAO] se è necessario scambiare dati con il database. L'applicazione riceve una risposta dal livello [business].
  2. Sulla base di questa risposta, invia la vista appropriata (= la risposta) al cliente.

L'interfaccia presentata all'utente può assumere varie forme:

  1. un'applicazione console: in questo caso, la vista è costituita da una serie di righe di testo.
  2. un'applicazione GUI per Windows: in questo caso, la vista è una finestra di Windows
  3. un'applicazione web: in questo caso, la vista è una pagina HTML
  4. ...

Scriveremo diverse versioni di questa applicazione:

  1. una versione ASP.NET contenente un unico modulo e realizzata con un'architettura a singolo livello.
  2. una versione identica alla precedente ma con estensioni Ajax
  3. una versione ASP.NET basata su un'architettura a tre livelli in cui il livello di accesso ai dati è implementato utilizzando il framework NHibernate. Avrà ancora il modulo singolo della versione 1.
  4. una versione 4 ASP.NET multi-vista, applicazione a pagina singola con l'architettura a tre livelli della versione 3.
  5. Il lato server di un'applicazione client/server in cui il server è implementato come servizio web basato sull'architettura a livelli della versione 3.
  6. Il lato client della precedente applicazione client/server, implementato utilizzando un livello ASP.NET.
  7. Una versione ASP.NET 7 multi-vista e multipagina con l'architettura a tre livelli della versione 3.
  8. Una versione client ASP.NET 8 multi-vista e multi-pagina del servizio web della versione 5.
  9. Una versione ASP.NET 9 multi-vista e multi-pagina con l'architettura a tre livelli della versione 3, in cui il livello di accesso ai dati è implementato utilizzando classi Spring che facilitano l'uso del framework NHibernate.
  10. Una versione 10 implementata in FLEX e che funge da client per il servizio web della versione 5.

Prerequisiti


Su una scala che va da [principiante-intermedio-avanzato], questo documento rientra nella categoria [intermedio]. Per comprenderlo sono necessari diversi prerequisiti che potete trovare in alcuni dei documenti che ho scritto:

  1. Programmazione ASP.NET [Sviluppo Web con ASP.NET 1.1];
  2. C# 2008: [Imparare C# versione 3.0 con .NET Framework 3.5]: classi, interfacce, ereditarietà, polimorfismo
  3. [Spring IoC], disponibile su [Spring IoC per .NET]. Tratta le basi dell'Inversione di Controllo (IoC) o Iniezione di Dipendenza (DI) nel framework Spring.NET [http://www.springframework.net].
  4. [Creazione di un'applicazione web a tre livelli con Spring e VB.NET], disponibile all'URL [Creazione di un'applicazione web a tre livelli con Spring.NET e VB.NET]. Questo corso presenta un'applicazione web semplificata per l'acquisto di prodotti. La sua architettura a tre livelli implementa il modello MVC.

All'inizio dei paragrafi di questo documento vengono talvolta forniti consigli di lettura. Essi fanno riferimento ai documenti precedenti.


Strumenti


Gli strumenti utilizzati in questo caso di studio sono disponibili gratuitamente sul web. Essi sono i seguenti:

  • Visual C# 2008, Visual Web Developer Express 2008, SQL Server Express 2005 disponibili all'URL [http://www.microsoft.com/express/downloads/].
  • Spring IoC per l'istanziazione dei servizi richiesti dall'applicazione, disponibile all'indirizzo [http://www.springframework.net/]—vedere anche [3]
  • NHibernate per il livello di accesso ai dati del DBMS [http://sourceforge.net/projects/nhibernate/]
  • NUnit: [http://www.nunit.org] per i test unitari.