Università degli Studi di Parma Dipartimento di Matematica e Informatica Corso di Laurea in Informatica

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Università degli Studi di Parma Dipartimento di Matematica e Informatica Corso di Laurea in Informatica"

Transcript

1 Università degli Studi di Parma Dipartimento di Matematica e Informatica Corso di Laurea in Informatica Tesi di Laurea Progettazione e Realizzazione di un Editor di Workflow per la Piattaforma WADE Candidato: Federico Bacchi Relatore: Chiar.mo Prof. Federico Bergenti Anno Accademico 2013/2014

2 i

3 Indice 1 JADE, WADE e WOLF Introduzione a JADE Il modello peer-to-peer Il paradigma degli agenti I middleware JADE Il modello architetturale Il modello funzionale WADE e WOLF I workflow Scope di utilizzo Approccio Gestire la complessità della distribuzione ZK e WAM Introduzione a ZK I vantaggi di ZK L architettura ZK Model-View-Conroller e Model-View-ViewModel WAM Struttura e tipologia dei WAM WOLFWeb Panoramica del progetto Il lato client Diagramo Light modificato La pagina wolfweb.zul Il lato server Il composer WorkflowCommunicator Il metodo doaftercompose I metodi onsendfigures e onsendconnectors ii

4 Ringraziamenti Innanzitutto vorrei ringraziare il prof. Federico Bergenti per avermi proposto questo progetto che si è rivelato molto interessante e soprattutto per avermi supportato/sopportato in questo lavoro di tirocinio, aiutandomi sempre quando incontravo delle difficoltà. Ringrazio anche Enrico Scagliotti e Giovanni Caire di Telecom Italia per avermi fornito il materiale necessario per lo svolgimento del mio lavoro e ringrazio anche il mio compagno di studi Simone Tocci Bertocchi per avermi introdotto nel mondo dei workflow. Un grazie naturalmente a tutta la mia famiglia, in particolare alla mamma Clara e al Leo che si sono goduti momenti di mio estremo nervosismo, specialmente negli ultimi mesi. Un ringraziamento speciale va anche alla Lauretta che mi ha dato un grande sostegno in questo ultimo periodo universitario. Inoltre ha contribuito in maniera fondamentale alla correzione di questa tesi di laurea rileggendola più volte, obbligata dal sottoscritto, nonostante la sua allergia all informatica e a qualsiasi tipo di tecnologia. Ringrazio il Max, Sergio, Sammy, Abie, il Tiz e Bazooka perchè amici così (fuori di testa) è difficile trovarli. Grazie al gruppo C.A.C. per farmi ridere come un matto anche quando non ci si vede e alla Lega del Buon Riposo che mi fa attendere il primo giorno di ogni mese come se fossi un bambino che aspetta il Natale. 1

5 RINGRAZIAMENTI 2 Grazie a tutti i miei compagni di università, in particolare al gruppo dell Aula Studio: Tocci, Matte, Ponz, Fonta, Fedderè, Gando, Disa, Ila, Marti e Jessica (ma in quell aula si studiava davvero?). Grazie anche ai miei amici chimici per avermi adottato, in particolare ringrazio la cerchia del G.R.A.R. Bomber, Luca, Loc, Kevin, Angelone, Tanso, Ceci, Ranca, Elias e lo Zano, e gli Amici del Backgammon Ali, Giulia, Ale, Giamma e Andre. Tutti gli altri chimici non si sentano esclusi: siete troppi e la mia voglia di ringraziarvi uno ad uno è troppo poca. Un grazie a tutta la squadra degli Amatori Vigolzone, un gruppo di amici prima ancora che calciatori veramente stupefacente. Grazie ancora al Max, ad Abie e al Gardel che ogni settimana mi aiutano a staccare la spina dandomi l opportunità di attaccare il jack all amplificatore. Grazie a tutto il Gruppo Escursionisti Vigolzonesi, soprattutto ai giovani Cala, Je, Giammo, Simo, Ste, Michi, Silvia, Iso, Cami e Fabio che condividono con me l amore per la montagna (oltre a quello per le grigliate). Mi sto sicuramente dimenticando di ringraziare qualcuno, essendo fortunato ad avere tante persone importanti nella mia vita ma al tempo stesso sfortunato ad avere una memoria molto difettosa. Quindi mi salvo così: grazie a tutti.

6 RINGRAZIAMENTI 3 A papà Pinuccio.

7 Prefazione La grande rivoluzione nel campo dello sviluppo software negli anni 90 è stato l avvento della programmzione ad oggetti che portava con sè la possibilità di definire classi che implementavano una certa funzionalità all interno dell applicazione. Il programmatore che utilizzava una certa classe, doveva semplicemente invocare i suoi metodi senza preoccuparsi di come essi venissero realizzati. Nascevano dunque concetti come riusabilità delle classi e programmazione per componenti. Oggi sta emergendo una nuova filosofia di programmazione, grazie anche alla crescente diffusione di macchine sempre più potenti e soprattutto di ambienti distribuiti quali Internet e reti locali, ovvero la programmazione ad agenti. Essa si pone l obiettivo di superare sia il modello di programmazione tradizionale, in cui il programma gira su una sola macchina, sia il modello client-server, in cui l applicazione è suddivisa in due o più moduli che possono risiedere in macchine diverse e dialogare tra loro, mantenendo però una gerarchia marcata e ben definita. Infatti, avendo a disposizione un ambiente di rete, sia esso locale o globale, si possono concepire applicazioni distribuite formate da un insieme di componenti, chiamati appunto agenti, che oltre alla capacità di dialogare tra loro e di prendere decisioni, possono spostarsi da una macchina all altra portando con sè i propri dati. La programmazione ad agenti, dunque, può essere considerata come la realizzazione pratica dei 4

8 PREFAZIONE 5 concetti di programmazione concorrente e distribuita, rimasti troppo tempo solo una nozione meramenta teorica: essa infatti è concorrente, in quanto un agente può essere composto da più processi, ma anche distribuita, in quanto gli agenti concorrono a risolvere un problema generale. Come risultato del lavoro di molti ricercatori, nell ambito delle università e di grandi aziende, sono già apparse diverse librerie utilizzabili per creare applicazioni multiagente. JADE (Java Agent DEvelopment Framework) [1] sviluppato da Telecom Italia e dall Università degli Studi di Parma, è un middleware per lo sviluppo di applicazioni peer-to-peer ad agenti già molto diffuso in ambito aziendale ed universitario. Osservando bene le azioni compiute dagli agenti, si nota che queste seguono schemi prefissati ben definiti, rappresentabili come diagrammi di flusso. Per sfruttare questa similitudine, Telecom Italia ha realizzato WADE (Workflows and Agents Development Environment) [2] che aggiunge a JADE il supporto per l esecuzione di processi definiti con la metafora dei workflow, oltre a diverse meccaniche per lo sviluppo di aplicazioni basate sul modello peer-topeer, sfruttando i diagrammi di flusso per definire il comportamento degli agenti. In aggiunta a WADE è presente anche WOLF [2], un plugin Eclipse [3] che permette ai programmatori di applicazioni WADE-based di lavorare con una view grafica per definire il flusso di esecuzioni affiancata alla classica view codice Java, mantenendo la sincronizzazione tra le due. Grazie alla potenza dell IDE Eclipse, WOLF rende l implementazione di applicazioni native WADE più intuitiva, semplice e veloce.

9 PREFAZIONE 6 Lo scopo di questa tesi è progettare e realizzare un editor web di workflow, chiamato WOLFWeb, che permetta, similmente a WOLF, di creare diagrammi di flusso rappresentanti le azioni compiute da un agente. Per la creazione di WOLFWeb è stato usato Diagramo [4], un editor di workflow HTML5, e ZK [6], un framework Java per la costruzione di applicazioni Web, il quale ci ha permesso di sfruttare appieno gli strumenti per far sì che la nostra applicazione web potesse dialogare con una piattaforma WADE già esistente. Le appplicazioni Web, come è noto, offrono diversi vantaggi rispetto a quelle tradizionali: immediatezza di utilizzo senza necessità di installazione supporto all accesso multiutenza possibilità di utilizzo da qualsiasi postazione di lavoro facilità di distribuzione ed aggiornamento compatibilità cross-platform richiesta minore di memoria L applicazione WOLFWeb, dunque, avrà il compito di offrire una valida alternativa a WOLF per supportare gli sviluppatori di applicazioni WADEbased nela creazione dei workflow.

