Choose your language

I miei lavori

Di seguito presento un elenco, non proprio esaustivo, dei progetti sui quali ho lavorato o sto lavorando.

Potete trovare il mio curriculum vitae sempre aggiornato su linkedin (in inglese), oppure potete scaricarne una copia in formato pdf in italiano.
Per tutto il resto potete proseguire la lettura…

2010 – Progetto servizi

Descrizione
Lavori in corso…

Tecnologie
Spring 3, spring ws…

Descrizione
Questo progetto ha come scopo quello di offrire un acceso informativo centralizzato di tutti gli eventi regionali presenti nei vari musei e/o biblioteche.

Tecnologie
Le tecnologie che supportano il sistema, sono le seguenti:
Oracle 10g, jboss application server, jboss seam, hibernate3, struts, ajax, jsf, jsp, html, css.

Descrizione
Lo scopo del progetto è quello di consentire ai cittadini di prenotare, cancellare o rinnovare la prenotazione di un ilbro in una qualunque biblioteca di una Regione aderente al progetto.

Tecnologie
Oltre a DAO, struts, html e css, in questo progetto è stato affrontato e risolto il problema della firma digitale per gestire la CRS (Carta Regionale dei Servizi).

Descrizione
Il progetto cooperative è quanto di più complicato mi sia mai capitato di gestire. E’ stato usato dai miei predecessori come “cavia” per testare il maggior numero di tecnologie possbile! Questo non è un problema in senso assoluto, ma diventa un serio problema quando poi un progetto così fatto… entra in produzione!!!
Il progetto ha come obiettivo la registrazione e la gestione dell’iscrizione all’albo regionale di tutte le cooperative sociali della Regione Lombardia. La pessima interfaccia grafica di accesso non è niente se paragonata con l’incredibile intreccio di tecnologie che supportano il sistema.

Tecnologie
Iniziamo dalla base: il DB.
Il DBMS è serio, trattasi di Oracle 10g. Peccato che anche Oracle nulla possa fare quando gli viene imposto di creare e gestire uno schema SENZA costraints! Ci sono solo le PK.
Ma…andiamo avanti.
Un tale DB, deve poi collegarsi all’apllicazione… abra-cadabra. Un rompicapo! Si può dire che tutto sia iniziato bene, usando hibernate e hql, ma poi, per chissà quale ragione, si è passati a query dirette in sql, alla inspiegabile creazione di bean mappati fuori dalla logica hibernate e… udite, udite all’inserimento di jboss seam nell’archiettura! Un simile atteggiamento con un DB senza constraints significa suicidarsi! Gestire la scrittura sul DB è stata un’impresa da mille e una notte (di lavoro!).
Procediamo: business logic! Chi?
Come chi! La parte del sistema vera e propria! Quella che si occupa di collegare il DB all’utente… Ah, si… quella parte… mmah, la facciamo a manina e poi la spariamo su struts; ci penseremo lì a come gestire le informazioni che arrivano. No, non è uno scherzo. La parte di bisiness è stata fatta senza nessuna logica, nessun pattern… niente. Non c’è una classe astratta, non c’è un’interfaccia, non c’è ereditarietà, non c’è più semplicemente un’architettura di alcun tipo, neanche un diagramma delle classi…un delirio!
Proseguendo verso l’alto, verso il nostro povero utente, troviamo struts! Mmah, almeno qualcosa che ha una logica… E’ l’unica parte del sistema ad avere una logica.
Proseguendo si incontra di tutto:
- jsf
- ajax (solo per explorer, perché non hanno pensato a firefox e a tutti gli altri)
- jsp standard, ma senza Standard Tag Library
- html inqualificabile
- css da far venire la pelle d’oca

Eccezzionale!
Mai avuto per le mani un sistema così eterogeneo… E’ davvero un sistema all’avanguardia: cosmopolita! E io sono un mago della programmazione perché solo un mago può far funzionare un tale “oggetto”!. I miei più sinceri auto-complimenti!
Ah, dimenticavo, non essendoci ejb, si è ben pensato di utilizzare jboss :-O. Beh, mi sembra chiaro: devi usare un ejb container se non usi ejb!
Per il deploy c’è il mitico ANT a creare tutto il necessario in 10 secondi.

Descrizione
L’obiettivo del progetto è quello di creare dinamicamente modelli xhtml che siano fotocopie digitali dei rispettivi modelli cartacei e di consentirne, all’utente abilitato, la compilazione e la successiva firma digitale tramite CRS (Carta Regionale dei Servizi) distribuita ai cittadini della regione Lombardia.

Analisi
Lunga e difficoltosa. I requisiti dell’applicazione sono stati raccolti con le classiche difficoltà a cui si va incontro quando il cliente ha poche idee e ben confuse. Tuttavia la tenacia e la quantità abnorme di domande poste al cliente, associate a una sistematica simulazione di casi d’uso, ha prodotto un risultato che si può definire eccellente! La fase di analisi è stata modellata tramite AWARE (vedi più avanti).

