UNIVERSITÀ DEGLI STUDI DI PARMA REALIZZAZIONE DI UNO STRUMENTO PER LA GESTIONE DI BASI DI DATI IN APPLICAZIONI WEB

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "UNIVERSITÀ DEGLI STUDI DI PARMA REALIZZAZIONE DI UNO STRUMENTO PER LA GESTIONE DI BASI DI DATI IN APPLICAZIONI WEB"

Transcript

1 UNIVERSITÀ DEGLI STUDI DI PARMA FACOLTÀ DI INGEGNERIA CORSO DI LAUREA IN INGEGNERIA INFORMATICA REALIZZAZIONE DI UNO STRUMENTO PER LA GESTIONE DI BASI DI DATI IN APPLICAZIONI WEB Relatore Chiar.mo Prof. Ing. A. POGGI Correlatore Dott. Ing. F. BERGENTI Tesi di Laurea di PAOLO ZANI

2 A Francesca

3 Ringraziamenti Innanzitutto vorrei ringraziare il professor Agostino Poggi per avermi dato l opportunità di avvicinarmi al mondo del Java ed in particolare alla programmazione di applicazioni web; un ringraziamento va anche all ing. Federico Bergenti, per la grande disponibilità dimostrata e i tanti consigli che mi hanno permesso di portare a termine il mio lavoro. Nulla comunque sarebbe stato possibile senza l aiuto delle tante persone che in questi mesi mi sono state vicine; in particolare devo menzionare Francesca Ambroggi per il tempo, l attenzione e i mezzi tecnici messi a mia disposizione durante tutto questo periodo, Paolo Pini per avermi assistito nel duro lavoro di revisione linguistica, Paolo Baroncini e Dario Lodi Rizzini per l aiuto che mi hanno dato nel a venire a capo di problemi di configurazione a prima vista insolubili, e, naturalmente, Marco e Chiara, che hanno sempre creduto in me, incoraggiandomi a continuare anche nei momenti di più grossa difficoltà. i

4 Indice Prefazione vi 1 Strumenti per applicazioni web in Java JSTL JavaServer Pages Standard Tag Library 21 3 Miglioramenti alla gestione dei database via JSTL.. 53 Conclusioni 66 Glossario.68 Bibliografia.70 ii

5 Indice delle Figure 1.1 Esecuzione di una pagina JSP Ciclo di vita di una Servlet generata a partire da una pagina JSP Architettura JSP Modello Architettura JSP Modello 2 (MVC) Ambiti di visibilità delle variabili accessibili da una pagina JSP Forwarding delle Request Dinamica del tag include Schema risorse i18n...33 iii

6 Indice delle Tabelle 2.1 EL-based Tag Libraries RT-based Tag Libraries Tag general-purpose Tag condizionali Tag iteratori Tag di supporto agli URL Tag per l internazionalizzazione (i18n) Tag per la formattazione Tag XML di base Tag XML per il controllo di flusso Tag XML per la trasformazione Parametri di <sql:query> Parametri di <sql:update> Parametri di <sql:transaction> Parametri di <sql:setdatasource> Parametri di <sql:param> Parametri di <sql:dateparam>.52 iv

7 Indice dei Listati 2.1 Utilizzo dell EL all interno di un attributo Query su un DB e creazione di una tabella contenente il risultato Transazione contenente aggiornamenti multipli del contenuto un DB Esempio delle modifiche apportate a sql.tld Esempio delle modifiche apportate a sql-rt.tld Esempio di utilizzo del tag <sql:view>...63 v

8 Prefazione Negli ultimi anni abbiamo potuto assistere ad una sempre più rapida espansione delle reti di calcolatori, ed in particolare di Internet: il numero di servizi offerti dal web è in costante crescita, così come lo è la loro complessità. In principio, la maggior parte delle operazioni consisteva nello scambio di posta elettronica (utilizzando protocolli come SMTP e POP3), nel trasferimento di file (attraverso FTP) o nella presentazione di informazioni attraverso pagine HTML statiche, che permettevano, comunque, solo interazioni molto limitate. Col passare del tempo, però, si è iniziata a sentire la necessità di fornire agli utenti la possibilità di avere accesso a contenuti di tipo più dinamico e personalizzato, come quelli offerti, ad esempio, da portali o siti di e-commerce. Per raggiungere questo obiettivo sono state progressivamente sviluppate diverse tecnologie, come ad esempio CGI e Servlet, che permettono ad un server di elaborare le richieste del client e di utilizzare le proprie risorse (dati, capacità di calcolo ecc ) per fornire una risposta adeguata. Uno dei problemi che si presentano quando si vuole realizzare servizi di tipo dinamico è quello di riuscire a separare in modo efficace la fase dell elaborazione dei dati da quella della loro presentazione: la realizzazione un interfaccia userfriendly e dall aspetto gradevole ha assunto oramai una importanza tale da richiedere, specialmente nel caso di prodotti di tipo commerciale, l intervento di personale qualificato, le cui competenze, però, potrebbero esulare da quelle di un programmatore; allo stesso modo, non è detto che chi scrive le routine che si preoccupano di elaborare le richieste (ad esempio accedendo ad un DB) abbia le capacità necessarie a creare un sistema fruibile ed intuitivo anche per un utenza non specializzata. vi

9 Una tecnologia che consente di realizzare questa separazione in modo abbastanza semplice ed intuitivo è quella delle JSP (JavaServer Pages), che permettono di estendere le possibilità offerte da HTML attraverso l introduzione di tutta una serie di nuovi tag che mettono a disposizione del designer di pagine web gli strumenti necessari a realizzare siti dinamici con un procedimento del tutto simile a quello utilizzato per la creazione di quelli statici. I tag JSP hanno l aspetto di elementi XML, e incapsulano la logica necessaria alla generazione del contenuto delle pagine; l elaborazione, inoltre, può essere svolta da risorse messe a disposizione dal server (come ad esempio dei JavaBean ), a cui i tag presenti sulla pagina accedono. E del tutto evidente che il processo di realizzazione risulta molto velocizzato, e anche la manutenzione diventa più semplice. Un altro vantaggio delle JSP è che il numero di tag disponibile può essere aumentato a piacere, semplicemente scrivendo delle classi Java che ne implementino il comportamento secondo le specifiche fornite da Sun Microsystems, Inc. ; in questo modo risulta possibile soddisfare anche le esigenze di design più particolari o creare strumenti di sviluppo sempre più rapidi e semplici da usare. Basandosi su queste specifiche è stata realizzata una libreria di tag (JSTL, JavaServer Pages Standard Tag Library) che implementa tutta una serie di funzionalità comunemente richieste durante il processo di sviluppo di un sito web. Tra le caratteristiche più sfruttate c è la possibilità di utilizzare dei tag per accedere a database relazionali, presenti ormai in una grandissima varietà di situazioni (e.g. transazioni commerciali, gestione di clienti o personale, operazioni bancarie, controllo magazzini); il sistema impiegato per comunicare coi database presenta però una caratteristica particolare: i risultati delle query vengono restituiti all interno di un oggetto Java. Questo fatto risulta vantaggioso quando si vogliono compiere ulteriori elaborazioni sui dati restituiti dal database, ma appesantisce in modo notevole il codice all interno della pagina JSP quando quello che si desidera è la semplice visualizzazione attraverso una tabella: in questo caso, infatti, oltre ai tag necessari per realizzare la query, ne servono altri per creare un ciclo che scandisca in modo vii