10 Capitolo 1 JADE, WADE e WOLF 1.1 Introduzione a JADE JADE (Java Agent DEvelopment Framework) [1] è un software open source sviluppato da Telecom Italia e dall Università degli Studi di Parma e distribuito con licenza GNU LGPL, totalmente implementato in Java, che può essere considerato un middleware conforme alle specifiche FIPA (Foundation for Intelligent Physical Agents) [5] per la realizzazione e l esecuzione di applicazioni peer-to-peer (P2P) ad agenti, tramite strumenti appositi utilizzati nella fase di sviluppo e debugging. JADE si occupa di tutti quegli aspetti indipendenti dall applicazione, quali il trasporto e la codifica dei messaggi o il ciclo di vita degli agenti. Per meglio capire il significato della definizione di JADE è bene sottolineare gli aspetti principali delle tecnologie utilizzate, ossia: 1. il modello di comunicazione peer-to-peer, 2. il paradigma degli agenti, 3. il concetto di middleware. 7

11 CAPITOLO 1. JADE, WADE E WOLF Il modello peer-to-peer L architettura più utilizzata oggigiorno per le applicazioni distribuite è sicuramente quello client-server, dove esiste una netta distinzione dei ruoli tra i nodi server (forniscono risorse e servizi) e i nodi client (richiedono risorse e servizi). I nodi server non possiedono capacità di iniziativa e attendono di essere chiamati dai nodi client, i quali, di contro, possono richiedere servizi (solitamente dopo una determinata azione dell utente) ma non forniscono alcuna capability. I client, inoltre, possono comparire e scomparire continuamente e hanno indirizzi dinamici, a differenza dei server che devono fornire garanzie di stabilità e possiedono solitamente un indirizzo fisso. Altro punto fondamentale di quest architettura riguarda la comunicazione: i nodi client comunicano solo con i nodi server ma non possono comunicare tra loro. L esempio più lampante di applicazioni basate sul modello client-server sono le applicazioni web: i client sono i browser, il cui compito è di ottenere informazioni sui siti internet sotto specifica richiesta di un utente e di presentarle graficamente in modo opportuno, mentre i nodi server sono i siti che contengono tutte le informazioni. Figura 1.1: Modelli di rete client-server e peer-to-peer

12 CAPITOLO 1. JADE, WADE E WOLF 9 Esistono però applicazioni distrubite che non si adattano bene a questo modello: si consideri, ad esempio, una chat dove gli utenti (i client) necessitano di comunicare tra loro. È possibile implementare tale applicazione con l architettura client-server, ma questo rappresenterebbe una forzatura: si pensi al singolo messaggio che dovrebbe essere spedito al server dal client X, per poi essere recuperato successivamente dal client Y. Il modello peer-to-peer sarebbe molto più adatto. Infatti, nel modello peer-to-peer non vi è una distinzione tra i ruoli, ciascun nodo può sia fornire che richiedere informazioni e servizi e tutti i nodi possono comunicare tra loro. La logica dell applicazione, dunque, non è più concentrata nel singolo server ma viene distribuita tra i peer. Un altra differenza sostanziale è rappresentata dalle modalità di discovery dei nodi con cui interagire: nel modello client-server, i client devono necessariamente conoscere l indirizzo del server e, di contro, non conoscono l indirizzo degli altri nodi client. Viceversa, nel sistema peer-to-peer chi conosce l indirizzo di chi è del tutto arbitrario, quindi vi è la necessità di scoprire quali sono gli altri nodi con cui comunicare: generalmente vi sono dei meccanismi di discovery appositi (pagine bianche o pagine gialle) che permettono ad ogni nodo di pubblicare le proprie informazioni e i propri servizi offerti in modo da renderli pubblici agli altri peer, i quali possono cercare nodi con le caratteristiche desiderate.

13 CAPITOLO 1. JADE, WADE E WOLF 10 Figura 1.2: Modelli di rete peer-to-peer Come mostrato in Figura 1.2, ci sono due modelli di P2P: quello puro e quello ibrido. Una rete peer-to-peer pura è completamente decentralizzata e i nodi sono del tutto autonomi. I peer devono utilizzare i protocolli specifici che la rete offre loro per cercare altri partner e comunicare successivamente con essi. La ricerca avviene tramite scambio di messaggi, dove non è presente nesssun elemento di coordinazione: si tratta, dunque, di reti difficili da gestire, sia per quanto riguarda la consistenza della rete, sia per quanto concerne il traffico (il quale aumenta in maniera esponenziale al crescere del numero dei peer) e la sicurezza (chiunque può entrare nella rete). È preferibile quindi usare un sistema peer-to-peer ibrido, dove sono presenti nodi speciali (detti nodi indice) che hanno il compito di semplificare la ricerca dei peer attivi e quella di determinati servizi. Questo tipo di rete peer-to-peer è più sicuro e genera solitamente meno traffico, però presenta il difetto di dipendere dai nodi indice: se essi non sono disponibili viene meno il sistema di discovery dei peer.

14 CAPITOLO 1. JADE, WADE E WOLF Il paradigma degli agenti Questo paradigma nasce dall unione di concetti provenienti dall intelligenza artificiale con altri riguardanti la tecnologia degli oggetti distribuiti. Il paradigma ad agenti prevede la realizzazione di un software che viene considerato come collezione di componenti, detti appunto agenti, i quali devono risultare: autonomi, in grado di svolgere lunghe operazioni senza ricevere input dall utente ad ogni passo della computazione, proattivi, in grado di prendere iniziativa anche senza stimoli da parte dell utente, comunicativi, in grado cioè di interagire tra loro per raggiungere lo scopo globale dell intero sistema. La caratteristica di comunicatività ci suggerisce che ogni applicazione che utilizza una tecnologia ad agenti sia intrinsecamente peer-to-peer, perché ogni agente è effettivamente in grado di iniziare una comunicazione con qualsiasi altro agente presente nel sistema, ogni agente ha la propria logica e può sia offrire che utilizzare servizi e risorse ed infine, gli agenti hanno bisogno di meccanismi di discovery per identificare con quali altri agenti possono comunicare. Si può quindi dire che, in ottica P2P, ogni agente rappresenti un peer.

15 CAPITOLO 1. JADE, WADE E WOLF 12 È evidente come la comunicazione rivesta un ruolo fondamentale ed è bene sottolineare tre aspetti: asincronia - ogni agente ha una sua logica interna che stabilisce come e quando gestire i messaggi ricevuti elvato grado di disaccoppiamento - gli agenti sono autonomi e sono legati debolmente tra loro interoperabilità - un agente, una volta ricevuto un messaggio, è in grado di attribuirgli il significato corretto e intuire l intenzione del mittente I middleware Con il termine middleware si identifica un insieme di software che semplifica lo sviluppo e la realizzazione di applicazioni. Si parla dunque di librerie, framework o toolkit che offrono servizi non tanto ad una singola applicazione, bensì ad un insieme di applicazioni che condividono determinate caratteristiche. Riprendendo il concetto di applicazione distribuita trattato in precedenza, a titolo esemplificativo, quando due nodi devono comunicare dovranno aprire una connessione di rete, trasferire i dati formattati opportunamente ed infine chiudere la connessione. Queste operazioni sono solitamente complesse e la realizzazione di esse può richiedere più tempo di quanto non necessiti la logica applicativa stessa. Si noti come tali operazioni sono indipendenti dall applicazione, da cui l importanza del middleware che si occupa di questi compiti e può essere riutilizzato da tutte le applicazioni che necessitano di scambio di dati. Non sarà quindi l applicazione a doversi occupare della soluzione di comunicazione ma sarà possibile utilizzare il middleware, il quale si interpone (sta appunto nel middle) tra applicazioni e strati di basso livello.

16 CAPITOLO 1. JADE, WADE E WOLF 13 Figura 1.3: Approccio verticale ed orizzontale La genericità e la trasversatilità del middleware suggeriscono il nome di approccio orizzontale, in contrasto con lo sviluppo verticale, in cui viene creata una soluzione ad hoc per ogni applicazione e quindi non riutilizzabile. 1.2 JADE JADE [1] è un middleware sviluppato da Telecom Italia e dall Università degli Studi di Parma per lo sviluppo di applicazioni distribuite ad agenti basate sull architettura di comunicazione P2P. L ambiente può evolvere dinamicamente nel tempo con i peer (chiamati appunto agenti in JADE) che possono apparire e scomparire nel sistema in qualsiasi momento, secondo le necessità dell applicazione. La comunicazione tra agenti è del tutto simmetrica, siano essi su una rete mobile o su di una fissa, ed è attivabile dall iniziativa di qualsiasi peer. JADE è completamente sviluppato in Java e poggia sui seguenti principi fondamentali: interoperabilità - JADE rispetta le specifiche dello standart FIPA, pertanto un agente JADE può comunicare ed operare anche con peer che non utilizzano il run-time di JADE.

