Università degli studi di Napoli Federico II Facoltà di Ingegneria. Corso di Laurea in Ingegneria Informatica TESI DI LAUREA

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Università degli studi di Napoli Federico II Facoltà di Ingegneria. Corso di Laurea in Ingegneria Informatica TESI DI LAUREA"

Transcript

1 Università degli studi di Napoli Federico II Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica TESI DI LAUREA Framework MVC per lo sviluppo di Web Application : JavaServer Faces e Struts Relatore Ch.mo Prof. Antonio d Acierno Candidato Paolo Patierno Matricola 041/2803 Anno Accademico 2004/2005

2 a tutti coloro che hanno creduto in me alla mia pazientissima famiglia alla mia dolcissima Sara alle mie care nonne

3 Ringraziamenti Quando nella vita si raggiungono grandi traguardi e si realizzano i propri sogni, ci si rende conto che, senza l appoggio delle persone che ci vivono accanto, gli sforzi e l impegno personali non avrebbero mai consentito da soli tali risultati. Ho sempre considerato lo studio e la conoscenza tra gli elementi fondamentali della vita di una persona e per questo, per raggiungere il mio obiettivo, non ho mai lesinato nei miei confronti l impegno, aggiungendovi costanza, instancabilità, caparbietà e tenacia che comunque sarebbero state vane senza le persone che qui ho il piacere ed il dovere di ringraziare. I miei ringraziamenti vanno innanzitutto al Prof. Ing. Antonio d Acierno, il quale mi ha proposto questo lavoro che ho accettato con grande entusiasmo. Grazie a lui, ho avuto la possibilità di affrontare ed approfondire nuovi temi legati allo sviluppo del software per Internet, per me di estremo interesse. Gli anni di studio, che mi hanno portato a questo grande traguardo, sono stati caratterizzati da momenti di gioia così come da periodi di sacrifici ed amarezze, che non avrei saputo superare senza coloro che mi hanno preso per mano lungo questo cammino. Un immenso grazie va innanzitutto alla mia famiglia, Mamma, Papà ed ai miei fratelli Enzo e Daniela, che mi hanno dato la possibilità di realizzare questo sogno, senza mai ostacolarmi nelle decisioni ma dandomi sempre il massimo appoggio. In questi anni, hanno dovuto sopportare i miei comprensibili momenti di tensione e di nervosismo, senza mai rimproverarmi alcun comportamento. A loro devo chiedere scusa, per non aver dedicato il giusto tempo che merita una famiglia che ama il proprio figlio ed il proprio fratello. Grazie a mio cugino Diego, che rappresenta per me il modello da seguire, umanamente e professionalmente, il quale non ha mai risparmiato

4 consigli ed elogi nei miei confronti. Spero di poter crescere nel tempo ed acquisire le notevoli capacità che gli riconosco. Grazie a tutti i miei amici più sinceri, con i quali ho trascorso delle ore spensierate, lontano dagli affanni dello studio, e che mi hanno fatto sentire una persona importante per loro. Un grazie particolare va a Sara, che ho avuto l immensa fortuna di conoscere circa un anno fa, diventando l amore della mia vita. Si è ritrovata catapultata nel mio mondo, fatto di moltissime ore si studio, di sacrifici e di preoccupazioni, dandomi sempre la forza di rialzarmi nei momenti di rabbia e di sconforto. Seppur soltanto in questo ultimo anno, il suo amore nei miei confronti è stato una grande fonte di energia, dalla quale spero di attingere per tutto il resto della mia vita. Vorrei concludere con una dedica alle mie nonne, Edy ed Anna, che ne sono certo mi hanno guidato da lassù e che in questo momento mi sono vicine, per condividere con me l enorme gioia che ho dentro. A voi Grazie di cuore a tutti

5 Indice Introduzione Obiettivo della tesi 1 Capitolo I Il pattern MVC 1. Architettura software a livelli L importanza dei design patterns Design Pattern MVC Model View Controller Evoluzione dell architettura delle Web Application Model 1 (Page Centric Architecture) Model 2 (Servlet Centric Architecture) Le Servlet Struttura di base Ciclo di vita Richiesta, Risposta, Sessione e Contesto Web Application Frameworks Struttura di una Web application in Java Web Application Deployment Descriptor. 23 Capitolo II Il framework JavaServer Faces 1. Introduzione Teamworking Modelli architetturali - Framework Models Execution Model 32 I

6 3.1.1 FacesServlet Lifecycle PhaseListener Application FacesContext ExternalContext User Interface Component Model Component Rendering Model Renderer Conversion Model Converter Event and Listener Model FacesEvent FacesListener Validation Model Validator Navigation Model Backing Bean Management Ciclo di vita di una pagina JavaServer Faces Scenari di elaborazione di una richiesta Ciclo di vita Standard Restore View Apply Request Values Process Validation Update Model Values Invoke Application Render Response 58 II

