Utilizzo dei Framework Java Server Faces ed Hibernate per lo sviluppo di un servizio internet per i cittadini del Comune di Grosseto

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Utilizzo dei Framework Java Server Faces ed Hibernate per lo sviluppo di un servizio internet per i cittadini del Comune di Grosseto"

Transcript

1 Università degli Studi di Pisa Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea Triennale in Informatica Utilizzo dei Framework Java Server Faces ed Hibernate per lo sviluppo di un servizio internet per i cittadini del Comune di Grosseto Tutore Aziendale Dott. Ludwig Bargagli Candidato Giulio Rossetti Tutore Accademico Prof. Vincenzo Gervasi Addì 12 Ottobre 2007

2 2

3 Capitolo 1 Introduzione L oggetto di questa relazione è il progetto di tirocinio svolto presso il Comune di Grosseto nel periodo che va dal 12/03/2007 al 25/07/2007. Il lavoro di progettazione, sviluppo e test del codice prodotto è stato eseguito negli uffici del SED (il centro servizi informatici del comune) sotto la supervisione del dott. Ludwig Bargagli. Durante il tirocinio ho realizzato un applicazione per la gestione degli oggetti smarriti sul territorio comunale che verrà utilizzata da parte della Polizia Municipale e dal Provveditorato. Tale applocazione nasce per rendere più agevole la raccolta dei dati riguardanti le denunce di smarrimento e ritrovo degli oggetti nel territorio provinciale: offre infatti uno sportello online tramite cui il cittadino può comunicare direttamente con gli impiegati della pubblica amministrazione per effettuare denunce di smarrimento e ricerche nel catalogo degli oggetti smarriti e ritrovati. Inoltre gli impiegati della Polizia Municipale e del Provveditorato possono, tramite un ulteriore interfaccia web loro dedicata, controllare lo stato delle denunce, consultare l archivio delle stesse, e tenere traccia della dislocazione degli oggetti ritrovati nei depositi atti a tale scopo. Alcuni di questi servizi erano già in passato resi fruibili da un applicazione web realizzata in tempi brevi per la necessità di averla disponibile nell immediato: per questo motivo il servizio fornito risultava incompleto e non esente da alcuni problemi di gestione e di lentezza nell esecuzione in caso di un moderato sovrannumero di richieste contemporanee. Ho quindi riprogettato da zero una nuova versione dell applicazione tenendo conto delle necessità degli utenti finali, cercando di renderla più intuitiva possibile per limitare le difficoltà di utilizzo, e allo stesso tempo migliorando la capacità del servizio stesso nei casi di richieste multiple. Altro motivo per 3

4 4 CAPITOLO 1. INTRODUZIONE cui si è resa necessaria la riscrittura dell applicazione è che era stata realizzata con tecnologie che non ne consentivano più una facile manutenzione e aggiornamento, rendendola di fatto inutilizzabile per la gestione degli archivi ormai memorizzati nel database con tempi di accesso accettabili. Proprio per non perdere gli archivi già presenti, e poter in tal modo operare una sostituzione a caldo del precedente servizio, ho mantenuto la struttura delle tabelle del database: questa scelta ha comportato delle limitazioni in fase di progettazione e creato la necessità di valutare varie soluzioni per la gestione degli accessi al database. Tali alternative sono riportate nella sezione IV di questa relazione. Il servizio web realizzato consta quindi di due parti: un interfaccia di amministrazione e una per la fruizione del servizio da parte del cittadino. Il deployment dell applicazione è stato effettuato su una macchina avente come sistema operativo Linux Ubuntu Server e Apache Tomcat come Servlet/JSP container. Tale macchina risiede all interno della rete aziendale e per tale motivo è stato necessario configurare una macchina posta in una DMZ come reverse proxy (Apache http server) per rendere il servizio fruibile su internet. 1.1 Organizzazione della relazione La relazione qui presentata è strutturata in modo da dare una visione d insieme dell applicazione realizzata. Per mostrare con maggiore chiarezza le parti principali del servizio verranno presentate nel seguito di questa introduzione le tecnologie utilizzate, si passerà poi ad analizzare la parte riguardante l interfaccia grafica (sezione I), la logica di backend (sezione II), la struttura del database (sezione III), i casi di studio relativi alle varie versioni dell applicazione realizzate (sezione IV) ed una postfazione contenente le considerazioni sul tirocinio svolto e la bibliografia essenziale (sezione V). Ogni sezione tecnica è introdotta da un paragrafo di descrizione della parte dell applicazione presa in esame e si completa con la discussione delle metodologie di implementazione focalizzando l attenzione sui problemi incontrati durante lo sviluppo e sulle soluzioni proposte. Inoltre nei casi in cui ho dovuto operare delle scelte tra varie tecnologie propostemi o da me presentate ho presentato le motivazioni che mi hanno indotto a discriminare tra le varie alternative.

5 Capitolo 2 Requisiti del progetto 2.1 Dettagli precedente versione del servizio Realizzata nel 2003, la precedente versione del servizio era implementata in Java (J2EE 1.3) secondo il paradigma JSP Model 1 e implementava le chiamate al database (Oracle) tramite l ausilio di driver jdbc. Tale implementazione prevedeva l uso per la parte di View di pagine JSP (Java server pages) e per la parte relativa al Controller di Servlet. La sua limitata manutenibilità è dovuta al pesante uso di scriptlet e procedure Javascript nelle pagine JSP che rendono, in molti casi, poco leggibile i sorgenti realizzati e inoltre quasi del tutto assente la separazione della logica applicativa da quella di presentazione. Un inconveniente di questa versione è senza dubbio la scarsa possibilità di riuso del codice che mi ha costretto ad una fase di reverse engineering prima di poter iniziare a strutturare la nuova versione. 2.2 Nuova implementazione I requisiti tecnici che sono stati richiesti esplicitamente per la realizzazione del progetto sono i seguenti: Implementazione del pattern MVC (JSP Model 2) Uso del Framework Java Server Faces (nella implementazione MyFaces fornita da Apache) Gestione della stampa dei report in PDF Gestione delle informazioni riguardanti le inserzioni tramite 5

6 6 CAPITOLO 2. REQUISITI DEL PROGETTO Integrazione con sistema di autenticazione di tipo Single Sign On Portabilità su più modelli di database Studio di fattibilità per il possibile impiego del Framework Hibernate Inoltre sono state aggiunte, durante la fase di sviluppo, altre modifiche che hanno portato alla realizzazione di quattro differenti versioni del progetto: La versione attualmente in uso (che soddisfa i requisiti richiesti) Una versione facente uso di EJB3 Una versione in cui la parte di business logic è realizzata (per alcuni servizi) tramite l uso del Framework Hibernate Una versione in cui la parte di business logic è realizzata (per alcuni servizi) tramite l uso del Framework ibatis Le ultime tre versioni sono state realizzate solo come caso di studio per verificare la possibilità di introdurre nel progetto finale le tecnologie di volta in volta analizzate. In seguito verrà motivata la decisione per cui non sono state introdotte nella versione definitiva. Inoltre la versione definitiva dell applicazione è stata resa disponibile, oltre che come applicazione web monolitica, anche come portlet per il CMS (Content Management System) Jetspeed2 distribuito da Apache. La procedura è stata scritta per integrarsi con il sistema di autenticazione (Single Sign On) dell ente che permette l accesso ai servizi tramite l uso di un unico identificativo e di un unica password oppure tramite l uso di smart card come la carta di identità elettronica (cie) o carta nazionale dei servizi (cns). Per lo sviluppo ho fatto uso principalmente di strumenti Open Source e di Software Libero. L ambiente di sviluppo utilizzato è stato Eclipse (ver ), con installato il plugin MyEclipse (ver GA) per lo sviluppo di applicazioni enterprise. Altre librerie utilizzate sono Tomahawk (package aggiuntivo di componenti per MyFaces). La fase di deployment è stata effettuata sul servlet container Apache Tomcat (ver ). Il progetto è stato sviluppato su Linux (inizialmente su Fedora Core 6 e successivamente su Ubuntu Feisty 7.04).

7 2.2. NUOVA IMPLEMENTAZIONE 7 Nel prossimo capitolo illustrerò le varie tecnologie utilizzate per la realizzazione del servizio (ed il principale pattern di programmazione seguito), in seguito entrerò nello specifico proponendo i dettagli implementativi del servizio realizzato.

8 8 CAPITOLO 2. REQUISITI DEL PROGETTO