17 CAPITOLO 1. JADE, WADE E WOLF 14 uniformità e portabilità - JADE fornisce un insieme di API che non dipende nè dalla rete nè dalla versione di Java, rendendo dunque le appplicazioni utilizzabili su qualsiasi tipo di dispositivo. semplicità - JADE nasconde la complessità del middleware, fornendo al programmatore API molto semplici da usare. filosofia pay-as-you-go - il programmatore non è obbligato ad utilizzare tutte le funzionalità che JADE offre e queste, se non usate, non aggiungono complessità, ne overhead computazionale Il modello architetturale JADE include sia le librerie di classi Java necessarie per la creazione degli agenti, sia l ambiente run-time che fornisce i servizi base i quali devono essere attivi per far si che un agente possa essere eseguito. Ogni istanza del run-time in JADE viene denominata container (contenitore di agenti) e un insieme di container è detto piattaforma, la quale nasconde agli agenti la complessità degli strati più bassi (hardware, sistemi operativi, tipologie di rete). Come evidenziato in Figura 1.4, JADE è compatibile con l ambiente J2ME CLDC/MIDP1.0, ed è già stato testato su diversi dispositivi, tra cui: Nokia 3650, Motorola Accompli008, Siemens SX45, PalmVx, Compaq ipaq, Psion5MX, HP Jornada 560. La libreria JADE in ambiente MIDP pesa circa 100 KB, ma può essere ridotto fino a 50 KB utilizzando la tecnica del ROMizing, di conseguenza può essere installato su qualsiasi dispositivo mobile, purchè Java-enabled. Oltre all integrazione con terminali mobile, o più in generale in ambienti con risorse assai limitate, JADE è stato utilizzato anche in architetture complesse come.net o J2EE, in cui JADE diventa un servizio per eseguire applicazioni multiparty e pro-attive.

18 CAPITOLO 1. JADE, WADE E WOLF 15 Figura 1.4: Architettura JADE Il modello funzionale Dal punto di vista funzionale, JADE fornisce i servizi base necessari ai software distribuiti P2P in ambiente fisso e mobile. Esso permette ad ogni agente di scoprire dinamicamente altri agenti e di scambiare dati tra loro secondo il paradigma peer-to-peer. Una piattaforma JADE include un servizio di nomenclatura univoca degli agenti ed un servizio di pagine gialle dove ogni agente può pubblicare e modificare i propri servizi e allo stesso tempo, cercare risorse offerte da altri agenti. La comunicazione tra gli agenti si basa sullo scambio asincrono di messaggi, un modello di comunicazione largamente utilizzato per le applicazioni distribuite, dove le entità sono eterogenee e non accoppiate. Il vantaggio maggiore è che quando un agente invia un messaggio ad una destinazione, il destinatario non deve essere per forza disponibile (adirittura potrebbe non

19 CAPITOLO 1. JADE, WADE E WOLF 16 esistere). Quindi il mittente non deve per forza conoscere il destinatario e viceversa. Tutto questo non intacca la sicurezza, perché JADE offre anche servizi di autenticazione degli agenti alle applicazioni che lo richiedono. Vi è dunque la possibilità di un agente di autorizzare la ricezione di messaggi inviati da una lista prestabilita di peer o di specificare le azioni che un agente può compiere, ad esempio potrebbe essere abilitato a ricevere ma non a trasmettere messaggi. La struttura dati del messaggio è conforme al linguaggio ACL definito da FIPA [5] e permette di rappresentare informazioni di supporto all interazione, quali contenuto del messaggio, timeout per le risposte, variabili e, soprattutto, permette di riferire a conversazioni multiple parallele. Il supporto alla conversazione è una funzionalità molto importante di JADE, il quale fornisce alle applicazioni pattern tipici di interazione associati a task specifici, tra cui la negoziazione, le aste e la delega di task. Usando questi pattern, il compito di gestire sincronizzazioni, timeout, condizioni di eccezione e, in generale, tutti gli aspetti che non riguardano direttamente la logica applicativa, non riguarda più il programmatore. Per incrementare la scalabilità e soddisfare i vincoli che ambienti con risorse limitate presentano, JADE offre la possibilità di eseguire task in parallelo eseguendoli all interno di uno stesso thread. Si pensi ad esempio a task elementari, come la comunicazione tra agenti e l opportunità di combinarli tra loro per realizzare task più complessi, che vengono così strutturati come macchine a stati finiti simultanei. In ambiente J2SE e PersonalJava JADE fornisce inoltre la portabilità del codice e dello stato di esecuzione.vi è dunque la possibilità da parte di un agente di fermare la propria esecuzione su un host, migrare su un host remoto e riprendere l esecuzione dallo stesso punto nel quale era stata

20 CAPITOLO 1. JADE, WADE E WOLF 17 interrotta. Questa importante caratteristica permette di distribuire il peso computazionale a run-time, muovendo agenti verso macchine con meno carico lavorativo senza per questo intaccare la corretta esecuzione dell applicazione. Queste caratteristiche rendono JADE molto adatto per supportare lo sviluppo e l esecuzione di applicazioni distribuite, multi-party, macchina-amacchina, intelligenti e proattive. JADE è reso disponibile a tutti sotto la licenza GPL ed una comunità open source è stata creata intorno ad esso. Grazie al contributo significativo di questa comunità, il middleware ha raggiunto l attuale livello di eccellenza ed un numero rilevante di enti interessati al suo utilizzo e sviluppo, che vanno da gruppi accademici o di ricerca e sviluppo alle imprese e start-up che basano parte dei loro prodotti e servizi sul middleware JADE.

21 CAPITOLO 1. JADE, WADE E WOLF WADE e WOLF WADE (Workflows and Agents Development Environment) [2] è una piattaforma indipendente costruita su JADE. Come descritto in precedenza, JADE fornisce un ambiente distribuito a tempo d esecuzione, l astrazione degli agenti (i peer) e dei behaviour (i task), la comunicazione peer-to-peer tra gli agenti stessi, la gestione del ciclo di vita degli agenti e i meccanismi di discovery di quest ultimi. A tutto questo, WADE aggiunge la possibilità di eseguire task tramite la metafora dei workflow (diagramma di flusso) e un numero di componenti e di meccanismi che aiutano nella gestione della complessità della distribuzione. In generale, in WADE non vi è nulla che lo sviluppatore non possa controllare. Tuttavia, considerando che uno dei vantaggi principali dell approccio con i workflow è proprio quello di rappresentare i processi con una veste grafica user-friendly, WADE presenta un ambiente di sviluppo chiamato WOLF, il quale facilita la creazione di software basato su di esso. WOLF è un plug-in per Eclipse [3] e permette agli sviluppatori di utilizzare tutto il potenziale e i vantaggi dell IDE Eclipse in aggiunta alle caratteristiche specifiche di WADE I workflow Un workflow è la definizione formale di un processo in termini delle attività che devono essere eseguite, relazioni tra esse, i criteri di attivazione e di terminazione e informazioni aggiuntive, quali i partecipanti, i tools software che devono essere invocati, input richiesti, output attesi e le modifiche ai dati durante l esecuzione. L aspetto principale della metafora del workflow è che i passi dell esecuzione sono espliciti, così come la loro sequenza. Questo rende possibile una rappresentazione grafica di un processo definito come workflow.

22 CAPITOLO 1. JADE, WADE E WOLF 19 Figura 1.5: WADE È lampante che una rappresentazione simile sia molto più chiara e leggibile di quanto non possa essere un frammento di codice e può essere compresa non solo dai programmatori, favorendo dunque lo sviluppo dell intero sistema. Essendo i vari passi dell esecuzione identificatati esplicitamente, un altro aspetto fondamentale è che il sistema che esegue i processi in automatico, chiamato nello specifico workflow engine, può tracciarli senza problemi e questo rende possibile la creazione di meccanismi automatici per il monitoraggio del sistema, solitamente implementati con procedure di controllo delle varie attività e creazione di reports sui processi stessi. In aggiunta possono essere attivati dei meccanismi semi-automatici di rollback in caso di errore inaspettato. Un ultimo aspetto importante dei workflow è che essi sono auto documentati, di conseguenza non vi è la necessità da parte del gruppo di sviluppo di mantenere la documentazione aggiornata ogni volta che vengano apportate delle modifiche.

