Università Politecnica delle Marche. Facoltà di Ingegneria. Corso di Laurea Triennale in Ingegneria. Informatica e dell Automazione

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Università Politecnica delle Marche. Facoltà di Ingegneria. Corso di Laurea Triennale in Ingegneria. Informatica e dell Automazione"

Transcript

1 Università Politecnica delle Marche Facoltà di Ingegneria Corso di Laurea Triennale in Ingegneria Informatica e dell Automazione Progettazione e implementazione di un sistema web di comunicazione periodica relativa all'imposta di soggiorno per strutture ricettive sviluppato con tecnologie Java. Relatore: Prof. Aldo Franco Dragoni Tesi di: Renzi Enrico Anno Accademico 2011/2012

2 Indice INDICE I NTRODUZIONE CAPITOLO 1 Java EE 1.1 La piattaforma di sviluppo JavaEE 1.2 L Application Server 1.3 Servlet 1.4 JSP (JavaServer Pages) 1.5 JDBC (Java DataBase Connectivity) 1.6 JNDI (Java Naming and Directory Interfaces) 1.7 JavaBean ed Enterprise JavaBean (EJB) 1.8 Struttura delle directory CAPITOLO 2 - APACHE STRUTS 2.1 Design Pattern 2.2 Il paradigma Model 2: il design pattern MVC 2.3 ActionServlet 2.4 struts-config.xml 2.5 Action & DispatchAction 2.7 Tag Library 2.8 Hibernate CAPITOLO 3 PROGETTO 3.1 Analisi dei requisiti 3.2 Progettazione 3.3 Implementazione CONCLUSIONI BIBLIOGRAFIA RINGRAZIAMENTI

3 INTRODUZIONE Con il Decreto Legislativo 23/2011 è stata introdotta in Italia l'imposta di soggiorno, detta anche tassa di soggiorno, è un'imposta di carattere locale applicata a carico delle persone che alloggiano nelle strutture ricettive di territori classificati come località turistica o città d'arte. Per legge l'imposta è destinata a finanziare gli interventi in materia di turismo compresi quelli a sostegno delle strutture ricettive, la manutenzione, fruizione e recupero dei beni culturali ed ambientali, nonché i relativi servizi pubblici locali. Anche se è stata legiferata a livello nazionale è stato però deciso che siano i singoli Comuni a stabilire se e come applicarla, quindi ogni Comune delibera autonomamente sull ammontare del contributo, le esenzioni e il periodo di applicazione nel proprio territorio, con modalità definite dal regolamento comunale. Con questo progetto ho cercato di realizzare un software web-based che consentisse di gestire la procedura per il pagamento di tale imposta in modo informatizzato e sicuro, cercando di rispettare gli standard della tecnologia J2EE. In tale progetto mi sono occupato della parte riguardante la gestione delle strutture ricettive in tutte le sue parti, tralasciando la parte dedicata agli enti comunali.

4 Capitolo 1 Java EE CAPITOLO 1 Java EE In questo capitolo saranno introdotte le tecnologie dello standard Java EE (Java Enterprise Edition) che sono alla base dell applicazione web realizzata durante il tirocinio. Il progetto proposto dall azienda ha richiesto un approfondimento del funzionamento delle specifiche Java Servlet, JSP, JDBC, JNDI, JavaBean. 1.1 Java Enterprise Edition (Java EE) Java Platform, Enterprise Edition (Java EE) è una tecnologia sviluppata da Sun Microsystem per lo sviluppo di software enterprise. Il termine Enterprise sta per impresa, azienda, quindi è facile capire che è un prodotto nato per soddisfare le richieste di quest'ultime, in particolare parliamo di sicurezza, robustezza ed affidabilità in un contesto distribuito. Ed è infatti in un contesto distribuito che soprattutto diventa difficile garantire queste caratteristiche richieste dalle imprese, dove il progettista di sistemi informativi si trova a dover integrare sistemi diversi tra loro con standard differenti, dove spesso l'unico denominatore comune tra le componenti è il protocollo di rete TCP/IP. In loro aiuto Sun ha voluto fornire un ambiente di sviluppo completo di API e metodologie di approccio al problemsolving, sfruttando le caratteristiche che sono proprie della programmazione ad oggetti.

5 Capitolo 1 Java EE Di seguito vengono riportati i quattro strati che raccolgono le specifiche J2EE* : 1) il Client Tier, il quale presenta all utente finale i risultati dell elaborazione del server. Spesso è rappresentato da un browser web, ma può talvolta essere costituito da client specifici, in grado di interagire direttamente con il Business Tier o il Data Tier; 2) il Web Tier, in funzione nel server JEE (o semplicemente in un Web Server), comprende una serie di componenti che riguardano il lato front-end dell applicazione, mediando richieste e risposte del protocollo HTTP tra client e server; 3) il Business Tier, in funzione nel server JEE, dove viene implementata la logica di business dell applicazione, organizzando i dati e l accesso ad essi ed interagendo, ad esempio, con un DBMS. Nelle applicazioni più semplici viene accorpato al Web Tier. 4) L EIS Tier è spesso rappresentato da un DBMS (Database Management System) o più in generale da un EIS (Enterprise Information System). (*)J2EE: Java 2 Enterprise Edition è il nome con cui era conosciuta la piattaforma Java EE prima della versione 5

6 Capitolo 1 Java EE I principali vantaggi derivanti dall uso delle specifiche J2EE per lo sviluppo di applicazioni web sono fondamentalmente quattro: Scalabilità: è possibile aumentare le funzionalità di un software in continua evoluzione, grazie anche alla peculiare proprietà di distribuibilità della tecnologia Java. Portabilità: esigenza fondamentale dell attività di sviluppo software, permette di utilizzare una stessa applicazione JEE in Application Server diversi purché questi implementino le specifiche JEE. Efficienza: una strutturazione così intensa facilita la gestione di progetti anche molto complessi. Inoltre, grazie all utilizzo del multi-threading di Java è possibile