9 Capitolo 3 Tecnologie 3.1 Pattern MVC Model-View-Controller è il nome di un design pattern di fondamentale importanza per la realizzazione di applicazioni con interfacce grafiche nei linguaggi Object-Oriented (OO). Tale pattern obbliga il programmatore a scindere in modo netto i livelli fondamentali dell applicazione, i componenti software che implementano il modello delle funzionalità business (model), quelli che si preoccupano di realizzare la logica di presentazione (view) e i componenti che utilizzano tali funzionalità (controller). Il sempre più diffuso uso di questo pattern ha fatto si che negli ultimi anni fiorissero numerosi framework, soprattutto per il web, atti a fornire agli sviluppatori la possibilità di realizzare applicazioni sempre più aderenti a tale modello con una sempre maggiore facilità e flessibilità d uso. Alcuni dei più famosi framework che applicano tale pattern, attualmente disponibili per Java enterprise sono Java Server Faces, Struts e Velocity. Per rendere gestibile in modo efficiente lo sviluppo e la manutenzione del codice è quindi stato deciso di seguire un approccio basato sulla strutturazione del progetto secondo il pattern MVC. La parte di View e di Controller, conformemente al JSP model 2, è stata quindi realizzata tramite Java Server Faces (nell implementazione MyFaces di Apache) mentre il Model tramite JavaBeans. 3.2 Java Server Faces Il framework utilizzato ai fini della realizzazione della logica di presentazione è stato JSF. JSF applica sistematicamente il pattern MVC, rappresenta inoltre uno 9