23 CAPITOLO 1. JADE, WADE E WOLF Scope di utilizzo Abbiamo visto in precedenza che i workflow portano con sè numerosi vantaggi, i quali però non si verificano se si applica questa metafora ad operazioni a basso livello, come ad esempio gestione e trasformazionne di dati o operazioni matematiche complesse: scrivere codice software per tali operazioni è molto più efficiente per implementarle. Di contro, ad oggi la metafora dei workflow è largamente utilizzata in ambienti BPM (Business Process Management), dove un workflow rappresenta un processo business e dirige un numero di sistemi esistenti tipicamente accessibili tramite interfacce basate sui servizi web. L obiettivo di WADE è quello di portare l approccio a workflow anche ai livelli di logica interna del sistema. In definitiva, come descritto in Figura 1.6, WADE può essere utilizzato sia come orchestratore per coordinare sistemi esistenti, sia come framework di sviluppo software per creare nuove applicazioni che implicano l esecuzione di task lunghi e complessi Approccio WADE non contiene un singolo e potente workflow engine, al contrario fornisce un tipo di agente ad hoc (WorkflowEngineAgent) che ne include uno molto leggero. Di conseguenza, oltre ai normali task (JADE behaviour), ogni WorkflowEngineAgent attivo in un applicazione WADE-based è in grado di eseguire workflow rappresentati seguendo il formalismo di WADE. Per permettere ai programmatori di definire le logiche interne del sistema con la semplicità dei workflow e al tempo stesso di dare ad essa la stessa potenza espressiva di un linguaggio di programmazione con una efficienza di esecuzione comparabile, il formalismo di rappresentazione dei workflow

24 CAPITOLO 1. JADE, WADE E WOLF 21 Figura 1.6: Contesti di utilizzo di WADE WADE è basato interamente sul linguaggio Java. Un workflow che può essere eseguito dai WorkflowEngineAgent di WADE è espresso come una classe Java con una struttura ben definita (i dettagli si possono trovare sulla guida per utenti di WADE). Esso può essere dunque gestito come una qualsiasi classe Java: vi è la possibilità di inserirlo in qualsiasi frammento di codice, sia esso un metodo, un campo di qualsiasi tipo, una classe interna, un riferimento ad una classe esterna e così via, al fine di implementare i dettagli voluti. Oltre a tutto ciò, come detto in precedenza, il flusso di esecuzione che i workflow rappresentano, può essere presentato e modificato in maniera grafica, molto più intuitiva. Più in dettaglio, WOLF (l ambiente di sviluppo per le applicazioni basate su WADE) è un plugin Eclipse che permette agli sviluppatori di lavorare con una view grafica (più adatta a gestire il flusso del processo) e con una view codice (l editor Java classico di Eclipse per definire i dettagli dell esecuzione), le quali sono mantenute in sincronia per offrire al

25 CAPITOLO 1. JADE, WADE E WOLF 22 programmatore la possibilità di operare sull una o sull altra in base alle sue esigenze. Figura 1.7: View grafica di un workflow con WOLF In Figura 1.7 è possibile visualizzare la view grafica di WOLF, all interno di Eclipse, che permette tramite una palette di comporre i workflow per applicazioni WADE. Gli elementi si inseriscono selezionando dalla palette di destra il componente e cliccando poi all interno dello spazio di lavoro nella posizione desiderata; una finestra nello stile Eclipse comparirà per permettere di definire le caratteristiche dell elemento che si sta creando.

26 CAPITOLO 1. JADE, WADE E WOLF 23 Figura 1.8: Creare Activity (tipo Code) in WOLF Sarà poi possibile spostare l elemento inserito, aggiungere le transition (connessioni) da un elemento ad un altro e modificare le caratteristiche di un elemento tramite un click con il tasto destro del mouse. Ad ogni workflow creato con la view grafica corrisponde una classe Java modificabile tramite il classico editor per codice di Eclipse, dove è possibile cambiare il sorgente associato al workflow creato. Ogni modifica apportata al workflow in una specifica view è immediatamente riflessa nell altra, garantendo la consistenza tra le due. Il workflow engine di WADE, incluso in ogni WorkflowEngineAgent non è un interprete di un linguaggio di descrizione di workflow, bensì è un esecutore codice Java compilato. Per questo motivo esso è estremamente efficiente, d altra parte occorrono però le classi workflow necessarie quando esso riceve una richiesta di esecuzione di un workflow da parte di un agente.

27 CAPITOLO 1. JADE, WADE E WOLF 24 Figura 1.9: Modificare Activity in WOLF Per questo motivo WADE utilizza class loaders Java ad hoc per permettere lo sviluppo di workflow nuovi o modificati che diventano immediatamente eseguibili senza bisogno di dover spegnere l intero sistema. In WADE è inoltre possibile creare un workflow estendendone uno di base e specificando le differenze che intercorrono tra essi. Infine è bene notare che WADE non impone che tutte le logiche di sistema siano definite come workflow, al contrario gli sviluppatori sono liberi di utilizzare normali JADE behaviours quando lo ritengono più opportuno.

28 CAPITOLO 1. JADE, WADE E WOLF 25 Figura 1.10: View codice associata al workflow creato Gestire la complessità della distribuzione WADE eredita da JADE il sistema distribuito a runtime composto da diversi container che possono essere eseguiti su host differenti e che possono contenere un certo numero di agenti. Solitamente un container corrisponde ad una specifica JVM, anche se ciò non deve avvenire per forza. Un insieme di containers attivi è chiamato plaform, nella quale esiste un container speciale chiamato Main Container. Il Main Container deve essere il primo a partire e tutti gli altri (chiamati solitamenti container periferici) si registrano ad esso al tempo di bootstrap. Inoltre il Main Container contiene due agenti speciali:

29 CAPITOLO 1. JADE, WADE E WOLF 26 l AMS (Agent Management System) che rappresenta l autorità nella piattaforma e può eseguire azioni particolari, ad esempio è l unico a poter creare o terminare altri agenti, terminare containers e spegnere l intera piattaforma. Gli agenti normali, per potere svolgere azioni di questo tipo, devono richiedere i permessi direttamente all AMS. il DF (Directory Facilitator) che implementa il servizio di pagine gialle, dove gli agenti possono pubblicare i loro servizi e trovare altri agenti, i quali a loro volta offrono altri servizi Figura 1.11: Architettura principale

30 CAPITOLO 1. JADE, WADE E WOLF 27 Le applicazioni distribuite sono particolarmente indicate quando si tratta di gestire grandi carichi di lavoro, in quanto possono essere ospitate su architetture hardware altamente scalabili come i server blade. È chiaro però che amministrare un applicazione distribuita è molto più complesso rispetto alla stessa operazione eseguita su un applicazione monolitica se non si hanno a disposizione strumenti appositi. Inoltre la probabilità che si verifichino crash degli host cresce proporzionalmente con l aumentare del numero dei nodi sui quali l applicazione è distribuita: sono dunque necessari appositi meccanismi di recovery per garantire la stabilità dell applicazione. Spesso vengono usati sistemi di clustering per questi scopi, ma sono tipicamente costosi e difficili da configurare. WADE affronta questi problemi fornendo alcuni meccanismi per aiutare l amministratore a: configurare l applicazione, attivare/disattivare la distribuzione di componenti dell applicazione (container e agenti) sugli hosts disponibili in base alle esigenze specifiche, monitorare gli eventi a runtime e situazioni critiche come il consumo di memoria, effettuare a runtime modifiche senza necessità di spegnere il sistema, recuperare automaticamente da guasti ad host, container o agenti.

31 Capitolo 2 ZK e WAM 2.1 Introduzione a ZK ZK Framework [6] è un framework AJAX open source per applicazioni Web, sviluppato da Potix interamente in Java, che permette di creare interfacce utente grafiche. Il cuore di ZK si basa sul paradigma della programmazione ad eventi, consta di oltre 100 componenti XUL e 83 XHTML e di un suo linguaggio mark-up per la creazione delle interfacce. I programmatori sviluppano le loro pagine contenenti le applicazioni grazie a componenti ZUL/XHTML feature-rich che vengono manipolati tramite eventi generati dall attività degli utenti I vantaggi di ZK Il vantaggio più grande che ZK offre è quello di permettere allo sviluppatore di creare applicazioni RIA (Rich Internet Application) senza che egli debba conoscere JavaScript o AJAX, in quanto tali applicazioni vengono implementate puramente in Java (per l appunto l approccio utilizzato è denominato AJAX without JavaScript). 28