7 5. JSF Expression Language Espandibilità del framework Custom Converter Event Listener Implementazione di un ActionListener/ValueChangeListener Backing Bean Method Listener Custom Validator Implementazione di un Validator Class Validator Tag Handler Tag Library Descriptor Backing Bean Method Validator Custom UI Components Class Component Tag Handler Tag Library Descriptor Classe Renderer Sicurezza Configurazione dell applicazione Configurazione dei Backing Beans Localizzazione, Internazionalizzazione e Messaggi Registrare un Custom Validator Registrare un Custom Converter Configurare le Navigation Rules Registrare un Custom Renderer in un Renderer Kit. 79 III

8 8.7 Registrare un Custom Component. 80 Capitolo III Il framework Struts 1. Introduzione Controller, Model and View Components Controller Components ActionServlet RequestProcessor Action ForwardAction DispatchAction LookupDispatchAction SwitchAction ActionForward Utility Classes Model Components View Components ActionForm ActionErrors ActionMessage ActionError DynaActionForm Tag Libraries Ciclo di vita di una richiesta Exception Handling Approccio Dichiarativo Approccio programmatico IV

9 4.3 ModuleException Internazionalizzazione (I18N) JavaServer Pages Standard Tag Library (JSTL) Estensioni con i PlugIn Validator framework Tiles framework Definitions Costruzione di una pagina Sicurezza Configurazione dell applicazione DataSource FormBean Global Exceptions Global Forwards Action Mapping Controller Message resources Plug-In Capitolo IV I framework a confronto 1. Introduzione Ciclo di vita di una richiesta Controller Tier Interfaccia Utente (UI) Events e Listeners V

10 6. Mappatura delle richieste sulla Business-Logic Conversione Validazione Navigazione Expression Language Eccezioni Internazionalizzazione (I18N) Sicurezza Configurazione Web Application Layout Migrazione da Struts a JavaServer Faces Strategie di migrazione Components Only Incremental migration Full migration Capitolo V Case Study : Analisi e Progettazione 1. Introduzione Requisiti Progettazione Use Case Diagrams Generale Gestione Scheda Prepagata Registrazione Azioni su Brani VI

11 3.1.5 Gestione Playlist Gestione Utenti Gestione Archivio Brani Casi d uso comuni : Login, Logout, Gestione Dati Personali Class Diagram Activity Diagrams Sequence Diagrams Login Logout Registrazione Richiesta Username / Password Acquisto, Ricarica e Visualizzazione Info Scheda Prepagata Visualizzazione e Ricerca Brani Inserimento, Modifica ed Eliminazione Brano dall Archivio Ascolto di un singolo Brano Gestione Playlist Acquisto/Download Brano Modifica Dati Personali Gestione Utenti Statechart Diagrams Conceptual Data Model Physical Data Model Capitolo VI Case Study : Implementazioni a confronto 1. Introduzione Struttura dell applicazione VII

12 3. Controller Gestione delle sessioni Protezione pagine View Le librerie Standard I form : contenuto e layout Costruzione condizionale dei contenuti DataTable JSF e Cicli JSTL Tiles JavaServer Faces Custom Components DateSelectComponent DDListComponent TimeSelectComponent e Struts? I formbean di Struts Login, Registrazione e Richiesta password Acquisto/Ricarica scheda prepagata Modifica dati utente ed amministratore Visualizzazione e ricerca dei brani Inserimento/Modifica brani Gestione Playlist Gestione Utenti e JavaServer Faces? Player MP Internazionalizzazione (I18N) VIII

13 5. Validazione JavaServer Faces Custom Validators Validator SeqCifreValidator TelefonoValidator Plug-in Validator Struts Model Classi Exception Classi di interfacciamento con il DataBase Le Action di Struts Business-Logic e funzionalità del sistema Package accesso Package ruolo Package brani Package playlist Package scheda Package cartacredito Package download Package mail I Backing Beans di JavaServer Faces Plug-in di Struts Navigazione Eccezioni Sicurezza 385 IX

14 Appendice A SRS Web Application MP3-Web Riferimenti Bibliografici X

