Università degli Studi di Ferrara

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Università degli Studi di Ferrara"

Transcript

1 Università degli Studi di Ferrara FACOLTÀ DI INGEGNERIA Corso di laurea in INGEGNERIA INFORMATICA E DELL'AUTOMAZIONE UN'APPLICAZIONE WEB PER LA GESTIONE E LA CONSULTAZIONE DELL'ARCHIVIO DEI LAVORI PUBBLICI DEL COMUNE DI CENTO Laureando Nino Burini Relatore Cesare Stefanelli Anno Accademico 2005/2006

2 INDICE GENERALE Pag : Introduzione Pag. 5 Pag. 5 Pag. 7 Pag : Presentazione del progetto Servizio Web Lavori Pubblici 2.1: La situazione preesistente 2.2: Il passaggio a un'applicazione Web 2.3: Descrizione del servizio, specifiche e requisiti Pag. 11 Pag. 11 Pag. 15 Pag. 15 Pag. 16 Pag. 19 Pag : Progettazione del servizio 3.1: Progetto e struttura dei dati 3.2: Gruppi di utenti 3.3: Conversazioni e pagine 3.3.1: Le conversazioni 3.3.2: Progetto del layout delle pagine 3.4: Architettura Pag. 23 Pag. 23 Pag. 23 Pag. 24 Pag. 25 Pag. 28 Pag. 29 Pag. 20 Pag. 33 Pag. 38 Pag : Realizzazione del servizio 4.1: Strumenti e Tecnologie 4.1.1: PHP (scripting server-side) 4.1.2: SQL Server (DBMS) 4.1.3: Apache (Web server) 4.1.4: HTML e CSS 4.1.5: Javascript (scripting client-side) 4.2: Costruzione del database 4.3: Utenti, autenticazione e oggetti 4.4: Pagine Web 4.5: Collaudo e test Pag : Conclusione 1

3 2