32 CAPITOLO 2. ZK E WAM 29 Inoltre ZK offre oltre cento componenti pensati per qualsiasi necessità dello sviluppatore: window, bottoni, componenti per visualizzare dati numerosi, componenti per l input dell utente e così via. Questi componenti possono essere creati dallo sviluppatore tramite un linguaggio XML-formatted chiamato ZUL. Tutti gli elementi di una pagina formano una struttura ad albero, dove ogni componente possiede un genitore e può avere a sua volta più figli. È bene sottolineare la versatilità di ZK per quanto riguarda la dichiarazione dei componenti che vanno a comporre l interfaccia utente: lo sviluppatore può usare un approccio basato sul XML (tag ZUL) oppure utilizzare un approccio orientato totalmente a Java, come mostrato in Figura 2.1. Figura 2.1: I diversi approcci per la composizione dell UI in ZK

33 CAPITOLO 2. ZK E WAM L architettura ZK Un applicazione ZK viene eseguita sul server e può accedere a determinate risorse, assembla l interfaccia utente con i componenti e manipola questi ultimi per aggiornare l interfaccia stessa. La sincronizzazione degli stati dei componenti tra il lato client e il lato server è eseguita automaticamente da ZK in modo trasparente dall applicazione stessa. Le interfacce utente sono costruite con componenti che seguono il modello POJO (Plain Old Java Object), in quanto esso rappresenta un approccio molto produttivo per sviluppare un applicazione Web. Con l architettura di ZK denominata server+client fusion, l applicazione viene eseguita ininterrottamente sul server e può aumentare la propria interattibilità aggiungendo funzioni opzionali sul lato client, come ad esempio la gestione di eventi, di effetti di visualizzazione personalizzati o anche della composizione dell interefaccia utente senza la presenza di codice sul lato server. ZK, dunque, permette una versatilità estrema da una soluzione puramente incentrata sul server ad una basata totalmente sul lato client, potendo così raggiungere ottimi livelli di produttività e di flessibilità. Figura 2.2: Architettura ZK

34 CAPITOLO 2. ZK E WAM Model-View-Conroller e Model-View-ViewModel ZK prevede diverse soluzioni per la progettazione, lo sviluppo e il testing di un applicazione, in particolare per la creazione di un sistema è consigliabile usare un design pattern che isoli il dominio dei dati, il dominio logico e l interfaccia utente. I pattern architetturali che separano questi tre concetti, entrambi supportati da ZK, sono: il Model-View-Controller (MVC) che viene così strutturato: la View in ZK consiste, come già detto in precedenza, ad un insieme di componenti e può essere implementata da un documeno ZUML o da codice Java. Il Controller (composer nella terminologia ZK) invece corrisponde ad una classe Java che funge da collante tra l interfaccia (la View) e i dati (il Model), il quale estende la classe SelectorComposer o implementa la classe Composer. La classe che rappresenta il Controller andrà in seguito specificata nell elemento che lo sviluppatore vuole gestire, all interno del documento ZUML. Infine la parte Model viene rappresentata dai dati che l applicazione gestisce, quindi dipende dalle specifiche dell applicazione stessa. Figura 2.3: Pattern architetturale MVC in ZK

35 CAPITOLO 2. ZK E WAM 32 il Model-View-ViewModel (MVVM) è una variante del pattern MVC originariamente introdotta da Microsoft. La View e il Model hanno lo stesso ruolo che ricoprono nel modello MVC, mentre la parte ViewModel rappresenta un Controller speciale per la View, il quale è responsabile di esporre i dati presi dalla parte Model e di svolgere determinate azioni secondo le richieste dell utente ricevute dalla View. Il ViewModel è un tipo di astrazione della View il quale contiene il suo stato e i suoi comportamenti, ma che non contiene nessun riferimento alle componenti che formano l interfaccia e non conosce nulla riguardo agli elementi che la compongono, il che rende le due componenti perfettamente separate. Questo porta a diversi vantaggi, quali la totale di libertà di modifica della parte View senza intaccare l efficienza del ViewModel, l alta riusabilità del codice in quanto è possibile definire numerose interfacce differenti dato un ViewModel e, infine, un alta testabilità del codice. Figura 2.4: Pattern architetturale MVVM in ZK

36 CAPITOLO 2. ZK E WAM 33 ZK fornisce un supporto a questo pattern architetturale con il meccanismo ZK Bind, come mostrato in figura 2.4. È infatti necessario sincronizzare la View con il ViewModel e in ZK il binder gioca questo ruolo di orchestratore tra le due componenti ed è lo sviluppatore a decidere le relazioni di binding tra gli elementi dell interfaccia e la parte ViewModel grazie alle ZK bind annotation. La binding source è rappresentata da un attributo di un componente, mentre il binding target e una proprietà o un comando del ViewModel e le annotazioni possono avere la sintassi di espressioni Java o di espressioni EL (Expression Language). Figura 2.5: Esempio di utilizzo delle ZK bind annotation

37 CAPITOLO 2. ZK E WAM WAM I WAM sono componenti ZK sviluppati da Telecom Italia che possiedono la capacità di connettersi con una piattaforma JADE e/o WADE. Al momento esistono diversi WAM che svolgono vari compiti, dal monitoraggio dei workflow alla gestione amministrativa della piattaforma connessa. Grazie ai WAM, dunque, è possibile operare con una piattaforma JADE e/o WADE tramite un applicazione web. Figura 2.6: Schema di riferimento dell utilizzo dei WAM

JADE White Paper. Executive summary. Versione: 1.0 Data: 27.03.2003 Riservatezza: Pubblico Numero di pagine: 14

JADE White Paper. Executive summary. Versione: 1.0 Data: 27.03.2003 Riservatezza: Pubblico Numero di pagine: 14 B www.telecomitalialab.com [Tipo Documento] Cod. Doc. DPC 2002.XYZ Versione: 1.0 Data: 27.03.2003 Riservatezza: Pubblico Numero di pagine: 14 AUTORE: REVISIONE: APPROVAZIONE: Giovanni CAIRE (RO/SI/D) Laura

Dettagli

Architettura SW Definizione e Notazioni

Architettura SW Definizione e Notazioni Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Stili Architetturali E. TINELLI Architettura SW Definizione e Notazioni Definizione ANSI/IEEE Std Std1471-2000

Dettagli

Framework Rich Client Application

Framework Rich Client Application Framework Rich Client Application RELATORE: Paolo Giardiello Savona, 30 settembre 2010 Agenda La Sogei Le applicazioni client Sogei Le caratteristiche Le soluzioni possibili Java Web Start Eclipse La scelta:

Dettagli

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

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

Dettagli

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

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

Dettagli

PROGETTO DI UN MIDDLEWARE PER L ACCESSO REMOTO A UN REPOSITORY

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

Dettagli

aggiunge del testo nella parte finale del tag, in questo caso la stringa da controllare.

aggiunge del testo nella parte finale del tag, in questo caso la stringa da controllare. Capitolo 6 jquery Negli ultimi anni è stata rilasciata una mole incalcolabile di framework JavaScript, più o meno completi, realizzati per supportare nel miglior modo possibile lo sviluppatore web aiutandolo

Dettagli

Manuale di riferimento di HP Web Jetadmin Database Connector Plug-in

Manuale di riferimento di HP Web Jetadmin Database Connector Plug-in Manuale di riferimento di HP Web Jetadmin Database Connector Plug-in Informazioni sul copyright 2004 Copyright Hewlett-Packard Development Company, L.P. Sono vietati la riproduzione, l'adattamento e la

Dettagli

ALLEGATO C STANDARD TECNICI DELLA BORSA CONTINUA NAZIONALE DEL LAVORO

ALLEGATO C STANDARD TECNICI DELLA BORSA CONTINUA NAZIONALE DEL LAVORO ALLEGATO C STANDARD TECNICI DELLA BORSA CONTINUA NAZIONALE DEL LAVORO Standard tecnici Gli standard tecnici di riferimento adottati sono conformi alle specifiche e alle raccomandazioni emanate dai principali

Dettagli

L ambiente di sviluppo Android Studio

L ambiente di sviluppo Android Studio L ambiente di sviluppo Android Studio Android Studio è un ambiente di sviluppo integrato (IDE, Integrated Development Environment) per la programmazione di app con Android. È un alternativa all utilizzo

Dettagli

Applicazione: GAS - Gestione AcceSsi

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

Dettagli

Sviluppo e manutenzione di un applicazione CAD tramite le WPF e l MV-VM

