INTRODUZIONE
L’esigenza di produrre software in tempi ristretti e semplificare le attività di sviluppo dei sistemi ha spinto da tempo molte aziende a realizzare applicazioni gestionali utilizzando componenti software già esistenti. Oggi, tutto ciò è ancora più vivo. Le aziende non sono più intenzionate a “reinventare la ruota”, ma cercano assiduamente soluzioni architetturali a costo zero per la realizzazione delle loro applicazioni.
Per realizzare un’applicazione gestionale di un certo livello, la tendenza generale di molti programmatori è quella di appoggiarsi a pattern di programmazione e framework applicativi della più varia natura. Tuttavia, molti fra essi ancora non forniscono tutte le funzionalità di alto livello richieste. Tale lacuna è così tanto sentita che, molto frequentemente, si preferisce costruire un’applicazione facendo uso di più framework combinati tra loro.
La soluzione applicativa proposta fornisce, attraverso la combinazione di pattern e framework applicativi altamente evoluti, un sistema modulare ben coordinato in cui le singole parti funzionali risolvono gran parte dei compiti comuni a tutte le applicazioni web, quali ad esempio, le funzionalità di alto livello delle interfacce grafiche nell’ambito della loro struttura e comportamento, le funzionalità di gestione e validazione dei dati, le funzionalità di gestione degli errori, ecc.
I vantaggi più importanti che si ottengono nell’adozione del sistema sono i seguenti:
1) i tempi di progettazione e sviluppo si riducono notevolmente, in quanto lo sviluppatore utilizza componenti e funzionalità di alto livello già sviluppati;
2) l’attività di programmazione è più semplificata, in quanto lo sviluppatore può svincolarsi dalle logiche macchinose di alto livello dell’applicazione e concentrarsi esclusivamente sui moduli che realizzano i requisiti funzionali del sistema.
LINGUAGGI E TECNOLOGIE UTILIZZATE
Nell’ambito della soluzione applicativa proposta, il linguaggio di programmazione preso in esame è Java. Gli ulteriori linguaggi e le tecnologie adoperate sono:
- HTML
- JavaScript
- CSS
- Servlet & JSP
- XML
- Custom Tag
- Enterprise Java Beans (solo SessionBean Stateless)
- JNDI
- JTA
Il sistema si basa sull’architettura three-tier ed utilizza come base applicativa il framework APACHE STRUTS 1.2 che è decisamente uno dei più noti prodotti per la creazione di applicazioni orientate al web.
Come standard documentale è stata utilizzata la notazione UML. La documentazione fornita sarà utile ai progettisti per visionare l’architettura nel suo insieme e ai programmatori per raccogliere tutte le informazioni necessarie per implementare i blocchi funzionali del sistema.
L’APPLICAZIONE DI ESEMPIO
Per migliorare la comprensione della soluzione applicativa proposta, il blog descrive l’architettura del sistema attraverso la realizzazione di una semplice applicazione web che gestisce i mutui bancari di un istituto di credito. L’obiettivo è quello di offrire una breve descrizione dei requisiti funzionali del sistema e di produrre un insieme di diagrammi di classe per rappresentare graficamente le relative funzionalità. I dettagli implementativi sono via via descritti nei vari capitoli, in relazione alle varie tematiche affrontate.
Il software di base previsto per la realizzazione dell’applicazione web di esempio è il seguente:
Sistema Operativo: Windows
Tool di sviluppo: Eclipse ver. 3.4.1 (GANYMEDE)
Application Server: JBoss 4.2.3 GA
Database: SQL Server ver. 2005 (Express)
JRE: 1.6
INDICE DEI CAPITOLI
- Struts in generale
- Architetture Three-Tier
- Architettura del Sistema
- Ambiente di Sviluppo
- Gestione del Business
- Gestione dei Dati
- Session Façade
- Gestione delle Transazioni
- Gestione del Layout
- Autenticazione dell'Utenza
- Autorizzazione dell'Utenza
- Gestione della Sicurezza
- ...
- Note ai Capitoli
Autore: Paolo Giardina
L’esigenza di produrre software in tempi ristretti e semplificare le attività di sviluppo dei sistemi ha spinto da tempo molte aziende a realizzare applicazioni gestionali utilizzando componenti software già esistenti. Oggi, tutto ciò è ancora più vivo. Le aziende non sono più intenzionate a “reinventare la ruota”, ma cercano assiduamente soluzioni architetturali a costo zero per la realizzazione delle loro applicazioni.
Per realizzare un’applicazione gestionale di un certo livello, la tendenza generale di molti programmatori è quella di appoggiarsi a pattern di programmazione e framework applicativi della più varia natura. Tuttavia, molti fra essi ancora non forniscono tutte le funzionalità di alto livello richieste. Tale lacuna è così tanto sentita che, molto frequentemente, si preferisce costruire un’applicazione facendo uso di più framework combinati tra loro.
La soluzione applicativa proposta fornisce, attraverso la combinazione di pattern e framework applicativi altamente evoluti, un sistema modulare ben coordinato in cui le singole parti funzionali risolvono gran parte dei compiti comuni a tutte le applicazioni web, quali ad esempio, le funzionalità di alto livello delle interfacce grafiche nell’ambito della loro struttura e comportamento, le funzionalità di gestione e validazione dei dati, le funzionalità di gestione degli errori, ecc.
I vantaggi più importanti che si ottengono nell’adozione del sistema sono i seguenti:
1) i tempi di progettazione e sviluppo si riducono notevolmente, in quanto lo sviluppatore utilizza componenti e funzionalità di alto livello già sviluppati;
2) l’attività di programmazione è più semplificata, in quanto lo sviluppatore può svincolarsi dalle logiche macchinose di alto livello dell’applicazione e concentrarsi esclusivamente sui moduli che realizzano i requisiti funzionali del sistema.
LINGUAGGI E TECNOLOGIE UTILIZZATE
Nell’ambito della soluzione applicativa proposta, il linguaggio di programmazione preso in esame è Java. Gli ulteriori linguaggi e le tecnologie adoperate sono:
- HTML
- JavaScript
- CSS
- Servlet & JSP
- XML
- Custom Tag
- Enterprise Java Beans (solo SessionBean Stateless)
- JNDI
- JTA
Il sistema si basa sull’architettura three-tier ed utilizza come base applicativa il framework APACHE STRUTS 1.2 che è decisamente uno dei più noti prodotti per la creazione di applicazioni orientate al web.
Come standard documentale è stata utilizzata la notazione UML. La documentazione fornita sarà utile ai progettisti per visionare l’architettura nel suo insieme e ai programmatori per raccogliere tutte le informazioni necessarie per implementare i blocchi funzionali del sistema.
L’APPLICAZIONE DI ESEMPIO
Per migliorare la comprensione della soluzione applicativa proposta, il blog descrive l’architettura del sistema attraverso la realizzazione di una semplice applicazione web che gestisce i mutui bancari di un istituto di credito. L’obiettivo è quello di offrire una breve descrizione dei requisiti funzionali del sistema e di produrre un insieme di diagrammi di classe per rappresentare graficamente le relative funzionalità. I dettagli implementativi sono via via descritti nei vari capitoli, in relazione alle varie tematiche affrontate.
Il software di base previsto per la realizzazione dell’applicazione web di esempio è il seguente:
Sistema Operativo: Windows
Tool di sviluppo: Eclipse ver. 3.4.1 (GANYMEDE)
Application Server: JBoss 4.2.3 GA
Database: SQL Server ver. 2005 (Express)
JRE: 1.6
INDICE DEI CAPITOLI
- Struts in generale
- Architetture Three-Tier
- Architettura del Sistema
- Ambiente di Sviluppo
- Gestione del Business
- Gestione dei Dati
- Session Façade
- Gestione delle Transazioni
- Gestione del Layout
- Autenticazione dell'Utenza
- Autorizzazione dell'Utenza
- Gestione della Sicurezza
- ...
- Note ai Capitoli
Autore: Paolo Giardina