“Sapienza” Università di Roma
Facoltà di Ingegneria
Corso di Laurea in Ingegneria dell’Informazione
Anno accademico 2007/2008
Latina 15 Ottobre 2008
Laureando: Diego Colarullo
Relatore: Prof. Vincenzo Curci
Struttura del Progetto
Introduzione
Applicazione Jmatter
Analisi framework
Conclusioni
Software Utilizzati
Valutazione e uso del tool open source Jmatter per lo sviluppo rapido di applicazioni Java – Diego Colarullo
Valutazione e uso del tool open source Jmatter per lo sviluppo rapido di applicazioni Java – Diego Colarullo
Il lavoro svolto si articola nel seguente modo:
PRIMA PARTE
SECONDA PARTE
Studio
dei
concetti
architetturali,
librerie
utilizzate, gestione della persistenza, i criteri di
sviluppo Jmatter, le modalità di analisi e
valutazione del framework.
Funzionamento dell’applicazione Jmatter, criteri
di progettazione dell’applicazione web, confronto
sui tempi di elaborazione, difficoltà riscontrate
durante l’analisi del framework.
Valutazione e uso del tool open source Jmatter per lo sviluppo rapido di applicazioni Java – Diego Colarullo
Entrambi i progetti prevedono lo sviluppo di un’applicazione per la
gestione delle attività interne di una Piscina. Per l’applicazione web
sono state realizzate tre aree di utilizzo differenti a seconda
dell’username utilizzato nel “log in”: Cliente, Istruttore e
Amministratore. Ogni interfaccia di benvenuto sarà distinta dalle
altre mostrando le azioni che l’utente può compiere. L’applicazione
Jmatter prevede una sola interfaccia di benvenuto pur
mantenendo la distinzione tra Cliente, Istruttore e Amministratore,
mediante l’utilizzo dei ruoli con le appropriate restrizioni. In base
alle restrizioni assegnate ad un ruolo, si stabiliscono le operazioni
che un utente può compiere su ogni tipo di oggetto.
I ruoli sono cosi definiti:
• Amministratore: gestisce la parte pratica dell’applicazione come
l’interazione con la base dati
• Istruttore: gestisce tutto ciò che è inerente ai corsi svolti nella
Piscina
• Cliente: gestisce la sua partecipazione all’interno
dell’applicazione
Valutazione e uso del tool open source Jmatter per lo sviluppo rapido di applicazioni Java – Diego Colarullo
Valutazione e uso del tool open source Jmatter per lo sviluppo rapido di applicazioni Java – Diego Colarullo
Jmatter è un software open source per la costruzione di
applicazioni workgroup. Il vantaggio principale di sviluppare
applicazioni con Jmatter è una rilevante riduzione dei tempi di
sviluppo, di circa un fattore 10. Jmatter presenta due livelli di
applicazione: Swing, ovvero front-end, che comunica con l’RDBMS,
il back-end.
Jmatter si interfaccia con l’RDBMS mediante la piattaforma
middleware Hibernate. Esso è sviluppato per essere usato in
ambienti LAN o VPN. L’essenza di Jmatter è la generica
implementazione di aspetti di business software applications.
Jmatter fornisce aspetti comuni in modo che gli sviluppatori non
siano costretti ad iniziare da zero.
Jmatter fornisce aspetti comuni in modo che gli sviluppatori non
siano costretti ad iniziare da zero. Alcuni di essi sono:
Valutazione e uso del tool open source Jmatter per lo sviluppo rapido di applicazioni Java – Diego Colarullo
 Interfaccia Utente
Finestra con l’abilità di creare nuovi utenti, cambiare le loro
password, creare nuovi contatti, modificare l’indirizzo per un
contatto esistente, cancellare un vecchio contatto. Per ogni tipo di
oggetto che si crea, la GUI sarà diversa poiché ogni tipo ha un
differente numero di campi, ma il meccanismo di gestione è lo
stesso.
 Servizio di Query
Il framework offre la possibilità di filtrare le informazioni. Per
esempio, la capacità di conoscere tutte le persone che vivono in
una data città.
 Validazione
Capacità di specificare quali campi sono obbligatori, quali sono
opzionali, quali costituiscono un valido numero di telefono, data,
etc.
 Persistenza
Abilità di salvare informazioni, associazioni tra oggetti, etc.
Valutazione e uso del tool open source Jmatter per lo sviluppo rapido di applicazioni Java – Diego Colarullo
 Autorizzazioni
Specificano a chi è permesso eseguire determinate azioni nel
sistema.
 Reporting