10 progressivo i risultati e li mandi in output con la formattazione desiderata; gli stessi risultati, poi, potrebbero essere in numero tale da rendere molto scomoda la loro consultazione, se mostrati tutti assieme. Queste considerazioni hanno portato all idea di sviluppare un estensione ai tag di gestione delle transazioni sql presenti all interno della JSTL che potesse permettere di realizzare con una sintassi semplice l esecuzione di query e la visualizzazione dei risultati mediante tabelle formattate secondo le necessità del designer della pagina web. Attraverso il nuovo tag sarà possibile specificare come parametri le caratteristiche che la tabella che verrà disegnata dovrà avere (e.g. le dimensioni del bordo e il foglio di stile da utilizzare per il rendering), e quanti saranno i risultati visualizzabili al massimo contemporaneamente: i dati risulteranno quindi divisi in pagine, attraverso cui si potrà navigare grazie ai bottoni visualizzati al di sotto di ogni tabella. Grazie a questo sistema, quindi, non sarà più necessario preoccuparsi di come realizzare l output grafico, ma solo di quale aspetto la pagina finale debba avere e quali siano i dati in essa contenuti. viii

11 Strumenti per applicazioni web in Java 1 Capitolo 1 Strumenti per applicazioni web in Java Questo capitolo tratta di come sia possibile realizzare applicazioni web dinamiche utilizzando tecnologie basate sul linguaggio Java. 1.1 Servlet D a quando si è cominciato ad utilizzare il Web per fornire servizi, i provider hanno avvertito la necessità di inserire, nei loro siti, contenuto dinamico, giacché soltanto in questo modo risulta possibile realizzare applicazioni di una certa complessità; si possono, infatti, presentare diverse situazioni in cui una pagina statica non risulta sufficiente: 1. La pagina web è basata su dati inseriti dall utente ad esempio, le pagine dei risultati nei motori di ricerca, o la pagina di conferma delle ordinazioni in un negozio on-line sono determinate dalle richieste dell utente; 2. La pagina web è basata su dati che cambiano di frequente come le previsioni del tempo o le ultime notizie, per cui si può costruire una pagina aggiornata in tempo reale;

12 Strumenti per applicazioni web in Java 2 3. La pagina web viene costruita basandosi su DB o altre risorse residenti sul server ad esempio, in un sito di e-commerce si potrebbe voler mostrare le disponibilità e i prezzi dei prodotti presenti in magazzino. Uno dei primi tentativi in questa direzione sono state le applet, che utilizzavano la piattaforma client per compiere le elaborazioni richieste; nel contempo, si è cercato un modo di utilizzare i server stessi per ottenere i risultati desiderati: sono nati, così, gli script CGI (Common Gateway Interface), che, pur essendo tuttora largamente utilizzati, hanno un numero considerevole di limiti e svantaggi. La tecnologia Java Servlet si propone di superare i problemi emersi finora e di fornire agli utenti, in maniera portabile, contenuti dinamici e personalizzati. Le Servlet sono programmi che girano su di un server web, agendo come strato intermedio tra la request proveniente da un browser o un altro client http e i database o le applicazioni presenti sul server http. I loro compiti sono: 1. Leggere i dati inviati dall utente di solito questi sono inseriti in un form all interno di una pagina web, ma potrebbero anche provenire da un applet Java o da un qualsiasi altro programma che funga da client HTTP; 2. Controllare ogni altra informazione sulla richiesta che sia stata eventualmente inserita nella request HTTP questi dati aggiuntivi possono comprendere dettagli sulle capacità del browser, cookie, il nome dell host su cui è in esecuzione il client e così via; 3. Generare i risultati questo processo potrebbe richiedere di connettersi ad un database, eseguire una chiamata RMI o CORBA, eseguire un applicazione o generare direttamente una risposta; 4. Inserire i risultati generati all interno di un documento nella maggior parte dei casi questo comporta la creazione di una pagina HTML a partire dai risultati; 5. Settare i parametri opportuni all interno della response HTTP questo significa indicare al browser il tipo di documento restituito, settare i cookie o altri parametri e operazioni del genere; 2