15 Introduzione Obiettivo della tesi Introduzione Obiettivo della tesi Il lavoro di tesi svolto si pone come obiettivo il confronto tra due dei principali framework MVC per lo sviluppo di Web application : JavaServer Faces e Struts. Considerando il linguaggio comune su cui si basano, ossia il Java, tale confronto è relativo soprattutto a ciò che riguarda gli strumenti, le funzionalità e le potenzialità fornite dall uno e dall altro. Si parte da una descrizione del pattern MVC (Model View Controller) e di tutti gli aspetti relativi al suo meccanismo di funzionamento, nonché da una spiegazione delle Servlet che sono alla base dei framework suddetti. Successivamente, viene dato ampio spazio al framework JavaServer Faces descrivendone tutte le classi che ne costituiscono l architettura e tutte le funzionalità messe a disposizione per realizzare un applicazione Web. Allo stesso modo è stata approfondita la struttura di Struts ed i relativi strumenti disponibili. Raccolte le informazioni necessarie, è stato realizzato un confronto teorico tra i due framework evidenziando vantaggi e svantaggi dell uno e dell altro in relazione a ciascuna funzionalità offerta. Per poter fornire una base solida al confronto teorico, è stato preso in esame un caso di studio che ha previsto la realizzazione di una Web application mediante i due framework. Tale applicazione mette a disposizione degli utenti la possibilità di usufruire di contenuti audio, ossia brani MP3, registrandosi, creando delle proprie playlist per poterle ascoltare in streaming e per poter eventualmente acquistare i brani ed effettuarne il download. Per quanto riguarda l amministratore, egli ha a disposizione tutte le funzionalità di gestione dell archivio dei brani e degli utenti registrati. E stata eseguita una preventiva fase di analisi e progettazione che ha previsto la realizzazione del documento di specifica dei requisiti (SRS) e di tutti i 1

16 Introduzione Obiettivo della tesi diagrammi UML (Use Case, Class, Activity, Sequence, Statechart) oltre al modello concettuale e fisico della base di dati necessaria. A queste fasi ha fatto seguito una doppia fase di implementazione che ha previsto la realizzazione della Web application con entrambi i framework. Infine, sulla base di quanto sviluppato sono state ripresi tutti gli aspetti che potessero rappresentare termini di confronto fra di essi e sono state evidenziate le analogie e le differenze di implementazione dell uno e dell altro. Per quanto concerne gli strumenti adottati si è fatto ampio uso del software Sybase Power Designer per lo sviluppo dei diagrammi UML, dell ambiente IDE Eclipse 3.1 ed i plug-in Exadel ed Omondo per l implementazione ed infine del Web Container Apache Tomcat come ambiente di esecuzione delle due implementazioni. 2

17 Capitolo I Il Pattern MVC Capitolo I Il Pattern MVC 1. Architettura software a livelli Nello sviluppo delle applicazioni software, è possibile descrivere l architettura del sistema utilizzando uno fra i molteplici paradigmi a disposizione, ma in linea generale, trova una maggiore applicazione la nota architettura a livelli (Layered Application Architecture). Quest ultima prevede che un sistema software sia decomposto in tre livelli nettamente distinti, che comunque abbiano la possibilità di comunicare fra loro secondo un opportuna gerarchia. Ciascuno dei tre livelli ha un proprio ruolo ed assolve ad uno specifico compito all interno del sistema complessivo, senza interferire con gli altri livelli ma scambiando con essi le informazioni necessarie all esecuzione di elaborazioni anche molto complesse. I tre livelli in questione sono i seguenti : - Presentation layer : è il livello di presentazione, il cui compito è quello di interagire direttamente con l utente del sistema, acquisire i dati di input immessi da quest ultimo e visualizzare i risultati dell elaborazione effettuata dal sistema stesso. Esso, in pratica, definisce la GUI (Graphic User Interface) ossia l interfaccia grafica dell applicazione; - Application processing layer : è il livello in corrispondenza del quale si trova la business-logic dell applicazione e quindi tutti i moduli software che implementano le funzionalità che il sistema mette a disposizione. In sostanza, è il centro dell elaborazione dei dati in cui avvengono tutte le computazioni; - Data management layer : è il livello che si occupa della gestione della persistenza e dell accesso ai dati, per cui è tipicamente caratterizzato da un DBMS (DataBase Management System); 3

18 Capitolo I Il Pattern MVC Figura 1 Architettura Software a livelli Sviluppando un applicazione secondo questa architettura, ogni livello è indipendente dagli altri, per cui la modifica di uno di essi non ha effetto sui restanti. Tuttavia è prevista la comunicazione fra loro e lo scambio di informazioni. Un tipico scenario di funzionamento del sistema può essere il seguente : un utente utilizza l applicazione, interagendo direttamente con la GUI e fornisce quindi al Presentation layer, i dati su cui andrà eseguita l elaborazione. Il Presentation layer, acquisiti i dati di input, li trasferisce all Application processing layer che esegue su di essi una determinata computazione. Durante l elaborazione, la business-logic può prevedere la memorizzazione persistente dei dati oppure la necessità di acquisire ulteriori dati già memorizzati. In questo caso, c è l interazione con il Data managemente layer, il quale memorizza i dati che gli vengono passati dal livello superiore, oppure recupera da un Data Source (es. database) i dati richiesti e li trasmette alla business-logic. Al termine dell elaborazione i risultati vengono passati al Presentation layer che li visualizza in una certa forma all utente finale. Facendo riferimento al paradigma Client-Server, notevolmente utilizzato nelle Web application ma di gran richiamo anche per applicazioni desktop, i tre livelli del sistema devono essere correttamente ripartiti anche da un punto di vista hardware. Le principali architetture per la ripartizione sono : - Two-Tier nelle due soluzioni Thin e Fat Client; - Three-Tier; 4