7 Capitolo 1 Java EE ottenere elevate performance per l interazione tra Client e Server Sicurezza: assicurata dall elevata stratificazione dell architettura e dalle proprietà intrinseche della tecnologia Java. Queste proprietà rappresentano le esigenze dell azienda che lavora con ambienti composti da tipologie di risorse differenti e distribuite, assicurando una buona robustezza software. Inoltre, attraverso il modello proposto, si rende facile l'accesso ai dati e la loro rappresentazione in diverse forme (un browser web, un applet, un dispositivo mobile, un sistema esterno, ecc). 1.2 L Application Server L Application Server implementando le specifiche J2EE, costituisce uno strato software che fornisce l'infrastruttura per la comunicazione tra tutte le componenti dell'applicazione ed integra funzionalità che ne facilitano il supporto permettendo all applicazione di funzionare correttamente in un contesto distribuito. Un Application Server è costituito da un insieme di moduli realizzati secondo standard ben definiti ed in questo modo riunisce diversi servizi orientati alla realizzazione di applicazioni multi-layer ed enterprise. I componenti Java gestiti sono Servlet, JSP (Java Server Pages), JDBC (Java DataBase Connectivity) e JNDI (Java Naming and Directory Interface). Un Application Server può fornire, inoltre, un ambiente detto EJB-Container (Enterprise JavaBeans Container) che contiene la logica di business dell applicazione. Elementi fondamentali di questo ambiente sono gli Enterprise JavaBeans, le cui specifiche sono state introdotte per la prima volta da IBM nel 1997 e successivamente accorpate nelle API standard di Sun Microsystem. Il compito di un EJB-container è quello di gestire sicurezza, dettagli di persistenza e integrità delle

8 Capitolo 1 Java EE transazioni, lasciando agli sviluppatori maggior concentrazione riguardo i problemi core business. Un Application Server è composto di solito da: contenitore di componenti server-side; gestore transazioni; gestione accesso a database; gestore accessi degli utenti e sicurezza; connection pool,caching,ecc. Nel mondo Java gli application server compatibili con le specifiche della Sun sono detti application server J2EE. La scelta di quale Application Server utilizzare dipende da numerosi fattori tra cui: Portabilità: uno degli aspetti fondamentali del successo di Java per gli application Server J2EE. Questa tecnologia permette di integrare componenti molto diverse tra loro, favorendo economie di scala. Tecnologie preesistenti: alcune software house dei principali DBMS in commercio propongono i propri Application Server per facilitare l integrazione tra le componenti, aumentando l efficienza. Costo delle licenze: aspetto importante anche se i costi delle licenze dell'application Server da solo sono ridotti rispetto ai costi del DBMS. Comunità di sviluppo e supporto: Application Server molto diffusi comportano una maggior quantità di informazioni in rete, con una maggior possibilità di reperire soluzioni. I principali Application Server disponibili sono: JBOSS: Recentemente acquistato da Red-Hat è uno dei più conosciuti Application

9 Capitolo 1 Java EE Server OpenSource. Apache Tomcat: funziona solo da Web-Container. Gestisce Java Servlet e Java Server Pages. Sun GlassFish Enterprise Server: essendo gestito direttamente da Sun implementa nel modo più completo e fedele le specifiche dello standard J2EE; le versioni seguono di pari passo i nuovi rilasci delle specifiche J2EE. BEA Weblogic: soluzione commerciale proposta da Oracle. IBM WebSphere.

10 Capitolo 1 Java EE 1.3 Servlet Le servlet sono particolari classi Java in grado di estendere funzionalità di un server web. Una Servlet gestisce le richieste del client, effettua elaborazioni e fornisce una