13 Strumenti per applicazioni web in Java 3 6. Inviare il documento al client il contenuto restituito al client può essere in forma di testo (HTML), binario (come immagini JPEG) o persino compresso in qualche formato come gzip Confronto tra Servlet e CGI Le Servlet Java risultano più efficienti, facili da usare, potenti, portabili, sicure ed economiche che i CGI tradizionali e tecnologie simili. 1. Efficienza Con i CGI tradizionali viene creato un nuovo processo per ogni request HTTP ricevuta. Se il programma CGI in sé è relativamente corto il tempo necessario a farlo partire può diventare maggiore di quello necessario all esecuzione. Con le servlet la JVM resta in esecuzione e gestisce ogni richiesta utilizzando un thread Java, molto meno pesante per il sistema di un processo. Infine, quando un programma CGI finisce di servire una richiesta questo termina, rendendo difficile tener traccia delle elaborazioni svolte, lasciare le connessioni ai database aperte e in generale effettuare tutte quelle ottimizzazioni che si basano su dati persistenti; le Servlet, invece, restano in memoria anche dopo aver completato la risposta, rendendo possibile senza difficoltà lo scambio di dati complessi a piacere tra una richiesta e l altra. 2. Facilità d uso Le Servlet contengono tutta una serie di infrastrutture che permettono di analizzare e decodificare i dati contenuti nei form HTML, leggere e settare header HTTP, manipolare cookie, tener traccia di sessioni e svolgere altri compiti simili, il tutto in modo automatico. 3. Potenza Le Servlet offrono diverse caratteristiche che sono difficili o impossibili da ottenere con i CGI tradizionali: sono, infatti, in grado di comunicare direttamente col server su cui risiedono (cosa che i CGI sono in grado di fare soltanto utilizzando API specifiche quando queste siano previste dal 3

14 Strumenti per applicazioni web in Java 4 server stesso), possono condividere dati (come informazioni sulle connessioni a database esistenti) e mantenere informazioni da una richiesta all altra, semplificando la gestione delle sessioni e permettendo di mantenere una cache delle elaborazioni svolte. 4. Portabilità Le Servlet sono scritte in linguaggio Java e seguono una API standard; di conseguenza, una servlet può, in teoria, girare senza alcuna modifica su un qualsiasi server che le supporti in modo diretto oppure attraverso dei plugin. Le Servlet sono diventate parte della J2EE, e quindi il supporto per questa tecnologia sta diventando sempre più ampio. 5. Sicurezza Una delle maggiori vulnerabilità dei CGI tradizionali deriva dal fatto che questi vengono spesso eseguiti all interno di terminali di sistemi operativi, obbligando gli sviluppatori a prestare molta attenzione al trattamento di caratteri particolari, che potrebbero essere interpretati come comandi; questi programmi, inoltre, sono a volte scritti in linguaggi (come C e C++) che non eseguono controlli automatici sulle dimensioni di vettori o stringhe, rendendo possibili attacchi basati su buffer overflow. Le Servlet non presentano questi problemi, dato che non utilizzano terminali per eseguire chiamate di sistema e, essendo scritte in Java, si avvantaggiano di tutti i meccanismi di gestione e protezione della memoria propri di questo linguaggio di programmazione. 6. Economicità Sono disponibili diversi server web gratuiti per siti con un carico di lavoro previsto relativamente basso, e, anche nel caso di prodotti commerciali di un certo calibro, aggiungere il supporto per l utilizzo delle Servlet (ove non sia già previsto) richiede un investimento supplementare minimo. 4

15 Strumenti per applicazioni web in Java JavaServer Pages La tecnologia JavaServer Pages permette di creare con facilità contenuti web che comprendano sia componenti statici che dinamici. Le JSP mettono a disposizione tutte le potenzialità della tecnologia Java Servlet fornendo nel contempo un approccio più naturale alla creazione delle parti di contenuto statiche. Le caratteristiche principali di questa tecnologia sono: 1. un linguaggio per sviluppare pagine JSP, che sono documenti di testo che descrivono come elaborare una request e costruire una response; 2. un Expression Language per accedere ad oggetti sul lato server; 3. meccanismi per definire estensioni al linguaggio JSP Una pagina JSP tipicamente risulta composta da componenti HTML/XML statici, tag JSP e, opzionalmente, parti di codice scritte in Java chiamate scriptlet. Le specifiche che definiscono JSP ne fanno un estensione standard costruita sulla base dell API prevista per le Servlet, ereditandone tutti i vantaggi. Ci sono tuttavia delle considerevoli differenze tra queste due tecnologie: a differenza delle Servlet, le JSP non richiedono grosse capacità di programmazione e si rivolgono quindi ad un pubblico più vasto, comprendente oltre agli sviluppatori anche i designer di pagine web, che quindi possono assumere un ruolo di maggiore importanza nel processo di sviluppo. Un altro vantaggio delle JSP è la separazione della presentazione dal contenuto resa ancora più semplice dalla tecnologia, dal momento che questa si basa su componenti riutilizzabili come i JavaBeans Confronto tra JSP e Servlet Con le Servlet la logica per la generazione del contenuto dinamico è parte della servlet stessa ed è intimamente legato ai modelli responsabili per la generazione dell interfaccia utente, così anche un cambiamento minimo all interfaccia richiede tipicamente di ricompilare il codice. Con le JSP invece la logica necessaria a generare il contenuto dinamico viene tenuta separata dai modelli di presentazione, 5

16 Strumenti per applicazioni web in Java 6 incapsulandola all interno di componenti JavaBeans che vengono poi creati e utilizzati dalla pagina JSP mediante tag speciali e scriptlet. Quando il designer cambia in qualche modo il modello per la presentazione la pagina viene ricompilata in modo automatico e ricaricata all interno del server web dal motore JSP. Questa tecnologia permette inoltre di trasferire le pagine tra server e piattaforme diverse senza richiedere modifiche. Il contenuto dei modelli statici che compongono una pagina JSP possono essere di qualunque tipo; questo permette di realizzare applicazioni per i più svariati campi di impiego, da pagine scritte in linguaggi che vanno dall HTML/DHTML al WML, fino all XML impiegato in certe soluzioni commerciali Confronto tra JSP e ASP ASP (Active Server Pages) è una tecnologia concorrente proposta da Microsoft ; nonostante le caratteristiche offerte da JSP e ASP possano apparire simili, tra le due esistono notevoli differenze. JSP può girare su tutti i server web più popolari, come Apache, Netscape ed anche IIS, mentre ASP è legata all ultimo (o a prodotti specifici realizzati da terze parti); JSP è indipendente dalla piattaforma su cui gira, purché questa fornisca una JVM, invece ASP ha bisogno del supporto di Windows e il porting su altri sistemi risulta molto difficoltoso; JSP utilizza componenti riutilizzabili e multipiattaforma come JavaBeans, Enterprise JavaBeans e tag library personalizzate, ASP si basa sul modello di componenti COM tipico di Win32; JSP utilizza per lo scripting Java e JavaScript, ASP VBScript e JScript; per quanto riguarda la sicurezza, JSP si basa sul modello Java, mentre il suo concorrente utilizza l architettura prevista per Windows NT; per l accesso ai database il primo utilizza JDBC mentre il secondo ADO (Active Data Object); JSP infine risulta estensibile mediante l utilizzo di tag library personalizzate, ASP no Confronto tra JSP e JavaScript JavaScript, che è completamente distinto dal linguaggio di programmazione Java, viene di norma utilizzato per generare contenuto HTML direttamente sul 6