4 1: Introduzione Negli ultimi anni Internet ha conosciuto una crescita portentosa, in termini di utilizzatori e di maturità. Se all'origine basava il suo funzionamento esclusivamente su elementi statici ora è un complesso molto più dinamico, potente e ricco di servizi; per fare un esempio immediato, si pensi ai molti portali disseminati per la Rete che offrono al visitatore informazioni e, appunto, servizi di vario genere (Web-mail, blog...). Le pubbliche amministrazioni (comuni, province...) in molti casi hanno dimostrato di aver intuito le potenzialità di Internet per quello che riguarda il rapporto con i cittadini. Considerando la loro natura di erogatori di servizi, da questo punto di vista Internet e le tecnologie del Web possono rivelarsi uno strumento utilissimo. Anche a livello nazionale e legislativo se ne è percepita l'importanza e l'introduzione della legge Stanca nel 2004, che spinge gli enti a rendere accessibili i propri siti a quante più persone possibile, ne è la dimostrazione. Il Comune di Cento è uno dei più informatizzati d'italia ed è all'avanguardia nell'erogazione di servizi informatici. Dal suo portale è possibile fruire di molti servizi che di tanto in tanto vengono ampliati e arricchiti. E' questo il caso del Servizio Web Lavori Pubblici, una semplice applicazione web realizzata nella cornice di un tirocinio formativo universitario previsto per i laureandi di Ingegneria Informatica dell'università di Ferrara. Tale tirocinio si è svolto presso il Servizio Sistemi Informativi (SSI), che si occupa di amministrare la struttura hardware e software della intranet del Comune di Cento, del suo portale e dei siti Internet collegati. Servizio Web Lavori Pubblici ha due scopi: da un lato fornire ai dipendenti dell'ufficio Lavori Pubblici uno strumento per poter gestire con semplicità l'archivio comunale delle opere pubbliche del territorio Centese, dall'altro permettere ai cittadini di poter consultare lo stesso via Internet. Se a questi ultimi è concessa la possibilità di effettuare ricerche tra le varie opere pubbliche, i dipendenti possono inserirle, modificarle e cancellarle dal sistema, oltre a poter eseguire una serie di altre operazioni. Presso l'ufficio esisteva già un sistema di gestione dei lavori pubblici che però presentava una serie di difetti anche rilevanti (ad esempio scarsa separazione tra contenuto e 3

5 presentazione, difficoltà nell'ordinamento dei dati, impossibilità di modifiche contemporanee da parte di più persone, ecc.). Il progetto che ha portato alla realizzazione della nuova applicazione è passato attraverso una serie di fasi, la prima delle quali è consistita nell'analisi del vecchio sistema (basato sull'utilizzo di un foglio di calcolo) e in particolare delle sue mancanze. Da questo punto di partenza si è iniziato a cercare una soluzione, almeno a livello generale; è risultata subito evidente la necessità di ricorrere, per la gestione dei dati, all'uso di un database in virtù delle sue caratteristiche in termini di efficacia, efficienza e sicurezza. Grazie ad alcune interviste ai committenti, volte alla raccolta di direttive, si è fatta maggior chiarezza sulle funzioni di cui avrebbe dovuto disporre il servizio una volta sviluppato. In base all'analisi di queste informazioni si è potuti passare all'effettiva progettazione della nuova applicazione. Sono stati individuati e costruiti i dati che avrebbe dovuto gestire (naturalmente i lavori pubblici, ma anche gli avanzamenti di stato, le categorie delle opere pubbliche ed i referenti comunali) e si sono determinati i tipi di utenti che ne avrebbero usufruito, assieme ai loro privilegi; in particolare i gruppi di utenti considerati sono stati due, uno pubblico (i visitatori esterni, che avrebbero potuto eseguire ricerche nel database dei lavori) e uno privato di amministrazione (che oltre alle ricerche avrebbe potuto effettuare modifiche sulla base dati e sulle istanze dei lavori pubblici). In seguito si è studiato in che modo le pagine Web dovessero essere costruite e disposte per permettere all'utente un'adeguata interazione con l'applicazione (ad esempio impostandole tutte con lo stesso layout) e si sono fatte valutazioni sull'infrastruttura hardware sottostante: il nuovo servizio si sarebbe dovuto adattare alla struttura preesistente; fortunatamente, considerate le sue ridotte esigenze, non si è trattato di un problema. A quel punto si è passati alla fase di realizzazione, che ha reso finalmente il Servizio Web Lavori Pubblici operativo. Grazie all'utilizzo di tecnologie provenienti sia dal mondo Open Source (Apache e PHP) che da quello proprietario (SQL Server) è stato creato il database partendo dalla considerazioni sui dati, si è implementata l'autenticazione (single sign-on) degli utenti e sono stati scritti gli script e le pagine. Negli ultimi giorni, per quanto possibile, l'applicazione è stata collaudata e testata per rivelare la presenza di errori fino a qual momento trascurati. 4

6 2: Presentazione del progetto Servizio Web Lavori Pubblici Questo capitolo presenta una visione globale della situazione precedente la realizzazione del progetto Servizio Web Lavori Pubblici e dei primi passi fatti per trovare un'altra soluzione, consistenti nell'analisi dei difetti esistenti e nella raccolta dei requisiti per la nuova applicazione. La fase della raccolta delle specifiche è la prima a svolgersi durante la realizzazione di un progetto software. E' tipicamente un progressivo atto di convergenza tra il committente e lo sviluppatore che si basa su successive interviste durante le quali vengono raccolte quante più informazioni possibile, che vengono poi analizzate e strutturate; chi realizza l'applicazione ha bisogno di chiedere chiarimenti al cliente per poter svolgere al meglio il suo lavoro e nel contempo può proporre soluzioni e suggerire l'aggiunta di funzioni non ancora considerate. Giungere a un punto di accordo comune è molto importante, poiché le successive fasi della realizzazione ne risentono: la modifica o la correzione tardiva delle specifiche può rivelarsi molto costosa, in termini di denaro, tempo e sforzo. 2.1: La situazione preesistente Prima che venisse commissionata la realizzazione del nuovo servizio Web per i lavori pubblici, presso il Comune di Cento le opere sul territorio erano gestite da un dipendente comunale che teneva traccia delle varie attività con un foglio di calcolo elettronico con MS Excel. Il foglio elettronico in questione disponeva le informazioni in tabella, come nell'esempio della Figura 1. Le righe rappresentano le opere pubbliche, le quali sono raggruppate secondo il settore di appartenenza. Le colonne invece riferiscono alcuni valori dell'opera, come il nome, gli importi stanziati per la sua realizzazione, la fonte di finanziamento della stessa o lo stato di avanzamento. Quest'ultimo è indicato attraverso la colorazione della cella corrispondente allo stadio di evoluzione dei lavori e di quelle precedenti; per ogni cella può essere specificata una data (tipicamente quella di raggiungimento dello stato in considerazione) e una nota. 5

7 Figura 1: esempio del foglio di calcolo utilizzato per gestire i lavori pubblici del Comune di Cento Questo sistema di archiviazione presenta dei limiti, in parte legati al modo in cui vengono gestite le informazioni, in parte dovuti alla natura del foglio di calcolo stesso. Per cominciare, esiste un foglio Excel dedicato ai lavori pubblici per ogni anno (per esempio, tutte le opere pubbliche del 2005 sono registrate nello stesso file); accade poi che la presentazione dei dati nei vari fogli di calcolo sia differente. Ciò può comportare delle difficoltà nel caso si volessero confrontare lavori di anni diversi. Il file è presente in un'unica copia sul disco rigido del computer del dipendente comunale addetto al suo controllo, per cui è precluso l'accesso contemporaneo in scrittura da parte di più persone; si potrebbero creare più copie del file ma, oltre a essere questa una pratica poco sicura per quanto riguarda la segretezza dei dati, ci si dovrebbe preoccupare di sincronizzare le modifiche effettuate sulle diverse istanze del foglio di calcolo. Non è di minore impatto il fatto che la responsabilità del backup dei file sia assegnata al suddetto dipendente, che potrebbe sottovalutarne l'importanza o dimenticarsi di eseguirlo: per questo i rischi di perdita di dati in caso di danneggiamento o eliminazione del foglio Excel sono molto forti. Uno dei limiti maggiori è causato dalla scarsa separazione tra contenuto e presentazione presente nei file di Excel. Ne è un esempio il fatto che il colore di sfondo di una cella (che in questo caso è portatore di informazione, indicando lo stato di 6

8 avanzamento dell'opera pubblica) è una proprietà della cella stessa e non ha alcun legame con il suo contenuto: se si prova a cambiare l'ordinamento di una colonna sarà soltanto il testo contenuto nelle celle a essere ordinato, mentre i colori di sfondo non muteranno la loro disposizione. Lo stesso ordinamento è problematico in Excel: se infatti è immediato quando viene eseguito sui contenuti delle celle di una colonna, indipendentemente dalle altre colonne (sintomo del fatto che non esiste una relazione tra i dati), non lo è altrettanto se si cerca di farlo con delle intere righe (circostanza molto più utile e frequente). Nel particolare caso in questione bisogna aggiungere che alcune righe non contengono dati sui lavori pubblici, bensì intestazioni (come il nome della categoria, o i nomi delle colonne): se anche si riuscisse a ordinare righe intere e si sorvolasse su questioni come quella del colore, inevitabilmente queste righe superflue creerebbero un disturbo. Non per ultimo, considerando che le informazioni sui lavori pubblici possono costituire una risorsa interessante, l'uso di un file Excel preclude l'accesso a questi dati ai cittadini del Comune; al più possono accedervi gli utenti della intranet (sebbene con le limitazioni sopraccitate). Questa serie di difetti è dovuta principalmente a un uso errato del foglio di calcolo: questo infatti si presta molto bene per svolgere alcuni compiti come, ad esempio, eseguire calcoli o rappresentare grafici, ma non si comporta adeguatamente nella gestione dei dati (a meno che non si tratti di quantità minuscole e poco articolate). Per questo fine è molto più adatto un database, più complesso e impegnativo ma senz'altro migliore nell'archiviazione delle informazioni. 2.2: Il passaggio a un'applicazione Web I difetti della soluzione basata esclusivamente su di un foglio di calcolo salvato su di un singolo PC della intranet (che quindi potrebbe anche essere spento e non essere accessibile dalle altre postazioni) sono tali che diventa necessario trovarne un'altra, la quale permetta a più persone di attuare operazioni di scrittura anche contemporaneamente, garantisca la sicurezza dei dati, ne assicuri l'uniformità, permetta di manipolarli in maniera più o meno complessa e separi il contenuto dalla presentazione dello stesso, risultando così decisamente più flessibile. 7

9 Uno dei rimedi, quello per cui si è optato, comporta l'abbandono del sistema attuale a favore di uno orientato al modello client-server: in questo modo è possibile trasferire l'archivio dei lavori pubblici in un database installato su di un computer sempre acceso e raggiungibile (il server) il cui scopo è rendere disponibili le risorse dell'archivio agli altri computer che ne facciano richiesta. L'accoppiata tra modello client-server e database corregge tutti i difetti del metodo basato sul foglio Excel. Come si è detto, la base di dati è centralizzata e installata sul server; essendo unica, i dati che ospita devono essere omogenei (eliminando le differenze che si potevano notare sui fogli di calcolo di anni diversi) e raggruppati. Si è giunti inoltre a un gestione di solo contenuto, mentre la presentazione delle informazioni viene trasferita a livelli logici superiori. I database sono in grado di gestire adeguatamente la multiutenza, la concorrenza e le transazioni, molto importante in scrittura. Per questo non costituisce un problema se più persone vorranno intervenire contemporaneamente per effettuare modifiche delle opere pubbliche, senza compromissioni per la segretezza dei dati. Gli stessi database sono anche più severi quanto al controllo dei dati: una rigidità che diminuisce il rischio di inserire dati inconsistenti o formalmente errati. Nel caso particolare del Comune di Cento, i database già presenti sono sottoposti a un backup automatico settimanale; si risolve così il problema della sicurezza. Il modello client-server è quasi sinonimo di applicazioni Web, il che ha reso pressoché naturale optare per questa strada. Il Web offre una serie di vantaggi, primo tra tutti l'uso di un'interfaccia standard basata su browser, che garantisce una facilità d'uso molto alta e che risulta semplice e immediata per molti utenti. Il Web fornisce anche la possibilità di accedere ai servizi forniti da un'applicazione da qualsiasi computer connesso a Internet. Se le circostanze lo richiedessero, il dipendente comunale potrebbe collegarsi da una postazione esterna alla intranet comunale per svolgere il suo lavoro. Una situazione più interessante si delinea se si pensa che in questo modo possono accedere all'archivio delle opere pubbliche del comune anche i suoi cittadini, permettendo loro di accedere a informazioni di pubblica utilità; questo semplice aspetto in realtà dovrebbe essere sufficiente a convincere un'amministrazione pubblica a 8

10 adottare un sistema che permette di fornire informazione e trasparenza ai propri amministrati. 2.3: Descrizione del servizio, specifiche e requisiti Una volta che le intenzioni sono state chiarite, quello che bisogna fare è raccogliere quante più informazioni si riesca per definire chiaramente che cosa il comune voglia fare con la nuova applicazione. Per questo sono stati interpellati i responsabili dell'ufficio Lavori Pubblici e i componenti dell'ssi del Comune di Cento, al fine di apprendere quali funzioni dovesse comprendere il servizio online e al fine di conoscere alcuni dettagli tecnici importanti per lo sviluppo del medesimo. Dai confronti successivi è emerso che il Servizio Web Lavori Pubblici deve disporre di due lati, uno pubblico (di consultazione, per i cittadini) e uno privato (di amministrazione, per i dipendenti comunali). Per quello che riguarda il lato pubblico (detto anche front-end), si vuole che: i visitatori esterni possano navigare all'interno dell'archivio delle opere pubbliche, fornendo gli strumenti per eseguire ricerche secondo alcuni parametri quali lo stadio ( in progettazione, in corso, ultimato ), l'anno e la categoria; gli stessi possano visualizzare il dettaglio di una singola opera pubblica; siano rispettate le normative relative all'accessibilità e all'usabilità previste dalla legge per i siti della pubblica amministrazione. Quanto al lato privato (back-end, o back-office) si richiede una maggior complessità: Utenti: è sufficiente un singolo gruppo di utenti back-end (detti Amministatori o Gestori ) per la gestione dei lavori: quindi tutte le persone ammesse al lato di amministrazione detengono gli stessi poteri e non è necessario specificare ulteriori ruoli. Possono essere Amministratori i membri dell'ufficio Lavori Pubblici che siano stati referenti di almeno un lavoro. L'autenticazione deve essere single sign-on: una volta che un utente ha effettuato il login a Windows da una postazione della intranet l'applicazione 9

11 deve riconoscere lo username e determinare se l'utente sia o meno autorizzato a accedervi. Ricerche: come per il front-end, deve essere possibile effettuare delle ricerche tra i lavori. Stampe formattate: i risultati delle ricerche devono poter di essere stampati con una formattazione abbastanza simile a quella dei fogli di calcolo usati in precedenza. Lavori pubblici: il fulcro dell'applicazione sono i lavori pubblici, che costituiscono l'oggetto più importante e complesso da gestire; per quello che riguarda le proprietà che devono essere considerate, bisogna fare riferimento ai vecchi fogli Excel e aggiungere la locazione, l'anno, delle coordinate cartografiche (ad uso del SIT, Sistema Informativo Territoriale, del Comune di Cento) e l'indirizzo di un'immagine memorizzata sul server che rappresenti il luogo dei lavori; a seconda dello dello stato di avanzamento, un lavoro può essere definito in progettazione, in corso o ultimato. Alcuni dati (ad esempio il nome del progettista e quello del referente comunale) non devono essere visibili dall'utente esterno ma soltanto ai Gestori. E' secondo la discrezione di questi ultimi che si decide quali opere pubbliche debbano o meno essere pubblicate, cioè rese visibili front-end. Referenti e Categorie: tra tutti i dati di un lavoro pubblico sono molto importanti il referente (ossia il dipendente dell'ufficio Lavori Pubblici cui è ne assegnata la supervisione) e la categoria (ad esempio Edilizia Scolastica o Riqualificazione Urbana ): per questo devono essere codificate a livello di database come entità e non come attributi del lavoro. Database: non esiste alcun database preesistente dei lavori pubblici, per cui è necessario crearne un nuovo e popolarlo con tutti i dati registrati nei fogli di calcolo degli ultimi anni. Architettura: si sarebbe dovuta utilizzare l'architettura hardware e software esistente. Viste queste richieste, ci troviamo di fronte a un CMS (Content Management System) non 10

12 molto sofisticato: infatti c'è solo un gruppo di utenti back-office e gli unici oggetti da gestire abbastanza rilevanti sono i lavori pubblici. 11

13 3.0: Progettazione del servizio Le informazioni ricavate in seguito alla raccolta delle specifiche dei requisiti del Servizio Web Lavori Pubblici hanno costituito la base della fase successiva, la progettazione. Si è proceduto anzitutto con l'individuazione e la strutturazione delle entità logiche che dovevano essere trattate (compresi i gruppi di utenti) per continuare con il design dei flussi delle conversazioni che interagiscono con tali entità. A seguire, lo studio e la scelta dei componenti dell'architettura, l'infrastruttura hardware e software sottostante che permette il funzionamento effettivo dell'applicazione. 3.1: Progetto e struttura dei dati Le entità sono rappresentazioni di classi di oggetti contraddistinti da una serie di attributi o proprietà. Una proprietà può essere a valore singolo o avere più valori, mentre il tipo del valore (o dei valori) può essere semplice (una stringa, un numero, un booleano...) o complesso (un oggetto). Le entità possono essere in oltre messe in relazione tra di loro e per ogni relazione possono essere esplicitate le molteplicità, cioè il numero di istanze considerabili. Osservando le specifiche si possono individuare quattro entità di cui il Servizio Web Lavori Pubblici deve tener conto: i lavori pubblici (ai quali sono associati i diversi avanzamenti dello stato), le categorie degli stessi e i referenti comunali. Le relazioni esistenti sono rappresentate dallo schema ER (Entity-Relationship) della Figura 2. Figura 2: schema ER delle entità dell'applicazione 12

14 Le molteplicità sono presto spiegate: ad una categoria possono fare riferimento più lavori, mentre un lavoro viene posto sotto una sola categoria ad un lavoro corrispondono più avanzamenti, un'istanza di avanzamento è riferita a un singolo lavoro un lavoro considera solo un referente, mentre a un referente possono essere assegnati più lavori E' interessante notare che gli avanzamenti sono un'entità debole. Questo perché hanno un'unica relazione e le loro istanze devono essere necessariamente associate a un lavoro per assumere significato: un avanzamento quindi può esistere soltanto se c'è un'opera pubblica che lo comprende. In UML (Unified Modeling Language) questa associazione tra entità prende il nome di composizione. I lavori pubblici (o opere pubbliche) costituiscono l'entità fondamentale che il Servizio Web Lavori Pubblici deve trattare. Essi sono la trasposizione digitale degli interventi di natura edile e infrastrutturale che l'amministrazione comunale attua sul suo territorio. Studiando i requisiti specificati in precedenza è possibile individuare quali proprietà possano interessare un lavoro pubblico. Siamo di fronte a un insieme di attributi semplici a valore singolo (oltre all'oid, il nome, l'anno, la categoria, gli importi stanziati, il finanziamento, il progettista, le coordinate cartografiche, l'url dell'immagine associata, le varie voci che compongono la locazione e un flag che indichi se l'opera pubblica è disponibile front-end) e di attributi complessi, cioé il referente comunale e gli avanzamenti. L'evoluzione di un'opera pubblica è data dalla successione degli avanzamenti che la caratterizzano. Dall'analisi del foglio Excel si può ricavare la sequenza degli stadi attraverso cui occorre passare: 13

15 1. Affidamento incarico 2. Disciplinare incarico 3. Progetto preliminare 4. Attivazione procedura espropriativa 5. Progetto definitivo 6. Quattro (4) pareri 7. Impegno finanziario 8. Progetto esecutivo 9. Gara d'appalto 10. Contratto 11. Consegna lavori 12. Conclusione esproprio 13. Ultimazione lavori 14. Collaudo 15. Economia Dal punto di vista degli attributi dell'avanzamento, queste voci rappresentano i tipi di avanzamento che si possono incontrare. Un'altra proprietà necessaria è un valore numerico che indichi la posizione dell'avanzamento all'interno della sequenza (potrebbe essere l'indice della precedente lista); sarà così possibile disporlo correttamente quando si tratterà di gestire lo stato di un lavoro. Poiché le specifiche richiedono che sia possibile effettuare ricerche tra i lavori secondo lo stadio ( in progettazione, in corso, concluso ) si inserisce un ulteriore attributo, costituito da un flag ternario, che associa all'avanzamento uno dei tre stadi elencati: cercando l'ultimo avanzamento di un lavoro sarà possibile risalire allo stadio dell'opera pubblica (in particolare, sarà in progettazione fino all'impegno finanziario, in corso tra la consegna e l'ultimazione dei lavori e conclusa a partire dal collaudo). Come da specifiche, vanno inclusi anche 2 attributi indicanti la data di raggiungimento dell'avanzamento e una nota di testo. Passando alle altre entità, quella delle categorie si rivela molto semplice poiché ha due soli attributi : l'oid (Object IDentifier) e il nome. Non sono necessarie altre informazioni perché la categorizzazione dei lavori ha un unico livello e a dire il vero l'unica 14

16 ragione che giustifichi l'esistenza di questa entità è la volontà di codificare questo importante attributo delle opere pubbliche. Il referente, inteso come entità, ha due volti: per un verso costituisce una serie di valori per un attributo dei lavori pubblici (come già detto, è il dipendente comunale dell'ufficio Lavori Pubblici che viene assegnato alla supervisione di un'opera pubblica per conto dell'amministrazione locale), per l'altro rappresenta gli utenti che hanno la possibilità di accedere all'amministrazione dell'applicazione (secondo le specifiche infatti i referenti sono anche possibili utenti del Servizio Web Lavori Pubblici nel ruolo di Gestori). Per questi motivi non sono sufficienti proprietà che permettano di identificare le persone (come il nome e il cognome) ma diviene necessario registrare i loro username della intranet per poterli riconoscere come dipendenti comunali e eventualmente autorizzarli ad accedere al servizio. A questo proposito, si inserisce altresì un attributo booleano che indica se il referente è o meno autorizzato a amministrare (l'autorizzazione potrebbe essere tolta, per esempio, a dipendenti comunali che smettono di lavorare nell'ufficio Lavori Pubblici). La Figura 3 riporta un riassunto grafico delle conclusioni di questo capitolo. Figura 3: schema ER espanso delle entità dell'applicazione 15

17 3.2: Gruppi di utenti Per il Servizio Web Lavori Pubblici è necessario un solo gruppo di utenti interni registrati, quello degli Amministratori/Gestori. L'altro gruppo che deve essere considerato è quello degli utenti esterni non registrati (che potremmo chiamare Visitatori, Cittadini o Residenti). Un Gestore, nel contesto dell'applicazione, è paragonabile al dipendente comunale che aggiornava i fogli di calcolo contenenti informazioni sulle opere pubbliche. Ha molto potere per quanto riguarda la gestione dei dati. Si tratta dell'utente che inserisce nuovi lavori pubblici nel database, li modifica, li elimina e ne aggiorna lo stato creando degli avanzamenti. Può creare e modificare le categorie dei lavori e, a patto che non vi siano assegnate delle opere, eliminarle. Può fare lo stesso per i referenti, ai quali può inoltre concedere o negare l'autorizzazione a amministrare i lavori pubblici (visto che corrispondono anche a potenziali utenti). Naturalmente, il Gestore può effettuare ricerche nel database delle opere fornendo determinati parametri (lo stadio, l'anno, la categoria, il nome e il referente, oltre all'ordine e al verso che si desiderano). I Visitatori esterni possono essere immaginati come i cittadini del comune di Cento che accedono al servizio per consultare il database. L'unica opzione di cui dispongono sono le ricerche, quindi possono soltanto navigare l'archivio e visualizzare il dettaglio di un'opera pubblica. Tale funzione è ottenuta per sottrazione da quella analoga del Gestore, eliminando il parametro del referente comunale (che secondo le specifiche è un'informazione riservata). 3.3: Conversazioni e pagine I gruppi di utenti sono stati individuati, il passo seguente consiste nella descrizione delle conversazioni. E' detta conversazione una sequenza di pagine Web che abbia un senso compiuto (ad esempio la successione di pagine necessaria per acquistare un prodotto in un sito di e-commerce); generalmente essa porta alla conclusione di un'azione ed è caratterizzata inoltre dall'insieme dei dati che vengono trasferiti nel passaggio da una pagina a quella seguente (il cosiddetto flusso della conversazione). Nella progettazione delle conversazioni ci si può avvalere di un criterio empirico detto 16

18 di similitudine o di somiglianza : se due pagine sono simili tra di loro, può avere senso fonderle in una sola. Un caso frequente è costituito dall'inserimento e dalla modifica di un'istanza di un'entità: solitamente queste funzioni si realizzano con pagine contenenti i form necessari per raccogliere i dati richiesti all'istanza; la sola differenza che intercorre tra le due è che per la modifica nei campi vengono precaricati i valori specificati al momento della creazione o dell'ultima variazione. Seguire il criterio di somiglianza porta alla riduzione di possibili ridondanze e a un uso più efficiente del codice, con una conseguente maggiore complessità. Infatti, poiché un'unica pagina può servire a più casi, diventa necessario specificarne lo stato (nell'esempio insert o modify ), il quale viene generalmente passato come un parametro GET o POST e indica il contesto d'azione e le operazioni che devono essere eseguite. Il criterio si somiglianza non ha un preciso campo di applicazione e non è detto che fornisca sempre soluzioni convenienti; può elargire indicazioni utili per favorire il progetto delle conversazioni e dei flussi, ma non bisogna dimenticare che si tratta di una regola più congeniale per instradare verso un rimedio che per risolvere : Le conversazioni I paragrafi seguenti illustrano le conversazioni dell'applicazione, partendo da quella di ricerca (comune per i Visitatori e gli Amministratori, seppur con qualche differenza). Per semplicità i flussi sono stati raggruppati a seconda dell'entità che trattano. Ricerca: la prima pagina visualizzata accedendo al Servizio Web Lavori Pubblici è quella contenente il form per inserire i parametri di ricerca per le opere pubbliche. Tali parametri sono per la precisione lo stadio, l'anno, la categoria e il nome (per i Gestori anche il referente) oltre all'ordine e al verso in dovranno essere disposti i record risultanti. Inoltrando il form si accede a un'altra pagina che visualizza i risultati della ricerca, disponendo in una tabella alcune informazioni sui lavori trovati (solo quelle che l'utente è autorizzato a vedere). Selezionando un lavoro è possibile accedere alla schermata che espone informazioni più dettagliate su di esso (naturalmente solo quelle per cui si ha l'autorizzazione). Questa conversazione è rappresentata nella Figura 4. 17

19 Figura 4: conversazione di ricerca Le conversazioni che seguono sono disponibili soltanto per il gruppo dei Gestori. Gestione lavori: l'amministratore ha il potere di inserire nel database nuove opere pubbliche, di modificarle e di eliminarle, come mostrato nella Figura 5. L'inserimento si attua grazie a una pagina che ospita i campi di un form; alcuni di questi sono campi di testo da riempire mentre altri sono menù a tendina popolati con valori codificati sul database (è il caso delle categorie e dei referenti). Naturalmente per creare un lavoro sarà necessario specificarne almeno il nome (gli altri dati potranno essere cambiati in seguito). Inoltrando la richiesta con successo si arriverà alla pagina di dettaglio dell'opera pubblica appena inserita e da questa si potrà partire per modificare i dati del lavoro o per specificarne gli avanzamenti. La modifica sfrutta lo stesso form dell'inserimento, con la differenza che nei campi vengono precaricati i valori specificati in occasioni precedenti; sarà possibile accedere alla pagina in modalità modify dalla schermata di dettaglio dell'opera che si vuole modificare. Se il submit del form ha successo si tornerà al dettaglio del lavoro, aggiornato. Anche l'eliminazione può essere effettuata dalla pagina dell'opera pubblica, con un comando apposito. Se avrà successo, si tornerà alla pagina dei risultati della ricerca. Per comodità si può aggiungere in questa stessa pagina un comando, associato a ogni lavoro pubblico riportato, che permetta di eliminarlo direttamente. 18

20 Figura 5: flussi della gestione dei lavori pubblici Gestione avanzamenti: l'amministratore ha naturalmente il potere di specificare gli avanzamenti di un lavoro, aggiornarli e nel caso cancellarli. Queste operazioni sono permesse partendo dalla pagina di dettaglio del lavoro pubblico. Considerando che nella maggioranza dei casi è sufficiente creare un avanzamento e collegarlo al lavoro senza che sia necessario specificare la data o la nota, può essere sufficiente esporre una lista dei possibili avanzamenti dove cliccando su uno degli elementi si proceda alla sua creazione; fatto questo, l'istanza dell'avanzamento verrebbe in qualche modo evidenziata. Se si volessero precisare la data o la nota allora si dovrebbe procedere alla modifica, selezionando l'avanzamento che interessa: si accede così a una pagina con un semplice form di due campi che permette di precisare i due valori. Se l'inoltro ha successo si ritorna alla schermata del lavoro. L'eliminazione è altrettanto semplice, è sufficiente selezionare il comando apposito associato all'istanza dell'avanzamento che si vuole cancellare. A riguardo di questa conversazione, si consideri la Figura 6. 19

21 Figura 6: flussi della gestione degli avanzamenti Gestione categorie: le categorie sono particolarmente semplici da gestire, possedendo da una sola proprietà (il nome). Poiché inoltre il numero di categorie non sarà mai molto elevato si può usare un'unica pagina per tutte le funzioni, abbinando all'elenco delle categorie già create il form per modificarle e crearne altre. La modifica avviene attraverso due passaggi: nel primo, dopo aver selezionato una categoria, si effettua il precaricamento del form mentre nel secondo avviene l'aggiornamento. L'eliminazione sarà possibile soltanto se la categoria in questione non risulterà associata a nessun lavoro pubblico. Gestione referenti: il caso è del tutto analogo a quello delle categorie, varia soltanto il form. Anche qui l'eliminazione è possibile solo se il referente non è associato a alcuna opera pubblica. Le ultime due paragrafi sono il soggetto della Figura 7. Figura 7: flussi per la gestione delle categorie e dei referenti; le pagine tratteggiate sono state inserite per chiarezza al fine di rendere esplicito il percorso di modifica, in realtà rappresentano sempre la stessa pagina 20

22 3.3.2: Progetto del layout delle pagine E' bene che le diverse pagine che compongono un'applicazione Web siano per quanto possibile graficamente uniformi. Questo accorgimento, che ha il merito di rendere più agevole la navigazione e di standardizzare il posizionamento degli elementi, può essere applicato con una serie di strumenti potenti e flessibili. Generalmente vengono definiti un header e un footer (rispettivamente un'area situata all'estremo superiore della pagina e un'altra posta all'estremo inferiore), assieme a un numero variabile di barre laterali. Solitamente l'header contiene un logo o un intestazione, il footer alcune informazioni secondarie e le barre dei menù che indicano le aree principali del sito. Considerando che le aree di Servizio Web Lavori Pubblici non sono molte (coincidono quasi con i gruppi di conversazioni citati in precedenza) sembra eccessivo utilizzare un'intera porzione laterale dello schermo per poche righe. Per questo un piccolo riquadro che contiene i comandi e i link disponibili per la pagina visualizzata al momento viene posto, assieme a un'intestazione contestuale della pagina, nella sezione alta del content, l'area centrale della pagina che rimane riservata alla visualizzazione del contenuto per cui effettivamente questa è stata richiesta; nel caso questa può essere ulteriormente strutturata per venire incontro alle esigenze che possono presentarsi nelle singole pagine. Il layout del servizio è mostrato nella Figura : Architettura A questo punto si può dire conclusa la progettazione del servizio in sé, resta da definire l'architettura, cioè l'infrastruttura hardware e software sottostante che ne permette il funzionamento materiale. In condizioni normali, a seconda del tipo di applicazione, i componenti del sistema vengono scelti in base a obiettivi ben chiari ma che possono variare di molto dipendentemente delle circostanze (prestazioni, resistenza ai guasti, sicurezza...); tali scelte sono naturalmente influenzate da altrettanto chiari vincoli, quali il budget a disposizione per la realizzazione del progetto, la competenza di chi dovrà gestire il sistema e l'eventuale presenza di un'architettura già in uso. Proprio quest'ultimo è il caso in questione: si dispone di un'infrastruttura già esistente e funzionante che non può essere modificata e alla quale bisogna adattarsi, quella della rete del Comune di Cento. In verità, Servizio Web Lavori Pubblici è un'applicazione semplice che non 21

23 richiede particolari prestazioni da parte dell'hardware per funzionare adeguatamente, né pretende di usare tecnologie particolarmente esclusive o esotiche; non si prevedono nemmeno molti accessi, almeno non tanti da mettere in difficoltà l'architettura presente. Insomma, vista la sua ridotta complessità, l'applicazione può adattarsi facilmente a diversi sistemi. Poiché non è dato di riprogettare l'architettura e le scelte possibili sono poche, è il caso di presentare la struttura attuale della piattaforma che supporta Servizio Web Lavori Pubblici (mostrata nella Figura 9). Figura 8: schema del layout delle pagine del "Servizio Web Lavori Pubblici" 22

24 L'intranet del Comune di Cento è separata da Internet grazie a un firewall. Questo stesso firewall delimita anche la DMZ (DeMilitarized Zone). In origine in questa venne installato un Web server Apache su piattaforma Linux (con PostgreSQL come database) che ospitava il portale del comune e era destinato all'accesso da parte dei visitatori. Nella DMZ c'era anche un server detto Ras, che forniva ai cittadini la possibilità di collegarsi a Internet in modalità dial-up senza dover pagare alcun abbonamento. C'era però un problema, legato al fatto che i cittadini connessi attraverso Ras si collegavano al server Web senza passare attraverso il firewall. Al fine di aumentare la sicurezza, si decise che i nuovi servizi Web sarebbero stati installati in un altro server, interno alla intranet, detto server Applic. Questo ha mantenuto Apache come Web server ma la piattaforma cambiò in Windows, per omogeneità con le postazioni intranet esistenti. Anche il database cambiò a favore di MySQL, ritenuto più semplice. L'ultima evoluzione nel tempo si è verificata ancora per il database, con il passaggio a SQL Server di Miscrosoft per una serie di motivi che vanno dal supporto per l'autenticazione single sign-on alla presenza di funzioni proprietarie che interessano al Comune, al fatto che sono molti i fornitori che lo richiedono per i loro prodotti. Figura 9: schema della rete del Comune di Cento 23

25 La politica attuale dell'ssi, quando si tratta di introdurre nuove applicazioni, privilegia lo sfruttamento degli ultimi strumenti adottati. Per questo motivo Servizio Web Lavori Pubblici è stato installato sul server Applic (quindi una piattaforma Windows), sfrutta Apache come server Web (con PHP come scripting engine) e usa MS SQL Server come database. Un'ultima nota sul funzionamento della rete è rappresentata dalla presenza nella DMZ di un server detto Relay che agisce da proxy per le richieste provenienti dall'esterno indirizzate ai server della intranet, tra i quali il server Applic. 24

26 4: Realizzazione del servizio La fase di progettazione può a questo punto dirsi conclusa. Quella seguente consiste nella realizzazione effettiva del servizio. L'applicazione risultante si può considerare distribuita su più livelli, ognuno con le sue competenze specifiche. Se ne possono individuare almeno 3: il livello dei dati (il database), il livello di presentazione (le pagine Web) ed un altro livello intermedio che può chiamare logica applicativa o business logic (gli script). Il primo è quello più basso e i suoi compiti sono l'archiviazione e l'organizzazione dei dati, mentre il terzo è il più alto a livello logico e si occupa di rendere possibile l'interazione dell'utente col sistema, visualizzando informazioni e recependo comandi e input. La business logic fornisce l'interfaccia di collegamento tra gli altri due grazie agli strumenti che lo compongono; il suo merito principale è aumentare la trasparenza per il livello superiore, che così si limita ad esporre dati e informazione senza dover sapere da chi o come sono stati archiviati. 4.1: Strumenti e Tecnologie I prossimi paragrafi intendono presentare gli strumenti e le tecnologie che sono stati utilizzati per sviluppare il Servizio Web Lavori Pubblici. Assieme a qualche rapida nota storica verranno riassunti il funzionamento e le caratteristiche dello strumento in esame, seguiti da un accenno a quelli concorrenti e ai motivi che hanno portato il personale del comune a rifiutarli in favore del primo : PHP (scripting server-side) PHP è un linguaggio interpretato di scripting, server-side, open-source. Il suo nome è un acronimo ricorsivo che sta per PHP: Hypertext Preprocessor. Ha visto la luce nella sua prima forma nel 1994 per opera dell ingegnere tedesco Rasmus Lerdorf e attualmente è giunto alla versione 5.1.4; circa venti milioni di domini ne fanno uso e il modulo che ne fornisce il supporto è quello più installato sui server Apache. La Figura 10 mostra l'evoluzione della diffusione di PHP negli ultimi anni. 25

27 Figura 10: la diffusione di PHP da gennaio 2000 a oggi (Netcraft) I diversi linguaggi di scripting server side funzionano tutti secondo un concetto simile, per quanto esso possa essere implementato in modi diversi. In generale, all arrivo della richiesta di una pagina al server web, questi si occupa di calcolarla prima di inviarla. Il risultato è una semplice pagina HTML, che può essere letta da qualsiasi browser sia installato sul client. Tale tecnologia permette di avere pagine web sempre aggiornate (in quanto calcolate al momento della richiesta) senza richiedere al client sforzi ulteriori rispetto alla lettura di una pagina statica. Generalmente, i file che contengono il codice di scripting sono normali pagine HTML che hanno al loro interno parti di codice delimitate da particolari tag (nel caso di PHP <?php e?>): prima che le pagine vengono inviate al client viene eseguito il codice, che viene poi sostituito con l'output risultante. Alcune caratteristiche che contraddistinguono il linguaggio sono la tipizzazione dinamica delle variabili (operazioni tra variabili di diverso tipo comportano coercizioni automatiche adeguate al caso) e la presenza di array associativi (le chiavi che identificano i valori dei vettori sono di tipo arbitrario, non necessariamente interi in sequenza, ma anche stringhe; inoltre non è necessario specificare una dimensione al momento della creazione degli array, e è possibile assegnare valori di diverso tipo a chiavi diverse dello stesso array). PHP, nella versione utilizzata per lo sviluppo di questo progetto (4.4.2), prevede anche una sorta di implementazione parziale della programmazione a oggetti. 26

28 Tale implementazione prevede naturalmente la definizione di classi con proprietà e metodi, l ereditarietà singola per le classi, il polimorfismo, l overridding e l introspezione. D altro canto non è prevista la definizione di interfacce (e la conseguente ereditarietà multipla come in Java), la visibilità delle variabili e dei metodi è sempre pubblica, non è prevista la definizione di più costruttori e in generale l overloading (sebbene possa essere simulato). Tali limiti sono stati superati a partire dalla versione 5.0. E' possibile definire funzioni e classi all'interno di un file e utilizzarle in altri; il funzionamento di questa possibilità non si basa però su file header come in C o su import come in Java, bensì su inclusioni (grazie alla funzione include() e alle sue variazioni). Di fatto, al momento dell'inclusione, il file richiesto viene ricopiato e sostituito alla funzione di invocazione; in questo modo oggetti e funzioni operano come se venissero definite nel file che le richiede. La sintassi di PHP è simile a quella di C ma eredita anche alcuni aspetti da Java (ad esempio un operatore per concatenare 2 stringhe) e Perl (le variabili identificate col prefisso '$'). I principali concorrenti di PHP sono JSP (Java Server Pages) di Sun e ASP.NET (Active Server Pages) di Microsoft. La differenza più evidente tra PHP e gli altri due sistemi è che questi sono linguaggi compilati, mentre il primo è interpretato. PHP in genere è più prestante ma le altre tecnologie sono più adatte alla creazione di applicazioni web molto strutturate, basandosi su framework. Un'altra differenza è che PHP è open source e può funzionare su praticamente qualsiasi piattaforma; JSP è proprietario ma free (basandosi su Java) e ha una grande portabilità; ASP.NET è proprietario e funziona soltanto su macchine Windows. PHP è stato scelto come linguaggio di scripting della rete del Comune per la sua semplicità e per la simbiosi che lo lega a Apache : Microsoft SQL Server (DBMS) Un database è uno strumento progettato per organizzare, archiviare e manipolare dati che si basa sull'utilizzo di tabelle, le quali possono essere organizzate secondo vari modelli. Il modello relazionale permette di creare legami logici tra tabelle che rappresentano oggetti o entità mediante l'uso delle chiavi (che sono insiemi di colonne in grado di identificare univocamente i record della tabella). Le informazioni contenute in una 27

29 base di dati possono essere manipolate grazie a alcuni linguaggi appositi che permettono di eseguire query (interrogazioni) ma anche inserire, aggiornare e cancellare i record; il più diffuso e standardizzato e l'sql (Simple Query Language). SQL Server è un DBMS (DataBase Management System) relazionale prodotto da Microsoft. Originariamente venne creato per piattaforme Unix da Sybase, la quale poi si alleò con Microsoft e Ashton-Tate per svilupparne la versione per OS/2. La collaborazione continuò per alcuni anni poi ogni impresa tornò a perseguire i propri scopi; Microsoft così riscrisse SQL Server (giunto alla versione 7.0) per liberarsi da vincoli di licenza con le exalleate. Attualmente il DMBS è giunto alla versione 2005 (9.0) e vanta un'ampia diffusione, specie nelle attività che usano database di dimensioni medio-piccole. SQL Server sfrutta un'estensione proprietaria di SQL, detta T-SQL (Transact SQL), che estende le funzionalità del linguaggio di interrogazione. Queste vanno dall'aggiunta di nuove funzioni all'introduzione di comandi per il controllo di flusso (IF, ELSE, ecc.). In ambito proprietario i grandi concorrenti di Microsoft sono IBM (con DB2) e Oracle, per il mondo open source invece MySQL. Rispetto ai primi due SQL Server è meno potente e performante, ma viene venduto a un prezzo più competitivo. MySQL, pur risultando più veloce, tuttavia non ha tutte le funzionalità aggiuntive di cui dispone il DBMS di Microsoft; d'altro canto MySQL è open source e gratuito (o molto economico). Per ultimo non va trascurato il fatto che SQL Server funziona solo su piattaforme Windows mentre i suoi concorrenti hanno una portabilità molto maggiore. SQL server è l'ultimo DBMS adottato dal Comune di Cento. Questa decisione è stata determinata dai vantaggi proprietari che offre (tra i quali l'autenticazione single sign-on) e dal fatto che molti fornitori lo richiedono per i loro prodotti, poiché alcune applicazioni che interessano all'amministrazione funzionano soltanto con questa base di dati : Apache (Web server) Un Web server è un'applicazione la cui funzione principale è processare richieste HTTP provenienti da Web client (ad esempio un Web browser) e in base a quanto domandato fornire la risposta, la quale può essere un file di qualsiasi tipo (tipicamente HTML, statico o generato dinamicamente) ma anche un messaggio di errore nel caso si sia presentato qualche problema. 28

30 Apache è il server Web più popolare e diffuso al mondo, e detiene il 65-70% del mercato (a tal proposito si veda la Figura 11). E' un prodotto open source che ha iniziato a essere sviluppato nel 1994 a partire dal codice del demone HTTP NCSA, dopo che il creatore ne aveva interrotto lo sviluppo. Vari webmasters che avevano iniziato a estendere e correggere autonomamente il demone crearono una mailing list che permise loro di coordinarsi e a giungere al rilascio della prima versione di Apache. Lo sviluppo continuò e in breve il Web server conquistò il mercato. Apache è in grado di funzionare sui principali sistemi operativi e implementa tutta una serie di servizi che vanno dal virtual hosting alla negoziazione dei contenuti al supporto per HTTPS. La caratteristica più interessante è probabilmente la possibilità di estendere le potenzialità di Apache installando alcuni mod che integrino nuove funzionalità (ce ne sono di ogni tipo) e permettono l'agganciamento con altre applicazioni. Il principale concorrente di Apache è IIS (Internet Information Services) di Microsoft. Entrambi i server Web sono abbastanza competitivi sul fronte delle prestazioni e prevalgono l'uno sull'altro a seconda del contesto. Apache ha dalla sua il supporto multipiattaforma e la gratuità mentre IIS funziona solo con Windows e, per quanto teoricamente gratuito, deve essere acquistato assieme al sistema operativo per essere usato. Figura 11: rilievi sulla diffusione dei server Web dal settembre '95 a oggi 29

31 Apache è stato scelto perché inizialmente il primo computer che fungeva da server Web del Comune aveva Linux come sistema operativo, che è la sua piattaforma ideale. Naturalmente hanno inciso la spese basse e le conoscenze degli addetti alla gestione del server. Per quello che riguarda Servizio Web Lavori Pubblici, è stato installata un'estensione (mod_auth_sspi) che rende possibile il login single sign-on, richiesto nelle specifiche : HTML e CSS L'HTML (HyperText Markup Language) è un linguaggio di formattazione orientato al Web. E' di fatto lo standard per la creazione di pagine Web e è supportato da qualsiasi browser. E' nato nel 1994 nel CERN di Ginevra per opera di Tim Berners Lee. Per vari anni, fino al 1998, le specifiche HTML che si susseguivano cercavano di inseguire le innovazioni proprietarie che erano state introdotte durante la browser war tra Internet Explorer e Netscape Navigator; con HTML 4.0 è cambiata la politica e oggi dovrebbero essere i browser a adattarsi al linguaggio, non viceversa; l'ultima versione rilasciata è stata la L'attuale evoluzione dell'html è nell'xhtml (extensible HTML), la sua versione aderente alle specifiche di XML (extensible Markup Language). Il suo funzionamento di basa su tag, una serie di istruzioni racchiuse tra parentesi angolari. I tag possono contenere del testo e essere caratterizzati da attributi che ne specificano gli effetti, come in questo esempio: <a href= index.html >Home Page</a> Il tag a trasforma il testo che contiene ( Home Page ) in un hyperlink che permette di raggiungere il documento specificato dall'attributo href. HTML soffre di una scarsa divisione tra contenuto e separazione (nonostante una progettazione oculata possa limitare il problema). Questo difetto ha subito una serie di correzioni nel tempo e dovrebbe essere stato risolto con l'xhtml. Una delle tecnologie che ha favorito la separazione è quella dei CSS (Cascading Style Sheet). Sviluppato dal W3C (World Wide Web Consortium), questo strumento è in grado di definire, per qualsiasi 30

32 istanza di un tag di una pagina HTML, delle regole di stile (dimensione, colori, bordi ma anche proprietà specifiche del tag) attraverso una sintassi a base di selettori, regole, classi e identificatori; in questo modo si può gestire il contenuto grazie al markup e la sua presentazione diventa una prerogativa dei fogli di stile. I CSS non usano un linguaggio XML compliant. Uno dei vantaggi della separazione tra contenuto e formattazione sta nel fatto che se il contenuto è autonomo allora è possibile associarvi diverse presentazioni che possano adattarsi ai vari media o utenti, e i CSS prevedono questa possibilità. E' possibile infatti definire diversi fogli di stile a seconda del supporto di output del client (lo schermo di un computer, un videoproiettore, una stampante, ecc.) o personalizzare il layout in base alle esigenze dell'utente (per esempio versioni a alto contrasto per ipovedenti) : Javascript (scripting client-side) Uno script client-side è del codice che viene interpretato dal client Web (tipicamente un browser). Permette di modificare i contenuti della pagina HTML in seguito allo scatenarsi di eventi che possono essere originati dal sistema o dalle azioni dell'utente. Il linguaggio di scripting client-side maggiormente diffuso e supportato (sebbene con qualche incompatibilità cross-browser) è sicuramente Javascript. La sintassi assomiglia abbastanza a quella di Java. Sono definiti dei tipi primitivi e alcuni oggetti dotati di metodi e proprietà che permettono di interagire con il documento. Grazie all'interfaccia DOM (Document Object Model) è possibile accedere alle istanze degli elementi che costituiscono la pagina e interagirvi mediante l'uso degli oggetti citati sopra. L'unica tecnologia sufficientemente diffusa analoga a Javascript è VBScript di Microsoft; può fare le stesse cose, ma è compatibile soltanto con Internet Explorer. Le potere di Javascript è molto e offre molte possibilità, ma non si può essere sicuri che sia attivato sul client e gli errori possono essere rilevati solo al momento dell'esecuzione. Uno dei fini più utili cui questa tecnologia è la validazione di form, i cui campi devono essere inoltrati al server con valori che rispettino precisi parametri. 31

33 4.2: Costruzione del database Il livello più basso del Servizio Web Lavori Pubblici è costituito dal database. E' stato necessario crearne uno nuovo che, come anticipato, si basa su SQL Server ed è stato installato sul server Applic. Ciò comporta un vantaggio: sullo stesso server è presente il database del SIT (basato sullo stesso DBMS) che contiene i nomi di tutte le strade e le località del comune di Cento raggruppate secondo la frazione. La possibilità di specificare l'ubicazione dell'opera pubblica è una specifica richiesta e questa base di dati rappresenta una notevole semplificazione nel raggiungimento di un risultato soddisfacente sotto questo aspetto. Il database contiene tutti i dati che dovranno essere gestiti dall'applicazione, organizzati in tabelle. Queste vengono costruite a partire dallo schema ER dei dati, seguendo alcune regole di modifica. Si procede creando una tabella per ogni entità considerata (quindi lavori, avanzamenti, categorie e referenti). I vari campi (le colonne ) che andranno inclusi nella tabella devono essere scelti facendo attenzione a discernere tra quelli che riguardano le istanze e quelli che invece sono comuni per tutta una classe di oggetti. Per fare un esempio si vedano gli avanzamenti: le proprietà includono data, nota, posizione, stadio e tipo, oltre all'oid. E' chiaro che la data e la nota sono attributi specifici dell'istanza in quanto possono variare per ogni avanzamento creato; al contrario la posizione, lo stadio e il tipo sono in relazione diretta tra di loro, poiché un tipo di avanzamento avrà sempre la stessa posizione rispetto agli altri e farà sempre riferimento allo stesso stadio tra in progettazione, in corso e ultimato. Si capisce che ripetere queste informazioni per ogni record della tabella degli avanzamenti rappresenta un'inutile ridondanza. In questi casi si procede riadattando le entità e le relazioni tra di loro; nell'esempio specifico si introduce una definizione di avanzamento un po' differente: un avanzamento diventa un entità in relazione con i lavori pubblici che registra gli attributi comuni per ogni suo tipo (quindi un tipo di avanzamento ); le proprietà specifiche delle istanze vengono invece esplicitate nella relazione con l'entità delle opere pubbliche (come mostrato nella Figura 12). La nota e la data quindi diventano attributi della relazione. Cambia anche la cardinalità della stessa, che diventa molti a molti: infatti un tipo di avanzamento può essere in relazione con più lavori e viceversa. 32

34 Figura 12: schema ER per il database Per quello che riguarda le tabelle delle categorie e dei referenti non si presentano difficoltà: le colonne sono la semplice trasposizione delle proprietà definite al momento dell'analisi dei dati. Abbastanza facile anche il caso dei lavori, seppur con qualche complicazione. Come per categorie e referenti, vengono riportati gli attributi definiti in precedenza; quello che cambia è dovuto alle relazioni esistenti. Quando due entità sono legate tra di loro bisogna in qualche modo mappare sul database la relazione, altrimenti si avrebbero solo le due tabelle delle entità senza alcun legame. A seconda delle molteplicità si procede così: se uno a molti, l'entità che ammette la molteplicità maggiore include nella sua tabella una colonna che importa la chiave dell'altra entità se molti a molti, viene creata una nuova tabella che importa le chiavi di entrambe le entità e le mette in relazione In questo modo è sempre possibile risalire alle istanze che sono tra di loro collegate. Tornando ai lavori pubblici, secondo quanto appena detto la tabella relativa ha due colonne (categoria e referente_comunale) che importeranno dalle rispettive tabelle gli OID (le chiavi) di categoria e referente. Inoltre, in virtù dell'esistenza della relazione molti a molti con gli avanzamenti, si crea una tabella (Lavori_Avanzamenti) che importa l'oid dei lavori e il nome dei tipi di avanzamento e li lega; alla luce del fatto che le proprietà delle 33

35 istanze degli avanzamenti devono essere espresse nella relazione con le opere pubbliche, si aggiungono altre colonne che riportano la data, la nota e l'oid delle istanze. Dopo aver creato il database (con il nome di Lavori_pubblici ) si fa lo stesso per le tabelle che lo compongono. Per iniziare, si inseriscono tutti i record della tabella dei tipi di avanzamento (poiché le informazioni che li riguardano non potranno essere modificate dall'applicazione; la tabella è mostrata nella Figura 13). Separare attributi di istanza e attributi comuni ha reso molto semplice la modifica di questi ultimi: è sufficiente variare il loro valore nella relativa tabella e subito questa modifica vale per tutte le istanze collegate. Prima di passare ad altri argomenti, alcune considerazioni sull'interazione con la base dati da parte dell'applicazione. L'accesso al database si realizza mediante alcune funzioni di PHP. Questo linguaggio è molto famoso per le performance che realizza quando si collega a delle basi di dati; ciò è possibile grazie alla definizione di funzioni specifiche per ogni DBMS, che ne sfruttano le caratteristiche particolari (ad esempio, per la connessione a MySQL esiste mysql_connect() mentre mssql_connect() è l'analogo per SQL Server). Il costo di queste prestazioni elevate è la mancanza di trasparenza per il programmatore, che deve scegliere le funzioni in base al preciso DBMS. Figura 13: tabella degli avanzamenti popolata 34