10 10 CAPITOLO 3. TECNOLOGIE standard gestito da Sun (codice JSR 172). Di questo framework esistono varie implementazioni: oltre a quella della Sun le principali sono quelle di Oracle e Apache. Le Gui realizzate in JSF sono configurabili tramite un file XML (faces-config.xml) in cui vengono definite le pagine facenti parte della view (pagine JSP facenti uso esclusivamente di particolari taglibrary), le regole di navigazione tra di esse e i bean utilizzati per implementare la parte di controller. Ogni implementazione usa una servlet di base FacesServlet o un filtro il cui mapping è solitamente /faces/* o *.faces. 1 I principali vantaggi nell uso di questo framework risultano essere: Esistenza di componenti predefiniti che avvicinano la programmazione web a quella degli ambienti RAD, consentendo allo sviluppatore di realizzare in breve tempo interfacce web con la stessa semplicità offerta da ambienti come.net, semplicemente collegando elementi di business logic lato server tramite catene di eventi. Elementi GUI intelligenti in grado di validare in prima persona i dati inseriti dall utente e di archiviare e caricare on-demand il proprio stato da bean memorizzati lato server denominati model-object. Definizione di un nuovo paradigma di Event Handling che avvicina la programmazione in ambito web alla tipologia di gestione asincrona degli eventi utilizzata nelle applicazioni client-server. Indipendenza dal markup language: ogni modello di interazione lato server viene realizzato lato client tramite Renderer diversificati che producono un interfaccia utente in grado di soddisfare i requisiti funzionali del server al meglio delle possibilità della piattaforma utilizzata dall utente. 3.3 JasperReport Del progetto fa parte anche la gestione della stampa dei verbali delle denunce di smarrimento e ritrovo degli oggetti: per gestire la creazione di report in formato pdf ho utilizzato le librerie messe a disposizione da JasperReport poiché essendo rilasciate sotto licenza GPL sono liberamente utilizzabili e distribuibili. 1 In JSF le pagine JSP vengono, per convenzione, refenziate con estenzione.faces sul server. Tale convenzione di naming è introdotta per mostrare una separazione tra il precedente JSP Model 1 e il nuovo Framework pur mantenendo come base la stessa struttura di visualizzazione (entrambi utilizzano pagine JSP).

11 3.4. DATABASE 11 JasperReport è una libreria scritta in Java che permette di creare dei report in maniera semplice e di automatizzarne il popolamento. Il procedimento per la creazione del report, reso intuitivo dal tool ireport che consente di definire la struttura del documento in modo visuale, consta di poche semplici fasi: 1. Creazione della struttura del documento; 2. Definizione del DataSource da cui prelevare le informazioni per popolare il report; 3. Scrittura del codice necessario ad associare DataSorurce e struttura del documento. A seguito della prima fase verrà creato un file di tipo.jxrml che definisce, in xml appunto, la struttura definita in modo visuale. Tale file (che abbiamo deciso di salvare nella cartella WEB-INF/conf) contiene le associazioni necessarie per il popolamento del documento. I DataSource definibili sono di svariato tipo (è possibile, tra varie alternative, passare connessioni jdbc alle librerie jasperreport e associare al documento da popolare una query SQL), nel nostro caso abbiamo optato per un DataSource popolato dai campi di un Bean preesistente. 3.4 Database La precedente versione dell applicazione sfruttava come DBMS Oracle 9; per rendere possibile la distribuzione anche su DBMS OpenSource abbiamo strutturato la nuova versione dell applicazione in modo da garantire la compatibilità con MySQL e Postgres. Le tabelle hanno mantenuto la struttura della versione presente su Oracle per garantire la compatibilità con le pratiche precedenti alla nuova implementazione. E stata aggiunta una sola tabella per motivi che renderò noti nella sezione dedicata all analisi dello schema del database. 3.5 Log4J Sempre per rendere più facilmente gestibili future modifiche al codice tutto il progetto ho implementato funzionalità di logging tramite le librerie log4j fornite da Apache. In seguito verranno mostrati esempi di uso. Ho introdotto il logger non solo per rendere più rapida la fase di debug del progetto durante

12 12 CAPITOLO 3. TECNOLOGIE lo sviluppo ma anche per rendere la manutenzione (e le future modifiche) del servizio gestibile a chi non ha partecipato al suo sviluppo. 3.6 EJB3 A seguito della conclusione del progetto abbiamo valutato la possibilità di introdurre l uso di Enterprise Java Beans all interno del Model ed ho quindi realizzato una versione dello stesso in cui è utilizzata questa tecnologia: tale implementazione non verrà usata ed è stata introdotta solo per valutarne l usabilità. Le specifiche EJB intendono fornire una metodologia standard per implementare la logica di funzionamento delle applicazioni di tipo enterprise, applicazioni cioe che forniscono servizi via Internet. Esistono tre tipi di EJB: Entity, Session e Message Bean. Gli Entity hanno come fine la memorizzazione delle istanze degli oggetti sul server. Tali EJB di entità forniscono quindi la caratteristica della persistenza dei dati. I Session Bean gestiscono l elaborazione delle informazioni sul server. Generalmente sono una interfaccia tra i client e i servizi offerti dai componenti disponibili sul server. I Message Bean sono gli unici con funzionamento asincrono. Tramite il Java Message Service (JMS), si iscrivono a un argomento o a una coda e si attivano alla ricezione di un messaggio inviato all argomento o alla coda a cui sono iscritti. Non richiedono una istanziazione da parte dei client. Nella nostra applicazione abbiamo fatto uso di Session Bean, nello specifico degli Stateless Session Bean, per gestire le richieste al database da parte delle varie entità in gioco. Come specificato dal nome gli Stateless Session Bean non tengono traccia, a seguito della invocazione di un loro metodo, dello stato dell oggetto sul server; per ottenere una persistenza simile sarebbe stato invece necessario l impiego di Statefull Session Bean. Per permettere l uso di questa tecnologia è stato necessario configurare un application Server: i dettagli relativi alla scelta dell application server usato verranno trattati nella sezione dedicata alla implementazione del progetto contenente EJB3.

13 3.7. HIBERNATE Hibernate Hibernate è un middleware open source per lo sviluppo di applicazioni Java che fornisce un supporto di tipo ORM (object relational mapping); il suo compito è gestire la rappresentazione e il mantenimento su database relazionale di un sistema a oggetti Java. Distribuito sotto licenza LGPL, fornisce allo sviluppatore un mapping delle classi Java sulle tabelle del database e, sulla base di tale mapping, gestisce il salvataggio degli oggetti sul database. Inoltre si occupa del reperimento degli oggetti dal database, eseguendo automaticamente le query SQL necessarie a ottenere gli stessi e occupandosi del successivo instanzizione delle entità ottenute. L obbiettivo di questo middleware è esonerare il programmatore dal lavoro inerente la gestione della persistenza dei dati. Le strade per utilizzare Hibernate in un progetto sono due: 1. è possibile, contestualmente alla fase di progettazione, definire l uso di tale middleware nel progetto, in modo da strutturare il database nel modo ottimale per una gestione ad oggetti; 2. è altresìpossibile introdurre Hibernate in un progetto già in fase di sviluppo, il cui database non sia stato necessariamente studiato per una sua applicazione, effettuando un reverse engeneering delle tabelle su cui si decide di introdurre l uso del middleware. Hibernate è tipicamente usato sia in applicazioni Swing che J2EE facenti uso di servlet o EJB session beans. In un approccio MVC rientra nella parte dell applicazione dedicata al Model. A causa della decisione di non modificare in modo pesante la struttura del database preesistente, presa a seguito dell analisi dei requisiti, l introduzione di questo framework per la persistenza dei dati è stata valutata solo al termine della messa in opera dell applicazione. 3.8 ibatis Un approccio ulteriore per la gestione del Model, alternativo a quello offerto da Hibernate, è quello proposto da ibatis. Questo Framework non rientra nella categoria degli ORM, il suo fine è di rendere più facilmente manutenibile un applicazione che faccia uso di query SQL. Tramite l uso di alcuni file xml di configurazione, infatti, tale framework consente di disaccoppiare la logica applicativa dalle query al database facendo

14 14 CAPITOLO 3. TECNOLOGIE in modo da rendere una modifica relativa all SQL prodotto non influente, in modo strutturale, sul codice che ne fa uso. ibatis, inoltre, toglie al programmatore l onere della gestione delle connessioni al database rendendo possibile configurare nel dettaglio in un ulteriore file xml i dettagli con cui queste debbano avvenire.

15 Parte I La View 15

16

17 Capitolo 4 L interfaccia utente rivolta al cittadino 4.1 Analisi dei Requisiti Il servizio offerto ai cittadini ha come fine ultimo facilitare la presentazione delle denunce di smarrimento e la ricerca nel database delle pratiche avviate (sia per lo smarrimento che per il ritrovo degli oggetti). Considerando come base il servizio precedentemente esistente, ho quindi cercato di diminuire il numero di interazioni necessarie al cittadino per ottenere le informazioni ricercate. Per la parte di compilazione della denuncia di smarrimento è adesso necessario riempire un unico form con i propri dati mentre per effettuare la ricerca, dopo averne impostato i parametri, scegliere da una lista di possibili risultati quello da visualizzare. Rendendo minimali le procedure, si è quindi provato a spostare l operazione di dennucia di smarrimento dal classico servizio di ufficio, offerto dalla Pubblica Aministrazione, ad un servizio più snello e veloce affidato esclusivamente al cittadino. 17

18 18CAPITOLO 4. L INTERFACCIA UTENTE RIVOLTA AL CITTADINO 4.2 Descrizione L interfaccia pubblica del servizio consente la ricerca, da parte del cittadino, all interno del database degli oggetti che sono stati ritrovati nel territorio comunale. Precedentemente tale funzione prevedeva una ricerca vincolata a: Comune di smarrimento Categoria dell oggetto smarrito Sottocategoria Data di inserimento nel database Data di ritrovamento Tipologia di oggetto (Smarrito/Trovato) Per rendere più elastica la ricerca nella nuova versione ho sostituito archi temporali alle ricerche su singola data. Inoltre per evitare immissioni errate delle date stesse ho previsto per ogni campo data l inserzione tramite un calendario a popup. I campi riguardanti il Comune, le Categorie e le Sottocategorie prevedono una selezione da apposito menu drop down popolato al caricamento della pagina tramite tre diverse chiamate al database. I risultati della ricerca sono visualizzati in una tabella dinamica dalla quale è possibile raggiungere per ogni oggetto visualizzato una scheda dettagliata. Altra funzione resa disponibile dall interfaccia pubblica riguarda l inserimento da parte dell utente di segnalazioni di smarrimento di oggetti. Tali inserzioni nel database non vengono considerate attendibili fintanto che non sono validate da un operatore preposto allo scopo e quindi non compaiono subito come risultati di un eventuale ricerca.

19 4.2. DESCRIZIONE 19

20 20CAPITOLO 4. L INTERFACCIA UTENTE RIVOLTA AL CITTADINO 4.3 Dettagli implementativi form di Ricerca La form di ricerca presenta tre selectonemenu dedicati alla selezione del comune di interesse, della categoria e della sottocategoria dell oggetto da ricercare, quattro inputcalendar per consentire la ricerca in base all arco temporale di inserimento nel database e a quello di ritrovamento, due select- BooleanCheckbox per definire la tipologia di oggetti da ricercare (Ritrovati,Smarriti o entrambi) ed un commandbutton per eseguire il submit e la navigazione. 1 La pagina di visualizzazione risultati si compone di una datatable che visualizza l immagine (se presente), la descrizione, il luogo e la data di ritrovo di ciascun oggetto che soddisfi i criteri di ricerca. 1 I componenti elencati verranno esaminati nel dettaglio nella sezione successiva

21 4.3. DETTAGLI IMPLEMENTATIVI FORM DI RICERCA 21 Per comodità la capienza massima della tabella per pagina è fissata a 15 elementi, ciò ha comportato l uso di un componente datascroller per la generazione automatica di un indice di pagina riferibile alla tabella. Selezionando uno dei risultati si ottiene una scheda con i dettagli relativi all oggetto.

22 22CAPITOLO 4. L INTERFACCIA UTENTE RIVOLTA AL CITTADINO 4.4 Dettagli dei componenti utilizzati nel progetto selectonemenu: realizza un drop-down menu i cui valori sono caricati tramite il campo value, del componente figlio selectitems, collegato ad un metodo del bean che ha come valore di ritorno un ArrayList. Il valore scelto viene inserito nel bean tramite il campo value del componente. Nel caso del menu riguardante le categorie è stato inserito un campo valuechangelistener che consente di modificare il contenuto del menu delle sottocategorie nel momento in cui viene effettuato il refresh della pagina ad opera del commandbutton agente sul metodo specificato in tale campo. inputcalendar: questo componente sostituisce le l imputtext che precedentemente si occupavano di consentire all utente l immissione delle date di ricerca. Tale componente non necessita di controlli sui campi immessi (a differenza della precedente versione in cui tali controlli erano effettuati in Javascript) poiché valida ed invia solo le date scritte nel formato consentito (dd/mm/yyyy) e forza il refresh della pagina in caso contrario. E stato inoltre utilizzato il campo renderaspopup per consentire la scelta della data desiderata tramite un calendario visualizzato a seguito della pressione di un commandbutton disegnato dal componente. A causa del suo funzionamento il campo value di questo oggetto è utilizzato sia per accedere ai metodi di set che a quelli di get del bean usato, al momento del display infatti carica la data attuale tramite il get e al momento dell invio la aggiorna a quella desiderata tramite il set. selectbooleancheckbox: effettua il display di una checkbox, il campo value effettua il set utilizzando un valore di tipo boolean. commandbutton: il pulsante Cerca è utilizzato per realizzare sia la funzione di navigazione sia quello di ricerca. Il pulsante Sottocategorie si occupa di fare il refresh della pagina e di riottenere il valore del nuovo menu delle sottocategorie tramite il metodo AggiornaCategoria sulla cui azione è in attesa il listener del componente selectonemenu. Il pulsante pulisci si occupa solo di effettuare il refresh della pagina annullando tutte le scelte fatte precedentemente dall utente: ciò è reso possibile dal campo immediate settato a true il quale specifica che i metodi di set chiamati dai componenti debbano essere valutati ed eseguiti solo a seguito dell azione di navigazione.

23 4.5. PROBLEMI RISCONTRATI E SOLUZIONI PROPOSTE 23 DataTable 1 : componente dedicato alla costruzione dinamica di tabelle, similmente a selectitems riceve un ArrayList di cui si preoccupa di fare il display. Tramite i tag column è possibile specificare il numero delle colonne e il loro contenuto nonchè il loro titolo. Il campo rows fissa il numero di righe massimo visibile in una singola pagina della tabella. datascroller: referenziando il componente datatable si occupa del numero massimo di pagine su cui suddividere la tabella e di fornire dei link di navigazione tra le pagine stesse. commandsortheader: permette, tramite l implementzione di alcuni metodi di cui viene effettuato il binding nella datatable, di riordinare il contenuto della stessa relativamente alla colonna selezionata. graphicimage: effettua la visualizzazione di un immagine. inputfileupload: consente il submit di file da form. Per abilitare tale componente è necessario configurare alcuni filtri nel file web.xml per definire la dimensione massima dei file invia inputtext: componente usato per inserire testo nei form. outputtext: componente usato per visualizzare il contenuto dei campi dei bean nelle schede dettagliate, nei risultati delle ricerche e nella sezione di gestione dell applicazione. message: componente usato per effettuare la visualizzazione di messaggi di errore in caso di fallimento nella validazione dei dati inseriti nel form. inputhidden: componente usato per inserire valori nel form non visualizzati dall utente. 4.5 Problemi riscontrati e Soluzioni proposte Durante le fasi iniziali dello sviluppo si sono presentati numerosi problemi non legati strettamente al codice prodotto bensì all ambiente di sviluppo (in particolare al plugin MyEclipse) che proponeva librerie di MyFaces ferme alla versione e quindi solo in parte compatibili con le librerie di Tomahawk di 1 Successivamente all uso nel progetto ho scritto un articolo su questo componente e sulla flessibilità che offre per riordinare dinamicamente, tramite semplici passaggi, il suo contenuto (Tale articolo è stato pubblicato su Dev, numero 152 Agosto 2007 [13])

24 24CAPITOLO 4. L INTERFACCIA UTENTE RIVOLTA AL CITTADINO versione necessarie per l uso di parte dei componenti dei vari form. Con l aggiornamento di MyFaces alla versione i problemi di compatibilità sono stati risolti 2. Alcuni dei principali problemi incontrati sono stati: 1. Impossibilità di effettuare correttamente il submit a seguito dell inserzione dei componenti selectonemenu all interno del form. 2. Aggiornamento del selectonemenu delle sottocategorie in modo da consentire la visualizzazione delle sole sottocategorie inerenti alla categoria selezionata (funzione precedentemente realizzata in Javasript). 3. Errato rendering dei componenti inputcalendar a seguito dell impostazione del campo renderaspopup a true. 4. Formattazione delle date per la ricerca all interno del database. Per le problematiche precedentemente presentate ho applicato le seguenti modifiche alle librerie e/o ai file di configurazione: 1. Il problema era dovuto alla non corretta azione di set/get dei componenti in questione, per risolvere il problema ho aggiornato le librerie usate Ho realizzato l aggiornameto prevedendo il reload della pagina tramite un comandbutton apposito il cui metodo di riferimento viene monitorizzato dal campo valuechangelistener aggiunto nel componente selectonemenu riguardante le categorie. Inoltre durante il primo caricamento della pagina viene effettuata una doppia interrogazione al database in modo da avere a disposizione subito le sottocategorie della prima categoria della lista. <h:selectonemenu value="#{item.categoria} "valuechangelistener="#{categorielist. AggiornaCategoria}"> 2 A seguito di ricerche su forum di numerose comunità ho appreso che la retro compatibilità del package Tomahawk (l unica versione attualmente disponibile che rende correttamente utilizzabile inputcalendar e altri componenti in seguito utilizzati) è limitata alle versioni di MyFaces successive alla a causa di una modifica nella struttura interna che, nelle precedenti relase, prevedeva l inserimento di alcune classi di Tomahawk nel package di base. 3 Al termine della relazione si riporta per completezza la lista delle librerie utilizzate nel progetto (compresa versione)

25 4.5. PROBLEMI RISCONTRATI E SOLUZIONI PROPOSTE 25 <f:selectitems id="ls" value="#{categorielist.categorieitemlist}"/> </h:selectonemenu> <h:commandbutton value="sottocategorie" action="#{categorielist.aggiornacategoria}"> </h:commandbutton> <h:selectonemenu value="#{item.sottocategoria}"> <f:selectitems value="#{categorielist. subcategorieitemlist}"/> </h:selectonemenu> 3. A seguito del persistere del problema, dopo l aggiornamento delle librerie, un analisi del file web.xml di configurazione dell applicazione ha mostrato l errata compilazione dello stesso da parte dell ambiente di sviluppo (l errore è stato rintracciato grazie a interventi in merito sul sito del progetto Apache MyFaces, le impostazioni da inserire per il coretto funzionamento sono quelle di seguito riportate). <filter> <filter-name>myfacesextensionsfilter</filter-name> <filter-class>org.apache.myfaces.webapp. filter.extensionsfilter</filter-class> <init-param> <param-name>maxfilesize</param-name> <param-value>20m</param-value> </init-param> </filter> <filter-mapping> <filter-name>myfacesextensionsfilter</filter-name> <servlet-name>faces Servlet</servlet-name> </filter-mapping> 4. Per effettuare la ricerca su archi temporali ho utilizzato un oggetto di tipo SimpleDateFormat per definire il template per la data coerente a quello preesistente. Inoltre ho appurato che il database Oracle permette in una semplice query SQL di confrontare un campo di tipo Date correttamente con una stringa che rappresenta una data, ma che in caso di ricerca

Corso Android Corso Online Sviluppo su Cellulari con Android

Corso Android Corso Online Sviluppo su Cellulari con Android Corso Android Corso Online Sviluppo su Cellulari con Android Accademia Futuro info@accademiafuturo.it Programma Generale del Corso di Sviluppo su Cellulari con Android Programma Base Modulo Uno - Programmazione

Dettagli

SWIM v2 Design Document

SWIM v2 Design Document PROGETTO DI INGEGNERIA DEL SOFTWARE 2 SWIM v2 DD Design Document Matteo Danelli Daniel Cantoni 22 Dicembre 2012 1 Indice Progettazione concettuale Modello ER Entità e relazioni nel dettaglio User Feedback

Dettagli

Corso Analista Programmatore Java Corso Online Analista Programmatore Java

Corso Analista Programmatore Java Corso Online Analista Programmatore Java Corso Analista Programmatore Java Corso Online Analista Programmatore Java Accademia Futuro info@accademiafuturo.it Programma Generale del Corso Analista Programmatore Java Tematiche Trattate Modulo Uno

Dettagli

Progettazione: Tecnologie e ambienti di sviluppo

Progettazione: Tecnologie e ambienti di sviluppo Contratto per l acquisizione di servizi di Assistenza specialistica per la gestione e l evoluzione del patrimonio software della Regione Basilicata. Repertorio n. 11016 del 25/09/2009 Progettazione: Tecnologie

Dettagli

Corso analista programmatore Java. Corso analista programmatore Java Programma

Corso analista programmatore Java. Corso analista programmatore Java Programma Corso analista programmatore Java Programma 1.1 Obiettivo e modalità di fruizione L obiettivo del corso è di fornire le conoscenze tecniche e metodologiche per svolgere la professione di Programmatore

Dettagli

Programmazione Java Avanzata

Programmazione Java Avanzata Programmazione Java Avanzata Introduzione a Servlet e Struts 2 Ing. Giuseppe D'Aquì 1 Testi Consigliati Java Enterprise in a nutshell, 3 rd edition (O'Reilly) Struts 2 in Action Brown, Davis, Stanlick

Dettagli

Framework di Middleware. per Architetture Enterprise

Framework di Middleware. per Architetture Enterprise Framework di Middleware per Architetture Enterprise Corso di Ingegneria del Software A.A.2011-2012 Un po di storia 1998: Sun Microsystem comprende l importanza del World Wide Web come possibile interfaccia

Dettagli

Concetti base. Impianti Informatici. Web application

Concetti base. Impianti Informatici. Web application Concetti base Web application La diffusione del World Wide Web 2 Supporto ai ricercatori Organizzazione documentazione Condivisione informazioni Scambio di informazioni di qualsiasi natura Chat Forum Intranet

Dettagli

WEBsfa: l automazione della forza vendita via Web

WEBsfa: l automazione della forza vendita via Web WEBsfa: l automazione della forza vendita via Web White Paper 1 Gennaio 2005 White Paper Pag. 1 1/1/2005 L automazione della Forza Vendita Le aziende commerciali che che sviluppano e alimentano il proprio

Dettagli

Corso Online. We Train Italy info@wetrainitaly.it

Corso Online. We Train Italy info@wetrainitaly.it Corso Online Programmatore Java New Edition We Train Italy info@wetrainitaly.it Programma Generale del Corso Programmatore Java New Edition 1. Introduzione al corso Java da 0 al web Presentazione del corso

Dettagli

Corso Android Corso Online Programmatore Android

Corso Android Corso Online Programmatore Android Corso Android Corso Online Programmatore Android Accademia Domani Via Pietro Blaserna, 101-00146 ROMA (RM) info@accademiadomani.it Programma Generale del Corso Modulo Uno - Programmazione J2ee 1) Programmazione

Dettagli

Corso Programmazione Java Android. Programma

Corso Programmazione Java Android. Programma Corso Programmazione Java Android Programma 1.1 Obiettivo e modalità di fruizione L obiettivo del corso è di fornire le conoscenze tecniche e metodologiche per svolgere la professione di Programmatore

Dettagli

JSIS JSIS L architettura JSIS

JSIS JSIS L architettura JSIS JSIS JSIS L architettura JSIS La piattaforma JSIS Java Solution Integrated Suites, interamente realizzata dai nostri laboratori di sviluppo software, è una soluzione che integra la gestione di diverse

Dettagli

Applicazione: OIL Online Interactive helpdesk

Applicazione: OIL Online Interactive helpdesk Riusabilità del software - Catalogo delle applicazioni: Gestione ICT Applicazione: OIL Online Interactive helpdesk Amministrazione: Consiglio Nazionale delle Ricerche (CNR) Responsabile dei sistemi informativi

Dettagli

Candidato: Luca Russo Docente: Prof. Raffaele Montella. 27 Marzo 2013

Candidato: Luca Russo Docente: Prof. Raffaele Montella. 27 Marzo 2013 e di e di Candidato: Luca Russo Docente: Corso di laurea in Informatica Applicata Facoltá di Scienze e Tecnologie Programmazione su Reti 27 Marzo 2013 Traccia d esame Sviluppare multitier con disaccoppiamento

Dettagli

Architettura Tecnica i. Architettura Tecnica

Architettura Tecnica i. Architettura Tecnica i Architettura Tecnica ii Copyright 2005-2011 Link.it s.r.l. iii Indice 1 Scopo del documento 1 1.1 Abbreviazioni..................................................... 1 2 Overview 1 2.1 La PdD........................................................

Dettagli

Breve introduzione curata da Alessandro Benedetti. Struts2-Introduzione e breve guida

Breve introduzione curata da Alessandro Benedetti. Struts2-Introduzione e breve guida Breve introduzione curata da Alessandro Benedetti Struts2-Introduzione e breve guida 22-11- 2008 1 Struts 2 Costruisci,attiva e mantieni! Apache Struts 2 è un framework elegante ed estensibile per creare

Dettagli

MetaMAG METAMAG 1 IL PRODOTTO

MetaMAG METAMAG 1 IL PRODOTTO METAMAG 1 IL PRODOTTO Metamag è un prodotto che permette l acquisizione, l importazione, l analisi e la catalogazione di oggetti digitali per materiale documentale (quali immagini oppure file di testo

Dettagli

Applicazione: GAS - Gestione AcceSsi

Applicazione: GAS - Gestione AcceSsi Riusabilità del software - Catalogo delle applicazioni Gestione ICT Applicazione: GAS - Gestione AcceSsi Amministrazione: Consiglio Nazionale delle Ricerche (CNR) Responsabile dei sistemi informativi Nome

Dettagli

Università degli Studi "Roma Tre" Dipartimento di Informatica ed automazione. Facoltà di Ingegneria. Laurea Magistrale in Ingegneria Informatica

Università degli Studi Roma Tre Dipartimento di Informatica ed automazione. Facoltà di Ingegneria. Laurea Magistrale in Ingegneria Informatica Università degli Studi "Roma Tre" Dipartimento di Informatica ed automazione Facoltà di Ingegneria Laurea Magistrale in Ingegneria Informatica Tesi di Laurea Sistema informativo per la gestione dei processi

Dettagli

Progettazione di Sistemi Interattivi. Gli strati e la rete. Struttura e supporti all implementazione di applicazioni in rete (cenni)

Progettazione di Sistemi Interattivi. Gli strati e la rete. Struttura e supporti all implementazione di applicazioni in rete (cenni) Progettazione di Sistemi Interattivi Struttura e supporti all implementazione di applicazioni in rete (cenni) Docente: Daniela Fogli Gli strati e la rete Stratificazione da un altro punto di vista: i calcolatori

Dettagli

P.D.M. (Product Document Management) Hierarchycal Tree

P.D.M. (Product Document Management) Hierarchycal Tree DOKMAWEB P.D.M. (Product Document Management) Hierarchycal Tree BBL Technology Srl Via Bruno Buozzi 8 Lissone (MI) Tel 039 2454013 Fax 039 2451959 www.bbl.it www.dokmaweb.it BBL Technology srl (WWW.BBL.IT)

Dettagli

UNIVERSITÀ DEGLI STUDI DI FIRENZE FACOLTA DI INGEGNERIA DIPARTIMENTO DI SISTEMI E INFORMATICA. Elaborato di Tecnologie del Software per Internet

UNIVERSITÀ DEGLI STUDI DI FIRENZE FACOLTA DI INGEGNERIA DIPARTIMENTO DI SISTEMI E INFORMATICA. Elaborato di Tecnologie del Software per Internet UNIVERSITÀ DEGLI STUDI DI FIRENZE FACOLTA DI INGEGNERIA DIPARTIMENTO DI SISTEMI E INFORMATICA Elaborato di Tecnologie del Software per Internet JMSWEB 2 SISTEMA PER LO SCAMBIO DI MESSAGGI TRA APPLICAZIONI

Dettagli

Introduzione al linguaggio Java: Servlet e JSP

Introduzione al linguaggio Java: Servlet e JSP Introduzione al linguaggio Java: Servlet e JSP Corso di Gestione della Conoscenza d Impresa A. A. 2006/2007 Dipartimento di Informatica Università degli Studi di Bari 1 Servlet e JSP: il contesto Un applicazione

Dettagli

Guida Utente della PddConsole. Guida Utente della PddConsole

Guida Utente della PddConsole. Guida Utente della PddConsole Guida Utente della PddConsole i Guida Utente della PddConsole Guida Utente della PddConsole ii Copyright 2005-2015 Link.it srl Guida Utente della PddConsole iii Indice 1 Introduzione 1 2 I protocolli di

Dettagli

Realizzazione di uno strumento web-based per la simulazione remota di reti di sensori senza filo

Realizzazione di uno strumento web-based per la simulazione remota di reti di sensori senza filo tesi di laurea Realizzazione di uno strumento web-based per la simulazione remota di reti di sensori senza filo Anno Accademico 2009/2010 relatore Ch.mo prof. Marcello Cinque correlatore Ing. Catello di

Dettagli

Esercitazione 8. Basi di dati e web

Esercitazione 8. Basi di dati e web Esercitazione 8 Basi di dati e web Rev. 1 Basi di dati - prof. Silvio Salza - a.a. 2014-2015 E8-1 Basi di dati e web Una modalità tipica di accesso alle basi di dati è tramite interfacce web Esiste una

Dettagli

Il Provvedimento del Garante

Il Provvedimento del Garante Il Provvedimento del Garante Il provvedimento del Garante per la Protezione dei dati personali relativo agli Amministratori di Sistema (AdS) Misure e accorgimenti prescritti ai titolari dei trattamenti

Dettagli

Guida Utente della PddConsole. Guida Utente della PddConsole

Guida Utente della PddConsole. Guida Utente della PddConsole Guida Utente della PddConsole i Guida Utente della PddConsole Guida Utente della PddConsole ii Copyright 2005-2014 Link.it srl Guida Utente della PddConsole iii Indice 1 Introduzione 1 2 I protocolli di

Dettagli

DD - Design Document

DD - Design Document Politecnico di Milano Progetto di Ingegneria del Software 2 DD - Design Document Autori: Claudia Foglieni Giovanni Matteo Fumarola Massimo Maggi Professori: Elisabetta Di Nitto Raffaela Mirandola 1 gennaio

Dettagli

Server-side Programming: Java servlets Parte II

Server-side Programming: Java servlets Parte II Corso di Laurea Specialistica in Ingegneria Informatica Corso di Laurea Specialistica in Ingegneria delle Telecomunicazioni Corso di Reti di Applicazioni Telematiche a.a. 2009-2010 Server-side Programming:

Dettagli

CORSO DI PROGRAMMAZIONE JAVA

CORSO DI PROGRAMMAZIONE JAVA CORSO DI PROGRAMMAZIONE JAVA Corso di Programmazione Java Standard Edition ( MODULO A) OBIETTIVI ll corso ha come obiettivo quello di introdurre la programmazione a oggetti (OOP) e di fornire solide basi

Dettagli

Applicazione: SIPER Servizi In linea per il PERsonale

Applicazione: SIPER Servizi In linea per il PERsonale Riusabilità del software - Catalogo delle applicazioni Gestione Personale Applicazione: SIPER Servizi In linea per il PERsonale Amministrazione: Consiglio Nazionale delle Ricerche (CNR) Responsabile dei

Dettagli

Design Patterns. Sommario. Architettura a 3 Livelli Concetti Generali Presentazione Dominio Sorgente Dati DIB 1. Design Patterns DIB 2

Design Patterns. Sommario. Architettura a 3 Livelli Concetti Generali Presentazione Dominio Sorgente Dati DIB 1. Design Patterns DIB 2 DIB 1 Sommario Architettura a 3 Livelli Concetti Generali Presentazione Dominio Sorgente Dati DIB 2 Architettura a 3 Livelli DIB 3 Architettura a 3 Livelli Presentazione Gestione dell interazione degli

Dettagli

APPENDICE A Servlet e Java Server Page

APPENDICE A Servlet e Java Server Page APPENDICE A Servlet e Java Server Page A.1 Cosa è una Servlet e come funziona Una servlet è un particolare tipo di applicazione Java, in grado di essere eseguita all'interno di un web server e di estenderne

Dettagli

APPLICAZIONE WEB PER LA GESTIONE DELLE RICHIESTE DI ACQUISTO DEL MATERIALE INFORMATICO. Francesco Marchione e Dario Richichi

APPLICAZIONE WEB PER LA GESTIONE DELLE RICHIESTE DI ACQUISTO DEL MATERIALE INFORMATICO. Francesco Marchione e Dario Richichi APPLICAZIONE WEB PER LA GESTIONE DELLE RICHIESTE DI ACQUISTO DEL MATERIALE INFORMATICO Francesco Marchione e Dario Richichi Istituto Nazionale di Geofisica e Vulcanologia Sezione di Palermo Indice Introduzione...

Dettagli

Tecnologie di Sviluppo per il Web

Tecnologie di Sviluppo per il Web Tecnologie di Sviluppo per il Web Applicazioni Web J2EE: Struttura dell Applicazione versione 2.4 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

Lezione di Basi di Dati 1 18/11/2008 - TECNOLOGIE PER IL WEB: CGI - AJAX SERVLETS & JSP

Lezione di Basi di Dati 1 18/11/2008 - TECNOLOGIE PER IL WEB: CGI - AJAX SERVLETS & JSP EVOLUZIONE DEL WEB: PAGINE STATICHE vs PAGINE DINAMICHE Il Web è nato a supporto dei fisici, perché potessero scambiare tra loro le informazioni inerenti le loro sperimentazioni. L HTTP è nato inizialmente

Dettagli

Use Case Driven Object Modeling: ICONIX

Use Case Driven Object Modeling: ICONIX Use Case Driven Object Modeling: ICONIX Un esempio di specifica, analisi, progetto e sviluppo utilizzando ICONIX (applicazione web) Ditta di Noleggio Dvd Un sistema per la gestione di una ditta di noleggio

Dettagli

SOSEBI PAPERMAP2 MANUALE DELL UTENTE

SOSEBI PAPERMAP2 MANUALE DELL UTENTE SOSEBI PAPERMAP2 MANUALE DELL UTENTE S O. S E. B I. P R O D O T T I E S E R V I Z I P E R L E B I B L I O T E C H E So.Se.Bi. s.r.l. - via dell Artigianato, 9-09122 Cagliari Tel. 070 / 2110311 - Fax 070

Dettagli

Attacchi alle applicazioni web: SQL injection e Cross-site scripting (XSS)

Attacchi alle applicazioni web: SQL injection e Cross-site scripting (XSS) UNIVERSITÀ DEGLI STUDI DI CATANIA Facoltà di Ingegneria Corso di laurea Specialistica in Ingegneria Informatica Tesina di Sicurezza nei Sistemi informativi Simona Ullo Attacchi alle applicazioni web: SQL

Dettagli

tesi di laurea Anno Accademico 2005/2006 relatore Ch.mo prof. Porfirio Tramontana candidato Manganiello Felice Matr. 534/001569

tesi di laurea Anno Accademico 2005/2006 relatore Ch.mo prof. Porfirio Tramontana candidato Manganiello Felice Matr. 534/001569 tesi di laurea CONFRONTO TRA SOLUZIONI COMMERCIALI PER LA REALIZZAZIONE Anno Accademico 2005/2006 relatore Ch.mo prof. Porfirio Tramontana candidato Manganiello Felice Matr. 534/001569 CONFRONTO TRA SOLUZIONI

Dettagli

Architetture Software

Architetture Software Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica Ingegneria del Software Architetture Software Giulio Destri Ing. del Sw: Architettura - 1 Scopo del modulo

Dettagli

Corso di Informatica. Prerequisiti. Modulo T3 B3 Programmazione lato server. Architettura client/server Conoscenze generali sui database

Corso di Informatica. Prerequisiti. Modulo T3 B3 Programmazione lato server. Architettura client/server Conoscenze generali sui database Corso di Informatica Modulo T3 B3 Programmazione lato server 1 Prerequisiti Architettura client/server Conoscenze generali sui database 2 1 Introduzione Lo scopo di questa Unità è descrivere gli strumenti

Dettagli

MODEL-VIEW-CONTROLLER PROBLEMA

MODEL-VIEW-CONTROLLER PROBLEMA MODEL VIEW CONTROLLER DESIGN PATTERN MODEL-VIEW-CONTROLLER INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Dipartimento di Matematica Corso di Laurea in Informatica, A.A. 2013 2014 rcardin@math.unipd.it

Dettagli

Single Sign On sul web

Single Sign On sul web Single Sign On sul web Abstract Un Sigle Sign On (SSO) è un sistema di autenticazione centralizzata che consente a un utente di fornire le proprie credenziali una sola volta e di accedere a molteplici

Dettagli

PROGRAMMA CORSO Analista Programmatore JAVA - ORACLE

PROGRAMMA CORSO Analista Programmatore JAVA - ORACLE PROGRAMMA CORSO Analista Programmatore JAVA - ORACLE 1. JAVA 1.1 Introduzione a Java Introduzione Cosa è Java 1.2 Sintassi e programmazione strutturata variabili e metodi tipi di dati, array operatori

Dettagli

GUIDA AL PRIMO AVVIO E MANUALE D USO

GUIDA AL PRIMO AVVIO E MANUALE D USO GUIDA AL PRIMO AVVIO E MANUALE D USO Informazioni preliminari Il primo avvio deve essere fatto sul Server (il pc sul quale dovrà risiedere il database). Verificare di aver installato MSDE sul Server prima

Dettagli

Programmazione server-side: Java Servlet

Programmazione server-side: Java Servlet Programmazione server-side: Java Servlet Corso di Applicazioni Telematiche A.A. 2006-07 Lezione n.11 parte II Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Cos

Dettagli

Manuale Gestione di OpenSPCoop 1.4 i. Manuale Gestione di OpenSPCoop 1.4

Manuale Gestione di OpenSPCoop 1.4 i. Manuale Gestione di OpenSPCoop 1.4 i Manuale Gestione di OpenSPCoop 1.4 ii Copyright 2005-2011 Link.it srl iii Indice 1 Introduzione 1 2 Prerequisiti per la Configurazione della Porta di Dominio 1 2.1 Verifica dell applicazione di gestione

Dettagli

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER L architettura CLIENT SERVER è l architettura standard dei sistemi di rete, dove i computer detti SERVER forniscono servizi, e computer detti CLIENT, richiedono

Dettagli

L architettura MVC (Model- View-Controller) Introduzione

L architettura MVC (Model- View-Controller) Introduzione L architettura MVC (Model- View-Controller) Introduzione Architettura MCV L architettura MVC è un insieme di regole per strutturare un sito-web dinamico. Queste regole complicano la struttura del sito,

Dettagli

FileMaker 12. Guida ODBC e JDBC

FileMaker 12. Guida ODBC e JDBC FileMaker 12 Guida ODBC e JDBC 2004 2012 FileMaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker e Bento sono marchi di FileMaker, Inc.

Dettagli

Introduzione al mondo della persistenza. Dott. Doria Mauro doriamauro@gmail.com

Introduzione al mondo della persistenza. Dott. Doria Mauro doriamauro@gmail.com Hibernate Introduzione al mondo della persistenza Dott. Doria Mauro doriamauro@gmail.com La questione della persistenza Il modo dei database è complesso e le tecniche e le tecnologie sono molte. Per anni

Dettagli

Application Server per sviluppare applicazioni Java Enterprise

Application Server per sviluppare applicazioni Java Enterprise Application Server per sviluppare applicazioni Java Enterprise Con il termine Application Server si fa riferimento ad un contenitore, composto da diversi moduli, che offre alle applicazioni Web un ambiente

Dettagli

PROGETTAZIONE E SVILUPPO DI UN. Relatore: Studente: Paolo Merialdo Valerio Barbagallo

PROGETTAZIONE E SVILUPPO DI UN. Relatore: Studente: Paolo Merialdo Valerio Barbagallo PROGETTAZIONE E SVILUPPO DI UN SIMULATORE ECONOMICO FISCALE Relatore: Studente: Paolo Merialdo Valerio Barbagallo Sommario il problema: gestione e ottimizzazione del bilancio piattaforma J2EE e framework

Dettagli

2009. STR S.p.A. u.s. Tutti i diritti riservati

2009. STR S.p.A. u.s. Tutti i diritti riservati 2009. STR S.p.A. u.s. Tutti i diritti riservati Sommario COME INSTALLARE STR VISION CPM... 3 Concetti base dell installazione Azienda... 4 Avvio installazione... 4 Scelta del tipo Installazione... 5 INSTALLAZIONE

Dettagli

Architetture Web. parte 1. Programmazione in Ambienti Distribuiti A.A. 2003-04

Architetture Web. parte 1. Programmazione in Ambienti Distribuiti A.A. 2003-04 Architetture Web parte 1 Programmazione in Ambienti Distribuiti A.A. 2003-04 Architetture Web (1) Modello a tre livelli in cui le interazioni tra livello presentazione e livello applicazione sono mediate

Dettagli

JSIS. Java Solution Integrated Suite

JSIS. Java Solution Integrated Suite JSIS Java Solution Integrated Suite architettura JSIS I sistemi ERP offrono le funzionalità e le integrazioni necessarie per offrire una vista unitaria e trasversale verso tutti i processi critici di business

Dettagli

Implementazione di MVC. Gabriele Pellegrinetti

Implementazione di MVC. Gabriele Pellegrinetti Implementazione di MVC Gabriele Pellegrinetti 2 Come implementare il pattern Model View Controller con le tecnologie JSP, ASP e XML Implementazione del pattern MVC in Java (JSP Model 2) SUN è stato il

Dettagli

Estensione di un sistema per la gestione semi-automatica di siti didattici con XML

Estensione di un sistema per la gestione semi-automatica di siti didattici con XML Università degli Studi di Milano Bicocca Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea in Informatica Estensione di un sistema per la gestione semi-automatica di siti didattici con

Dettagli

Software per la gestione di musei di arte contemporanea1

Software per la gestione di musei di arte contemporanea1 Software per la gestione di musei di arte contemporanea1 Identificativo del progetto: CA Nome documento: System Design(SD) Identificativo del documento: 6 CA_SD_E1_R1 Data del documento: 21/05/2012 Prima

Dettagli

MINISTERO DELLA GIUSTIZIA Notifiche telematiche degli atti per il settore penale presso gli uffici giudiziari

MINISTERO DELLA GIUSTIZIA Notifiche telematiche degli atti per il settore penale presso gli uffici giudiziari MINISTERO DELLA GIUSTIZIA Notifiche telematiche degli atti per il settore penale presso gli uffici giudiziari MANUALE UTENTE Versione SNT: 1.4.4 Versione 2.2 09 Febbraio 2015 Indice 1. Generalità... 4

Dettagli

Programmazione Java Avanzata

Programmazione Java Avanzata Programmazione Java Avanzata Accesso ai Dati Ing. Giuseppe D'Aquì Testi Consigliati Eclipse In Action Core J2EE Patterns - DAO [http://java.sun.com/blueprints/corej2eepatterns/patterns/dataaccessobject.html]

Dettagli

DEL SENDER GUIDA INTEGRATIVA ALL INSTALLAZIONE. Versione N.1.0. Data 11/05/2009. Sender - Guida integrativa alla installazione

DEL SENDER GUIDA INTEGRATIVA ALL INSTALLAZIONE. Versione N.1.0. Data 11/05/2009. Sender - Guida integrativa alla installazione GUIDA INTEGRATIVA ALL INSTALLAZIONE DEL SENDER Versione N.1.0 Data 11/05/2009 Versione 1.0, Data emissione 11/05/2009 Pag. 1 di 15 Revisione Capitolo Modifica Data 1.0 Prima Emissione 11/05/2009 Versione

Dettagli

COMPLETA SICUREZZA GRAZIE ALL ACCESSO PROTETTO E AI LIVELLI AUTORIZZATIVI

COMPLETA SICUREZZA GRAZIE ALL ACCESSO PROTETTO E AI LIVELLI AUTORIZZATIVI Consultazione prodotti e gestione ordini via internet SAM r-evolution La rivoluzione non è cambiare il software! SAM OW - Open Web Open-Web è l applicazione web per la consultazione online degli articoli

Dettagli

BIMPublisher Manuale Tecnico

BIMPublisher Manuale Tecnico Manuale Tecnico Sommario 1 Cos è BIMPublisher...3 2 BIM Services Console...4 3 Installazione e prima configurazione...5 3.1 Configurazione...5 3.2 File di amministrazione...7 3.3 Database...7 3.4 Altre

Dettagli

Capitolo 1 Introduzione a Gambas

Capitolo 1 Introduzione a Gambas Capitolo 1 Introduzione a Gambas Gambas è stato creato inizialmente da Benoit Minisini, un residente della periferia di Parigi. Secondo Benoit, Gambas è un linguaggio Basic con estensioni per la programmazione

Dettagli

Tecnologie di Sviluppo per il Web

Tecnologie di Sviluppo per il Web Tecnologie di Sviluppo per il Web Applicazioni Web J2EE Framework per il Modello 2 it.unibas.pinco versione 3.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima

Dettagli

CMG Descrizione Funzionale CMS User Manual

CMG Descrizione Funzionale CMS User Manual CMG Descrizione Funzionale CMS User Manual Doc. n CMG-SUM0010-03 Autore Elvio Simoone Data salvataggio 05/11/2011 N pagine 42 La riproduzione del presente documento o di sue parti non è consentita senza

Dettagli

Guida Utente della PddConsole. Guida Utente della PddConsole

Guida Utente della PddConsole. Guida Utente della PddConsole Guida Utente della PddConsole i Guida Utente della PddConsole Guida Utente della PddConsole ii Copyright 2005-2014 Link.it srl Guida Utente della PddConsole iii Indice 1 Introduzione 1 2 Prerequisiti per

Dettagli

Manuale di Integrazione IdM-RAS

Manuale di Integrazione IdM-RAS IdM-RAS Data: 30/11/09 File: Manuale di integrazione IdM-RAS.doc Versione: Redazione: Sardegna IT IdM-RAS Sommario 1 Introduzione... 3 2 Architettura del sistema... 4 2.1 Service Provider... 4 2.2 Local

Dettagli

Piattaforma e-learning Moodle. Manuale ad uso dello studente. Vers. 1 Luglio 09

Piattaforma e-learning Moodle. Manuale ad uso dello studente. Vers. 1 Luglio 09 Piattaforma e-learning Moodle Manuale ad uso dello studente Vers. 1 Luglio 09 Sommario 1. Introduzione...2 1.1 L ambiente...2 1.2 Requisiti di sistema...4 2. Come accedere alla piattaforma...4 2.1 Cosa

Dettagli

Manuale Utente CryptoClient

Manuale Utente CryptoClient Codice Documento: CERTMOB1.TT.DPMU12005.01 Firma Sicura Mobile Telecom Italia Trust Technologies S.r.l. - Documento Pubblico Tutti i diritti riservati Indice degli argomenti... 1 Firma Sicura Mobile...

Dettagli

CMS (Content Management System) della categoria Open Source

CMS (Content Management System) della categoria Open Source Una panoramica sui CMS (Content Management System) CMS (Content Management System) della categoria Open Source Per la piattaforma PHP/MYSQL e considerata l esigenza sempre più ricorrente di realizzare

Dettagli

Guida all Installazione della Binary Release di OpenSPCoop2. Guida all Installazione della Binary Release di OpenSPCoop2

Guida all Installazione della Binary Release di OpenSPCoop2. Guida all Installazione della Binary Release di OpenSPCoop2 Guida all Installazione della Binary Release di OpenSPCoop2 i Guida all Installazione della Binary Release di OpenSPCoop2 Guida all Installazione della Binary Release di OpenSPCoop2 ii Copyright 2005-2015

Dettagli

Framework. Impianti Informatici. Web application - tecnologie

Framework. Impianti Informatici. Web application - tecnologie Framework Web application - tecnologie Web Application: tecnologie 2 Java-based (J2EE) Sviluppata inizialmente da Sun Cross-platform e open source Gestire direttamente le funzionalità dell applicazione

Dettagli

Architetture di sistema

Architetture di sistema Università di Bergamo Facoltà di Ingegneria Applicazioni Internet B Paolo Salvaneschi B1_1 V1.6 Architetture di sistema Il contenuto del documento è liberamente utilizzabile dagli studenti, per studio

Dettagli

SIAB 190 MANUALE UTENTE

SIAB 190 MANUALE UTENTE SIAB 190 Servizio ausiliario web per la compilazione e pubblicazione dei dati ai sensi dell art. 1 comma 32 Legge n. 190/2012 Legge anticorruzione MANUALE UTENTE Manuale aggiornato il 09/12/2013 Sommario:

Dettagli

Manuale utente Volta Control

Manuale utente Volta Control Manuale utente Volta Control www.satellitevolta.com 1 www.satellitevolta.com 2 Volta Control è un tool che permette la progettazione, l implementazione e la gestione di database Cassandra tramite interfaccia

Dettagli

SOFTWARE MAINTENANCE DESIGN

SOFTWARE MAINTENANCE DESIGN SOFTWARE MAINTENANCE DESIGN INTRODUZIONE... 1 1.1 Identificazione della richiesta di modifica... 2 1.2 Assegnazione di un numero di identificazione alla Change Request... 2 1.3 Classificazione del tipo

Dettagli

CONTENT MANAGEMENT SYSTEM

CONTENT MANAGEMENT SYSTEM CONTENT MANAGEMENT SYSTEM P-2 PARLARE IN MULTICANALE Creare un portale complesso e ricco di informazioni continuamente aggiornate, disponibile su più canali (web, mobile, iphone, ipad) richiede competenze

Dettagli

Sviluppo di applicazioni web con il pattern Model-View-Controller. Gabriele Pellegrinetti

Sviluppo di applicazioni web con il pattern Model-View-Controller. Gabriele Pellegrinetti Sviluppo di applicazioni web con il pattern Model-View-Controller Gabriele Pellegrinetti 2 MVC: come funziona e quali sono vantaggi che derivano dal suo utilizzo? La grande diffusione della tecnologia

Dettagli

SIFORM MANUALE PROGETTI FORMATIVI

SIFORM MANUALE PROGETTI FORMATIVI SIFORM MANUALE PROGETTI FORMATIVI AVVIO ATTIVITA GESTIONE DIDATTICA GESTIONE OPERATIVA 1 Amministrazione...3 1.1 Profili utente...3 1.2 Profilazione...4 1.3 Utenti...5 2 Sezione Anagrafica delle Imprese...7

Dettagli

Presentazione funzionale. (utente redattore) Portale SPORVIC

Presentazione funzionale. (utente redattore) Portale SPORVIC TD Group S.p.A. www.tdgroup.it Presentazione funzionale (utente redattore) Portale SPORVIC TD Group S.p.A. Via del Fischione, 19 56019 Vecchiano - Migliarino P. (PI) Tel. (+39) 050.8971 Fax (+39) 050.897

Dettagli

JDBC versione base. Le classi/interfacce principali di JDBC

JDBC versione base. Le classi/interfacce principali di JDBC JDBC versione base Java Database Connectivity è il package Java per l accesso a database relazionali il package contiene interfacce e classi astratte uno dei pregi è la completa indipendenza del codice

Dettagli

Porting Su Hostingjava

Porting Su Hostingjava Porting Su Hostingjava Consigli per il caricamento di una propria applicazione su hostingjava Il porting è una operazione con cui un programma, sviluppato originariamente per una piattaforma, viene"ritoccato"

Dettagli

Università degli Studi di Bologna Facoltà di Ingegneria. Tecnologie Web L-A A.A. 2014 2015. Esercitazione 08 DAO e Hibernate

Università degli Studi di Bologna Facoltà di Ingegneria. Tecnologie Web L-A A.A. 2014 2015. Esercitazione 08 DAO e Hibernate Università degli Studi di Bologna Facoltà di Ingegneria Tecnologie Web L-A A.A. 2014 2015 Esercitazione 08 DAO e Hibernate Agenda Pattern DAO e framework Hibernate progetto d'esempio relativo alla gestione

Dettagli

Messa in esercizio, assistenza e aggiornamento di una Piattaform Open Source Liferay plug-in per ARPA

Messa in esercizio, assistenza e aggiornamento di una Piattaform Open Source Liferay plug-in per ARPA Messa in esercizio, assistenza e aggiornamento di una Piattaform Open Source Liferay plug-in per ARPA Pag. 1 di 16 Redatto da F. Fornasari, C. Simonelli, E. Croci (TAI) Rivisto da E.Mattei (TAI) Approvato

Dettagli

Manuale utente PDFONE

Manuale utente PDFONE Manuale utente PDFONE Servizio GEDCONS Societàcon socio unico, soggetta ad attività di direzione e coordinamento (ex art. 2497 bis c.c.) da parte di Credito Emiliano SpA INDICE CENNI SULL ORDINAMENTO DELLE

Dettagli

Ministero dell Istruzione dell Università e della Ricerca M070 ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE

Ministero dell Istruzione dell Università e della Ricerca M070 ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE Pag. 1/1 Sessione ordinaria 2010 Seconda prova scritta Ministero dell Istruzione dell Università e della Ricerca M070 ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE CORSO DI ORDINAMENTO Indirizzo: INFORMATICA

Dettagli

Programmazione Java Avanzata Spring - JDBC

Programmazione Java Avanzata Spring - JDBC Programmazione Java Avanzata Spring - JDBC Ing. Gianluca Caminiti Riferimenti Spring http://www.springsource.org/ (scaricate il reference) Beginning Spring 2 - From Novice to Professional. APress. 2008

Dettagli

Appunti della lezione del 8/10/2008 del corso di Basi di dati I - Università del Salento

Appunti della lezione del 8/10/2008 del corso di Basi di dati I - Università del Salento Appunti della lezione del 8/10/2008 del corso di Basi di dati I - Università del Salento Tecnologie per lo sviluppo di applicazioni La tendenza attuale dell'ingegneria è quella dell'integrazione di componenti

Dettagli

CeBAS. Centrale Bandi e Avvisi Pubblici Regionali (DGR n. 1556 del 11.09.2009)

CeBAS. Centrale Bandi e Avvisi Pubblici Regionali (DGR n. 1556 del 11.09.2009) CeBAS Centrale Bandi e Avvisi Pubblici Regionali (DGR n. 1556 del 11.09.2009) Introduzione Il progetto CEBAS: la finalità è di migliorare l efficienza operativa interna dell Ente rispondere alle aspettative

Dettagli

Breve introduzione allo sviluppo WEB. a cura di Ciro Attanasio - ciro.attanasio@email.cz

Breve introduzione allo sviluppo WEB. a cura di Ciro Attanasio - ciro.attanasio@email.cz Breve introduzione allo sviluppo WEB a cura di Ciro Attanasio - ciro.attanasio@email.cz Partiamo (1 di 1) Come funziona il WEB e quali tecnologie lo compongono Cos è un Client (1 di 2) Un client, in informatica,

Dettagli

Applicazione: Ente Web Sign Università di Pisa (EWS- Unipi) Sistema per la gestione dell Ordinativo Informatico

Applicazione: Ente Web Sign Università di Pisa (EWS- Unipi) Sistema per la gestione dell Ordinativo Informatico Riusabilità del software - Catalogo delle applicazioni: Amministrativo/Contabile Applicazione: Ente Web Sign Università di Pisa (EWS- Unipi) Sistema per la gestione dell Ordinativo Informatico Amministrazione:

Dettagli

JavaServer Pages: Introduzione

JavaServer Pages: Introduzione JavaServer Pages: Introduzione Gianluca Moro gianluca.moro@unibo.it Dipartimento di Elettronica, Informatica e Sistemistica Università di Bologna Sistemi reali in JSP!! ofoto.com: stampa e gestisce foto

Dettagli

PROGETTO DI UN MIDDLEWARE PER L ACCESSO REMOTO A UN REPOSITORY

PROGETTO DI UN MIDDLEWARE PER L ACCESSO REMOTO A UN REPOSITORY Giampiero Allamprese 0000260193 PROGETTO DI UN MIDDLEWARE PER L ACCESSO REMOTO A UN REPOSITORY Reti di Calcolatori LS prof. Antonio Corradi A.A. 2007/2008 ABSTRACT L obiettivo di questo progetto è la realizzazione

Dettagli