17 Strumenti per applicazioni web in Java 7 Figura 1.1. Esecuzione di una pagina JSP client, costruendo parti della pagina mentre il browser la sta caricando. Questa è una caratteristica utile, ma permette di affrontare unicamente situazioni in cui le informazioni dinamiche sono basate soltanto sull ambiente del client. A parte i cookie, i dati inseriti nella request HTTP non sono disponibili alle routine JavaScript e, dato che questo linguaggio non prevede strumenti per la programmazione di rete, il codice presente sul client non può accedere a risorse presenti sul server come database, cataloghi, listini prezzi e simili. JavaScript può essere utilizzato anche sul lato server (come per Netscape e IIS) Architettura JSP Lo scopo delle JSP è di fornire un metodo dichiarativo e incentrato sulla presentazione per sviluppare delle servlet. Come è stato già evidenziato le JSP sono un estensione basata sull API Servlet, è quindi naturale che queste due tecnologie abbiano molto in comune. Tipicamente le pagine JSP sono soggette ad una fase di traduzione, in seguito alla quale acquistano la capacità di elaborare le richieste che gli vengono sottoposte. La compilazione viene effettuata soltanto una volta (a meno che la 7

18 Strumenti per applicazioni web in Java 8 Figura 1.2. Ciclo di vita di una Servlet generata a partire da una pagina JSP pagina stessa non venga modificata); se la pagina non contiene errori il risultato sarà una classe Java, che implementa l interfaccia Servlet, rappresentante la pagina JSP di partenza. La fase di traduzione viene di solito portata a termine dal motore JSP stesso la prima volta che riceve una richiesta indirizzata alla pagina; le specifiche JSP 1.1 prevedono comunque che i file contenenti le classi già compilate possano essere generati anche in precedenza, in modo da ridurre i tempi morti iniziali. Il file compilato finale che implementa la pagina JSP estende la classe HttpJspBase, che a sua volta implementa l interfaccia Servlet; all interno di esso è presente il metodo _jspservice(), che è responsabile della formulazione di una risposta alle richieste inviate dal client. Gli sviluppatori inoltre possono indicare il comportamento che il sistema dovrà avere nelle fasi di avvio e arresto attraverso i metodi jspinit() e jspdestroy(), come si può vedere nella figura 1.2. Una volta che la classe è stata caricata all interno del contenitore che si occuperà della sua esecuzione, il metodo _jspservice() può elaborare le richieste 8

19 Strumenti per applicazioni web in Java 9 Figura 1.3. Architettura JSP Modello 1 del client e costruire le risposte da inviare; di default questo metodo viene eseguito in un thread separato per ogni richiesta. Le prime specifiche introdotte per le JSP prevedevano due approcci strutturali differenti (noti come architetture Modello 1 e Modello 2) per impiegare questa tecnologia all interno delle applicazioni web; questi differiscono essenzialmente per il punto in cui viene eseguita l elaborazione della request, e forniscono un utile paradigma per la progettazione. Come si può vedere nella figura 1.3 nell architettura Modello 1 la richiesta proveniente da un browser web viene inviata direttamente alla pagina JSP, che è quindi incaricata di elaborarla e di fornire la risposta al client; c è comunque separazione tra presentazione e contenuto, perché ai dati si accede sempre attraverso dei JavaBean. Nonostante questo tipo di architettura sia indicata per piccole applicazioni, potrebbe rivelarsi inadatta a progetti su larga scala. Un uso indiscriminato di questa architettura di solito porta ad avere grandi quantità di script o codice Java 9

20 Strumenti per applicazioni web in Java 10 Figura 1.4. Architettura JSP Modello 2 (MVC) all interno delle pagine, specialmente quando è necessario operare una notevole quantità di elaborazioni sulla richiesta del client. Nonostante questo possa sembrare un problema di poco conto per chi è abituato a sviluppare codice Java, può diventare un ostacolo considerevole se le pagine JSP devono essere create o mantenute da designer (come succede di norma in progetti di un certo rilievo). Un altro svantaggio di questo approccio nello sviluppo è che ogni singola pagina JSP deve gestire lo stato corrente dell applicazione e controllare autenticazioni e sicurezza. L architettura Modello 2, illustrata nella figura 1.4, è una implementazione del popolare design pattern MVC (Model View Controller): qui l elaborazione è suddivisa tra componenti di presentazione e di controllo. I primi sono pagine JSP che generano la risposta HTML/XML che costituirà l interfaccia utente una volta che sia stata disegnata dal browser. I restanti componenti (che possono essere servlet o pagine JSP) invece non si occupano degli aspetti della rappresentazione, ma piuttosto elaborano tutte le request HTTP: sono quindi loro a decidere quali 10

21 Strumenti per applicazioni web in Java 11 oggetti o bean creare, e a decidere, in base alle azioni dell utente, a quale pagina JSP indirizzare il risultato. Il vantaggio di questo tipo di architettura è che non c è alcuna elaborazione all interno dei componenti di presentazione, che hanno semplicemente il compito di recuperare gli oggetti o i bean creati dai componenti di controllo e di estrarre da essi il contenuto dinamico per poterlo poi inserire all interno dei propri modelli statici; di conseguenza questa netta separazione tra presentazione e contenuto porta ad una chiara divisione dei ruoli e delle responsabilità dei programmatori da quelle dei designer all interno del team di sviluppo. Una ultima caratteristica positiva di questo tipo di approccio è che essendoci un unico punto di contatto con l esterno lo stato, la sicurezza e l aspetto dell applicazione risultano più semplici da gestire Elementi di scripting Gli elementi di scripting JSP permettono di inserire codice Java all interno della servlet che verrà generata a partire dalla pagina JSP, e possono assumere tre forme: 1. espressioni, nella forma <%= espressione %>, che vengono valutate e poi inserite nell output; 2. scriptlet, nella forma <% codice %>, che vengono inserite nel metodo _jspservice() della servlet; 3. dichiarazioni, nella forma <%! codice %>, che vengono inserite nel corpo della classe che costituisce la servlet, al di fuori di qualsiasi metodo già esistente. Quando si utilizzano le espressioni JSP il risultato della loro valutazione viene convertito in una stringa e incluso nella pagina di output. Tipicamente le espressioni vengono utilizzate per mostrare semplici valori di variabili invocando il metodo get di un bean, oppure per mostrare lo stato di uno degli oggetti predefiniti. Le espressioni JSP sono incluse nel tag <%= %> e non prevedono l utilizzo del punto e virgola per terminare le istruzioni. 11