11 Capitolo 1 Java EE risposta al client, mediante il protocollo HTTP. I package javax.servlet e javax.servlet.http definiscono le interfacce e le classi necessarie all implementazione di servlet: queste devono necessariamente implementare l interfaccia Servlet che definisce quelli che sono i metodi del ciclo di vita della servlet stessa. La struttura di base di una Servlet è rappresentata di seguito: import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class Servlet extends HttpServlet { public void doget(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { //Overriding del metodo doget public void dopost(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { //Overriding del metodo dopost

12 Capitolo 1 Java EE Ciclo di vita di una Servlet: 1. Un client invia la request per una servlet ad un web application server; 2. Se è la prima richiesta, il server istanzia e carica la servlet in questione avviando un thread che gestisca la comunicazione con la servlet stessa. Nel caso, invece, in cui la Servlet sia già stata caricata in precedenza allora verrà creato un ulteriore thread che sarà associato al nuovo client, senza la necessità di ricaricare ancora la Servlet; 3. Il server invia alla servlet la richiesta pervenutagli dal client ; 4. La servlet costruisce ed imposta la risposta (response) e la inoltra al server ; 5. Il server invia la risposta al client. La classe HttpServlet fornisce due metodi per la comunicazione: doget e dopost, che corrispondono alle due request piu comuni in http.

13 Capitolo 1 Java EE 1.4 JSP (JavaServer Pages) Tecnologia Java per lo sviluppo di pagine web che fornisce contenuti dinamici. JSP si basa su un insieme di tag attraverso cui vengono richiamate funzioni predefinite. 1.Il client richiede l accesso al file con esten-sione.jsp; 2.Il file.jsp viene processato dal server web che lo trasforma in un file Java; 3.Sempre il server web lo compila e lo esegue come una Servlet; I principali tag JSP sono: <% statement %> all'interno di questo tag viene scritto codice, per lo più Java, che verrà interprato dalla Java Virtual Machine; <%= espressione %> all'interno del quale viene calcolata l'espressione indicata e ne viene restituito il valore; <%! dichiarazione %> all'interno di questo tag sono presenti frammenti di codi-ce che vengono riportati al di fuori del metodo principale di gestione della richie-sta, ovvero a livello di classe; <%-- commento --%> quello che è racchiuso da questo tag rappresenta un commento al codice; <!-- commento --> questo rappresenta un commento HTML. Nella pagina JSP, i commenti HTML vengono comunque processati e fanno parte del flusso di rispo-sta. Sarà quindi possibile scrive un commento dinamico. Questa possibilità è sfruttata nelle applicazioni per scrivere codice JavaScript, che viene eseguito dal

14 Capitolo 1 Java EE Client, in modo dinamico a seconda dello stato dell'applicazione Web; <jsp:usebean > serve ad identificare (o eventualmente istanziare, in caso non esistesse) un oggetto per utilizzarlo nella pagina; <jsp:setproperty > permette di assegnare un valore ad una proprietà di un oggetto; <jsp:getproperty > serve ad ottenere il valore della proprietà di un oggetto; <jsp:include > esegue un altra pagina JSP e ne include l'output; <jsp:forward > inoltra il controllo di richiesta e risposta ad un'altra pagina JSP. Sono inoltre presenti tre differenti tipi di direttive per la traduzione e la compilazione di una pagina JSP, in particolare page che serve a specificare alcune caratteristiche della pagina JSP; taglib che serve ad importare una libreria di tag esterna (trattati in 2.8); include che serve ad importare, senza l esecuzione preventiva, una porzione di codice di un file. Un importante caratteristica degli oggetti di una pagina JSP si chiama Scope. Lo Scope di un oggetto rappresenta la visibilità che questo ha all interno dell applicazione web. Il seguente grafico riassume i possibili valori per lo Scope dal piu visibile al meno visibile (i piu utilizzati sono il Request ed il Session ):

15 Capitolo 1 Java EE 1.5 JDBC (Java DataBase Connectivity) JDBC rappresentano le API di J2EE per poter lavorare con database relazionali. JDBC sono modellati partendo dallo standard ODBC di Microsoft (il quale è basato su specifiche X/Open CLI). A differenza di OBDC, JDBC fornisce uno strato di accesso verso database completo e sopratutto completamente ad oggetti. Vi sono fondamentalmente quattro diversi tipi di Driver JDBC: JDBC-ODBC bridge: Questo tipo di driver implementano le specifiche traducendo le operazioni JDBC in operazioni specifiche ODBC per connettersi alla base di dati. Il problema principale di questi driver è caratterizzato dalle prestazioni. JDBC Native Bridge: Driver che traduce le chiamate JDBC in chiamate native per il DBMS specifico. Driver caratterizzati dalla scarsa portabilità. JDBC Net Bridge: Driver ad architettura multi-tier, si connette al DBMS attraverso un middleware(gateway, server di rete) connesso fisicamente al database, questo middleware ha funzioni di proxy.

16 Capitolo 1 Java EE Driver JDBC Java: Driver completamente scritto in Java e compatibile con il modello descritto da JDBC. 1.6 JNDI (Java Naming and Directory Interfaces) JNDI sono API che offrono servizi per identificare degli oggetti, o in generale, delle risorse con un nome, detto nome JNDI. Le risorse possono anche appartenere a Java Virtual Machine diverse. Le interfacce offrono nel loro insieme servizi di naming usando il paradigma Client/Server: il server offre i servizi JNDI e il client ne usufruisce per recuperare le risorse di cui ha bisogno. Il servizio è in esecuzione sull Application Server JEE, il quale deve implementare le interfacce SPI (Service Provider Interface). 1.7 RMI (Remote Method Invocation) La Remote Method Invocation (RMI) è il primo strumento nativo Java per la creazione di software distribuito. La sua introduzione, risalente alla versione 1.1 del linguaggio, è stata effettuata per risolvere il problema di far comunicare tra loro oggetti non residenti sulla stessa macchina. La tecnologie introdotta in RMI, inoltre, rappresenta la base del paradigma Java per oggetti distribuiti, e pertanto è utilizzata anche in altri elementi dell architettura J2EE, in particolare negli Enterprise JavaBeans. Nella versione 1.3 del linguaggio Java RMI è stato modificato al fine di integrare, come strumento di trasporto, il protocollo IIOP (Inter Internet ORB Protocol) nativo dell architettura CORBA e maggiormente aderente agli standard internazionali. Per questo motivo dalla versione 1.3 in poi RMI diventa RMI-IIOP.

17 Capitolo 1 Java EE 1.7 JavaBean ed Enterprise JavaBean (EJB) Queste componenti sono elementi importantissimi per un applicazione complessa che utilizzi tecnologie Java, non solo per quelle orientate al web. Un JavaBean ha la funzione principale di contenere e manipolare le informazioni ed è rappresentata da una classe Java con determinati requisiti: lo stato dell istanza deve avere proprietà accessibili solo all interno della classe stessa (visibilità privata); devono esservi metodi pubblici specifici per poter ottenere (getproperty()) e manipolare (setproperty(value)) le informazioni; il suo costruttore non deve avere argomenti; può comunicare i propri cambiamenti di stato con altre componenti mediante la generazione di eventi; l istanza deve essere serializzabile (implementando l interfaccia Serializable). I paradigmi principali su cui si basano Gli Enterprise JavaBean sono l'architettura distribuita e quello di componente (secondo un'ottica OO). Gli EJB implementano la logica di business dell applicazione. Le caratteristiche principali sono: Possono essere scritti solo in Java (massima portabilità); Presenza di un Application Server che contiene l'ejb e si occupa del suo ciclo vita; Netta distinzione tra interfacce (cosa fa) ed implementazione (come lo fa); Essendo componenti server-side e non oggetti, gli EJB sono microsistemi autonomi che espongono una sola interfaccia i cui metodi possono essere chiamati da qualsiasi client.

18 Capitolo 1 Java EE Vi sono tre tipi di EJB: Session EJB: Il loro nome deriva dal fatto che il loro ciclo vita è legato alla sessione di lavoro. Il suo scopo principale è quello di fornire un interfaccia semplice per tutti i client che richiedono di accedere a determinate informazioni; una strutturazione di questo tipo impedisce che modifiche alla struttura dati di controllo comportino correzioni alle applicazioni client. Gli EJB di sessione possono essere divisi in due categorie: 1. Session Statefull: sono quei bean il cui stato viene salvato fra una richiesta e l altra del client. 2. Session Stateless: sono quei bean che non mantengono alcun stato e vengono utilizzati per modellare quelle elaborazioni che si completano con una sola richiesta. Entity EJB: La loro caratteristica è fornire un meccanismo di persistenza di oggetti all'architettura J2EE. Dal momento che il più comune strumento di gestione di entità organizzate e persistenti è rappresentato dai database relazionali, possiamo affermare che gli Entity EJB rappresentano il meccanismo J2EE per virtualizzare l accesso ai database relazionali rendendoli il più possibile conformi allo standard della programmazione ad oggetti ( ad esempio un Entity Ejb diventa la rappresentazione ad oggetti di una tabella mentre una sua istanza diviene invece la rappresentazione di una tupla). Si mappa quindi nel modello ad oggetti il modello relazionale. Si occupano quindi della persistenza dei dati ovvero gestione della sincronizzazione tra i valori presenti sul database e la loro rappresentazione nel bean: ogni nuova istanza di un bean deve generare un nuovo record nella tabella, così come ad ogni modifica dei valori delle variabili del bean deve corrispondere una update dei dati sul database.

19 Capitolo 1 Java EE Nella specifica 2 dello standard EJB, la gestione della persistenza veniva suddivisa in due tipologie: 1. CMP (Container Managed Persistence): in questo caso è l'ejb-container che si occupa automaticamente della persistenza. Nella fase di configurazione si deve comunicare al container le corrispondenze tra bean ed attributi delle tabelle. Il container si occupa inoltre della estrazione ottimizzata di dati; 2. BMP (Bean Managed Persistence): il meccanismo di persistenza è delegato allo sviluppatore, che implementa nel bean il sistema di memorizzazione e recupero dei dati esplicitamente attraverso codice SQL. Dalla versione 3 delle specifiche EJB sono state introdotte nuove API per la gestione della persistenza, chiamate JavaPersistence API (JPA) che, mediante il servizio object-relational mapping (ORM)4, denotano il processo di mapping dei dati, fra gli oggetti e le tabelle di un database. Un esempio di persistence provider è rappresentato dal framework Hibernate. Message Driven EJB (MDB): I Message Driven Bean sono EJB a tutti gli effetti potendo quindi godere di tutti i servizi forniti dal container, ma sono dei trasportatori di messaggi quindi non ci sono interfacce da definire di alcun tipo c è un solo metodo da implementare onmessage(). I vincoli da seguire per onmessage() sono: il metodo deve essere pubblico (e non dichiarato final o static), il tipo di ritorno deve essere void, non deve lanciare eccezioni specifiche della applicazione (ma solo eventualmente quelle EJB), non deve gestire le transazioni di per sé (questo viene fatto settando il parametro corretto nel descriptor file). Session EJB e Message Driven EJB possono gestire le transazioni in due differenti

20 Capitolo 1 Java EE modi. Nel primo, la gestione è delegata all EJB-Container che si prende carico di iniziare una nuova transazione e concluderla con un commit o un rollback, tutto questo seguendo la configurazione del file ejb-jar.xml. Nel secondo modo, le transazioni sono gestite all interno del bean, e viene implementata direttamente dallo sviluppatore tramite l uso dell interfaccia javax.ejb.ejbcontext e i metodi begin(), commit() e rollback(), che permettono all EJB di comunicare con l Application Server. Implementazione di un Entity Bean CMP Struttura dei nomi dei file: Nome file Nome.java NomeHome.java NomeBean.java NomeRemote.java NomeRemoteHome.java Tipo di file Interfaccia Local Interfaccia localhome Sorgente del Bean vero e proprio Interfaccia Remote Interfaccia remotehome -L'interfaccia Local deve estendere javax.ejb.ejblocalobject; -Linterfaccia Remote deve estendere javax.ejb.ejbobject; -L'interfaccia localhome deve estendere javax.ejb.ejblocalhome; -L'interfaccia remotehome deve estendere javax.ejb.ejbhome; -Il Bean vero e proprio deve implementare EntityBean. Implementazione di un Session Bean L implementazione di un Session Bean prevede la realizzazione delle seguenti componenti:

21 Capitolo 1 Java EE La classe di Bean: specifica la logica di business, implementando l interfaccia javax.ejb.sessionbean; La interface Remote: deve estendere l interfaccia javax.ejb.ejbobject; La interface Home: deve estendere l interfaccia javax.ejb.ejbhome; Il deployment descriptor; Eventuali interface locali.

22 Capitolo 2 Apache Struts Capitolo 2 - Apache Struts In questo capitolo introcuciamo il framework utilizzato nella realizzazione del progetto : Struts (1.3.10) della Apache Software Foundation. 2.1 Design Pattern Un importante fase nella progettazione di applicazioni software è quella della scelta di un opportuna architettura, che definisce le linee guida allo sviluppo del progetto. Definire bene tale processo è utile sia per standardizzare il modello di sviluppo del progetto corrente, sia per le applicazioni future. L impiego di un adeguato pattern porta numerosi vantaggi tra cui: 1. Incrementa il riutilizzo del codice. 2. Facilita il lavoro in team e la pianificazione del progetto, dividendo quest ultimo in componenti indipendenti delegabili a gruppi di lavoro differenti. 3. Aiuta la manutenzione del codice, grazie anche all abbassamento della curva di apprendimento (per i progetti più complessi). 4. Aumenta la flessibilità delle applicazioni e incrementa della scalabilità. Per applicazioni semplici, il codice che gestisce i dati da memorizzare o da visualizzare può essere incluso direttamente nelle pagine JSP. Similmente è possibile delegare alle classi Servlet anche la parte di presentazione dei dati e la gestione delle richieste dell utente. Questo modello è definito dal paradigma Model 1, schematizzato in figura 2.1; è importante ribadire che tale modello può essere utilizzato solo nel caso in cui l applicazione possieda scarsa complessità di interazione tra client e server, funzioni limitate e poche pagine. Molti linguaggi HTML-based, come PHP e ASP, utilizzano unicamente questo

23 Capitolo 2 Apache Struts paradigma sfruttando la sua semplicità, in quanto, le tecnologie utilizzate richiedono minor conoscenze tecniche e minor tempo per il rilascio delle versioni. La scelta impropria di questo paradigma all interno dei propri progetti può portare, però, ad alcuni inconvenienti: Eccessivo codice di controllo all interno delle pagine JSP Eccessivo codice di presentazione all interno delle Servlet Scarsa efficienza complessiva 2.2 Model 2 : Il pattern architetturale MVC Il modello più utilizzato in ambito delle applicazioni orientate al web (ma non solo) è il pattern Model-View-Controller (MVC). Fu introdotto per la prima volta nella progettazione del linguaggio SmallTalk, nel Questo pattern permette una maggiore strutturazione del codice, con un aumento della manutenibilità software e una suddivisione dell applicazione in sottosistemi. Per comprendere la filosofia del modello, in figura 2.2, è riportata la schematizzazione delle tre componenti in cui si divide. Le componenti sono: la vista (view) dove viene gestita la presentazione dei dati. E rappresentata da tutto quel codice di presentazione che permette all utente3di operare le richieste. All interno di questo livello lavorano sia programmatori che grafici che curano la parte estetica della presentazione; il modello (model) che rappresenta e gestisce i dati, tipicamente persistenti su database; il controllore (controller) che veicola i flussi di interazione tra vista e modello, organizzando il comportamento dell applicazione e tracciando la navigazione con meccanismi che creano uno stato associato all utente. Nello specifico, intercetta le

24 Capitolo 2 Apache Struts richieste HTTP del client e traduce ogni singola richiesta in una specifica ope-razione per il model; in seguito può eseguire lui stesso l operazione oppure dele-gare il compito ad un'altra componente. In ultima, seleziona la corretta vista da mostrare al client ed inserisce, eventualmente, i risultati ottenuti. All interno di un architettura 2-tier, dove vi è interazione diretta con il database, è possibile E basato sulle tecnologie Servlet, JSP e XML e le principali componenti sono: ActionServlet RequestProcessor struts-config.xml Action ActionForm

25 Capitolo 2 Apache Struts ActionMessage 2.3 ActionServlet Le ActionServlet costituiscono il controller nel pattern MVC, è il componente principale che gestisce le richieste client e decide quale Action processerà la richiesta pervenuta. ActionServlet è una servlet ed anch'essa estende javax.servlet.http.httpservlet e quindi implementa init(), doget(), dopost() e destroy(). La versione standard dell'actionservlet viene configurata tramite I seguenti parametri, I quali vengono specificati nel deployment descriptor ( /WEB- INF/web.xml ) : config : una lista di percorsi relativi separati da virgola a file XML contenenti informazioni sulla configurazione ( nel nostro caso /WEB-INF/strutsconfig.xml ); configfactory : il nome della classe java ModuleConfigFactory usata per creare un'implementazione dell'interfaccia ModuleConfig; convertnull : modifica il comportamento di Struts 1.0 quando vengono popolati i forms, se posta a true i tipi numerici incapsulati come java.lang.integer vengono posti a null (invece che zero);

26 Capitolo 2 Apache Struts 2.4 struts-config.xml Come detto nel paragrafo precedente, il file di configurazione struts-config.xml, determina l azione da intraprendere durante la richiesta di una risorsa. E possibile però definire ulteriori elementi di configurazione: form-beans: serve a specificare le classi del tipo ActionForm che si occupano dell incapsulamento dei parametri provenienti da una richiesta, attraverso un form HTML. <form-beans> <form-bean name= form-autenticazione type= AuthenticationForm /> </form-beans> global-forward: si occupa di definire la corrispondenza tra un nome fittizio e un azione. In questo modo, anche una richiesta di tipo GET o POST non conterrà il nome effettivo della classe e i riferimenti globali a tale risorsa potranno essere gestiti tutti qui. <global-forward> <forward name= login path= AuthenticationAction > </globalforward> action-mappings: è la parte più importante del file di configurazione. Definisce la corrispondenza tra la richiesta HTTP e l Action corrispondente. All interno sono definiti degli elementi action con attributi diversi.

27 Capitolo 2 Apache Struts 2.5 Action & DispatchAction La classe Action (org.apache.struts.action.action) è un adattatore tra il contenuto della richiesta http e la corrispondente logica di business che dovrebbe essere eseguita per processare tale richiesta. Per ogni richiesta viene creata un'istanza e chiamato il metodo execute(). La classe astratta DispatchAction (org.apache.struts.action.dispatchaction) estende la classe Action ed anziché avere un singolo metodo execute() si ha un metodo per ciascuna azione logica semplicemente inserendo il parametro method nella request. 2.7 Struts Tag Library La tag library di Struts è costituita da cinque gruppi principali che sono: html, bean, logic, nested e template. Volendole utilizzare nelle nostre pagine jsp dobbiamo includerle, se ad esempio vogliamo usare le librerie html dobbiamo importale in questo modo : taglib uri="http://struts.apache.org/tags-html" prefix="html" %> Risulta utile utilizzare questo tag perchè ci permette di realizzare il front end in maniera più agile. Tutti i tag di questa libreria saranno richiamati utilizzando <html:nome_tag>

28 Capitolo 2 Apache Struts 2.8 Hibernate Hibernate è un software middleware per lo sviluppo di applicazioni Java che fornisce un servizio di Object-relational mapping (ORM), ovvero che gestisce la rappresentazione e il mantenimento su basi di dati relazionali di un sistema di oggetti Java.

29 Capitolo 3 - Progetto Durante il tirocinio che ho svolto presso l'azienda Omicron s.r.l. di Teramo, sono stato coinvolto nella progettazione di un'applicazione web oriented per la comunicazione periodica dell'imposta di soggiorno da parte delle strutture ricettive verso gli enti istituzionali di riscossione delle imposte. Tale piattaforma nella sua versione completa è costituita da due moduli software a se stanti che comunicano tra di loro: I. Un modulo dedicato alle strutture ricettive; II. Un modulo dedicato all'ufficio di riscossione imposte. Il secondo modulo prevede una serie di informazioni sensibili degli enti istituzionali a cui non sono potuto accedere essendo io un tirocinante, è per tale motivo che mi sono occupato della parte riguardante le sole strutture ricettive, pur prevedendo in fase di analisi un'espansione futura della mia applicazione, che sarà resa possibile e semplificata grazie alle tecniche dell'architettura distribuita della quale abbiamo parlato nei capitoli precedenti. 3.1 Analisi dei requisiti L'obiettivo che ci poniamo è quello di realizzare un'applicazione web oriented per la gestione dell'imposta di soggiorno da parte delle strutture ricettive. L'applicazione permetterà all'utente titolare di una struttura ricettiva non registrata di

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

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

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

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

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

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

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

Ing. Andrea Saccà. Stato civile: Celibe Nazionalità: Italiana Data di nascita: 9 Ottobre 1978 Luogo di nascita: Roma Residenza: Roma

Ing. Andrea Saccà. Stato civile: Celibe Nazionalità: Italiana Data di nascita: 9 Ottobre 1978 Luogo di nascita: Roma Residenza: Roma Indirizzo: Via dell'automobilismo, 109 00142 Roma (RM) Sito Web : http://www.andreasacca.com Telefono: 3776855061 Email : sacca.andrea@gmail.com PEC : andrea.sacca@pec.ording.roma.it Ing. Andrea Saccà

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

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

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

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

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

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

Intalio. Leader nei Sistemi Open Source per il Business Process Management. Andrea Calcagno Amministratore Delegato

Intalio. Leader nei Sistemi Open Source per il Business Process Management. Andrea Calcagno Amministratore Delegato Intalio Convegno Open Source per la Pubblica Amministrazione Leader nei Sistemi Open Source per il Business Process Management Navacchio 4 Dicembre 2008 Andrea Calcagno Amministratore Delegato 20081129-1

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

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

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

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

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

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

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

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

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

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

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

Finestra.java. static String nomicolonne[] = {"ind.","cognome","nome","telefono","e-mail"}; //nomi delle colonne della tabella

Finestra.java. static String nomicolonne[] = {ind.,cognome,nome,telefono,e-mail}; //nomi delle colonne della tabella import java.awt.*; import java.awt.event.actionevent; import java.awt.event.actionlistener; import java.awt.event.windowevent; import java.awt.event.windowlistener; import java.io.*; import java.util.*;

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

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

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

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

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

! 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

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

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

/** * VETTORE DINAMICO elementi */ private Vector elementi; /** * METODO COSTRUTTORE */ public coda() { elementi=new Vector(); }

/** * VETTORE DINAMICO elementi */ private Vector elementi; /** * METODO COSTRUTTORE */ public coda() { elementi=new Vector(); } import java.util.*; class coda * Questa classe contiene tutti i metodi per la gestione della coda * @author D'Ambrosio Giovanni Classe 4D I.T.I.S. Grottaminarda * @version 26/02/2010 * VETTORE DINAMICO

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

Scuola Specializzazione Istruzione Superiore. Object Oriented Programming (OOP) Introduzione alla programmazione orientata agli oggetti

Scuola Specializzazione Istruzione Superiore. Object Oriented Programming (OOP) Introduzione alla programmazione orientata agli oggetti Scuola Specializzazione Istruzione Superiore Object Oriented Programming (OOP) Introduzione alla programmazione orientata agli oggetti Michele Batocchi ITC Vittorio Emanuele II Perugia A.S. 2007/2008 Introduzione

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

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

Integrazione di servizi: Enterprise Service Bus (ESB) e Business Process Execution Language (BPEL)

Integrazione di servizi: Enterprise Service Bus (ESB) e Business Process Execution Language (BPEL) Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Integrazione di servizi: Enterprise Service Bus (ESB) e Business Process Execution Language (BPEL) Corso di Sistemi Distribuiti Stefano

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

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

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

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

Database, SQL & MySQL. Dott. Paolo PAVAN Maggio 2002

Database, SQL & MySQL. Dott. Paolo PAVAN Maggio 2002 Database, SQL & MySQL Dott. Paolo PAVAN Maggio 2002 1 Struttura RDBMS MYSQL - RDBMS DATABASE TABELLE 2 Introduzione ai DATABASE Database Indica in genere un insieme di dati rivolti alla rappresentazione

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

R.Focardi Laboratorio di Ingegneria del Software 6. 1

R.Focardi Laboratorio di Ingegneria del Software 6. 1 Networking Java permette comunicazioni in rete basate sul concetto di socket, che permette di vedere la comunicazione in termini di flusso (stream), in modo analogo all input-output di file, usando Stream

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

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

CA Asset Portfolio Management

CA Asset Portfolio Management CA Asset Portfolio Management Guida all'implementazione Versione 12.8 La presente documentazione, che include il sistema di guida in linea integrato e materiale distribuibile elettronicamente (d'ora in

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

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

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

Business Process Modeling and Notation e WebML

Business Process Modeling and Notation e WebML Business Process Modeling and Notation e WebML 24 Introduzione I Web Service e BPMN sono standard de facto per l interoperabilità in rete a servizio delle imprese moderne I Web Service sono utilizzati

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

Un client su arduino invia i dati acquisiti ad un database

Un client su arduino invia i dati acquisiti ad un database Un client su arduino invia i dati acquisiti ad un database PROBLEMA Si vogliono inviare, periodicamente, i dati acquisiti da alcuni sensori ad un database presente su di un server. Arduino con shield Ethernet

Dettagli

Elementi di UML (7): Diagrammi dei componenti e di deployment

Elementi di UML (7): Diagrammi dei componenti e di deployment Elementi di UML (7): Diagrammi dei componenti e di deployment Università degli Studi di Bologna Facoltà di Scienze MM. FF. NN. Corso di Laurea in Scienze di Internet Anno Accademico 2004-2005 Laboratorio

Dettagli

Sistem Design Document (SDD) Franchising viruale

Sistem Design Document (SDD) Franchising viruale Sistem Design Document (SDD) Franchising viruale 1- Introduzione 1.1- Scopo del sistema Lo scopo del sistema è quello di progettare un franchising virtuale operante nel settore della distribuzione degli

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

MIB PER IL CONTROLLO DELLO STATO DI UN SERVER FTP

MIB PER IL CONTROLLO DELLO STATO DI UN SERVER FTP Università degli Studi di Pisa Facoltà di Scienze Matematiche,Fisiche e Naturali Corso di Laurea in Informatica Michela Chiucini MIB PER IL CONTROLLO DELLO STATO DI UN SERVER

Dettagli

Configuration Managment Configurare EC2 su AWS. Tutorial. Configuration Managment. Configurare il servizio EC2 su AWS. Pagina 1

Configuration Managment Configurare EC2 su AWS. Tutorial. Configuration Managment. Configurare il servizio EC2 su AWS. Pagina 1 Tutorial Configuration Managment Configurare il servizio EC2 su AWS Pagina 1 Sommario 1. INTRODUZIONE... 3 2. PROGRAMMI NECESSARI... 4 3. PANNELLO DI CONTROLLO... 5 4. CONFIGURARE E LANCIARE UN ISTANZA...

Dettagli

CA Process Automation

CA Process Automation CA Process Automation Glossario Release 04.2.00 La presente documentazione, che include il sistema di guida in linea integrato e materiale distribuibile elettronicamente (d'ora in avanti indicata come

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

MASTER UNIVERSITARI CORSI di PERFEZIONAMENTO CORSI di FORMAZIONE AVANZATA

MASTER UNIVERSITARI CORSI di PERFEZIONAMENTO CORSI di FORMAZIONE AVANZATA Allegato 1 al bando di gara SCUOLA TELECOMUNICAZIONI FF.AA. CHIAVARI REQUISITO TECNICO OPERATIVO MASTER UNIVERSITARI CORSI di PERFEZIONAMENTO CORSI di FORMAZIONE AVANZATA MASTER DI 2 LIVELLO 1. DIFESA

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

Copyright Università degli Studi di Torino, Progetto Atlante delle Professioni 2009 IT PROCESS EXPERT

Copyright Università degli Studi di Torino, Progetto Atlante delle Professioni 2009 IT PROCESS EXPERT IT PROCESS EXPERT 1. CARTA D IDENTITÀ... 2 2. CHE COSA FA... 3 3. DOVE LAVORA... 4 4. CONDIZIONI DI LAVORO... 5 5. COMPETENZE... 6 Quali competenze sono necessarie... 6 Conoscenze... 8 Abilità... 9 Comportamenti

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

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

Reti di Telecomunicazione Lezione 7

Reti di Telecomunicazione Lezione 7 Reti di Telecomunicazione Lezione 7 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it Il protocollo Programma della lezione file transfer protocol descrizione architetturale descrizione

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

RefWorks Guida all utente Versione 4.0

RefWorks Guida all utente Versione 4.0 Accesso a RefWorks per utenti registrati RefWorks Guida all utente Versione 4.0 Dalla pagina web www.refworks.com/refworks Inserire il proprio username (indirizzo e-mail) e password NB: Agli utenti remoti

Dettagli

Energy Data Management System (EDMS): la soluzione software per una gestione efficiente dell energia secondo lo standard ISO 50001

Energy Data Management System (EDMS): la soluzione software per una gestione efficiente dell energia secondo lo standard ISO 50001 Energy Data Management System (EDMS): la soluzione software per una gestione efficiente dell energia secondo lo standard ISO 50001 Oggi più che mai, le aziende italiane sentono la necessità di raccogliere,

Dettagli

Scheda descrittiva del programma. Open-DAI. ceduto in riuso. CSI-Piemonte in rappresentanza del Consorzio di progetto

Scheda descrittiva del programma. Open-DAI. ceduto in riuso. CSI-Piemonte in rappresentanza del Consorzio di progetto Scheda descrittiva del programma Open-DAI ceduto in riuso CSI-Piemonte in rappresentanza del Consorzio di progetto Agenzia per l Italia Digitale - Via Liszt 21-00144 Roma Pagina 1 di 19 1 SEZIONE 1 CONTESTO

Dettagli

Servizi DNS - SMTP FTP - TELNET. Programmi. Outlook Express Internet Explorer

Servizi DNS - SMTP FTP - TELNET. Programmi. Outlook Express Internet Explorer Servizi DNS - SMTP FTP - TELNET Programmi Outlook Express Internet Explorer 72 DNS Poiché riferirsi a una risorsa (sia essa un host oppure l'indirizzo di posta elettronica di un utente) utilizzando un

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

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

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

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

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

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

Le funzioni di shell La bash supporta la programmazione procedurale e prevede la possibilità di definire funzioni utilizzando le sintassi

Le funzioni di shell La bash supporta la programmazione procedurale e prevede la possibilità di definire funzioni utilizzando le sintassi Le funzioni di shell La bash supporta la programmazione procedurale e prevede la possibilità di definire funzioni utilizzando le sintassi alternative: function nome { lista-comandi } oppure nome ( ) {

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

ASTA IN GRIGLIA PRO. COSA PERMETTE DI FARE (per ora) Asta In Griglia PRO:

ASTA IN GRIGLIA PRO. COSA PERMETTE DI FARE (per ora) Asta In Griglia PRO: ASTA IN GRIGLIA PRO Asta in Griglia PRO è un software creato per aiutare il venditore Ebay nella fase di post-vendita, da quando l inserzione finisce con una vendita fino alla spedizione. Il programma

Dettagli

Manuale installazione KNOS

Manuale installazione KNOS Manuale installazione KNOS 1. PREREQUISITI... 3 1.1 PIATTAFORME CLIENT... 3 1.2 PIATTAFORME SERVER... 3 1.3 PIATTAFORME DATABASE... 3 1.4 ALTRE APPLICAZIONI LATO SERVER... 3 1.5 ALTRE APPLICAZIONI LATO

Dettagli

REAL WORLD AND VIRTUAL WORLD ARCHITECTURE FOR INTERCONN INTERCONNECTING FIRST AND SECOND LIFE

REAL WORLD AND VIRTUAL WORLD ARCHITECTURE FOR INTERCONN INTERCONNECTING FIRST AND SECOND LIFE REAL WORLD AND VIRTUAL WORLD ARCHITECTURE FOR INTERCONNECTING FIRST AND SECOND LIFE Università degli studi di Catania Facoltà di Ingegneria 26 Gennaio 2009 Sommario 1 Introduzione 2 Middleware Middleware:

Dettagli

UBUNTU SERVER. Installazione e configurazione di Ubuntu Server. M. Cesa 1

UBUNTU SERVER. Installazione e configurazione di Ubuntu Server. M. Cesa 1 UBUNTU SERVER Installazione e configurazione di Ubuntu Server M. Cesa 1 Ubuntu Server Scaricare la versione deisiderata dalla pagina ufficiale http://www.ubuntu.com/getubuntu/download-server Selezioniare

Dettagli

Gestione delle Architetture e dei Servizi IT con ADOit. Un Prodotto della Suite BOC Management Office

Gestione delle Architetture e dei Servizi IT con ADOit. Un Prodotto della Suite BOC Management Office Gestione delle Architetture e dei Servizi IT con ADOit Un Prodotto della Suite BOC Management Office Controllo Globale e Permanente delle Architetture IT Aziendali e dei Processi IT: IT-Governance Definire

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

Sistemi avanzati di gestione dei Sistemi Informativi

Sistemi avanzati di gestione dei Sistemi Informativi Esperti nella gestione dei sistemi informativi e tecnologie informatiche Sistemi avanzati di gestione dei Sistemi Informativi Docente: Email: Sito: Eduard Roccatello eduard@roccatello.it http://www.roccatello.it/teaching/gsi/

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

Windows Compatibilità

Windows Compatibilità Che novità? Windows Compatibilità CODESOFT 2014 é compatibile con Windows 8.1 e Windows Server 2012 R2 CODESOFT 2014 Compatibilità sistemi operativi: Windows 8 / Windows 8.1 Windows Server 2012 / Windows

Dettagli

più del mercato applicazioni dei processi modificato. Reply www.reply.eu

più del mercato applicazioni dei processi modificato. Reply www.reply.eu SOA IN AMBITO TELCO Al fine di ottimizzare i costi e di migliorare la gestione dell'it, le aziende guardano, sempre più con maggiore interesse, alle problematiche di gestionee ed ottimizzazione dei processi

Dettagli

Codici sorgenti di esempio per l'invio di email da pagine WEB per gli spazi hosting ospitati presso ITESYS SRL.

Codici sorgenti di esempio per l'invio di email da pagine WEB per gli spazi hosting ospitati presso ITESYS SRL. Data: 8 Ottobre 2013 Release: 1.0-15 Feb 2013 - Release: 2.0 - Aggiunta procedura per inviare email da Windows con php Release: 2.1-20 Mar 2013 Release: 2.2-8 Ottobre 2013 - Aggiunta procedura per inviare

Dettagli

Architettura di un sistema informatico 1 CONCETTI GENERALI

Architettura di un sistema informatico 1 CONCETTI GENERALI Architettura di un sistema informatico Realizzata dal Dott. Dino Feragalli 1 CONCETTI GENERALI 1.1 Obiettivi Il seguente progetto vuole descrivere l amministrazione dell ITC (Information Tecnology end

Dettagli

PUBLIC, PRIVATE O HYBRID CLOUD: QUAL È IL TIPO DI CLOUD OTTIMALE PER LE TUE APPLICAZIONI?

PUBLIC, PRIVATE O HYBRID CLOUD: QUAL È IL TIPO DI CLOUD OTTIMALE PER LE TUE APPLICAZIONI? PUBLIC, PRIVATE O HYBRID CLOUD: QUAL È IL TIPO DI CLOUD OTTIMALE PER LE TUE APPLICAZIONI? Le offerte di public cloud proliferano e il private cloud è sempre più diffuso. La questione ora è come sfruttare

Dettagli

MANUALE D USO G.ALI.LE.O GALILEO. Manuale d uso. Versione 1.1.0. [OFR] - Progetto GALILEO - Manuale d uso

MANUALE D USO G.ALI.LE.O GALILEO. Manuale d uso. Versione 1.1.0. [OFR] - Progetto GALILEO - Manuale d uso [OFR] - - G.ALI.LE.O Versione 1.1.0 MANUALE D USO pag. 1 di 85 [OFR] - - pag. 2 di 85 [OFR] - - Sommario 1 - Introduzione... 6 2 - Gestione ALbI digitale Ordini (G.ALI.LE.O.)... 7 2.1 - Schema di principio...

Dettagli

CONFIGURAZIONE DEI SERVIZI (seconda parte)

CONFIGURAZIONE DEI SERVIZI (seconda parte) Corso ForTIC C2 LEZIONE n. 10 CONFIGURAZIONE DEI SERVIZI (seconda parte) WEB SERVER PROXY FIREWALL Strumenti di controllo della rete I contenuti di questo documento, salvo diversa indicazione, sono rilasciati

Dettagli