36 Esistono delle librerie che realizzano uno strato di astrazione del database (DB abstraction layer) ma vista la bassa complessità di Servizio Web Lavori Pubblici e considerando tutto sommato improbabile che si verifichi un cambio di DBMS (almeno nel medio termine) si può rimediare a questo inconveniente con una soluzione rudimentale ma adatta allo scopo. Si crea un file (database.php) che riporta le informazioni necessarie per accedere al database (host, nome, username e password) e in cui viene definita una serie di funzioni che di fatto ripropongono quelle specifiche per il DBMS che si sta utilizzando. Utilizzando queste nuove funzioni all'interno degli script dell'applicazione non sarà difficile cambiare database in un secondo momento, poiché è sufficiente modificarle inserendo nelle loro implementazioni le invocazioni specifiche per il nuovo sistema (si veda la Figura 14). Figura 14: parte dello script PHP che implementa lo strato di astrazione del database 35

37 4.3: Utenti, autenticazione e oggetti I gruppi di utenti del Servizio Web Lavori Pubblici sono due (Visitatori e Gestori), di cui soltanto uno registrato; pertanto la loro gestione non si presenta particolarmente complessa. Normalmente, le sessioni vengono gestite grazie a cookie (soluzione lato client) o a oggetti-sessione (soluzione lato server) che tengono traccia dei dati dell'utente dopo che questi si è autenticato. Il caso in questione diverge un po' da quanto appena detto. Le specifiche infatti richiedono che l'autenticazione sia single sign-on, cioè che il nome utente e la password siano le stesse dell'account della intranet e che si possa accedere al servizio senza dover effettuare un login esplicito. Perché questo sia possibile è necessario che l'applicazione sia in grado di rintracciare lo username dell'utente collegato; per farlo deve richiederlo alla postazione da cui proviene la richiesta. Questo compito può essere assolto dal Web server: esiste infatti un mod per Apache destinato a tal scopo. Il suo nome è mod_auth_sspi e quello che fa è impostare la variabile d'ambiente del server REMOTE_USER con il nome dell'utente che si collega prendendolo dalla macchina remota, ma non solo; infatti è possibile specificare nel suo file di configurazione una serie di cartelle da proteggere, accessibili soltanto se l'utente ha effettuato il login nella intranet. Quando si prova a accedere con Internet Explorer, una volta autenticati, a una di queste directory, il server riconosce l'utente e consente l'accesso (usando altri browser appare una finestra pop-up che richiede di inserire nuovamente username e password). Perché il mod funzioni come desiderato è necessario inserire dentro una cartella protetta i file che richiedono l'autenticazione dell'utente. Ciò può costituire un problema, perché se tutti i file e le pagine dell'applicazione venissero inclusi nella stessa directory allora sarebbe impossibile accedervi per il visitatore esterno. Ne consegue che le pagine destinate a questi utenti non possono essere contenuti in una cartella interessata da mod_auth_sspi. D'altro canto le pagine di amministrazione devono necessariamente essere accessibili solo da utenti autenticati; per questi motivi si è deciso di definire per Servizio Web Lavori Pubblici due aree, una pubblica e una privata, per soddisfare due esigenze contrapposte. L'area pubblica ospita i file di scripting comuni alle due parti (definizioni di classi, funzioni...) e le pagine Web destinate ai visitatori; quella privata contiene solamente le pagine Web per gli utenti di amministrazione. 36