22 Strumenti per applicazioni web in Java 12 Se diventa necessario svolgere azioni più articolate rispetto al semplice inserimento del valore di una espressione, le scriptlet JSP permettono di inserire codice Java arbitrario all interno della servlet che verrà generata per costruire la pagina; in generale le scriptlet possono svolgere molti compiti impossibili con il solo uso di espressioni, come ad esempio settare header e codici di stato all interno della response, scrivere nei log del server o aggiornare un database, o anche eseguire codice che contiene espressioni condizionali o cicli; le variabili accessibili sono quelle predefinite rese disponibili anche per le espressioni. Si può inserire qualsiasi frammento di codice Java valido, anche più di una riga alla volta; una scriptlet è racchiusa nel tag <% %>. Le dichiarazioni JSP (inserite nel tag <%! %>) permettono di definire variabili visibili all interno di tutta la pagina per memorizzare informazioni, e anche di definire metodi che saranno utili al resto del programma; bisogna fare attenzione perché utilizzando sia le espressioni che le dichiarazioni diventa semplice inserire una grande quantità di istruzioni Java direttamente all interno della pagina JSP, rendendo in seguito la manutenzione molto difficoltosa. Per questa ragione, e per rendere il codice maggiormente riutilizzabile, è opportuno inserire la logica responsabile delle elaborazioni principali all interno di componenti JavaBean Ambiti di visibilità e variabili predefinite Gli oggetti cui si può accedere all interno di una pagina JSP possono essere creati in diversi modi: implicitamente utilizzando le direttive JSP, oppure in modo esplicito attraverso le azioni o, in rari casi, direttamente con lo scripting. Gli oggetti istanziati possono essere associati con un attributo che ne definisca l ambito di visibilità (scope), in modo da stabilire quando sia possibile accedervi e quando invece questi debbano risultare non disponibili. I vari scope possibili sono illustrati nella figura

23 Strumenti per applicazioni web in Java 13 Figura 1.5. Ambiti di visibilità delle variabili accessibili da una pagina JSP Per semplificare il codice presente all interno delle pagine JSP sono state introdotte delle variabili predefinite, a volte chiamate oggetti impliciti: 1. request (scope: request) questa variabile rappresenta l HttpServletRequest associata alla request ricevuta; permette di accedere ai parametri della request, al suo tipo (GET oppure POST), e agli header associati (e.g. i cookie); 2. response (scope: pagina) questa variabile rappresenta l HttpServletResponse associata alla response inviata. Dal momento che l output di norma viene inserito in un buffer prima di essere inviato, risulta possibile inserire header HTTP e codici della response anche nel mezzo di una pagina JSP (cosa non concessa invece nelle servlet una volta che sia stato prodotto un qualunque output); 3. out (scope: pagina) questo è l oggetto PrintWriter utilizzato per inviare l output al client; per rendere utilizzabile l oggetto response questa risulta in realtà una versione con buffer di PrintWriter chiamata 13

24 Strumenti per applicazioni web in Java 14 JspWriter; è possibile stabilire le dimensioni di questo buffer attraverso l attributo buffer nella direttiva page; 4. session (scope: sessione) questa variabile rappresenta l oggetto HttpSession associato alla request; 5. application (scope: applicazione) questa variabile è il ServletContext ottenuto chiamando getservletconfig().getcontext(). Sia le servlet che le pagine JSP possono inserire dati all interno dell oggetto ServletContext (che infatti prevede i metodi setattribute() e getattribute()) in modo da renderli persistenti e disponibili a tutte le servlet presenti all interno del motore Servlet (o dell applicazione web); 6. config (scope: pagina) questa variabile rappresenta l oggetto ServletConfig associato alla pagina corrente; 7. pagecontext (scope: pagina) la classe PageContext è stata introdotta dalle JSP per fornire un punto di accesso unico per molti degli attributi relativi alla pagina, e un posto in cui inserire i dati condivisi; 8. page (scope: pagina) sinonimo di this, non è molto utile quando si programma in Java, è stato inserito per compatibilità con altri linguaggi di scripting; 9. exception (scope: pagina) rappresenta l oggetto Throwable non gestito che ha portato al caricamento della pagina di errore Direttive Le direttive sono messaggi per il motore JSP: non producono alcun output visibile, ma forniscono indicazioni su come andrà trattato il resto della pagina; vengono incluse all interno del tag %>, e possono essere principalmente di due tipi: page e include (anche se JSP 1.1 prevede anche la direttiva taglib, che permette di utilizzare librerie di tag personalizzate, come la JSTL). Tipicamente la direttiva page si trova all inizio della pagina JSP, e può comparire anche più di una volta, purché le coppie nome-valore indicate risultino 14

Laboratorio di Sistemi Fattoriale di un numero Jsp [Java]

Laboratorio di Sistemi Fattoriale di un numero Jsp [Java] Desideriamo realizzare una applicazione web che ci consenta di calcolare il fattoriale di un numero. L'esercizio in sé non particolarmente difficile, tuttavia esso ci consentirà di affrontare il problema

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

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

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

Lezione III: Oggetti ASP e interazione tramite form HTML

Lezione III: Oggetti ASP e interazione tramite form HTML Lezione III: Oggetti ASP e interazione tramite form HTML La terza lezione, come le precedenti, ha avuto una durata di due ore, di cui una in aula e l altra in laboratorio, si è tenuta alla presenza della

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

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

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

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client Versione 25.4.05 Sistemi informativi applicati (reti di calcolatori): appunti delle lezioni Architetture client/server: applicazioni client 1 Architetture client/server: un esempio World wide web è un

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

Introduzione alla Programmazione ad Oggetti in C++

Introduzione alla Programmazione ad Oggetti in C++ Introduzione alla Programmazione ad Oggetti in C++ Lezione 1 Cosa è la Programmazione Orientata agli Oggetti Metodologia per costruire prodotti software di grosse dimensioni che siano affidabili e facilmente

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

AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Unified Process. Prof. Agostino Poggi

AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Unified Process. Prof. Agostino Poggi AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Unified Process Prof. Agostino Poggi Unified Process Unified Software Development Process (USDP), comunemente chiamato

Dettagli

Introduzione alle applicazioni di rete

Introduzione alle applicazioni di rete Introduzione alle applicazioni di rete Definizioni base Modelli client-server e peer-to-peer Socket API Scelta del tipo di servizio Indirizzamento dei processi Identificazione di un servizio Concorrenza

Dettagli

UML Component and Deployment diagram

UML Component and Deployment diagram UML Component and Deployment diagram Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania I diagrammi UML Classificazione

Dettagli

CORSO DI ALGORITMI E PROGRAMMAZIONE. JDBC Java DataBase Connectivity

CORSO DI ALGORITMI E PROGRAMMAZIONE. JDBC Java DataBase Connectivity CORSO DI ALGORITMI E PROGRAMMAZIONE JDBC Java DataBase Connectivity Anno Accademico 2002-2003 Accesso remoto al DB Istruzioni SQL Rete DataBase Utente Host client Server di DataBase Host server Accesso

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

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

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