19 Capitolo I Il Pattern MVC L architettura Two-Tier prevede un unico Client ed un unico Server ed i tre livelli dell applicazione software sono distribuiti fra di essi secondo due possibili modalità : - Thin Client : sul Client risiede il Presentation layer mentre sul Server gli altri due livelli (Application processing layer e Data management layer). Un vantaggio può risiedere nel fatto che una modifica alla business-logic va eseguita una sola volta sul Server, mentre lo svantaggio principale può essere caratterizzato dall enorme carico di lavoro che deve supportare il Server stesso dato il numero elevato di Client che possono accedere ad esso; - Fat Client : sul Client risiedono i primi due livelli (Presentation layer e Application processing layer) mentre sul Server soltanto il Data management layer. Il vantaggio è quello di ridurre il carico di lavoro sul Server che si occupa solo dell accesso ai dati, delegando l elaborazione degli stessi al Client. Lo svantaggio principale è la complessità maggiore dei Client e quindi la necessità di aggiornare ciascuno di essi nel caso in cui vengano apportate modifiche alla business-logic; Figura 2 Architetture Two Tier L architettura Three-Tier, maggiormente utilizzata, prevede la presenza di un unico Client ed una coppia di Server. Sul Client risiede il Presentation layer e su ciascuno dei due Server sono distribuiti i due restanti livelli (Application processing layer e Data management layer). Nell ambito di una Web application, il Client è caratterizzato da un nodo della rete sul quale è in esecuzione il browser, mentre i due Server, da un punto di vista software, sono tipicamente inglobati in un unico nodo 5

20 Capitolo I Il Pattern MVC della rete che funge da Server fisico. In particolare, sulla stessa macchina sono in esecuzione il Web Server associato all Application proccessing layer ed il Database Server associato al Data management layer. Figura 3 Architettura Three Tier In conclusione, è proprio su questa particolare architettura a livelli che si basa il pattern MVC (Model View Controller), che rappresenta il fondamento dei framework Struts e JavaServer Faces (JSF) che saranno oggetto di studio e di un approfondito confronto. 2. L importanza dei design patterns Alla metà del ventesimo secolo, l architetto Christopher Alexander osservò come i suoi colleghi tendevano a risolvere i medesimi problemi, più o meno allo stesso modo. Da tale osservazione, introdusse il concetto di design pattern, ovviamente riferito all architettura. Secondo Christopher Alexander, un design pattern descrive un problema che si presenta frequentemente nel nostro ambiente, e quindi descrive il nucleo della soluzione in modo tale che sia possibile impiegare tale soluzione milioni di volte, senza peraltro produrre due volte la stessa realizzazione. Ovviamente, tale definizione era riferita all ambito architetturale, ma nel 1994, con il libro Design Patterns : Elements of Reusable Object-Oriented Software, Erich Gamma, Richard Helm, Ralph Johnson e John Vlissides, applicarono questa intuizione allo sviluppo del software. In questo caso, il principio è ugualmente valido anche se riferito ad oggetti, classi ed interfacce piuttosto che ad elementi architettonici come muri, archi e pilastri. 6

21 Capitolo I Il Pattern MVC Un pattern è un modello che permette di definire la soluzione di un problema specifico che si ripresenta, di volta in volta, in un contesto diverso. Presenta inoltre le seguenti caratteristiche : - il nome che individua il pattern e la cui importanza non è secondaria, perché rientra a far parte del vocabolario dello sviluppo software; - la descrizione del problema in maniera dettagliata, con la sua struttura e le condizioni al contorno; - la soluzione che descrive gli artefatti software per risolvere il problema come gli elementi che rientrano nello sviluppo, quali le classi e le relazioni fra esse, le associazioni ed i ruoli, le modalità di collaborazione tra le classi coinvolte ed infine la distribuzione delle responsabilità nella soluzione del particolare problema di design considerato; - le conseguenze che descrivono i risultati che si possono ottenere dall applicazione del pattern per spingere uno sviluppatore a farne uso; Ad oggi i patterns sono di grande interesse, in virtù del fatto che rappresentano una successiva evoluzione del paradigma OOP (Object Oriented Programming), poiché combinano classi ed oggetti atomici per fornire una base più ampia per la risoluzione di un problema, nella fattispecie per lo sviluppo di un applicazione software. Sotto questo punto di vista, un design pattern fornisce allo sviluppatore : - una soluzione codificata e consolidata per un problema ricorrente; - un astrazione di granularità e livello di astrazione più elevati di una classe; - un supporto alla comunicazione delle caratteristiche del progetto; - un modo per progettare software con caratteristiche predefinite; - un supporto alla progettazione di sistemi complessi; - un modo per gestire la complessità del software; Può essere considerato un buon pattern un pattern che descrive una soluzione assodata per un problema ricorrente in un contesto specifico. 7