38 Questa scelta va in parte contro a una regola della buona programmazione, che esorta a evitare la replicazione di codice: infatti le pagine per la ricerca e per la visualizzazione del dettaglio dei lavori pubblici sono presenti in entrambe le aree. Tutto considerato però il danno non è molto grave: le pagine riprodotte sono soltanto tre e a ogni modo la loro versione privata è leggermente diversa da quella pubblica (principalmente per i dati visualizzati). Se i gruppi di utenti fossero stati di più di due allora il costo di una simile replicazione sarebbe stato ben maggiore, ma in questo caso è senz'altro più semplice duplicare le pagine che usarne solo una copia ma più complessa (dovrebbe riconoscere il tipo di utente che la richiede e agire di conseguenza). Grazie al mod, l'area di amministrazione è accessibile soltanto a utenti che dispongono di un account nella intranet comunale. Ciò però non è sufficiente perché dovrebbe esserlo soltanto per i referenti indicati nel database (e autorizzati). Bisogna per cui riuscire a riconoscere il nome dell'utente che prova a collegarsi e confrontarlo con gli username di questi; in PHP è possibile grazie alla variabile $REMOTE_USER, che funziona analogamente a quella di Apache. Con un semplice script (mostrato in Figura 15) è possibile verificare l'autorizzazione e, nel caso non fosse concessa, mostrare al visitatore un messaggio di errore. Figura 15: codice PHP che verifica se l'utente è autorizzato ad accedere al back-office 37