ARP (Address Resolution Protocol)

ARP (Address Resolution Protocol) ARP (Address Resolution Protocol) Il routing Indirizzo IP della stazione mittente conosce: - il proprio indirizzo (IP e MAC) - la netmask (cioè la subnet) - l indirizzo IP del default gateway, il router

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

12.5 UDP (User Datagram Protocol)

12.5 UDP (User Datagram Protocol) CAPITOLO 12. SUITE DI PROTOCOLLI TCP/IP 88 12.5 UDP (User Datagram Protocol) L UDP (User Datagram Protocol) é uno dei due protocolli del livello di trasporto. Come l IP, é un protocollo inaffidabile, che

Dettagli

Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN)

Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN) Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN) System Overview di Mattia Bargellini 1 CAPITOLO 1 1.1 Introduzione Il seguente progetto intende estendere

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

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

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

Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone. SQL: il DDL

Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone. SQL: il DDL Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone SQL: il DDL Parti del linguaggio SQL Definizione di basi di dati (Data Definition Language DDL) Linguaggio per modificare

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

1 EJB e Portal Component Object http://desvino.altervista.org

1 EJB e Portal Component Object http://desvino.altervista.org 1 EJB e Portal Component Object http://desvino.altervista.org In questo tutorial studiamo come sfruttare la tecnologia EJB, Enterprise JavaBean, all interno del SAP Netweaver Portal. In breve, EJB è un

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

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

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

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

Oggetti Lezione 3. aspetti generali e definizione di classi I

Oggetti Lezione 3. aspetti generali e definizione di classi I Programmazione a Oggetti Lezione 3 Il linguaggio Java: aspetti generali e definizione di classi I Sommario Storia e Motivazioni Definizione di Classi Campi e Metodi Istanziazione di oggetti Introduzione

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

Inizializzazione degli Host. BOOTP e DHCP

Inizializzazione degli Host. BOOTP e DHCP BOOTP e DHCP a.a. 2002/03 Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/~auletta/ Università degli studi di Salerno Laurea e Diploma in Informatica 1 Inizializzazione degli Host Un

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

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

Mobile Messaging SMS. Copyright 2015 VOLA S.p.A.

Mobile Messaging SMS. Copyright 2015 VOLA S.p.A. Mobile Messaging SMS Copyright 2015 VOLA S.p.A. INDICE Mobile Messaging SMS. 2 SMS e sistemi aziendali.. 2 Creare campagne di mobile marketing con i servizi Vola SMS.. 3 VOLASMS per inviare SMS da web..

Dettagli

Abstract Data Type (ADT)

Abstract Data Type (ADT) Abstract Data Type Pag. 1/10 Abstract Data Type (ADT) Iniziamo la nostra trattazione presentando una nozione che ci accompagnerà lungo l intero corso di Laboratorio Algoritmi e Strutture Dati: il Tipo

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

***** 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

FASE DEBUGGING: Compiler Linker. controllando che la voce Genera le informazioni per il debug cioè. "Generate debugging information"

FASE DEBUGGING: Compiler Linker. controllando che la voce Genera le informazioni per il debug cioè. Generate debugging information FASE DEBUGGING: Prima della compilazione, si devono inserire 1 nel progetto informazioni per il debug cioè si devono visualizzare le opzioni di progetto seguendo il percorso: controllando che la voce Genera

Dettagli

SMS API. Documentazione Tecnica YouSMS SOAP API. YouSMS Evet Limited 2015 http://www.yousms.it

SMS API. Documentazione Tecnica YouSMS SOAP API. YouSMS Evet Limited 2015 http://www.yousms.it SMS API Documentazione Tecnica YouSMS SOAP API YouSMS Evet Limited 2015 http://www.yousms.it INDICE DEI CONTENUTI Introduzione... 2 Autenticazione & Sicurezza... 2 Username e Password... 2 Connessione

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

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

Introduzione. E un sistema EAI molto flessibile, semplice ed efficace:

Introduzione. E un sistema EAI molto flessibile, semplice ed efficace: Overview tecnica Introduzione E un sistema EAI molto flessibile, semplice ed efficace: Introduce un architettura ESB nella realtà del cliente Si basa su standard aperti Utilizza un qualsiasi Application

Dettagli

PHP: form, cookies, sessioni e. Pasqualetti Veronica

PHP: form, cookies, sessioni e. Pasqualetti Veronica PHP: form, cookies, sessioni e mysql Pasqualetti Veronica Form HTML: sintassi dei form 2 Un form HTML è una finestra contenente vari elementi di controllo che consentono al visitatore di inserire informazioni.

Dettagli

Installazione di GFI Network Server Monitor

Installazione di GFI Network Server Monitor Installazione di GFI Network Server Monitor Requisiti di sistema I computer che eseguono GFI Network Server Monitor richiedono: i sistemi operativi Windows 2000 (SP4 o superiore), 2003 o XP Pro Windows

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

AUL22: FactoryTalk View SE Scoprite i vantaggi chiave di una soluzione SCADA integrata

AUL22: FactoryTalk View SE Scoprite i vantaggi chiave di una soluzione SCADA integrata AUL22: FactoryTalk View SE Scoprite i vantaggi chiave di una soluzione SCADA integrata Giampiero Carboni Davide Travaglia David Board Rev 5058-CO900C Interfaccia operatore a livello di sito FactoryTalk

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

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

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

MODELLO AD OGGETTI PER LE BASI DI DATI E ANALISI DI PRODOTTI COMMERCIALI. Luca Carnini. Tesina presentata per la discussione del diploma di laurea in

MODELLO AD OGGETTI PER LE BASI DI DATI E ANALISI DI PRODOTTI COMMERCIALI. Luca Carnini. Tesina presentata per la discussione del diploma di laurea in MODELLO AD OGGETTI PER LE BASI DI DATI E ANALISI DI PRODOTTI COMMERCIALI di Luca Carnini Tesina presentata per la discussione del diploma di laurea in Ingegneria informatica Politecnico di Milano sede

Dettagli

Modello OSI e architettura TCP/IP

Modello OSI e architettura TCP/IP Modello OSI e architettura TCP/IP Differenza tra modello e architettura - Modello: è puramente teorico, definisce relazioni e caratteristiche dei livelli ma non i protocolli effettivi - Architettura: è

Dettagli

Manuale di KDE su Geert Jansen Traduzione del documento: Dario Panico Traduzione del documento: Samuele Kaplun Traduzione del documento: Daniele Micci