22 Capitolo I Il Pattern MVC E ovvio che esistono numerose tipologie di design patterns, ma nell ambito dello sviluppo delle Web application, in riferimento all obiettivo proposto, assume un ruolo rilevante il pattern MVC (Model View Controller). 3. Design Pattern MVC Model View Controller Il design pattern MVC ha le sue origini nell ambiente Smalltalk, in cui veniva utilizzato per la realizzazione della GUI (Graphic User Interface) di applicazioni desktop e non orientate al Web. Tale pattern si basa sull idea di separare i dati dalla rappresentazione, poiché mantenere un forte accoppiamento tra essi comporta che la modifica dell uno, implica automaticamente un aggiornamento dell altro. Esso, quindi, prevede che un sistema software sia realizzato secondo l architettura a livelli, stabilendo un disaccoppiamento fra dati e rappresentazione, mediante la definizione di tre elementi noti come : Model, View e Controller. Figura 4 - Model, View e Controller Il Model (Modello) è responsabile della gestione dei dati e del comportamento dell applicazione (data & behaviour). Esso coordina la businesslogic dell applicazione, l accesso alle basi di dati e tutte le parti critiche nascoste del sistema. Incapsula lo stato dell applicazione ed espone le funzionalità di 8

23 Capitolo I Il Pattern MVC quest ultima. E indipendente dalle specifiche rappresentazioni dei dati sullo schermo e dalle modalità di input dei dati stessi da parte dell utente. Ad esso fanno riferimento l Application processing layer ed il Data managemente layer nel design del software a livelli. Il Model può essere scomposto in tre sottolivelli puramente concettuali : - External interface : caratterizzato dal codice che definisce un interfaccia mediante la quale il codice esterno comunica con il Model. Generalmente il codice esterno è determinato dal framework adottato per sviluppare la Web application, come ad esempio Struts e JavaServer Faces; - Business logic : rappresenta il cuore del Model contenente il codice che realizza le funzionalità dell applicazione; - Data access : costituito dal codice che permette di accedere ad un datasource, come ad esempio una base di dati; Figura 5 Architettura del Model I tre sottolivelli descritti non rappresentano necessariamente dei set di classi separate ma, bensì, dei set di responsabilità differenti che ha il Model. Lo sviluppatore può decidere di realizzare i tre sottolivelli mediante una o più classi e raggruppando due o più sottolivelli. Tipicamente si preferisce realizzare il sottolivello Data access con una 9

24 Capitolo I Il Pattern MVC o più classi che hanno come unico scopo quello di permettere l accesso ad un base di dati. Gli altri due sottolivelli possono essere realizzati in due modi : - separazione : ci sono una serie di classi che realizzano la Business logic ed ulteriori classi che definiscono l External interface; - fusione : sono definite una serie di classi che definiscono la Business logic e contengono all interno anche le funzionalità di interfacciamento dell External interface; La scelta può dipendere dalla complessità dell applicazione ed, eventualmente, dalla tecnologia che viene adottata sul Model per realizzare la Web application. La View (Vista) ha il compito di visualizzare i dati e presentarli all utente anche in forme diverse, in relazione al dispositivo utilizzato per accedere al sistema (es. personal computer, cellulare,..). Ciò vuol dire che, pur partendo dagli stessi dati, è possibile effettuare rendering diversi ed ottenere viste multiple dello stesso modello. Ad esso fa riferimento il Presentation layer. Il Controller (Controllo) definisce il meccanismo mediante il quale il Model e la View comunicano. Realizza la connessione logica tra l interazione dell utente con l interfaccia applicativa e i servizi della business-logic nel back-end del sistema. E responsabile della scelta di una tra molteplici viste dello stesso modello, in base al tipo di dispositivo utilizzato dall utente per accedere al sistema ma anche in relazione alla localizzazione geografica dell utente stesso. Una qualsiasi richiesta (request) fatta al sistema viene acquisita dal Controller che individua all interno del Model il gestore della richiesta (request handler). Ottenuto il risultato dell elaborazione (response), il Controller stesso determina a quale View passare i dati per la presentazione degli stessi all utente. Il vantaggio principale che scaturisce da questa architettura, è che la business-logic definita all interno del Model è separata dal Presentation layer che si trova all interno della View. Tutto ciò favorisce il riuso dei componenti e la possibilità di apportare delle modifiche ad un livello senza avere degli effetti sull altro. 10