39 Superate le questioni riguardanti gli utenti viene il momento della definizione degli oggetti che opereranno nell'applicazione. Un oggetto è un'istanza di una classe, cioè un'astrazione che rappresenta un'entità caratterizzata da uno stato e dalle operazioni che può svolgere. A livello di programmazione questi sono rappresentati rispettivamente da attributi (un insieme di variabili) e metodi (delle funzioni). Le classi che Servizio Web Lavori Pubblici deve contemplare sono le corrispondenti delle entità rappresentate nel database, quindi i lavori pubblici, gli avanzamenti, i referenti e le categorie. PHP, seppure con qualche limite nella versione utilizzata per lo sviluppo, permette di definire classi e istanziare oggetti costruendone attributi e metodi. A titolo di esempio nella Figura 16 è riportato il codice della classe Referente. Figura 16: codice PHP che implementa la classe dei referenti 38

40 Nell'implementazione dei costruttori ci sono delle query SQL che reperiscono dal database i dati necessari per la creazione dell'istanza e che vengono usati per inizializzare gli attributi. Nel caso dei lavori pubblici, che hanno alcune proprietà costituite da oggetti (come gli avanzamenti), si susseguono invocazioni di costruttori finché non si giunge a impostare tutte le proprietà. Una simile sequela di query probabilmente non rappresenta la soluzione in assoluto più efficiente riguardo alle prestazioni; vero è che si rivela senz'altro efficace e semplice e considerando che il carico atteso per il Servizio Web Lavori Pubblici non è molto non è il caso di temere eccessivamente un sovraccarico del database o tempi di attesa interminabili. Per ogni classe è stato creato un file.php di servizio dove vengono definite una serie di funzioni utili che si occupano principalmente delle operazioni sul database (inserimento, modifica, selezione di una serie di istanze, ecc.). L'accoppiata delle classi e di questi script di servizio rendono abbastanza trasparente la programmazione quando si tratta di gestire le entità all'interno delle pagine Web: infatti chi scrive dovrà preoccuparsi solo raramente dei livelli inferiori (come la base dati) e potrà ragionare solo sugli oggetti, di cui potrà disporre grazie alle funzioni che sono state definite. Un esempio è fornito nella Figura 17, che riporta la funzione che permette di modificare la data e la nota di un avanzamento. Figura 17: script PHP che permette la modifica di un avanzamento sul database 39

41 Un ultimo appunto sulla classe delle categorie: essendo particolarmente semplice (è caratterizzata dal solo nome) si è preferito evitare la definizione di un oggetto software specifico perché tale iniziativa non avrebbe portato vantaggi tali da giustificare l'aumento di complessità. E' invece stato prodotto il file di servizio che implementa le funzioni che gestiscono le categorie sul database e le forniscono all'applicazione. 4.4: Pagine Web Giunti a questo punto è il momento di costruire il livello grafico e di presentazione del Servizio Web Lavori Pubblici. Anzitutto si codifica in HTML la struttura della pagina che è stata determinata in capitoli precedenti al fine di creare un modello da usare per tutte le schermate che comporranno il sito, come mostrato nella Figura 18. Figura 18: codice HTML del modello del layout delle pagine Web del servizio 40

42 Grazie ai tag <div></div> è possibile definire delle porzioni di documento che possono essere collocate a piacimento nella pagina grazie ai fogli di stile (si veda il codice che segue). Si noti il tag <link /> all'interno della sezione head, che lega il file al foglio di stile stile.css, dove sono definite le regole che dispongono e formatto gli elementi costitutivi della pagina. Esaminiamo più in dettaglio le singole pagine che compongono l'applicazione. index.php (ricerca, si veda la Figura 19): questa pagina contiene il form che permette di effettuare ricerche tra i lavori presenti sul database. E' semplice e non ha nulla di particolare. La versione pubblica differisce da quella privata per l'assenza del menù a tendina con i nomi dei referenti. Figura 19: pagina di ricerca per il back-office 41

43 risultati.php: pagina che visiona la lista dei lavori che soddisfano i parametri di ricerca (mostrata in Figura 20). Questi sono disposti in una tabella preceduta da un messaggio che ricorda i parametri inseriti nell'ultima operazione di ricerca. Le righe della tabella sono colorate a seconda dello stadio del lavoro che rappresentano e una concisa legenda nel riquadro comandi fornisce la chiave di interpretazione. A seconda dell'ordinamento richiesto i lavori vengono visualizzati nei fatti in gruppi, al termine di ognuno dei quali trova spazio una riga che riporta la somma di tutti importi stanziati dei lavori che lo compongono (non appare se l'ordinamento è secondo l'oid, il nome o gli importi perché non avrebbe senso); in fondo alla tabella, in ogni caso, una riga visualizza il totale della somma di tutti i lavori contenuti nella pagina. Ogni volta che viene effettuata una nuova ricerca viene aggiornato un cookie che registra gli ultimi parametri inoltrati; in questo modo è possibile ricostruire l'ultima ricerca effettuata anche in un secondo momento, a esempio dopo che l'utente ha visualizzato il dettaglio di un lavoro e torna quindi alla pagina dei risultati. Ciò comporta una migliore navigazione del sito per i client che hanno attivato il cookie ma dall'altro lato non costituisce un ostacolo o un vincolo per quelli che lo hanno disattivato, in quanto si tratta di un extra e non di un esigenza. Figura 20: pagina dei risultati front-end 42