Progettazione
Dal mio punto di vista la parte senz’altro più entusiasmante! UML 2 giorno e notte, casi d’uso e settimane di diagrammi. Essendo coincidenti il gruppo di progettazione e quello di sviluppo, si è ritenuto opportuno fermarsi ad un livello di dettaglio medio, senza entrare in eccessivi dettagli.

Sviluppo
Data la non eccessiva complessità del progetto e dopo lunga e accesa discussione, si è ritenuto opportuno non legarsi ad alcun framework (struts, spring, seam, ecc.). Il sistema è stato, quindi, totalmente progettato e realizzato dal gruppo di progettisti e programmatori da me diretto. Ovviamente un compito del genere presuppone la conoscenza e il corretto utilizzo di alcuni tra i più diffusi pattern. In particolare sono stati ampiamente utilizzati: : mvc, fatcory, command, business delegate, dao e singleton. Il software è stato realizzato in j2ee con base di dati in Oracle 10g.
La realizzazione dei modelli è stata affidata a XML (basati su regole XSD) e XSL che hanno consentito una semplice trasformazione in PDF o in altri formati che sono stati necessari.

2007 – Digitale terrestre

Analisi
La fase di analisi in questo progetto non è stata realizzata in quanto il progetto è basato su un capitolato di una gara d’appalto per cui le specifiche, già formalizzate, sono state semplicemente importate.

Progettazione
Dal capitolato tecnico, molto restrittivo, è stato subito molto chiaro quanto doveva essere relizzato. Le possibilità di progettazione erano quindi molto ristrette. L’applicazione avrebbe dovuto girare su STB (Set Top Box) in grado di supportare esclusivamente JAVA 1.1 e una strutturazione OO altrettanto limitata. E’ stato quindi utlizzato UML standard senza le estesioni tipiche di una web application.

Sviluppo
DTTRun sviluppato da Telecom Italia. IDE Eclipse

Descrizione
Il progetto, finanziato dalla Regione Puglia – misura 6.2 Società dell’informazione, iniziativa a sostegno del sistema delle imprese e delle professioni – ha come obiettivo principale quello di creare una virtual community network degli ingengeri della Regione Puglia. Non a caso il nome del progetto è EVCN (Engineer Virtual Community Network). Un obiettivo molto ambizioso e importante.
Parte della fase di analisi era già stata esplorata dal capitolato del bando, ma al fine di esaudire tutte le richieste degli ingegneri di Puglia, è stata comunque approfondita.
Di seguito il dettaglio delle fasi progettuali.

Analisi
Data la dimensione del progetto software da realizzare è stata utilizzata una tecnica di formalizzazione dei requisiti all’avanguardia: AWARE (Analisys of Web Application REquirements). Lo studio e l’utilizzo di tale tecnica è avvenuta sotto la diretta supervisione di ricercatori Universitari.
Non è certamente questa le sede in cui poter descrivere nel dettaglio AWARE. Tuttavia è opportuno dire che AWARE è una metodologia che prevede un insieme di toolset per analizzare e modellare i requisiti secondo una prospettiva goal-oriented. I concetti, rappresentati da altrettanti stereotipi, alla base della metodologia sono: stakeholder, goal, requisito e scenario.
A cavallo tra la fase di analisi e quella di progettazione e comunque in parallelo alla fase di progettazione in UML2, è stato realizzato il disegno IDM (Interactive Dialog Model). Anche in questo caso non è possibile dare notizie sufficienti su tale metodologia. Ritengo però utile osservere che si tratta di una metodologia attenta ai device sui quali il isistema dovrà girare.

Progettazione
UML 2

Sviluppo
Il progetto è stato sviluppato in j2ee. E’ stato scelto jboss come Application Server ed è stato utilizzato il pattern MVC implementato tramite struts. E’ stato utlizzato liferay come enterprise portal e PostgreSql come DBMS.

Son stato direttamente interessato dalla fase di analisi, progettazione e, per quanto riguarda la fase di sviluppo, solo per la parte delle jsp tramite javascript, xhtml e css2 e la configurazione del portale liferay-based.

Descrizione
Il Progetto IPERSCUOLA è una proposta innovativa che parte da un censimento e successiva selezione dei materiali multimediali prodotti dalle scuole della Provincia di Lecce, rendendoli reperibili, accessibili e fruibili in modo semplice e immediato tramite un supporto CD-Rom.
Il Progetto si propone di promuovere su tutto il territorio provinciale una forte crescita della cultura della multimedialità e della telematica, stimolando nelle scuole salentine l’adozione delle tecnologie didattiche al fine di progettare e utilizzare sistemi multimediali interattivi e stimolare attività di lavoro collaborativa a distanza.

E’ stato realzzato totalmente in Macromedia Flash. Il CD è autopartente. E possibile effettuare il download dell’interfaccia grafica. Per la visualizzazione è necessario aver installato il flash player e…aver acceso le casse!

Comments are closed.

preload preload preload

Search engine optimization by SEO Design Solutions