25 Capitolo I Il Pattern MVC 4. Evoluzione dell architettura delle Web Application Considerando il Java come uno dei migliori linguaggi per lo sviluppo delle applicazioni Web, attraverso l uso delle Servlets e delle pagine JSP (Java Server Pages), l architettura delle Web application ha subito una notevole evoluzione nel corso degli anni, seguendo un iter di questo tipo : 1. Assenza del pattern MVC; 2. Utilizzo del pattern MVC secondo il Model 1 (Page Centric); 3. Utilizzo del pattern MVC secondo il Model 2 (Servlet Centric); 4. Web application Frameworks (es. Struts); 5. Web application Framework basato su uno standard ( JavaServer Faces JSR 127); Tale evoluzione ha previsto un aumento della complessità e della robustezza di ciascuna applicazione e può essere schematizzata nel modo seguente, sino all introduzione del Model 1 : Figura 6 - Evoluzione dello sviluppo di Web Application 11

26 Capitolo I Il Pattern MVC 4.1 Model 1 (Page Centric Architecture) Il Model 1 del pattern MVC è detto anche Page Centric, poiché l architettura della Web application è basata sulle pagine JSP. Il sistema complessivo è composto da una serie di pagine JSP legate fra loro, ciascuna delle quali gestisce tutti gli aspetti principali dell applicazione tra cui la presentazione, il controllo ed i processi di business. E evidente che la business-logic ed il controllo sono fortemente accoppiati all interno di ciascuna pagina JSP, attraverso l utilizzo di JavaBeans, Scriptlets ed Espressioni. I tre elementi del pattern, Model, View e Controller, pur essendo distinti, sono inglobati all interno di una stessa struttura che in questo caso è rappresentata da una pagina JSP. Figura 7 - MVC Model 1 (Page - Centric Architecture) Il modello prevede uno scenario di interazione di questo tipo : Il browser invia una richiesta (request) di una risorsa al Web Server, nella maggior parte dei casi per la visualizzazione di una pagina JSP. Il Web Server, tipicamente, funge da Web Container e quindi da Servlet Container in quanto va ricordato che una pagina JSP, una volta richiesta, viene sempre trasformata in una corrispondente Servlet. All interno della pagina JSP, ci sono i tag che ne definiscono la presentazione all utente e quindi l aspetto grafico (GUI), ma anche gli elementi per l esecuzione 12

27 Capitolo I Il Pattern MVC delle elaborazioni. Queste ultime possono essere eseguite all interno della pagina stessa, attraverso codice Java immerso nei tag (Scriptlets) oppure mediante dei componenti esterni, ai quali si fa riferimento da tale pagina. I componenti in questione sono tipicamente dei JavaBeans, i quali effettuano una qualsiasi computazione, comunicando eventualmente con il back-end del sistema, ad esempio per l accesso a basi di dati. Il risultato di ciascuna elaborazione sarà così integrato all interno della pagina HTML prodotta, che sarà inviata nella risposta (response) al browser. Da quanto detto, si evince che Model, View e Controller sono praticamente integrati all interno di ciascuna pagina JSP e che non c è una netta separazione fra essi. I limiti principali di questo modello possono essere i seguenti : - viene incoraggiata una struttura a spaghetti delle pagine JSP, poiché la business-logic si perde all interno di ciascuna pagina e la navigazione nella Web application complessiva viene fatta pagina per pagina; - è molto difficile eseguirne il debug, poiché tutti gli errori riportati dal Web Container, fanno riferimenti al codice compilato della pagina JSP in una Servlet e quindi sono difficili da individuare all interno della pagina stessa; Tutto ciò rappresenta un primo passo verso il modello definitivo del pattern MVC. 4.2 Model 2 (Servlet Centric Architecture) Il Model 2 del pattern MVC è detto anche Servlet Centric, poiché l architettura della Web application si basa fortemente sull utilizzo di una Servlet. Il sistema complessivo è composto da una Servlet principale che svolge il ruolo di Controller, da una serie di pagine JSP che rappresentano la View ed infine da un insieme di JavaBeans che costituiscono il Model. I tre elementi del pattern MVC sono quindi nettamente separati tra loro, pur mantenendo la possibilità di comunicare per scambiarsi informazioni. In particolare, le pagine JSP si occupano esclusivamente della presentazione dei dati all utente, senza contenere un minimo di business-logic. La Servlet master ha il compito di acquisire tutte le richieste provenienti dalla rete e funge da dispatcher, inoltrando ciascuna di esse verso il 13

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

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

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

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

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

Le Reti Informatiche

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

Dettagli

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

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

Dettagli

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

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

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

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

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

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

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

Analisi dei requisiti e casi d uso

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

Dettagli

Lezione n 1! Introduzione"

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

Dettagli

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

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

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

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

SAI QUANTO TEMPO IMPIEGHI A RINTRACCIARE UN DOCUMENTO, UN NUMERO DI TELEFONO O UNA E-MAIL?

SAI QUANTO TEMPO IMPIEGHI A RINTRACCIARE UN DOCUMENTO, UN NUMERO DI TELEFONO O UNA E-MAIL? archiviazione ottica, conservazione e il protocollo dei SAI QUANTO TEMPO IMPIEGHI A RINTRACCIARE UN DOCUMENTO, UN NUMERO DI TELEFONO O UNA E-MAIL? Il software Facile! BUSINESS Organizza l informazione

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

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

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

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

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