Sviluppo e manutenzione di un applicazione CAD tramite le WPF e l MV-VM Metodologie e strumenti per il reengineering del workflow management Tesi di Laurea tramite le WPF e l MV-VM 2011/2012 Relatore Ch.mo prof. Porfirio Tramontana Correlatore Ch.mo ing. Davide Affaticati

Dettagli

Primi passi con Jamio Composer. Dall idea applicativa alla soluzione in pochi minuti

Primi passi con Jamio Composer. Dall idea applicativa alla soluzione in pochi minuti Primi passi con Jamio Composer Dall idea applicativa alla soluzione in pochi minuti Comporre una nuova soluzione applicativa Jamio Composer è l ambiente di modellazione della piattaforma Jamio. Le soluzioni

Dettagli

Progettazione: Tecnologie e ambienti di sviluppo

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

Dettagli

Esercitazioni di PROGETTAZIONE DEL SOFTWARE A.A. 2011-2012

Esercitazioni di PROGETTAZIONE DEL SOFTWARE A.A. 2011-2012 Sapienza Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica Corso di Laurea in Ingegneria Informatica ed Automatica Corso di Laurea in Ingegneria dei Sistemi Informatici

Dettagli

Introduzione al linguaggio Java: Servlet e JSP

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

Dettagli

Progetto di Applicazioni Software

Progetto di Applicazioni Software Progetto di Applicazioni Software Antonella Poggi Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma Anno Accademico 2008/2009 Questi lucidi sono stati prodotti sulla

Dettagli

Applicazione: SIPER Servizi In linea per il PERsonale

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

Dettagli

Sviluppo di un applicazione mobile per la gestione degli interventi tecnici tramite geolocalizzazione

Sviluppo di un applicazione mobile per la gestione degli interventi tecnici tramite geolocalizzazione UNIVERSITA DEGLI STUDI DI FERRARA Corso di Laurea in informatica Anno Accademico 2011-2012 Sviluppo di un applicazione mobile per la gestione degli interventi tecnici tramite geolocalizzazione Relatore:

Dettagli

Sistemi Operativi. Funzioni e strategie di progettazione: dai kernel monolitici alle macchine virtuali

Sistemi Operativi. Funzioni e strategie di progettazione: dai kernel monolitici alle macchine virtuali Modulo di Sistemi Operativi per il corso di Master RISS: Ricerca e Innovazione nelle Scienze della Salute Unisa, 17-26 Luglio 2012 Sistemi Operativi Funzioni e strategie di progettazione: dai kernel monolitici

Dettagli

Architetture a oggetti distribuiti

Architetture a oggetti distribuiti Luca Cabibbo Architetture Software Architetture a oggetti distribuiti Dispensa ASW 420 ottobre 2014 Tutti sanno che una certa cosa è impossibile da realizzare, finché arriva uno sprovveduto che non lo

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Elementi di Informatica e Programmazione Il Sistema Operativo Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Docente: Daniela Fogli Cos

Dettagli

Progetto di Applicazioni Software

Progetto di Applicazioni Software Progetto di Applicazioni Software Antonella Poggi Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma Anno Accademico 2010/2011 Questi lucidi sono stati prodotti sulla

Dettagli

Realizzazione di interazioni sincrone e asincrone tra applicazioni Web 2.0

Realizzazione di interazioni sincrone e asincrone tra applicazioni Web 2.0 tesi di laurea Realizzazione di interazioni sincrone e asincrone tra applicazioni Web 2.0 Anno Accademico 2008/2009 relatore Ch.mo prof. Porfirio Tramontana candidato Marco Coppola Matr. 534/002312 Obbiettivi

Dettagli

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

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

Dettagli

Sistemi operativi I: Windows. Lezione I

Sistemi operativi I: Windows. Lezione I Sistemi operativi I: Windows Lezione I Scopo della lezione Richiamare le principali funzionalità di un sistema operativo Esemplificarle descrivendo la loro implementazione in Windows Introdurre alcuni

Dettagli

27/03/2013. Contenuti

27/03/2013. Contenuti Corso Sistemi Distribuiti 6 cfu Docente: Prof. Marcello Castellano Contenuti Virtualizzazione - 3 Macchina virtuale - 4 Architetture delle macchine virtuali - 6 Tipi di virtualizzazione - 7 Monitor della

Dettagli

Sviluppare applicazioni per Windows Phone

Sviluppare applicazioni per Windows Phone Sviluppare applicazioni per Windows Phone Daniele Bochicchio - Cristian Civera - Marco De Sanctis - Alessio Leoncini - Marco Leoncini ISBN: 9788820347697 http://books.aspitalia.com/windows-phone/ Contenuti

Dettagli

FileMaker Pro 12. Guida di FileMaker Server

FileMaker Pro 12. Guida di FileMaker Server FileMaker Pro 12 Guida di FileMaker Server 2007 2012 FileMaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker è un marchio di FileMaker,

Dettagli

Ottimizzazione dello sviluppo software con Microsoft Visual Studio 2008

Ottimizzazione dello sviluppo software con Microsoft Visual Studio 2008 Ottimizzazione dello sviluppo software con Microsoft Visual Studio 2008 White paper Novembre 2007 Per informazioni aggiornate, visitare l indirizzo www.microsoft.com/italy/vstudio È possibile che a questo

Dettagli

Università di Firenze Gestione Presenze Interfaccia grafica

Università di Firenze Gestione Presenze Interfaccia grafica Università di Firenze Gestione Presenze Interfaccia grafica Pagina 1 di 29 Versione Emissione Approvazione Modifiche Apportate Autore Data Autore Data 1 Maggini 01/03/06 - - Prima emissione. Pagina 2 di

Dettagli

MagiCum S.r.l. Progetto Inno-School

MagiCum S.r.l. Progetto Inno-School MagiCum S.r.l. Progetto Inno-School Area Sviluppo Software Autore: Sergio Gandola Revisione: 2 Data: 07/06/13 Titolo: Documentazione Tecnica Diario File:Documentazione Tecnica.pdf Sito: http://inno-school.netsons.org/

Dettagli

Architetture Applicative

Architetture Applicative Alessandro Martinelli alessandro.martinelli@unipv.it 6 Marzo 2012 Architetture Architetture Applicative Introduzione Alcuni esempi di Architetture Applicative Architetture con più Applicazioni Architetture

Dettagli

Capitolo 1 Introduzione a Gambas

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

Dettagli

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

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

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

Dettagli

Novell ZENworks Configuration Management in ambiente Microsoft * Windows *

Novell ZENworks Configuration Management in ambiente Microsoft * Windows * Guida GESTIONE SISTEMI www.novell.com Novell ZENworks Configuration Management in ambiente Microsoft * Windows * Novell ZENworks Configuration Management in ambiente Microsoft Windows Indice: 2..... Benvenuti

Dettagli

Analisi e utilizzo di un framework per lo sviluppo di applicazioni web

Analisi e utilizzo di un framework per lo sviluppo di applicazioni web tesi di laurea Anno Accademico 2011/2012 relatore Ch.mo prof. Marcello Cinque correlatore Ing. Fabio De Paolis candidato Michele Basile Matr. 534/3239 Web Development Frameworks Nella realizzazione di

Dettagli

BrightSync: progetto di un middleware di sincronizzazione per ambienti eterogenei

BrightSync: progetto di un middleware di sincronizzazione per ambienti eterogenei Corso di Laurea Specialistica in Ingegneria Informatica Reti di Calcolatori LS prof. Antonio Corradi BrightSync: progetto di un middleware di sincronizzazione per ambienti eterogenei di Emanuele Crescentini

Dettagli

Descrizione generale. Architettura del sistema

Descrizione generale. Architettura del sistema Descrizione generale Sister.Net nasce dall esigenza di avere un sistema generale di Cooperazione Applicativa tra Enti nel settore dell Informazione Geografica che consenta la realizzazione progressiva

Dettagli

Applicazione: OIL Online Interactive helpdesk

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

Dettagli

Il DBMS Oracle. Express Edition. Donatella Gubiani e Angelo Montanari