Manuale di KDE su Geert Jansen Traduzione del documento: Dario Panico Traduzione del documento: Samuele Kaplun Traduzione del documento: Daniele Micci Geert Jansen Traduzione del documento: Dario Panico Traduzione del documento: Samuele Kaplun Traduzione del documento: Daniele Micci 2 Indice 1 Introduzione 5 2 Usare KDE su 6 3 Funzionamento interno 8

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

Rational Asset Manager, versione 7.1

Rational Asset Manager, versione 7.1 Rational Asset Manager, versione 7.1 Versione 7.1 Guida all installazione Rational Asset Manager, versione 7.1 Versione 7.1 Guida all installazione Note Prima di utilizzare queste informazioni e il prodotto

Dettagli

MATRICE DELLE FUNZIONI DI DRAGON NATURALLYSPEAKING 12 CONFRONTO TRA EDIZIONI DEL PRODOTTO

MATRICE DELLE FUNZIONI DI DRAGON NATURALLYSPEAKING 12 CONFRONTO TRA EDIZIONI DEL PRODOTTO MATRICE DELLE FUNZIONI DI DRAGON NATURALLYSPEAKING 12 CONFRONTO TRA EDIZIONI DEL PRODOTTO Precisione del riconoscimento Velocità di riconoscimento Configurazione del sistema Correzione Regolazione della

Dettagli

Guida alla scansione su FTP

Guida alla scansione su FTP Guida alla scansione su FTP Per ottenere informazioni di base sulla rete e sulle funzionalità di rete avanzate della macchina Brother, consultare la uu Guida dell'utente in rete. Per ottenere informazioni

Dettagli

La fase di realizzazione. La fase di realizzazione (cont.) Traduzione in Java del diagramma degli use case

La fase di realizzazione. La fase di realizzazione (cont.) Traduzione in Java del diagramma degli use case Università degli Studi di Roma La Sapienza Corso di Laurea in Ingegneria dell Informazione Sede di Latina Corso di Laurea in Ingegneria dell Informazione Consorzio Nettuno La fase di realizzazione si occupa

Dettagli

Mod. 4: L architettura TCP/ IP Classe 5 I ITIS G. Ferraris a.s. 2011 / 2012 Marcianise (CE) Prof. M. Simone

Mod. 4: L architettura TCP/ IP Classe 5 I ITIS G. Ferraris a.s. 2011 / 2012 Marcianise (CE) Prof. M. Simone Paragrafo 1 Prerequisiti Definizione di applicazione server Essa è un servizio che è in esecuzione su un server 1 al fine di essere disponibile per tutti gli host che lo richiedono. Esempi sono: il servizio

Dettagli

TeamPortal. Servizi integrati con ambienti Gestionali

TeamPortal. Servizi integrati con ambienti Gestionali TeamPortal Servizi integrati con ambienti Gestionali 12/2013 Modulo di Amministrazione Il modulo include tutte le principali funzioni di amministrazione e consente di gestire aspetti di configurazione

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

Le caratteristiche di interoperabilità del Terrapack 32 M

Le caratteristiche di interoperabilità del Terrapack 32 M I T P E l e t t r o n i c a Le caratteristiche di interoperabilità del Terrapack 32 M M. Guerriero*, V. Ferrara**, L. de Santis*** * ITP Elettronica ** Dipartimento di Ingegneria Elettronica Univ. La Sapienza

Dettagli

Energy Studio Manager Manuale Utente USO DEL SOFTWARE

Energy Studio Manager Manuale Utente USO DEL SOFTWARE Energy Studio Manager Manuale Utente USO DEL SOFTWARE 1 ANALYSIS.EXE IL PROGRAMMA: Una volta aperto il programma e visualizzato uno strumento il programma apparirà come nell esempio seguente: Il programma

Dettagli

Classi ed Oggetti in JAVA

Classi ed Oggetti in JAVA Classi ed Oggetti in JAVA Dott. Ing. Leonardo Rigutini Dipartimento Ingegneria dell Informazione Università di Siena Via Roma 56 53100 SIENA Uff. 0577233606 rigutini@dii.unisi.it www.dii.unisi.it/~rigutini/

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

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

Sistemi di supporto alle decisioni Ing. Valerio Lacagnina

Sistemi di supporto alle decisioni Ing. Valerio Lacagnina Cosa è il DSS L elevato sviluppo dei personal computer, delle reti di calcolatori, dei sistemi database di grandi dimensioni, e la forte espansione di modelli basati sui calcolatori rappresentano gli sviluppi

Dettagli

Processi di business sovra-regionali relativi ai sistemi regionali di FSE. Versione 1.0 24 Giugno 2014

Processi di business sovra-regionali relativi ai sistemi regionali di FSE. Versione 1.0 24 Giugno 2014 Processi di business sovra-regionali relativi ai sistemi regionali di FSE Versione 1.0 24 Giugno 2014 1 Indice Indice... 2 Indice delle figure... 3 Indice delle tabelle... 4 Obiettivi del documento...

Dettagli

Agilent OpenLAB Chromatography Data System (CDS)

Agilent OpenLAB Chromatography Data System (CDS) Agilent OpenLAB Chromatography Data System (CDS) EZChrom Edition e ChemStation Edition Requisiti hardware e software Agilent Technologies Informazioni legali Agilent Technologies, Inc. 2013 Nessuna parte

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

Neomobile incentra l infrastruttura IT su Microsoft ALM, arrivando a 40 nuovi rilasci a settimana

Neomobile incentra l infrastruttura IT su Microsoft ALM, arrivando a 40 nuovi rilasci a settimana Storie di successo Microsoft per le Imprese Scenario: Software e Development Settore: Servizi In collaborazione con Neomobile incentra l infrastruttura IT su Microsoft ALM, arrivando a 40 nuovi rilasci

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

Il World Wide Web: nozioni introduttive

Il World Wide Web: nozioni introduttive Il World Wide Web: nozioni introduttive Dott. Nicole NOVIELLI novielli@di.uniba.it http://www.di.uniba.it/intint/people/nicole.html Cos è Internet! Acronimo di "interconnected networks" ("reti interconnesse")!

Dettagli

Le variabili. Olga Scotti

Le variabili. Olga Scotti Le variabili Olga Scotti Cos è una variabile Le variabili, in un linguaggio di programmazione, sono dei contenitori. Possono essere riempiti con un valore che poi può essere riletto oppure sostituito.

Dettagli

Introduzione a MySQL

Introduzione a MySQL Introduzione a MySQL Cinzia Cappiello Alessandro Raffio Politecnico di Milano Prima di iniziare qualche dettaglio su MySQL MySQL è un sistema di gestione di basi di dati relazionali (RDBMS) composto da