44 Una ricerca potrebbe trovare un gran numero di lavori, tanti che sarebbe difficile visualizzarli tutti contemporaneamente nella stessa pagina senza disagi. A questo fine è stato introdotto un meccanismo di paginazione dei risultati che divide i lavori in gruppi di un certo numero (specificato in una costante su un apposito file.php), assegna a ogni gruppo un indice che viene visualizzato in fondo al content e propone di volta in volta soltanto un gruppo di istanze delle opere pubbliche a seconda dell'indice selezionato; di fatto diventa come sfogliare le pagine di un catalogo. Anche in questo caso la versione privata e pubblica divergono, principalmente perché la prima comprende alcune colonne aggiuntive (progettista e referente) e in fondo a ogni riga include un comando per l'eliminazione diretta del lavoro pubblico elencato. Infine, tra i comandi ve ne è uno che permette di stampare la pagina associandola a un foglio si stile più print-friendly. dettagliolavoro.php: questa è la pagina le cui due versioni differiscono maggiormente. Per quella pubblica (Figura 21), il contenuto è diviso in due aree laterali: quella sinistra contiene i dati dell'opera pubblica mentre quella destra ospita l'immagine del luogo di lavoro (se non ne è stata specificata una appare lo stemma del Comune di Cento). La versione privata può contare sulle due stesse aree (anche se con un assortimento di dati più ricco) più una terza, posta sotto le altre due, che elenca lo stato e gli avanzamenti del lavoro pubblico. Tutti gli avanzamenti possibili sono disposti in riga; il colore di sfondo della cella che li contraddistingue indica se sono stati raggiunti (giallo) o meno (bianco); per creare un avanzamento è sufficiente cliccare sul relativo link avanza mentre selezionando avanza tutti verranno creati anche tutti gli avanzamenti che precedono. Il discorso è leggermente diverso per il tipo di avanzamento pareri : dopo aver istanziato il primo diventa disponibile il comando aggiungi che permette di creare un altro avanzamento dello stesso tipo (si ricordi che un'opera pubblica può disporre di più pareri). Il comando modifica invece permette di impostare o cambiare la data e la nota associate a uno stato indirizzando l'utente verso la relativa pagina. Come nel caso dei risultati, anche qui è previsto un comando di stampa. 43

45 Figura 21: dettaglio dell'opera pubblica back-end modificalavoro.php e modificaavanzamenti.php: queste due pagine sono quasi identiche nella forma e sono disponibili soltanto back-end (si veda quella per la gestione degli avanzamenti in Figura 22). Poiché permettono di creare e modificare i dati rispettivamente dei lavori pubblici e degli avanzamenti sono diverse nel numero e nel tipo di campi che costituiscono il relativo form (di fatto l'unico contenuto della pagina). gestionecategorie.php e gestionereferenti.php: anche in questo caso la struttura delle pagine è molto simile. Il content è diviso in due parti, una superiore che espone la lista delle istanze di una delle due entità con eventuali comandi, e una inferiore costituita dal form che permette la gestione degli oggetti. Le due pagine sono disponibili solo per i Gestori. 44

46 Figura 22: pagina per la gestione degli avanzamenti Come si è potuto constatare sono molti i form utilizzati dall'applicazione. Per molti campi di questi sono state definite delle regole di validazione grazie a Javascript, al fine di impedire l'inserimento di dati non coerenti. Molte di queste chiedono che il valore inserito rispetti determinati parametri (quali la lunghezza, i caratteri utilizzati, la presenza di numeri, simboli...) e se questo non accade allertano l'utente con un messaggio di errore pop-up per indurlo a effettuare delle correzioni (in certi casi invece è possibile effettuare una correzione automatica dei dati proposti). Messaggi di avvertimento appaiono anche in casi particolari come l'eliminazione di un'istanza di qualsiasi entità, per chiedere conferma all'utente circa l'esecuzione un'operazione non reversibile. La Figura 23 illustra un esempio di funzione javascript che prende in ingresso un campo testuale di un form e verifica che non siano presenti delle backslash ('\'); se ne trova le sostituisce con delle slash ('/'). 45

Sistemi Web-Based - Terminologia. Progetto di Sistemi Web-Based Prof. Luigi Laura, Univ. Tor Vergata, a.a. 2010/2011

Sistemi Web-Based - Terminologia. Progetto di Sistemi Web-Based Prof. Luigi Laura, Univ. Tor Vergata, a.a. 2010/2011 Sistemi Web-Based - Terminologia Progetto di Sistemi Web-Based Prof. Luigi Laura, Univ. Tor Vergata, a.a. 2010/2011 CLIENT: il client è il programma che richiede un servizio a un computer collegato in

Dettagli

SISSI IN RETE. Quick Reference guide guida di riferimento rapido

SISSI IN RETE. Quick Reference guide guida di riferimento rapido SISSI IN RETE Quick Reference guide guida di riferimento rapido Indice generale Sissi in rete...3 Introduzione...3 Architettura Software...3 Installazione di SISSI in rete...3 Utilizzo di SISSI in Rete...4

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

Guida Dell di base all'acquisto dei server

Guida Dell di base all'acquisto dei server Guida Dell di base all'acquisto dei server Per le piccole aziende che dispongono di più computer è opportuno investire in un server che aiuti a garantire la sicurezza e l'organizzazione dei dati, consentendo

Dettagli

Cross Software ltd Malta Pro.Sy.T Srl. Il gestionale come l'avete sempre sognato... Pag. 1

Cross Software ltd Malta Pro.Sy.T Srl. Il gestionale come l'avete sempre sognato... Pag. 1 Il gestionale come l'avete sempre sognato... Pag. 1 Le funzionalità di X-Cross La sofisticata tecnologia di CrossModel, oltre a permettere di lavorare in Internet come nel proprio ufficio e ad avere una

Dettagli

Talento LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) L'UTILIZZO DI ALTRI SERVIZI INTERNET. In questa lezione imparerete a:

Talento LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) L'UTILIZZO DI ALTRI SERVIZI INTERNET. In questa lezione imparerete a: Lab 4.1 Utilizzare FTP (File Tranfer Protocol) LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) In questa lezione imparerete a: Utilizzare altri servizi Internet, Collegarsi al servizio Telnet, Accedere

Dettagli

RedDot Content Management Server Content Management Server Non sottovalutate il potenziale della comunicazione online: usatela! RedDot CMS vi permette di... Implementare, gestire ed estendere progetti

Dettagli

Università degli Studi di Parma. Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica

Università degli Studi di Parma. Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica A.A. 2007-08 CORSO DI INGEGNERIA DEL SOFTWARE Prof. Giulio Destri http://www.areasp.com (C) 2007 AreaSP for

Dettagli

GUIDA ALL UTILIZZO DELL ECM 8

GUIDA ALL UTILIZZO DELL ECM 8 GUIDA ALL UTILIZZO DELL ECM 8 GUIDA ALL UTILIZZO DELL ECM 8 1) Introduzione Pg 3 2) L area amministratore Pg 3 2.1) ECM Pg 4 2.1.1) Sezione Struttura Pg 5 2.1.2) Sezione Documento Pg 7 2.1.3) Sezione Pubblicazione

Dettagli

Guida ai Servizi Internet per il Referente Aziendale

Guida ai Servizi Internet per il Referente Aziendale Guida ai Servizi Internet per il Referente Aziendale Indice Indice Introduzione...3 Guida al primo accesso...3 Accessi successivi...5 Amministrazione dei servizi avanzati (VAS)...6 Attivazione dei VAS...7

Dettagli

HORIZON SQL CONFIGURAZIONE DI RETE

HORIZON SQL CONFIGURAZIONE DI RETE 1-1/9 HORIZON SQL CONFIGURAZIONE DI RETE 1 CARATTERISTICHE DI UN DATABASE SQL...1-2 Considerazioni generali... 1-2 Concetto di Server... 1-2 Concetto di Client... 1-2 Concetto di database SQL... 1-2 Vantaggi...

Dettagli

Come difendersi dai VIRUS

Come difendersi dai VIRUS Come difendersi dai VIRUS DEFINIZIONE Un virus è un programma, cioè una serie di istruzioni, scritte in un linguaggio di programmazione, in passato era di solito di basso livello*, mentre con l'avvento

Dettagli

INFORMATIVA SUI COOKIE

INFORMATIVA SUI COOKIE INFORMATIVA SUI COOKIE I Cookie sono costituiti da porzioni di codice installate all'interno del browser che assistono il Titolare nell erogazione del servizio in base alle finalità descritte. Alcune delle

Dettagli

PROPOSTE SISTEMA DI CITIZEN RELATIONSHIP MANAGEMENT (CRM) REGIONALE

PROPOSTE SISTEMA DI CITIZEN RELATIONSHIP MANAGEMENT (CRM) REGIONALE PROPOSTE SISTEMA DI CITIZEN RELATIONSHIP MANAGEMENT (CRM) REGIONALE Versione 1.0 Via della Fisica 18/C Tel. 0971 476311 Fax 0971 476333 85100 POTENZA Via Castiglione,4 Tel. 051 7459619 Fax 051 7459619

Dettagli

FileMaker Server 13. Guida introduttiva

FileMaker Server 13. Guida introduttiva FileMaker Server 13 Guida introduttiva 2007-2013 FileMaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 Stati Uniti FileMaker e Bento sono marchi

Dettagli

ORACLE BUSINESS INTELLIGENCE STANDARD EDITION ONE A WORLD CLASS PERFORMANCE

ORACLE BUSINESS INTELLIGENCE STANDARD EDITION ONE A WORLD CLASS PERFORMANCE ORACLE BUSINESS INTELLIGENCE STANDARD EDITION ONE A WORLD CLASS PERFORMANCE Oracle Business Intelligence Standard Edition One è una soluzione BI completa, integrata destinata alle piccole e medie imprese.oracle

Dettagli

Ottimizzazione della gestione del data center con Microsoft System Center

Ottimizzazione della gestione del data center con Microsoft System Center Ottimizzazione della gestione del data center con Microsoft System Center Declinazione di responsabilità e informazioni sul copyright Le informazioni contenute nel presente documento rappresentano le conoscenze

Dettagli

CHE COS È DOCFLY FATTURAZIONE PA... 3 1.1 IL GESTIONALE WEB... 3 1.2 ACCESSO ALL INTERFACCIA WEB... 4 1.3 FUNZIONALITÀ DELL INTERFACCIA WEB...

CHE COS È DOCFLY FATTURAZIONE PA... 3 1.1 IL GESTIONALE WEB... 3 1.2 ACCESSO ALL INTERFACCIA WEB... 4 1.3 FUNZIONALITÀ DELL INTERFACCIA WEB... 1. CHE COS È DOCFLY FATTURAZIONE PA... 3 1.1 IL GESTIONALE WEB... 3 1.2 ACCESSO ALL INTERFACCIA WEB... 4 1.3 FUNZIONALITÀ DELL INTERFACCIA WEB... 5 1.3.1 CREAZIONE GUIDATA DELLA FATTURA IN FORMATO XML

Dettagli

Internet Internet è universalmente nota come la Rete delle reti: un insieme smisurato di computer collegati tra loro per scambiarsi dati e servizi.

Internet Internet è universalmente nota come la Rete delle reti: un insieme smisurato di computer collegati tra loro per scambiarsi dati e servizi. Internet Internet è universalmente nota come la Rete delle reti: un insieme smisurato di computer collegati tra loro per scambiarsi dati e servizi. Internet: la rete delle reti Alberto Ferrari Connessioni

Dettagli

Dal punto di vista organizzativo sono possibili due soluzioni per il sistema di rete.

Dal punto di vista organizzativo sono possibili due soluzioni per il sistema di rete. Premessa. La traccia di questo anno integra richieste che possono essere ricondotte a due tipi di prove, informatica sistemi, senza lasciare spazio ad opzioni facoltative. Alcuni quesiti vanno oltre le

Dettagli

MANUALE GESTIONE DELLE UTENZE - PORTALE ARGO (VERS. 2.1.0)

MANUALE GESTIONE DELLE UTENZE - PORTALE ARGO (VERS. 2.1.0) Indice generale PREMESSA... 2 ACCESSO... 2 GESTIONE DELLE UTENZE... 3 DATI DELLA SCUOLA... 6 UTENTI...7 LISTA UTENTI... 8 CREA NUOVO UTENTE...8 ABILITAZIONI UTENTE...9 ORARI D'ACCESSO... 11 DETTAGLIO UTENTE...

Dettagli

Corso SOL Gestione catalogo libro moderno 21-22 settembre 2009

Corso SOL Gestione catalogo libro moderno 21-22 settembre 2009 Corso SOL Gestione catalogo libro moderno 21-22 settembre 2009 Introduzione generale Autenticazione dell operatore https://sebina1.unife.it/sebinatest Al primo accesso ai servizi di Back Office, utilizzando

Dettagli

Gestore Comunicazioni Obbligatorie. Progetto SINTESI. Comunicazioni Obbligatorie. Modulo Applicativo COB. - Versione Giugno 2013 -

Gestore Comunicazioni Obbligatorie. Progetto SINTESI. Comunicazioni Obbligatorie. Modulo Applicativo COB. - Versione Giugno 2013 - Progetto SINTESI Comunicazioni Obbligatorie Modulo Applicativo COB - Versione Giugno 2013-1 Versione Giugno 2013 INDICE 1 Introduzione 3 1.1 Generalità 3 1.2 Descrizione e struttura del manuale 3 1.3 Requisiti

Dettagli

Calc è il programma per la gestione di fogli di calcolo della suite OpenOffice.org.

Calc è il programma per la gestione di fogli di calcolo della suite OpenOffice.org. Calc è il programma per la gestione di fogli di calcolo della suite OpenOffice.org. Nuovo documento Anteprima di stampa Annulla Galleria Apri Controllo ortografico Ripristina Sorgente dati Salva Controllo