Il DBMS Oracle. Express Edition. Donatella Gubiani e Angelo Montanari Gubiani & Montanari Il DBMS Oracle 1 Il DBMS Oracle Express Edition Donatella Gubiani e Angelo Montanari Il DBMS Oracle Il DBMS Oracle Oracle 10g Express Edition Il DBMS Oracle (nelle sue versioni più

Dettagli

Struttura di un sistema operativo. Struttura dei Sistemi Operativi. Servizi per l utente generico. Servizi per l utente generico

Struttura di un sistema operativo. Struttura dei Sistemi Operativi. Servizi per l utente generico. Servizi per l utente generico Impossibile visualizzare l'immagine. Struttura di un sistema operativo Struttura dei Sistemi Operativi Servizi di un sistema operativo Interfaccia Utente Capitolo 2 -- Silberschatz Chiamate di sistema

Dettagli

Realizzazione di un prototipo di un software web based per la gestione di un inventario comunale

Realizzazione di un prototipo di un software web based per la gestione di un inventario comunale tesi di laurea inventario comunale Anno Accademico 2009/2010 relatore Ch.mo prof. Porfirio Tramontana correlatore Ch.mo Ing. Luigi Pontillo candidato Michele Vitelli Matr. 534 2170 Redazione dell Inventario

Dettagli

Un architettura per lo streaming multimediale in ambiente distribuito

Un architettura per lo streaming multimediale in ambiente distribuito tesi di laurea Anno Accademico 2012/2013 relatore Ch.mo prof. Simon Pietro Romano correlatori Ing. Tobia Castaldi candidato Alessandro Arrichiello Matr. M63/43 Contesto: o Content Distribution Networks

Dettagli

SCP: SCHEDULER LAYER. a cura di. Alberto Boccato

SCP: SCHEDULER LAYER. a cura di. Alberto Boccato SCP: SCHEDULER LAYER a cura di Alberto Boccato PREMESSA: Negli ultimi tre anni la nostra scuola ha portato avanti un progetto al quale ho partecipato chiamato SCP (Scuola di Calcolo Parallelo). Di fatto

Dettagli

PROTOCOLLO ELETTRONICO GESTIONE ELETTRONICA DEI DOCUMENTI GESTIONE ELETTRONICA DELL ARCHIVIO PROTOCOLLO ELETTRONICO

PROTOCOLLO ELETTRONICO GESTIONE ELETTRONICA DEI DOCUMENTI GESTIONE ELETTRONICA DELL ARCHIVIO PROTOCOLLO ELETTRONICO PROTOCOLLO ELETTRONICO GESTIONE ELETTRONICA DEI DOCUMENTI GESTIONE ELETTRONICA DELL ARCHIVIO PROTOCOLLO ELETTRONICO Lettere, fax, messaggi di posta elettronica, documenti tecnici e fiscali, pile e pile

Dettagli

Sistemi Distribuiti. Informatica B. Informatica B

Sistemi Distribuiti. Informatica B. Informatica B Sistemi Distribuiti Introduzione Che cos è un sistema distribuito? Un sistema distribuito è una collezione di computer indipendenti che appare all utente come un solo sistema coerente Da notare: le macchine

Dettagli

Architetture Software

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

Dettagli

Esercitazione 8. Basi di dati e web

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

Dettagli

WebRatio. L altra strada per il BPM. Web Models s.r.l. www.webratio.com contact@webratio.com 1 / 8

WebRatio. L altra strada per il BPM. Web Models s.r.l. www.webratio.com contact@webratio.com 1 / 8 WebRatio L altra strada per il BPM Web Models s.r.l. www.webratio.com contact@webratio.com 1 / 8 Il BPM Il BPM (Business Process Management) non è solo una tecnologia, ma più a grandi linee una disciplina

Dettagli

Il software. Il Sistema Operativo

Il software. Il Sistema Operativo Il software Prof. Vincenzo Auletta 1 Il Sistema Operativo Software che gestisce e controlla automaticamente le risorse del computer permettendone il funzionamento. Gestisce il computer senza che l utente

Dettagli

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

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

Dettagli

Corso di Applicazioni Telematiche

Corso di Applicazioni Telematiche Asynchronous JavaScript Technology and XML: Ajax Corso di Applicazioni Telematiche A.A. 2010-11 Prof. Simon Pietro Romano Università degli Studi di Napoli Federico II Facoltà di Ingegneria Rich Internet

Dettagli

Manuale Utente CryptoClient

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

Dettagli

Note operative per Windows XP

Note operative per Windows XP Note operative per Windows XP AVVIO E ARRESTO DEL SISTEMA All avvio del computer, quando l utente preme l interruttore di accensione, vengono attivati i processi di inizializzazione con i quali si effettua

Dettagli

Corso Programmazione Java Android. Programma

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

Dettagli

Corso Android Corso Online Programmatore Android

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

Dettagli

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

Esercitazione 1 primi passi e uso dei file

Esercitazione 1 primi passi e uso dei file primi passi e uso dei file 1 Sistemi operativi per PC I sistemi operativi per personal computer più diffusi sono: Windows (Microsoft) Linux (freeware) MacOS (Apple) Il laboratorio verterà su Windows 2

Dettagli

Introduzione alla codifica XML per i testi umanistici

Introduzione alla codifica XML per i testi umanistici Introduzione alla codifica XML per i testi umanistici Daniele Silvi, Domenico Fiormonte, Fabio Ciotti fiormont@uniroma3.it - silvi@lettere.uniroma2.it - ciotti@lettere.uniroma2.it 1 La digitalizzazione

Dettagli

Corso analista programmatore Java. Corso analista programmatore Java Programma

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

Dettagli

PhoneSuite Manuale dell utente. Istruzioni preliminari: installazione e primo impiego di Phone Suite

PhoneSuite Manuale dell utente. Istruzioni preliminari: installazione e primo impiego di Phone Suite PhoneSuite Manuale dell utente Istruzioni preliminari: installazione e primo impiego di Phone Suite Il software PhoneSuite può essere utilizzato direttamente da CD o essere installato sul PC. Quando si

Dettagli

Manuale Servizi di Virtualizzazione e Porta di Accesso Virtualizzata

Manuale Servizi di Virtualizzazione e Porta di Accesso Virtualizzata Manuale Servizi di Virtualizzazione e Porta di Accesso Virtualizzata COD. PROD. D.6.3 1 Indice Considerazioni sulla virtualizzazione... 3 Vantaggi della virtualizzazione:... 3 Piattaforma di virtualizzazione...

Dettagli

Crotone, maggio 2005. Windows. Ing. Luigi Labonia E-mail luigi.lab@libero.it

Crotone, maggio 2005. Windows. Ing. Luigi Labonia E-mail luigi.lab@libero.it Crotone, maggio 2005 Windows Ing. Luigi Labonia E-mail luigi.lab@libero.it Sistema Operativo Le funzioni software di base che permettono al computer di funzionare formano il sistema operativo. Esso consente

Dettagli

ICEWARP VERSIONE 11.1 con WebRTC. www.icewarp.it

ICEWARP VERSIONE 11.1 con WebRTC. www.icewarp.it ICEWARP VERSIONE 11.1 con WebRTC IceWarp 11.1 è la prima soluzione disponibile sul mercato per chiamate audio e video, riunioni online e chat basate su WebRTC. Tutto ciò che ti occorre è un browser abilitato.

Dettagli

Il File System. È la componente del S.O. che si occupa della gestione della memoria di massa e dell organizzazione logica dei dati

Il File System. È la componente del S.O. che si occupa della gestione della memoria di massa e dell organizzazione logica dei dati Il File System È la componente del S.O. che si occupa della gestione della memoria di massa e dell organizzazione logica dei dati Le operazioni supportate da un file system sono: eliminazione di dati modifica

Dettagli

Guida all installazione

Guida all installazione Guida all installazione Presentazione Vi ringraziamo per aver scelto Evoluzioni SL. Evoluzioni SL, è un software appositamente studiato per la gestione degli studi legali, in ambiente monoutente e multiutente,

Dettagli

ERP Commercio e Servizi

ERP Commercio e Servizi ERP Commercio e Servizi Sistema informativo: una scelta strategica In questi ultimi anni hanno avuto grande affermazione nel mercato mondiale i cosiddetti sistemi software ERP. Tali sistemi sono in grado

Dettagli

hottimo procedura di installazione

hottimo procedura di installazione hottimo procedura di installazione LATO SERVER Per un corretto funzionamento di hottimo è necessario in primis installare all interno del server, Microsoft Sql Server 2008 (Versione minima Express Edition)

Dettagli

B C. Panoramica di Access 2010. Elementi dell interfaccia

B C. Panoramica di Access 2010. Elementi dell interfaccia Panoramica di Access 2010 A B C D E Elementi dell interfaccia A Scheda File (visualizzazione Backstage) Consente l accesso alla nuova visualizzazione backstage di Access 2010, che contiene un menu di comandi

Dettagli

Progetto di Formazione in rete. La qualità della professione docente.

Progetto di Formazione in rete. La qualità della professione docente. LICEO SCIENTIFICO STATALE G. GALILEI Progetto di Formazione in rete. La qualità della professione docente. ESERCITAZIONE PER L UTILIZZO DELLA WEB-INTRANET DI COLLABORAZIONE ASINCRONA SU RETE INTERNET Ing.

Dettagli

D3.2 Documento illustrante l architettura 3D Cloud per la realizzazione di servizi in modalità SaaS

D3.2 Documento illustrante l architettura 3D Cloud per la realizzazione di servizi in modalità SaaS D3.2 Documento illustrante l architettura 3D Cloud per la realizzazione di servizi in modalità SaaS Il modello SaaS Architettura 3D Cloud Il protocollo DCV Benefici Il portale Web EnginFrame EnginFrame

Dettagli

Novità di Visual Studio 2008

Novità di Visual Studio 2008 Guida al prodotto Novità di Visual Studio 2008 Introduzione al sistema di sviluppo di Visual Studio Visual Studio Team System 2008 Visual Studio Team System 2008 Team Foundation Server Visual Studio Team

Dettagli

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

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

Dettagli

Introduzione. Livello applicativo Principi delle applicazioni di rete. Stack protocollare Gerarchia di protocolli Servizi e primitive di servizio 2-1

Introduzione. Livello applicativo Principi delle applicazioni di rete. Stack protocollare Gerarchia di protocolli Servizi e primitive di servizio 2-1 Introduzione Stack protocollare Gerarchia di protocolli Servizi e primitive di servizio Livello applicativo Principi delle applicazioni di rete 2-1 Pila di protocolli Internet Software applicazione: di

Dettagli

sito web sito Internet

sito web sito Internet Siti Web Cos è un sito web Un sito web o sito Internet è un insieme di pagine web correlate, ovvero una struttura ipertestuale di documenti che risiede, tramite hosting, su un web server e accessibile

Dettagli

INTERAZIONE CON L UTENTEL

INTERAZIONE CON L UTENTEL IL SISTEMA OPERATIVO Insieme di programmi che opera al di sopra della macchina fisica, mascherandone le caratteristiche e fornendo agli utenti funzionalità di alto livello. PROGRAMMI UTENTE INTERPRETE

Dettagli

Corso Analista Programmatore Java Corso Online Analista Programmatore Java

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

Dettagli

QlikView 11. qlikview.com/it. di QlikView 11

QlikView 11. qlikview.com/it. di QlikView 11 le novità di QlikView 11 QlikView 11 porta la Business Discovery a un livello superiore in quanto consente agli utenti di condividere in modo ancora più facile le informazioni con i colleghi, supportando

Dettagli

Epsilon Test. Guida all installazione e all uso. versione 2.2

Epsilon Test. Guida all installazione e all uso. versione 2.2 Epsilon Test Guida all installazione e all uso versione 2.2 2000-2008 Epsilon Test - versione 2.2 Epsilon Test Guida all installazione e all uso Sommario 1 INSTALLAZIONE E OPERATIVITÀ... 1 UNA VISIONE

Dettagli

La Login in Prestito!!Disponbilità Tesi. Categorie di Progetti di Ingegneria del Software

La Login in Prestito!!Disponbilità Tesi. Categorie di Progetti di Ingegneria del Software Draft versione 1.1 Categorie di Progetti di Ingegneria del Software Tutti i temi Progettuali proposti rientrano in una delle seguenti categorie. 1. Temi sull'elaborazione di Dati Multimediali Temi su Audio,

Dettagli

UX model e Architetture di SI web-based. B. Pernici D. Ardagna

UX model e Architetture di SI web-based. B. Pernici D. Ardagna UX model e Architetture di SI web-based B. Pernici D. Ardagna Conallen, cap. 7,9 Bibliografia Modellazione concettuale: UX model Primo passo di analisi UX: user experience Schermate Modellare la navigazione,

Dettagli

Metodologie Informatiche applicate al Turismo

Metodologie Informatiche applicate al Turismo Metodologie Informatiche applicate al Turismo 11. Realizzare Siti Dinamici e Applicazioni Web Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it

Dettagli

Il Provvedimento del Garante

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

Dettagli

Ingegneria del Software UML - Unified Modeling Language

Ingegneria del Software UML - Unified Modeling Language Ingegneria del Software UML - Unified Modeling Language Obiettivi. Presentare un approccio visuale alla progettazione. Illustrare i vantaggi dell utilizzo di diagrammi nella fase di progettazione. Rispondere

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

Lezione 1: Introduzione Struttura e aspetto di PowerPoint Sviluppare una presentazione. Patente Europea di Informatica ECDL Modulo 6

Lezione 1: Introduzione Struttura e aspetto di PowerPoint Sviluppare una presentazione. Patente Europea di Informatica ECDL Modulo 6 Patente Europea di Informatica ECDL Modulo 6 Lezione 1: Introduzione Struttura e aspetto di PowerPoint Sviluppare una presentazione Anno 2009/2010 Syllabus 5.0 Microsoft PowerPoint è un software progettato

Dettagli

I browser più comuni sono Explorer, Mozilla Firefox, Chrome, Safari

I browser più comuni sono Explorer, Mozilla Firefox, Chrome, Safari INTERNET Internet, cioè la rete di interconnessione tra calcolatori, è uno dei pochi prodotti positivi della guerra fredda. A metà degli anni sessanta il Dipartimento della difesa USA finanziò lo studio

Dettagli

Di seguito ci accingiamo ad analizzare le possibili configurazioni di architettura: Server singolo

Di seguito ci accingiamo ad analizzare le possibili configurazioni di architettura: Server singolo La progettazione dell architettura si concentra sulla scelta dell hardware, dell infrastruttura di rete, e dei componenti software che andranno a costituire il sistema. Gli obbiettivi tecnologici che il

Dettagli

Componenti di una applicazione. Un programma applicativo è strutturato come un insieme organizzato di tre componenti funzionali:

Componenti di una applicazione. Un programma applicativo è strutturato come un insieme organizzato di tre componenti funzionali: Componenti di una applicazione Un programma applicativo è strutturato come un insieme organizzato di tre componenti funzionali: Un sottosistema di interfaccia con l utente (IU, user interface o anche presentation

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

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

CIT.00.M.DI.01#9.1.0# CRS-FORM-MES#346

CIT.00.M.DI.01#9.1.0# CRS-FORM-MES#346 Carta Regionale dei Servizi Sistema Informativo Socio Sanitario Installazione e Configurazione PDL Cittadino CRS-FORM-MES#346 INDICE DEI CONTENUTI 1 INTRODUZIONE... 3 1.1 SCOPO E CAMPO DI APPLICAZIONE...

Dettagli

Progettazione e sviluppo di un Network Management System per reti wireless in configurazione Mesh-AP

Progettazione e sviluppo di un Network Management System per reti wireless in configurazione Mesh-AP Progettazione e sviluppo di un per reti wireless in configurazione Mesh-AP Relatore: Ing. TOMMASO PECORELLA 11 aprile 2006 Correlatore: Ing. LEONARDO MACCARI UNIVERSITÀ DEGLI STUDI DI FIRENZE Facoltà di

Dettagli

Interoperabilità e cooperazione applicativa tra sistemi informativi

Interoperabilità e cooperazione applicativa tra sistemi informativi Interoperabilità e cooperazione applicativa tra sistemi informativi Michele Ruta Dipartimento di Ingegneria Elettrica e dell Informazione Politecnico di Bari 1di 29 Indice Introduzione ai Port Community

Dettagli

Formazione sistema editoriale CMS

Formazione sistema editoriale CMS Ufficio Società dell'informazione Nome del Progetto Acronimo del Progetto Formazione sistema editoriale CMS Documento Data di stesura Maggio 2010 Versione 1.2 Sommario 1 Scopo... 3 2 Campo di applicazione...

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

Il Web, HTML e Java Corso di Laurea in Ingegneria Informatica Progetto S.C.E.L.T.E.

Il Web, HTML e Java Corso di Laurea in Ingegneria Informatica Progetto S.C.E.L.T.E. Il Web, HTML e Java Corso di Laurea in Ingegneria Informatica Progetto S.C.E.L.T.E. Università di Bologna Facoltà di Ingegneria Bologna, 08/02/2010 Outline Da applicazioni concentrate a distribuite Modello

Dettagli

Informatica Documentale

Informatica Documentale Informatica Documentale Ivan Scagnetto (scagnett@dimi.uniud.it) Stanza 3, Nodo Sud Dipartimento di Matematica e Informatica Via delle Scienze, n. 206 33100 Udine Tel. 0432 558451 Ricevimento: giovedì,

Dettagli