Il framework offre la possibilità di produrre report stampabili
(pdf) con le informazioni desiderate dall’utente.
Molti di questi aspetti non hanno nulla a che fare con specifici
problemi di dominio: essi rappresentano servizi generici che tutte
le applicazioni dovrebbero avere, ma che, sfortunatamente, devono
essere costruiti da zero.
Valutazione e uso del tool open source Jmatter per lo sviluppo rapido di applicazioni Java – Diego Colarullo
La classbar presenta quattro sezioni tra cui: Cliente (visibile
all’apertura dell’applicazione), Istruttore, Amministratore e
Gestione. Le sezioni sono visibili a tutti gli utenti dell’applicazione
fermo restando i ruoli e le restrizioni associate che consentono
quali azioni un utente può eseguire su un determinato tipo.
L’immagine mostra come i comandi differiscono da utente ad
utente su un dato oggetto.
Valutazione e uso del tool open source Jmatter per lo sviluppo rapido di applicazioni Java – Diego Colarullo
Diagramma entità relazione dell’applicazione da me realizzata.
Ricordo che un’applicazione Jmatter standard ha un diagramma
contenente 29 entità.
Valutazione e uso del tool open source Jmatter per lo sviluppo rapido di applicazioni Java – Diego Colarullo
Valutazione e uso del tool open source Jmatter per lo sviluppo rapido di applicazioni Java – Diego Colarullo
L’albero delle chiamate del metodo run ha evidenziato i thread
coinvolti, le varie code, la modalità di creazione dell’interfaccia, le
risorse coinvolte nell’esecuzione e i metodi “chiamati” e
“chiamanti”.
È stato realizzato, inizialmente, in formato cartaceo ma essendo
notevolmente ampio è stato necessario trasferire il lavoro svolto, in
formato elettronico, utilizzando fogli di calcolo Excel.
La stesura dell’albero non ha avuto da subito un idea ben precisa
ma si è concretizzata durante tutto il lavoro. Per facilitare la
navigazione, all’interno del foglio elettronico, sono stati utilizzati
diversi colori. Tutto l’albero è navigabile in entrambe le direzioni;
ciò è stato possibile utilizzando i collegamenti ipertestuali
all’interno e tra più fogli Excel.
Cliccando sulle funzioni di un metodo (A) il collegamento
ipertestuale ci porterà al metodo chiamato (B). Per tornare ad A
basta cliccare sulla segnatura del metodo B ed il collegamento
ipertestuale si riporterà su A.
È stato necessario realizzare ciò poiché nel migliore dei casi B si
trova ad una breve distanza da A e quindi ben visibile (anche
senza collegamento) ma nel peggiore delle ipotesi ci si sposta dalla
colonna A1 alla colonna M10 oppure ad un foglio distinto.
Valutazione e uso del tool open source Jmatter per lo sviluppo rapido di applicazioni Java – Diego Colarullo
Il metodo “main”, denominato EntryPoint, si trova nella posizione
A3 del ThreadPrincipale. Nella colonna A troveremo tutti i metodi
chiamati dal metodo EntryPoint ognuno con un colore diverso
In questo caso abbiamo un solo metodo (Launch). Se Entry Point
avesse chiamato ulteriori metodi sarebbero stati inseriti a partire
dalla posizione A29. Si noti, in A23, una freccia che sta ad indicare
il metodo chiamato.
Valutazione e uso del tool open source Jmatter per lo sviluppo rapido di applicazioni Java – Diego Colarullo
Tutti i metodi chiamati da Launch si troveranno nella colonna C,
in corrispondenza, ove possibile, del “chiamante”. Il collegamento
ipertestuale è reso evidente dal colore rosso.
Valutazione e uso del tool open source Jmatter per lo sviluppo rapido di applicazioni Java – Diego Colarullo
Nella colonna C troviamo il metodo AppFrame e invokeSwingAction
chiamati da Launch, che hanno lo stesso colore. Troviamo, inoltre, i
metodi chiamati da AppFrame e invokeSwingAction. Il metodo
SetupUI, chiamato da AppFrame, ha un colore diverso dal suo
chiamante. I metodi chiamati da SetupUI, a loro volta, saranno
collocati nella colonna E con stesso colore.
Valutazione e uso del tool open source Jmatter per lo sviluppo rapido di applicazioni Java – Diego Colarullo
Valutazione e uso del tool open source Jmatter per lo sviluppo rapido di applicazioni Java – Diego Colarullo
Mettiamo a confronto i relativi step da seguire per la creazione dei
progetti:
Applicazione web
 Diagramma ER e script sql per la creazione delle tabelle nel db.
 Implementazione classi Java, corrispondenti alle tabelle, e
conseguente configurazione dei file di mapping di Hibernate.
 Realizzazione web: implementazione sia delle pagine Jsp, quindi
l’interfaccia utente, che delle relative interazioni dinamiche tra le pagine e
verso il DB.
Applicazione Jmatter
 Implementazione delle classi Java corrispondenti ai tipi utilizzati
nell’applicazione.
I tempi di sviluppo, nel primo caso, sono quantificabili in 30/35 giorni,
considerando l’utilizzo di un ambiente quale il RAD che facilita
notevolmente il lavoro dello sviluppatore. Nel secondo caso, invece, si ha
una notevole riduzione del tempo lavorativo quantificabile in circa 10
giorni. Alcuni processi sono automatizzati da Jmatter, quale lo script sql,
la configurazione di Hibernate e l’implementazione dell’interfaccia grafica.
Lo sviluppatore, per usufruire di tali vantaggi, non deve far altro che
implementare le classi Java rispettando le convenzioni definite dal
framework.
Valutazione e uso del tool open source Jmatter per lo sviluppo rapido di applicazioni Java – Diego Colarullo
Valutazione e uso del tool open source Jmatter per lo sviluppo rapido di applicazioni Java – Diego Colarullo
Per la realizzazione del Progetto si è fatto uso delle seguenti
applicazioni:
Professore Vincenzo Curci
Valutazione e uso del tool open source Jmatter per lo sviluppo rapido di applicazioni Java – Diego Colarullo
…fine presentazione…
...Grazie per l’attenzione...
Valutazione e uso del tool open Source Jmatter per lo
sviluppo rapido di applicazioni Java
Laureando:
Diego Colarullo
Relatore:
Prof. Vincenzo Curci
Scarica

Valutazione e uso del tool open Source Jmatter per lo sviluppo