Dettagli

SIASFi: il sistema ed il suo sviluppo

SIASFi: il sistema ed il suo sviluppo SIASFI: IL SISTEMA ED IL SUO SVILUPPO 187 SIASFi: il sistema ed il suo sviluppo Antonio Ronca Il progetto SIASFi nasce dall esperienza maturata da parte dell Archivio di Stato di Firenze nella gestione

Dettagli

GUIDA RAPIDA emagister-agora Edizione BASIC

GUIDA RAPIDA emagister-agora Edizione BASIC GUIDA RAPIDA emagister-agora Edizione BASIC Introduzione a emagister-agora Interfaccia di emagister-agora Configurazione dell offerta didattica Richieste d informazioni Gestione delle richieste d informazioni

Dettagli

MANUALE Gest-L VERSIONE 3.2.3

MANUALE Gest-L VERSIONE 3.2.3 MANUALE Gest-L VERSIONE 3.2.3 Installazione GEST-L 4 Versione per Mac - Download da www.system-i.it 4 Versione per Mac - Download da Mac App Store 4 Versione per Windows 4 Prima apertura del programma

Dettagli

Applicazione: DoQui/Index - Motore di gestione dei contenuti digitali

Applicazione: DoQui/Index - Motore di gestione dei contenuti digitali Riusabilità del software - Catalogo delle applicazioni: Applicativo verticale Applicazione: DoQui/Index - Motore di gestione dei contenuti digitali Amministrazione: Regione Piemonte - Direzione Innovazione,

Dettagli

FileMaker Server 12. Guida introduttiva

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

Dettagli

La piattaforma IBM Cognos

La piattaforma IBM Cognos La piattaforma IBM Cognos Fornire informazioni complete, coerenti e puntuali a tutti gli utenti, con una soluzione economicamente scalabile Caratteristiche principali Accedere a tutte le informazioni in

Dettagli

Applicazione: Share - Sistema per la gestione strutturata di documenti

Applicazione: Share - Sistema per la gestione strutturata di documenti Riusabilità del software - Catalogo delle applicazioni: Gestione Documentale Applicazione: Share - Sistema per la gestione strutturata di documenti Amministrazione: Regione Piemonte - Direzione Innovazione,

Dettagli

AGGIORNAMENTO PROTOCOLLO VERSIONE 3.9.0

AGGIORNAMENTO PROTOCOLLO VERSIONE 3.9.0 AGGIORNAMENTO PROTOCOLLO VERSIONE 3.9.0 Con questo aggiornamento sono state implementate una serie di funzionalità concernenti il tema della dematerializzazione e della gestione informatica dei documenti,

Dettagli

Introduzione ad Access

Introduzione ad Access Introduzione ad Access Luca Bortolussi Dipartimento di Matematica e Informatica Università degli studi di Trieste Access E un programma di gestione di database (DBMS) Access offre: un supporto transazionale

Dettagli

FileMaker Server 13. Pubblicazione Web personalizzata con PHP

FileMaker Server 13. Pubblicazione Web personalizzata con PHP FileMaker Server 13 Pubblicazione Web personalizzata con PHP 2007-2013 FileMaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 Stati Uniti FileMaker

Dettagli

DBMS (Data Base Management System)

DBMS (Data Base Management System) Cos'è un Database I database o banche dati o base dati sono collezioni di dati, tra loro correlati, utilizzati per rappresentare una porzione del mondo reale. Sono strutturati in modo tale da consentire

Dettagli

Client di Posta Elettronica PECMailer

Client di Posta Elettronica PECMailer Client di Posta Elettronica PECMailer PECMailer è un semplice ma completo client di posta elettronica, ovvero un programma che consente di gestire la composizione, la trasmissione, la ricezione e l'organizzazione

Dettagli

Le funzionalità di un DBMS

Le funzionalità di un DBMS Le funzionalità di un DBMS Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: DBMS.pdf Sistemi Informativi L-A DBMS: principali funzionalità Le

Dettagli

Appunti di Antonio Bernardo