Rational Unified Process Introduzione

Rational Unified Process Introduzione Rational Unified Process Introduzione G.Raiss - A.Apolloni - 4 maggio 2001 1 Cosa è E un processo di sviluppo definito da Booch, Rumbaugh, Jacobson (autori dell Unified Modeling Language). Il RUP è un

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Dettagli

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

Web conferencing software. Massimiliano Greco - Ivan Cerato - Mario Salvetti

Web conferencing software. Massimiliano Greco - Ivan Cerato - Mario Salvetti 1 Web conferencing software Massimiliano Greco - Ivan Cerato - Mario Salvetti Arpa Piemonte 2 Che cosa è Big Blue Button? Free, open source, web conferencing software Semplice ed immediato ( Just push

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

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

www.sms2biz.it Soluzioni professionali per la gestione e l invio di SMS

www.sms2biz.it Soluzioni professionali per la gestione e l invio di SMS www.sms2biz.it Soluzioni professionali per la gestione e l invio di SMS Introduzione La nostra soluzione sms2biz.it, Vi mette a disposizione un ambiente web per una gestione professionale dell invio di

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

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

Processi (di sviluppo del) software. Fase di Analisi dei Requisiti. Esempi di Feature e Requisiti. Progettazione ed implementazione

Processi (di sviluppo del) software. Fase di Analisi dei Requisiti. Esempi di Feature e Requisiti. Progettazione ed implementazione Processi (di sviluppo del) software Fase di Analisi dei Requisiti Un processo software descrive le attività (o task) necessarie allo sviluppo di un prodotto software e come queste attività sono collegate

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

Servlet. Possibili usi di una Servlet. Servlet e Servlet Container. Introduzione alle Servlet

Servlet. Possibili usi di una Servlet. Servlet e Servlet Container. Introduzione alle Servlet Servlet Introduzione alle Servlet Programma applicativo (in java) che viene eseguito dal server web Accoglie ed elabora richieste (codificate secondo il protocollo in uso, es: http o ftp. Solo http nel

Dettagli

Business Process Management

Business Process Management Corso di Certificazione in Business Process Management Progetto Didattico 2015 con la supervisione scientifica del Dipartimento di Informatica Università degli Studi di Torino Responsabile scientifico

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

Web Conferencing Open Source

Web Conferencing Open Source Web Conferencing Open Source A cura di Giuseppe Maugeri g.maugeri@bembughi.org 1 Cos è BigBlueButton? Sistema di Web Conferencing Open Source Basato su più di quattordici componenti Open-Source. Fornisce

Dettagli

Dalla Mappatura dei Processi al Business Process Management

Dalla Mappatura dei Processi al Business Process Management Dalla Mappatura dei Processi al Business Process Management Romano Stasi Responsabile Segreteria Tecnica ABI Lab Roma, 4 dicembre 2007 Agenda Il percorso metodologico Analizzare per conoscere: la mappatura

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

Il Concetto di Processo

Il Concetto di Processo Processi e Thread Il Concetto di Processo Il processo è un programma in esecuzione. È l unità di esecuzione all interno del S.O. Solitamente, l esecuzione di un processo è sequenziale (le istruzioni vengono

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

È nata una nuova specie di avvocati. Liberi.

È nata una nuova specie di avvocati. Liberi. È nata una nuova specie di avvocati. Liberi. LIBERI DI NON PENSARCI Basta preoccupazioni per il back-up e la sicurezza dei tuoi dati. Con la tecnologia Cloud Computing l archiviazione e la protezione dei

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

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

MyMedia Portal LMS un servizio SaaS di e-learning basato sul Video Streaming per la vendita on line di Lezioni Multimediali interattive

MyMedia Portal LMS un servizio SaaS di e-learning basato sul Video Streaming per la vendita on line di Lezioni Multimediali interattive 1 MyMedia Portal LMS un servizio SaaS di e-learning basato sul Video Streaming per la vendita on line di Lezioni Multimediali interattive Cos è un servizio di e-learning SaaS, multimediale, interattivo

Dettagli

Studio di retribuzione 2014

Studio di retribuzione 2014 Studio di retribuzione 2014 TECHNOLOGY Temporary & permanent recruitment www.pagepersonnel.it EDITORIALE Grazie ad una struttura costituita da 100 consulenti e 4 uffici in Italia, Page Personnel offre

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

InitZero s.r.l. Via P. Calamandrei, 24-52100 Arezzo email: info@initzero.it

InitZero s.r.l. Via P. Calamandrei, 24-52100 Arezzo email: info@initzero.it izticket Il programma izticket permette la gestione delle chiamate di intervento tecnico. E un applicazione web, basata su un potente application server java, testata con i più diffusi browser (quali Firefox,

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

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 d uso Apache OpenMeetings (Manuale Utente + Manuale Amministratore)

Manuale d uso Apache OpenMeetings (Manuale Utente + Manuale Amministratore) Manuale d uso Apache OpenMeetings (Manuale Utente + Manuale Amministratore) Autore: Matteo Veroni Email: matver87@gmail.com Sito web: matteoveroni@altervista.org Fonti consultate: http://openmeetings.apache.org/

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

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

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

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

Interfaccia Web per customizzare l interfaccia dei terminali e

Interfaccia Web per customizzare l interfaccia dei terminali e SIP - Session Initiation Protocol Il protocollo SIP (RFC 2543) è un protocollo di segnalazione e controllo in architettura peer-to-peer che opera al livello delle applicazioni e quindi sviluppato per stabilire

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

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

RUP (Rational Unified Process)

RUP (Rational Unified Process) RUP (Rational Unified Process) Caratteristiche, Punti di forza, Limiti versione del tutorial: 3.3 (febbraio 2007) Pag. 1 Unified Process Booch, Rumbaugh, Jacobson UML (Unified Modeling Language) notazione

Dettagli

BRM. Tutte le soluzioni. per la gestione delle informazioni aziendali. BusinessRelationshipManagement

BRM. Tutte le soluzioni. per la gestione delle informazioni aziendali. BusinessRelationshipManagement BRM BusinessRelationshipManagement Tutte le soluzioni per la gestione delle informazioni aziendali - Business Intelligence - Office Automation - Sistemi C.R.M. I benefici di BRM Garantisce la sicurezza

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

UNIVERSITÀ DEGLI STUDI DI BERGAMO. PROPOSTE di TIROCINI/TESI di LAUREA - Prof. Patrizia Scandurra

UNIVERSITÀ DEGLI STUDI DI BERGAMO. PROPOSTE di TIROCINI/TESI di LAUREA - Prof. Patrizia Scandurra PROPOSTE di TIROCINI/TESI di LAUREA - Prof. Patrizia Scandurra A seguire alcune proposte di tirocini/tesi in tre ambiti dell ingegneria del software (non del tutto scorrelati): (1) Model-driven driven

Dettagli

Plesk Automation. Parallels. Domande tecniche più frequenti

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

Dettagli

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

Attiva la APP di GoToMeeting. Clicca su ATTIVA APP

Attiva la APP di GoToMeeting. Clicca su ATTIVA APP Questo breve manuale ha lo scopo di mostrare la procedura con la quale interfacciare la piattaforma di web conferencing GoToMeeting e la tua piattaforma E-Learning Docebo. Questo interfacciamento consente

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

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

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

Enterprise Services Infrastructure ESI 2.0

Enterprise Services Infrastructure ESI 2.0 Enterprise Services Infrastructure ESI 2.0 Caratteristiche e Posizionamento ver. 2.1 del 21/01/2013 Cos è ESI - Enterprise Service Infrastructure? Cos è ESI? ESI (Enteprise Service Infrastructure) è una

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

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

Firewall. Generalità. Un firewall può essere sia un apparato hardware sia un programma software.

Firewall. Generalità. Un firewall può essere sia un apparato hardware sia un programma software. Generalità Definizione Un firewall è un sistema che protegge i computer connessi in rete da attacchi intenzionali mirati a compromettere il funzionamento del sistema, alterare i dati ivi memorizzati, accedere

Dettagli

VIRTUALIZE IT. www.digibyte.it - digibyte@digibyte.it

VIRTUALIZE IT. www.digibyte.it - digibyte@digibyte.it il server? virtualizzalo!! Se ti stai domandando: ma cosa stanno dicendo? ancora non sai che la virtualizzazione è una tecnologia software, oggi ormai consolidata, che sta progressivamente modificando

Dettagli

GESTIONE ATTREZZATURE

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

Dettagli

Metadati e Modellazione. standard P_META

Metadati e Modellazione. standard P_META Metadati e Modellazione Lo standard Parte I ing. Laurent Boch, ing. Roberto Del Pero Rai Centro Ricerche e Innovazione Tecnologica Torino 1. Introduzione 1.1 Scopo dell articolo Questo articolo prosegue

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

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

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

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

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

Dettagli

MANUALE DI UTILIZZO WEB SMS

MANUALE DI UTILIZZO WEB SMS MANUALE DI UTILIZZO WEB SMS (Ultimo aggiornamento 24/08/2011) 2011 Skebby. Tutti i diritti riservati. INDICE INTRODUZIONE... 8 1.1. Cos è un SMS?... 8 1.2. Qual è la lunghezza di un SMS?... 8 1.3. Chi

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

INFORMATIVA SUI COOKIE

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

Dettagli

Il Business Process Management: nuova via verso la competitività aziendale

Il Business Process Management: nuova via verso la competitività aziendale Il Business Process Management: nuova via verso la competitività Renata Bortolin Che cosa significa Business Process Management? In che cosa si distingue dal Business Process Reingeneering? Cosa ha a che

Dettagli