Dettagli

Rappresentazione dei numeri in un calcolatore

Rappresentazione dei numeri in un calcolatore Corso di Calcolatori Elettronici I A.A. 2010-2011 Rappresentazione dei numeri in un calcolatore Lezione 2 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Rappresentazione dei numeri

Dettagli

! Programmazione strutturata ! TDA. ! Classi, incapsulamento, ! OO. ! Scambio messaggi, eredità, polimorfismo. ! OO in Java

! Programmazione strutturata ! TDA. ! Classi, incapsulamento, ! OO. ! Scambio messaggi, eredità, polimorfismo. ! OO in Java Riassunto Rassegna API - 1 Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro/ mizzaro@uniud.it Programmazione, lezione 17 3 maggio 2015! Programmazione

Dettagli

NetMonitor. Micro guida all uso per la versione 1.2.0 di NetMonitor

NetMonitor. Micro guida all uso per la versione 1.2.0 di NetMonitor NetMonitor Micro guida all uso per la versione 1.2.0 di NetMonitor Cos è NetMonitor? NetMonitor è un piccolo software per il monitoraggio dei dispositivi in rete. Permette di avere una panoramica sui dispositivi

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

Protocollo HTTP. Alessandro Sorato

Protocollo HTTP. Alessandro Sorato Un protocollo è un insieme di regole che permettono di trovare uno standard di comunicazione tra diversi computer attraverso la rete. Quando due o più computer comunicano tra di loro si scambiano una serie

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

SIMATIC. SCL per S7-300/400 Programmazione di blocchi. Prefazione, Contenuto. Parte 1: Sviluppo di programmi. Parte 2: Uso e test

SIMATIC. SCL per S7-300/400 Programmazione di blocchi. Prefazione, Contenuto. Parte 1: Sviluppo di programmi. Parte 2: Uso e test Prefazione, Contenuto Parte 1: Sviluppo di programmi Parte 2: Uso e test SIMATIC Parte 3: Descrizione del linguaggio Programmazione di blocchi Appendici Glossario, Indice analitico Manuale Numero di ordinazione

Dettagli

Corso di Programmazione ad Oggetti

Corso di Programmazione ad Oggetti Corso di Programmazione ad Oggetti Introduzione alla programmazione ad oggetti a.a. 2008/2009 Claudio De Stefano 1 La programmazione modulare Un programma può essere visto come un insieme di moduli che

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

Guida al nuovo sistema di posta. CloudMail UCSC. (rev.doc. 1.4)

Guida al nuovo sistema di posta. CloudMail UCSC. (rev.doc. 1.4) Guida al nuovo sistema di posta CloudMail UCSC (rev.doc. 1.4) L Università per poter migliorare l utilizzo del sistema di posta adeguandolo agli standard funzionali più diffusi ha previsto la migrazione

Dettagli

Dati importati/esportati

Dati importati/esportati Dati importati/esportati Dati importati Al workspace MATLAB script Dati esportati file 1 File di testo (.txt) Spreadsheet Database Altro Elaborazione dati Grafici File di testo Relazioni Codice Database

Dettagli

PAOLO CAMAGNI RICCARDO NIKOLASSY. I linguaggi. Web. del. HTML, CSS, JavaScript, VBScript, ASP, PHP

PAOLO CAMAGNI RICCARDO NIKOLASSY. I linguaggi. Web. del. HTML, CSS, JavaScript, VBScript, ASP, PHP PAOLO CAMAGNI RICCARDO NIKOLASSY I linguaggi del Web HTML, CSS, JavaScript, VBScript, ASP, PHP Paolo Camagni Riccardo Nikolassy I linguaggi del Web HTML, CSS, JavaScript, VBScript, ASP, PHP EDITORE ULRICO

Dettagli

Esercizi Capitolo 5 - Alberi

Esercizi Capitolo 5 - Alberi Esercizi Capitolo 5 - Alberi Alberto Montresor 19 Agosto, 2014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile saltare alle

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

EndNote Web. Quick Reference Card THOMSON SCIENTIFIC

EndNote Web. Quick Reference Card THOMSON SCIENTIFIC THOMSON SCIENTIFIC EndNote Web Quick Reference Card Web è un servizio online ideato per aiutare studenti e ricercatori nel processo di scrittura di un documento di ricerca. ISI Web of Knowledge, EndNote

Dettagli

Programmazione di rete in Java

Programmazione di rete in Java Programmazione di rete in Java Reti di calcolatori Una rete di calcolatori è un sistema che permette la condivisione di dati informativi e risorse (sia hardware sia software) tra diversi calcolatori. Lo

Dettagli

INTERPUMP GROUP SPA-VIA E. FERMI 25 42040 S.ILARIO (RE) http: //www.interpumpgroup.it

INTERPUMP GROUP SPA-VIA E. FERMI 25 42040 S.ILARIO (RE) http: //www.interpumpgroup.it PROCEDURA E-COMMERCE BUSINESS TO BUSINESS Guida alla Compilazione di un ordine INTERPUMP GROUP SPA-VIA E. FERMI 25 42040 S.ILARIO (RE) http: //www.interpumpgroup.it INDICE 1. Autenticazione del nome utente

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

Le formule possono essere scritte utilizzando un insieme di funzioni predefinite che Excel mette a disposizione, raggruppate per argomento.

Le formule possono essere scritte utilizzando un insieme di funzioni predefinite che Excel mette a disposizione, raggruppate per argomento. Excel: le funzioni Le formule possono essere scritte utilizzando un insieme di funzioni predefinite che Excel mette a disposizione, raggruppate per argomento. DEFINIZIONE: Le funzioni sono dei procedimenti

Dettagli

Import Dati Release 4.0

Import Dati Release 4.0 Piattaforma Applicativa Gestionale Import Dati Release 4.0 COPYRIGHT 2000-2005 by ZUCCHETTI S.p.A. Tutti i diritti sono riservati.questa pubblicazione contiene informazioni protette da copyright. Nessuna

Dettagli

E-MAIL INTEGRATA OTTIMIZZAZIONE DEI PROCESSI AZIENDALI

E-MAIL INTEGRATA OTTIMIZZAZIONE DEI PROCESSI AZIENDALI E-MAIL INTEGRATA OTTIMIZZAZIONE DEI PROCESSI AZIENDALI E-MAIL INTEGRATA Ottimizzazione dei processi aziendali Con il modulo E-mail Integrata, NTS Informatica ha realizzato uno strumento di posta elettronica

Dettagli