Appunti di Antonio Bernardo Internet Appunti di Antonio Bernardo Cos è Internet Internet può essere vista come una rete logica di enorme complessità, appoggiata a strutture fisiche e collegamenti di vario tipo (fibre ottiche, cavi

Dettagli

La gestione documentale con il programma Filenet ed il suo utilizzo tramite la tecnologia.net. di Emanuele Mattei (emanuele.mattei[at]email.

La gestione documentale con il programma Filenet ed il suo utilizzo tramite la tecnologia.net. di Emanuele Mattei (emanuele.mattei[at]email. La gestione documentale con il programma Filenet ed il suo utilizzo tramite la tecnologia.net di Emanuele Mattei (emanuele.mattei[at]email.it) Introduzione In questa serie di articoli, vedremo come utilizzare

Dettagli

FIRESHOP.NET. Gestione Utility & Configurazioni. Rev. 2014.3.1 www.firesoft.it

FIRESHOP.NET. Gestione Utility & Configurazioni. Rev. 2014.3.1 www.firesoft.it FIRESHOP.NET Gestione Utility & Configurazioni Rev. 2014.3.1 www.firesoft.it Sommario SOMMARIO Introduzione... 4 Impostare i dati della propria azienda... 5 Aggiornare il programma... 6 Controllare l integrità

Dettagli

Come installare e configurare il software FileZilla

Come installare e configurare il software FileZilla Come utilizzare FileZilla per accedere ad un server FTP Con questo tutorial verrà mostrato come installare, configurare il software e accedere ad un server FTP, come ad esempio quello dedicato ai siti

Dettagli

REGIONE BASILICATA (ART. 125 DEL D.LGS. N. 163/06) ALLEGATO N. 1 CARATTERISTICHE TECNICHE DEL SERVIZIO

REGIONE BASILICATA (ART. 125 DEL D.LGS. N. 163/06) ALLEGATO N. 1 CARATTERISTICHE TECNICHE DEL SERVIZIO REGIONE BASILICATA PROCEDURA NEGOZIATA PER L AFFIDAMENTO DEL SERVIZIO DI PROGETTAZIONE, REALIZZAZIONE E GESTIONE DEL SISTEMA INTEGRATO SERB ECM DELLA REGIONE BASILICATA (ART. 125 DEL D.LGS. N. 163/06)

Dettagli

Analisi dei requisiti e casi d uso

Analisi dei requisiti e casi d uso Analisi dei requisiti e casi d uso Indice 1 Introduzione 2 1.1 Terminologia........................... 2 2 Modello della Web Application 5 3 Struttura della web Application 6 4 Casi di utilizzo della Web

Dettagli

Lezione n 1! Introduzione"

Lezione n 1! Introduzione Lezione n 1! Introduzione" Corso sui linguaggi del web" Fondamentali del web" Fondamentali di una gestione FTP" Nomenclatura di base del linguaggio del web" Come funziona la rete internet?" Connessione"

Dettagli

Funzioni di base. Manualino OE6. Outlook Express 6

Funzioni di base. Manualino OE6. Outlook Express 6 Manualino OE6 Microsoft Outlook Express 6 Outlook Express 6 è un programma, incluso nel browser di Microsoft Internet Explorer, che ci permette di inviare e ricevere messaggi di posta elettronica. È gratuito,

Dettagli

F O R M A T O E U R O P E O

F O R M A T O E U R O P E O F O R M A T O E U R O P E O P E R I L C U R R I C U L U M V I T A E INFORMAZIONI PERSONALI Nome Indirizzo Laura Bacci, PMP Via Tezze, 36 46100 MANTOVA Telefono (+39) 348 6947997 Fax (+39) 0376 1810801

Dettagli

IT-BOOK. Domini Hosting Web marketing E-mail e PEC

IT-BOOK. Domini Hosting Web marketing E-mail e PEC 5 giugno 09 IT-BOOK Configurazioni e cartatteristiche tecniche possono essere soggette a variazioni senza preavviso. Tutti i marchi citati sono registrati dai rispettivi proprietari. Non gettare per terra:

Dettagli

Acronis Backup & Recovery 10 Advanced Server Virtual Edition. Guida introduttiva

Acronis Backup & Recovery 10 Advanced Server Virtual Edition. Guida introduttiva Acronis Backup & Recovery 10 Advanced Server Virtual Edition Guida introduttiva Questo documento descrive come installare e iniziare a utilizzare Acronis Backup & Recovery 10 Advanced Server Virtual Edition.

Dettagli

Appunti sugli Elaboratori di Testo. Introduzione. D. Gubiani. 19 Luglio 2005

Appunti sugli Elaboratori di Testo. Introduzione. D. Gubiani. 19 Luglio 2005 Appunti sugli Elaboratori di Testo D. Gubiani Università degli Studi G.D Annunzio di Chieti-Pescara 19 Luglio 2005 1 Cos è un elaboratore di testo? 2 3 Cos è un elaboratore di testo? Cos è un elaboratore

Dettagli

Sempre attenti ad ogni dettaglio Bosch Intelligent Video Analysis

Sempre attenti ad ogni dettaglio Bosch Intelligent Video Analysis Sempre attenti ad ogni dettaglio Bosch Intelligent Video Analysis 2 Intervento immediato con Bosch Intelligent Video Analysis Indipendentemente da quante telecamere il sistema utilizza, la sorveglianza

Dettagli

PROFILI ALLEGATO A. Profili professionali

PROFILI ALLEGATO A. Profili professionali ALLEGATO A Profili professionali Nei profili di seguito descritti vengono sintetizzate le caratteristiche di delle figure professionali che verranno coinvolte nell erogazione dei servizi oggetto della

Dettagli

Gestire le informazioni con un sorriso sulle labbra

Gestire le informazioni con un sorriso sulle labbra Gestire le informazioni con un sorriso sulle labbra Enterprise Content Management vi semplifica la vita Enterprise-Content-Management Gestione dei documenti Archiviazione Workflow www.elo.com Karl Heinz

Dettagli

Portale di Ateneo. Corso per Web Developer. Alessandro Teresi

Portale di Ateneo. Corso per Web Developer. Alessandro Teresi AREA SERVIZI A RETE SISTEMA INFORMATIVO DI ATENEO SETTORE GESTIONE RETI, HARDWARE E SOFTWARE U.O. GESTIONE E MANUTENZIONE PORTALE DI ATENEO E DATABASE ORACLE Corso per Web Developer Portale di Ateneo Alessandro

Dettagli

FileMaker Server 13. Guida di FileMaker Server

FileMaker Server 13. Guida di FileMaker Server FileMaker Server 13 Guida di FileMaker Server 2010-2013 FileMaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 Stati Uniti FileMaker e Bento sono

Dettagli

Dipartimento del Tesoro

Dipartimento del Tesoro Dipartimento del Tesoro POWER POINT AVANZATO Indice 1 PROGETTAZIONE DELL ASPETTO...3 1.2 VISUALIZZARE GLI SCHEMI...4 1.3 CONTROLLARE L ASPETTO DELLE DIAPOSITIVE CON GLI SCHEMI...5 1.4 SALVARE UN MODELLO...6

Dettagli

Le Reti Informatiche

Le Reti Informatiche Le Reti Informatiche modulo 10 Prof. Salvatore Rosta www.byteman.it s.rosta@byteman.it 1 Nomenclatura: 1 La rappresentazione di uno schema richiede una serie di abbreviazioni per i vari componenti. Seguiremo

Dettagli

DynDevice ECM. La Suite di applicazioni web per velocizzare, standardizzare e ottimizzare il flusso delle informazioni aziendali

DynDevice ECM. La Suite di applicazioni web per velocizzare, standardizzare e ottimizzare il flusso delle informazioni aziendali DynDevice ECM La Suite di applicazioni web per velocizzare, standardizzare e ottimizzare il flusso delle informazioni aziendali Presentazione DynDevice ECM Cos è DynDevice ICMS Le soluzioni di DynDevice

Dettagli

FORM Il sistema informativo di gestione della modulistica elettronica.

FORM Il sistema informativo di gestione della modulistica elettronica. Studio FORM FORM Il sistema informativo di gestione della modulistica elettronica. We believe in what we create This is FORM power La soluzione FORM permette di realizzare qualsiasi documento in formato

Dettagli

Manuale Utente. S e m p l i c e m e n t e D a t i M i g l i o r i!

Manuale Utente. S e m p l i c e m e n t e D a t i M i g l i o r i! Manuale Utente S e m p l i c e m e n t e D a t i M i g l i o r i! INDICE INDICE... 3 INTRODUZIONE... 3 Riguardo questo manuale...3 Informazioni su VOLT 3 Destinatari 3 Software Richiesto 3 Novità su Volt...3

Dettagli

GESTIONE DELLA E-MAIL

GESTIONE DELLA E-MAIL GESTIONE DELLA E-MAIL Esistono due metodologie, completamente diverse tra loro, in grado di consentire la gestione di più caselle di Posta Elettronica: 1. tramite un'interfaccia Web Mail; 2. tramite alcuni

Dettagli

IBM Cognos 8 BI Midmarket Reporting Packages Per soddisfare tutte le vostre esigenze di reporting restando nel budget

IBM Cognos 8 BI Midmarket Reporting Packages Per soddisfare tutte le vostre esigenze di reporting restando nel budget Data Sheet IBM Cognos 8 BI Midmarket Reporting Packages Per soddisfare tutte le vostre esigenze di reporting restando nel budget Panoramica Le medie aziende devono migliorare nettamente le loro capacità

Dettagli

GESTIONE ATTREZZATURE

GESTIONE ATTREZZATURE SOLUZIONE COMPLETA PER LA GESTIONE DELLE ATTREZZATURE AZIENDALI SWSQ - Solution Web Safety Quality srl Via Mons. Giulio Ratti, 2-26100 Cremona (CR) P. Iva/C.F. 06777700961 - Cap. Soc. 10.000,00 I.V. -

Dettagli

Guida alle offerte di finanziamento per le medie imprese

Guida alle offerte di finanziamento per le medie imprese IBM Global Financing Guida alle offerte di finanziamento per le medie imprese Realizzata da IBM Global Financing ibm.com/financing/it Guida alle offerte di finanziamento per le medie imprese La gestione

Dettagli

Virtualizzazione e installazione Linux

Virtualizzazione e installazione Linux Virtualizzazione e installazione Linux Federico De Meo, Davide Quaglia, Simone Bronuzzi Lo scopo di questa esercitazione è quello di introdurre il concetto di virtualizzazione, di creare un ambiente virtuale

Dettagli

How to Develop Accessible Linux Applications

How to Develop Accessible Linux Applications How to Develop Accessible Linux Applications Sharon Snider Copyright 2002 IBM Corporation v1.1, 2002-05-03 Diario delle Revisioni Revisione v1.1 2002-05-03 Revisionato da: sds Convertito in DocBook XML

Dettagli

***** Il software IBM e semplice *****

***** Il software IBM e semplice ***** Il IBM e semplice ***** ***** Tutto quello che hai sempre voluto sapere sui prodotti IBM per qualificare i potenziali clienti, sensibilizzarli sulle nostre offerte e riuscire a convincerli. WebSphere IL

Dettagli

Posta Elettronica. Claudio Cardinali claudio@csolution.it

Posta Elettronica. Claudio Cardinali claudio@csolution.it Posta Elettronica Claudio Cardinali claudio@csolution.it Posta Elettronica: WebMail Una Webmail è un'applicazione web che permette di gestire uno o più account di posta elettronica attraverso un Browser.

Dettagli

Piattaforma Applicativa Gestionale. Import dati. Release 7.0

Piattaforma Applicativa Gestionale. Import dati. Release 7.0 Piattaforma Applicativa Gestionale Import dati Release 7.0 COPYRIGHT 2000-2012 by ZUCCHETTI S.p.A. Tutti i diritti sono riservati. Questa pubblicazione contiene informazioni protette da copyright. Nessuna

Dettagli

Profilo Commerciale Collabor@

Profilo Commerciale Collabor@ Profilo Commerciale Collabor@ 1. DESCRIZIONE DEL SERVIZIO E REQUISITI Collabor@ è un servizio di web conferenza basato sulla piattaforma Cisco WebEx, che consente di organizzare e svolgere riunioni web,

Dettagli

G e s t i o n e U t e n z e C N R

G e s t i o n e U t e n z e C N R u t e n t i. c n r. i t G e s t i o n e U t e n z e C N R G U I D A U T E N T E Versione 1.1 Aurelio D Amico (Marzo 2013) Consiglio Nazionale delle Ricerche - Sistemi informativi - Roma utenti.cnr.it -

Dettagli

Accordo d Uso (settembre 2014)

Accordo d Uso (settembre 2014) Accordo d Uso (settembre 2014) Il seguente Accordo d uso, di seguito Accordo, disciplina l utilizzo del Servizio on line 4GUEST, di seguito Servizio, che prevede, la creazione di Viaggi, Itinerari, Percorsi,

Dettagli

AlboTop. Software di gestione Albo per Ordini Assistenti Sociali

AlboTop. Software di gestione Albo per Ordini Assistenti Sociali AlboTop Software di gestione Albo per Ordini Assistenti Sociali Introduzione AlboTop è il nuovo software della ISI Sviluppo Informatico per la gestione dell Albo professionale dell Ordine Assistenti Sociali.

Dettagli

Progetto Istanze On Line

Progetto Istanze On Line 2014 Progetto Istanze On Line 09 aprile 2014 INDICE 1 INTRODUZIONE ALL USO DELLA GUIDA... 3 1.1 SIMBOLI USATI E DESCRIZIONI... 3 2 GESTIONE DELL UTENZA... 4 2.1 COS È E A CHI È RIVOLTO... 4 2.2 NORMATIVA

Dettagli

Scrivere uno script php che, dato un array associativo PERSONE le cui chiavi sono i

Scrivere uno script php che, dato un array associativo PERSONE le cui chiavi sono i Esercizi PHP 1. Scrivere uno script PHP che produca in output: 1. La tabellina del 5 2. La tavola Pitagorica contenuta in una tabella 3. La tabellina di un numero ricevuto in input tramite un modulo. Lo

Dettagli

BPEL: Business Process Execution Language

BPEL: Business Process Execution Language Ingegneria dei processi aziendali BPEL: Business Process Execution Language Ghilardi Dario 753708 Manenti Andrea 755454 Docente: Prof. Ernesto Damiani BPEL - definizione Business Process Execution Language

Dettagli

B.P.S. Business Process Server ALLEGATO C10

B.P.S. Business Process Server ALLEGATO C10 B.P.S. Business Process Server ALLEGATO C10 REGIONE BASILICATA DIPARTIMENTO PRESIDENZA DELLA GIUNTA REGIONALE UFFICIO SISTEMA INFORMATIVO REGIONALE E STATISTICA Via V. Verrastro, n. 4 85100 Potenza tel

Dettagli

Guida all'installazione di SLPct. Manuale utente. Evoluzioni Software www.evoluzionisoftware.it info@evoluzionisoftware.it

Guida all'installazione di SLPct. Manuale utente. Evoluzioni Software www.evoluzionisoftware.it info@evoluzionisoftware.it Guida all'installazione di SLPct Manuale utente Evoluzioni Software www.evoluzionisoftware.it info@evoluzionisoftware.it Premessa Il redattore di atti giuridici esterno SLpct è stato implementato da Regione

Dettagli

Simplex Gestione Hotel

Simplex Gestione Hotel Simplex Gestione Hotel Revisione documento 01-2012 Questo documento contiene le istruzioni per l'utilizzo del software Simplex Gestione Hotel. E' consentita la riproduzione e la distribuzione da parte

Dettagli

WEB Conference, mini howto

WEB Conference, mini howto Prerequisiti: WEB Conference, mini howto Per potersi collegare o creare una web conference è necessario: 1) Avere un pc con sistema operativo Windows XP o vista (windows 7 non e' ancora certificato ma

Dettagli

Principi base per un buon CV. La struttura del Curriculum

Principi base per un buon CV. La struttura del Curriculum Principi base per un buon CV Il curriculum vitae è il resoconto della vostra vita professionale, e può essere il vostro rappresentante più fedele, a patto che sia fatto bene. Concentratevi sui punti essenziali

Dettagli

Plesk Automation. Parallels. Domande tecniche più frequenti

Plesk Automation. Parallels. Domande tecniche più frequenti Parallels Plesk Automation Primo trimestre, 2013 Domande tecniche più frequenti Questo documento ha come scopo quello di rispondere alle domande tecniche che possono sorgere quando si installa e si utilizza

Dettagli

Analisi della situazione iniziale

Analisi della situazione iniziale Linux in azienda Solitamente quando si ha un ufficio e si pensa all'acquisto dei computer la cosa che si guarda come priorità è la velocità della macchina, la potenza del comparto grafico, lo spazio di

Dettagli

Informatica per la comunicazione" - lezione 9 -

Informatica per la comunicazione - lezione 9 - Informatica per la comunicazione" - lezione 9 - Protocolli di livello intermedio:" TCP/IP" IP: Internet Protocol" E il protocollo che viene seguito per trasmettere un pacchetto da un host a un altro, in

Dettagli

GESTIONE SOGGETTI INCARICATI MANUALE UTENTE VERSIONE 1.0

GESTIONE SOGGETTI INCARICATI MANUALE UTENTE VERSIONE 1.0 09/01/2015 GESTIONE SOGGETTI INCARICATI MANUALE UTENTE VERSIONE 1.0 PAG. 2 DI 16 INDICE 1. INTRODUZIONE 3 2. PREMESSA 4 3. FUNZIONI RELATIVE AGLI INCARICATI 6 3.1 NOMINA DEI GESTORI INCARICATI E DEGLI

Dettagli

MEGA Process. Manuale introduttivo

MEGA Process. Manuale introduttivo MEGA Process Manuale introduttivo MEGA 2009 SP4 1ª edizione (giugno 2010) Le informazioni contenute nel presente documento possono essere modificate senza preavviso e non costituiscono in alcun modo un

Dettagli

UML: Class Diagram. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it

UML: Class Diagram. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it UML: Class Diagram Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania Class Diagram Forniscono una vista strutturale

Dettagli

Guida all utilizzo del dispositivo USB

Guida all utilizzo del dispositivo USB Guida all utilizzo del dispositivo USB 30/04/2013 Sommario - Limitazioni di responsabilità e uso del manuale... 3 1. Glossario... 3 2. Guida all utilizzo del dispositivo USB... 4 2.1 Funzionamento del

Dettagli

Parallels Plesk Panel

Parallels Plesk Panel Parallels Plesk Panel Notifica sul Copyright ISBN: N/A Parallels 660 SW 39 th Street Suite 205 Renton, Washington 98057 USA Telefono: +1 (425) 282 6400 Fax: +1 (425) 282 6444 Copyright 1999-2009, Parallels,

Dettagli

GESTIRE LA BIBLIOGRAFIA

GESTIRE LA BIBLIOGRAFIA GESTIRE LA BIBLIOGRAFIA STRUMENTI DI GESTIONE BIBLIOGRAFICA I software di gestione bibliografica permettono di raccogliere, catalogare e organizzare diverse tipologie di materiali, prendere appunti, formattare

Dettagli

GUIDA DELL UTENTE IN RETE

GUIDA DELL UTENTE IN RETE GUIDA DELL UTENTE IN RETE Memorizza registro di stampa in rete Versione 0 ITA Definizione delle note Nella presente Guida dell'utente viene utilizzata la seguente icona: Le note spiegano come intervenire

Dettagli

Payment Card Industry (PCI) Data Security Standard

Payment Card Industry (PCI) Data Security Standard Payment Card Industry (PCI) Data Security Standard Procedure per la scansione di sicurezza Versione 1.1 Release: settembre 2006 Indice generale Finalità... 1 Introduzione... 1 Ambito di applicazione dei

Dettagli

DataFix. La soluzione innovativa per l'help Desk aziendale

DataFix. La soluzione innovativa per l'help Desk aziendale DataFix D A T A N O S T O P La soluzione innovativa per l'help Desk aziendale La soluzione innovativa per l'help Desk aziendale L a necessità di fornire un adeguato supporto agli utenti di sistemi informatici

Dettagli

PLM Software. Answers for industry. Siemens PLM Software

PLM Software. Answers for industry. Siemens PLM Software Siemens PLM Software Monitoraggio e reporting delle prestazioni di prodotti e programmi Sfruttare le funzionalità di reporting e analisi delle soluzioni PLM per gestire in modo più efficace i complessi

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Elementi di Informatica e Programmazione Le Reti di Calcolatori (parte 2) Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Docente: Daniela

Dettagli

I N F I N I T Y Z U C C H E T T I WORKFLOW HR

I N F I N I T Y Z U C C H E T T I WORKFLOW HR I N F I N I T Y Z U C C H E T T I WORKFLOW HR WORKFLOW HR Zucchetti, nell ambito delle proprie soluzioni per la gestione del personale, ha realizzato una serie di moduli di Workflow in grado di informatizzare

Dettagli

SOFTWARE GESTIONE SMS DA INTERFACCE CL MANUALE D INSTALLAZIONE ED USO

SOFTWARE GESTIONE SMS DA INTERFACCE CL MANUALE D INSTALLAZIONE ED USO CLSMS SOFTWARE GESTIONE SMS DA INTERFACCE CL MANUALE D INSTALLAZIONE ED USO Sommario e introduzione CLSMS SOMMARIO INSTALLAZIONE E CONFIGURAZIONE... 3 Parametri di configurazione... 4 Attivazione Software...

Dettagli

Piazza delle Imprese alimentari. Viale delle Manifatture. Via della Produzione

Piazza delle Imprese alimentari. Viale delle Manifatture. Via della Produzione Piazza delle Imprese alimentari Viale delle Manifatture Via della Produzione PASSEPARTOUT MEXAL è una soluzione gestionale potente e completa per le imprese che necessitano di un prodotto estremamente

Dettagli

SCUOLANET UTENTE DOCENTE

SCUOLANET UTENTE DOCENTE 1 ACCESSO A SCUOLANET Si accede al servizio Scuolanet della scuola mediante l'indirizzo www.xxx.scuolanet.info (dove a xxx corrisponde al codice meccanografico della scuola). ISTRUZIONI PER IL PRIMO ACCESSO

Dettagli

Configurazioni Mobile Connect

Configurazioni Mobile Connect Mailconnect Mail.2 L EVOLUZIONE DELLA POSTA ELETTRONICA Configurazioni Mobile Connect iphone MOBILE CONNECT CONFIGURAZIONE MOBILE CONNECT PER IPHONE CONFIGURAZIONE IMAP PER IPHONE RUBRICA CONTATTI E IPHONE

Dettagli