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

SWIM v2 Design Document

SWIM v2 Design Document PROGETTO DI INGEGNERIA DEL SOFTWARE 2 SWIM v2 DD Design Document Matteo Danelli Daniel Cantoni 22 Dicembre 2012 1 Indice Progettazione concettuale Modello ER Entità e relazioni nel dettaglio User Feedback

Dettagli

WEBsfa: l automazione della forza vendita via Web

WEBsfa: l automazione della forza vendita via Web WEBsfa: l automazione della forza vendita via Web White Paper 1 Gennaio 2005 White Paper Pag. 1 1/1/2005 L automazione della Forza Vendita Le aziende commerciali che che sviluppano e alimentano il proprio

Dettagli

Appunti di Sistemi Distribuiti

Appunti di Sistemi Distribuiti Appunti di Sistemi Distribuiti Matteo Gianello 27 settembre 2013 1 Indice 1 Introduzione 3 1.1 Definizione di sistema distribuito........................... 3 1.2 Obiettivi.........................................

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

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

Programmazione II. Lezione 4. Daniele Sgandurra 30/09/2011. daniele.sgandurra@iit.cnr.it

Programmazione II. Lezione 4. Daniele Sgandurra 30/09/2011. daniele.sgandurra@iit.cnr.it Programmazione II Lezione 4 Daniele Sgandurra daniele.sgandurra@iit.cnr.it 30/09/2011 1/46 Programmazione II Lezione 4 30/09/2011 Sommario 1 Esercitazione 2 Panoramica della Programmazione Ad Oggetti 3

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

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

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

MANUALE D USO Agosto 2013

MANUALE D USO Agosto 2013 MANUALE D USO Agosto 2013 Descrizione generale MATCHSHARE è un software per la condivisione dei video e dati (statistiche, roster, ) delle gare sportive. Ogni utente abilitato potrà caricare o scaricare

Dettagli

Andrea Maioli Instant Developer: guida all uso

Andrea Maioli Instant Developer: guida all uso Andrea Maioli Instant Developer: guida all uso 11.8 L editor di temi grafici A partire dalla versione 11.5, Instant Developer contiene uno strumento di aiuto alla personalizzazione dei temi grafici e degli

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

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

MDaemon e Outlook Connector for MDaemon

MDaemon e Outlook Connector for MDaemon MDaemon e Outlook Connector for MDaemon Introduzione...2 Cos'è il groupware...2 Che cosa significa groupware?...2 Cos è WorldClient...2 MDaemon e l evoluzione delle funzionalità groupware...3 Nuove funzionalità

Dettagli

Capitolo 3: Strutture dei sistemi operativi

Capitolo 3: Strutture dei sistemi operativi Capitolo 3: Strutture dei sistemi operativi Componenti del sistema Servizi di un sistema operativo Chiamate del sistema Programmi di sistema Struttura del sistema Macchine virtuali Progettazione e realizzazione

Dettagli

Componenti Web: client-side e server-side

Componenti Web: client-side e server-side Componenti Web: client-side e server-side side Attività di applicazioni web Applicazioni web: un insieme di componenti che interagiscono attraverso una rete (geografica) Sono applicazioni distribuite logicamente

Dettagli

Laboratorio Matematico Informatico 2

Laboratorio Matematico Informatico 2 Laboratorio Matematico Informatico 2 (Matematica specialistica) A.A. 2006/07 Pierluigi Amodio Dipartimento di Matematica Università di Bari Laboratorio Matematico Informatico 2 p. 1/1 Informazioni Orario

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

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

Una architettura peer-topeer per la visualizzazione 3D distribuita

Una architettura peer-topeer per la visualizzazione 3D distribuita Una architettura peer-topeer per la visualizzazione 3D distribuita Claudio Zunino claudio.zunino@polito.it Andrea Sanna andrea.sanna@polito.it Dipartimento di Automatica e Informatica Politecnico di Torino

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

Corso Eclipse. Prerequisiti. 1 Introduzione

Corso Eclipse. Prerequisiti. 1 Introduzione Corso Eclipse 1 Introduzione 1 Prerequisiti Uso elementare del pc Esecuzione ricerche su Internet Esecuzione download Conoscenza elementare della programmazione 2 1 Cos è Eclipse Eclipse è un IDE (Integrated

Dettagli

1 Progetto di laboratorio di reti I

1 Progetto di laboratorio di reti I 1 Progetto di laboratorio di reti I In questo documento sono descritte le specifiche per la realizzazione del progetto. Vedremo innanzitutto le caratteristiche richieste nel codice e nella relazione, per

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

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

OASIS è una fabbrica per il bene comune dei dati attraverso l uso delle applicazioni proposte.

OASIS è una fabbrica per il bene comune dei dati attraverso l uso delle applicazioni proposte. 1 Guida Utente 1.1 Panoramica di OASIS OASIS è una fabbrica per il bene comune dei dati attraverso l uso delle applicazioni proposte. Grazie a OASIS, sarai in grado di acquistare o selezionare, dallo store,

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

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

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

Tecnologie per il Web. Il web: Architettura HTTP HTTP. SSL: Secure Socket Layer

Tecnologie per il Web. Il web: Architettura HTTP HTTP. SSL: Secure Socket Layer Tecnologie per il Web Il web: architettura e tecnologie principali Una analisi delle principali tecnologie per il web Tecnologie di base http, ssl, browser, server, firewall e proxy Tecnologie lato client

Dettagli

CIT.00.IST.M.MT.02.#7.4.0# CRS-FORM-MES#142

CIT.00.IST.M.MT.02.#7.4.0# CRS-FORM-MES#142 Carta Regionale dei Servizi Carta Nazionale dei Servizi Installazione e configurazione PDL cittadino CRS-FORM-MES#142 INDICE DEI CONTENUTI 1 INTRODUZIONE... 2 1.1 SCOPO E CAMPO DI APPLICAZIONE... 2 1.2

Dettagli

Siti interattivi e dinamici. in poche pagine

Siti interattivi e dinamici. in poche pagine Siti interattivi e dinamici in poche pagine 1 Siti Web interattivi Pagine Web codificate esclusivamente per mezzo dell HTML non permettono alcun tipo di interazione con l utente, se non quella rappresentata

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

Progetto interregionale ICAR Interoperabilità e Cooperazione Applicativa tra le Regioni.

Progetto interregionale ICAR Interoperabilità e Cooperazione Applicativa tra le Regioni. <Task AP3> Progetto interregionale ICAR Interoperabilità e Cooperazione Applicativa tra le Regioni AP3-Documento Descrittivo degli Accordi di Servizio Versione AP3-specificaADSv1.2.1.doc Pag. 1

Dettagli

Configuratore di Prodotto Diapason

Configuratore di Prodotto Diapason Configuratore di Prodotto Diapason Indice Scopo di questo documento...1 Perché il nuovo Configuratore di Prodotto...2 Il configuratore di prodotto...3 Architettura e impostazione tecnica...5 Piano dei

Dettagli

SISTEMI OPERATIVI DISTRIBUITI

SISTEMI OPERATIVI DISTRIBUITI SISTEMI OPERATIVI DISTRIBUITI E FILE SYSTEM DISTRIBUITI 12.1 Sistemi Distribuiti Sistemi operativi di rete Sistemi operativi distribuiti Robustezza File system distribuiti Naming e Trasparenza Caching

Dettagli

2. Strutture dei Sistemi Operativi

2. Strutture dei Sistemi Operativi 1 2. Strutture dei Sistemi Operativi Quali servizi un generico sistema operativo mette a disposizione degli utenti, e dei programmi che gli utenti vogliono eseguire? interfaccia col sistema operativo stesso

Dettagli

GNred Ver1.5 Manuale utenti

GNred Ver1.5 Manuale utenti GNred Ver1.5 Manuale utenti [ultima modifica 09.06.06] 1 Introduzione... 2 1.1 Cos è un CMS?... 2 1.2 Il CMS GNred... 2 1.2.1 Concetti di base del CMS GNred... 3 1.2.2 Workflow... 3 1.2.3 Moduli di base...

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

Università degli Studi di Napoli Federico II. FACOLTÀ DI INGEGNERIA Corso di Laurea in Ingegneria Informatica LM. Progetto di un applicazione Android

Università degli Studi di Napoli Federico II. FACOLTÀ DI INGEGNERIA Corso di Laurea in Ingegneria Informatica LM. Progetto di un applicazione Android Università degli Studi di Napoli Federico II FACOLTÀ DI INGEGNERIA Corso di Laurea in Ingegneria Informatica LM Progetto di un applicazione Android Briscola bluetooth Candidati: Giuliano Formato Daniele

Dettagli

Zoo di sistemi operativi: studio e realizzazione del supporto di macchine virtuali con accesso via Web

Zoo di sistemi operativi: studio e realizzazione del supporto di macchine virtuali con accesso via Web Zoo di sistemi operativi: studio e realizzazione del supporto di macchine virtuali con accesso via Web Mattia Gentilini Relatore: Renzo Davoli Laurea Specialistica in Informatica I Sessione A.A. 2005/2006

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

Web File System Manuale utente Ver. 1.0

Web File System Manuale utente Ver. 1.0 Web File System Manuale utente Ver. 1.0 Via Malavolti 31 41100 Modena Tel. 059-2551137 www.keposnet.com Fax 059-2558867 info@keposnet.com Il KDoc è un Web File System cioè un file system accessibile via

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

UNIVERSITÀ DEGLI STUDI DI TORINO FACOLTÀ DI SCIENZE DELLA FORMAZIONE CORSO DI STUDIO TRIENNALE IN SCIENZE DELL EDUCAZIONE

UNIVERSITÀ DEGLI STUDI DI TORINO FACOLTÀ DI SCIENZE DELLA FORMAZIONE CORSO DI STUDIO TRIENNALE IN SCIENZE DELL EDUCAZIONE UNIVERSITÀ DEGLI STUDI DI TORINO FACOLTÀ DI SCIENZE DELLA FORMAZIONE CORSO DI STUDIO TRIENNALE IN SCIENZE DELL EDUCAZIONE Curriculum: Esperto di formazione a distanza DISSERTAZIONE FINALE Raccontami :

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

Analisi dei Requisiti

Analisi dei Requisiti Analisi dei Requisiti Pagina 1 di 16 Analisi dei Requisiti Indice 1 - INTRODUZIONE... 4 1.1 - OBIETTIVO DEL DOCUMENTO...4 1.2 - STRUTTURA DEL DOCUMENTO...4 1.3 - RIFERIMENTI...4 1.4 - STORIA DEL DOCUMENTO...4

Dettagli

CLS Citiemme Lotus Suite

CLS Citiemme Lotus Suite CLS Il pacchetto CLS v1.0 () è stato sviluppato da CITIEMME Informatica con tecnologia Lotus Notes 6.5 per andare incontro ad una serie di fabbisogni aziendali. E' composto da una serie di moduli alcuni

Dettagli

Guida Utente PS Contact Manager GUIDA UTENTE

Guida Utente PS Contact Manager GUIDA UTENTE GUIDA UTENTE Installazione...2 Prima esecuzione...5 Login...7 Registrazione del programma...8 Inserimento clienti...9 Gestione contatti...11 Agenti...15 Archivi di base...16 Installazione in rete...16

Dettagli

Estensioni e modelli. Ancora poco conosciuti, consentono di estendere la suite per l ufficio. Ecco come servirsene

Estensioni e modelli. Ancora poco conosciuti, consentono di estendere la suite per l ufficio. Ecco come servirsene Estensioni e modelli. Ancora poco conosciuti, consentono di estendere la suite per l ufficio. Ecco come servirsene Sotto il nome OpenOffice.org si nasconde un insieme di programmi per l ufficio potenti

Dettagli

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi Capitolo Terzo Primi passi con Microsoft Access Sommario: 1. Aprire e chiudere Microsoft Access. - 2. Aprire un database esistente. - 3. La barra multifunzione di Microsoft Access 2007. - 4. Creare e salvare

Dettagli

CdL in Medicina Veterinaria - STPA AA 2007-08

CdL in Medicina Veterinaria - STPA AA 2007-08 CdL in Medicina Veterinaria - STPA AA 2007-08 Microsoft Windows Funzionalità di un S.O. Gestione dei file Gestione dei dispositivi di ingresso/uscita Comandi per l attivazione e la gestione di programmi

Dettagli

Linguaggi e Paradigmi di Programmazione

Linguaggi e Paradigmi di Programmazione Linguaggi e Paradigmi di Programmazione Cos è un linguaggio Definizione 1 Un linguaggio è un insieme di parole e di metodi di combinazione delle parole usati e compresi da una comunità di persone. È una

Dettagli

Parte II: Reti di calcolatori Lezione 9

Parte II: Reti di calcolatori Lezione 9 Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Parte II: Reti di calcolatori Lezione 9 Martedì 1-04-2014 1 Applicazioni P2P

Dettagli

Web Programming Specifiche dei progetti

Web Programming Specifiche dei progetti Web Programming Specifiche dei progetti Paolo Milazzo Anno Accademico 2010/2011 Argomenti trattati nel corso Nel corso di Web Programming sono state descritti i seguenti linguaggi (e tecnologie): HTML

Dettagli

Il foglio elettronico

Il foglio elettronico Il foglio elettronico Foglio di calcolo, Spreadsheet in inglese, Permette di elaborare DATI NUMERICI. E una TABELLA che contiene numeri che possono essere elaborati con FUNZIONI matematiche e statistiche.

Dettagli

RMI Remote Method Invocation

RMI Remote Method Invocation RMI Remote Method Invocation [Pagina intenzionalmente vuota] (1 12 2004) slide 4:1/18 (p.106) Un applicazione RMI è un applicazione distribuita ad oggetti. Applicazione RMI tipica, strutturata in: server:

Dettagli

Allegato 1 CIG 58703795FF PROCEDURA DI AFFIDAMENTO PER LA FORNITURA DI UNA PIATTAFORMA PER SERVICE MASHUP AND DELIVERY CAPITOLATO TECNICO

Allegato 1 CIG 58703795FF PROCEDURA DI AFFIDAMENTO PER LA FORNITURA DI UNA PIATTAFORMA PER SERVICE MASHUP AND DELIVERY CAPITOLATO TECNICO PROCEDURA DI AFFIDAMENTO PER LA FORNITURA DI UNA PIATTAFORMA PER SERVICE MASHUP AND DELIVERY CAPITOLATO TECNICO SOMMARIO 1 Oggetto della Fornitura... 3 2 Composizione della Fornitura... 3 2.1 Piattaforma

Dettagli

Il sistema operativo

Il sistema operativo Il sistema operativo Il sistema operativo è il programma fondamentale di ogni PC. Costituisce l interfaccia fra l utente ed i componenti fisici del calcolatore. Il sistema operativo comunica con tutti

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

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

Introduzione alla Progettazione per Componenti

Introduzione alla Progettazione per Componenti Introduzione alla Progettazione per Componenti Alessandro Martinelli 6 ottobre 2014 Obiettivo del Corso Il Progetto Software Reale Il Componente Software La Programmazione Ad Oggetti Fondamenti di Informatica

Dettagli

Corso basi di dati Introduzione alle ASP

Corso basi di dati Introduzione alle ASP Corso basi di dati Introduzione alle ASP Gianluca Di Tomassi Email: ditomass@dia.uniroma3.it Università di Roma Tre Web statico e Web interattivo In principio il Web era una semplice collezione di pagine

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

Addition X DataNet S.r.l. www.xdatanet.com www.xdatanet.com

Addition X DataNet S.r.l. www.xdatanet.com www.xdatanet.com Addition è un applicativo Web che sfrutta le potenzialità offerte da IBM Lotus Domino per gestire documenti e processi aziendali in modo collaborativo, integrato e sicuro. www.xdatanet.com Personalizzazione,

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

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

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

Indice generale. Introduzione...xv. Parte I Per iniziare Capitolo 1 Introduzione allo sviluppo ios con tecnologie web...3

Indice generale. Introduzione...xv. Parte I Per iniziare Capitolo 1 Introduzione allo sviluppo ios con tecnologie web...3 Introduzione...xv A chi si rivolge questo libro...xv Gli argomenti trattati...xv Com è organizzato il libro...xvi Cosa occorre per utilizzare il libro...xvii Convenzioni adottate...xvii Il codice sorgente...xviii

Dettagli

Introduzione all elaborazione di database nel Web

Introduzione all elaborazione di database nel Web Introduzione all elaborazione di database nel Web Prof.ssa M. Cesa 1 Concetti base del Web Il Web è formato da computer nella rete Internet connessi fra loro in una modalità particolare che consente un

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

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

Registro unico Antiriciclaggio

Registro unico Antiriciclaggio Registro unico Antiriciclaggio VERSIONE PROFESSIONISTI E CED VERSIONE 4.0.0 Sommario Introduzione... 4 Requisiti di sistema... 5 Installazione del software... 6 Verifica automatica dei requisiti di installazione...

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

Configuration of a distributed system as emerging behavior of autonomous agents

Configuration of a distributed system as emerging behavior of autonomous agents Configuration of a distributed system as emerging behavior of autonomous agents Configuration of a distributed system as emerging behavior of autonomous agents : Questo documento illustra la strategia

Dettagli

Notifica sul Copyright

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

Dettagli

Architetture Web a tre livelli: CGI, SSI, ISAPI e codice mobile Architetture a 3 livelli (1)

Architetture Web a tre livelli: CGI, SSI, ISAPI e codice mobile Architetture a 3 livelli (1) Pagina 1 di 10 Architetture Web a tre livelli: CGI, SSI, ISAPI e codice mobile Architetture a 3 livelli (1) Nel corso della lezione precedente abbiamo analizzato le caratteristiche dell'architettura CGI.

Dettagli

REMOTE ACCESS24. Note di installazione

REMOTE ACCESS24. Note di installazione REMOTE ACCESS24 Note di installazione . 2011 Il Sole 24 ORE S.p.A. Sede legale: via Monte Rosa, 91 20149 Milano Tutti i diritti sono riservati. E' vietata la riproduzione anche parziale e con qualsiasi

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

Gestire le PEC MANUALE OPERATIVO. Versione 1

Gestire le PEC MANUALE OPERATIVO. Versione 1 Gestire le PEC MANUALE OPERATIVO Versione 1 Marzo 2014 1 INDICE GENERALE 1.0 Panoramica della sequenza dei lavori... 3 2.0 Spiegazione dei pulsanti operativi della pagina iniziale (cruscotto)... 8 3.0

Dettagli

Corso Android Corso Online Sviluppo su Cellulari con Android

Corso Android Corso Online Sviluppo su Cellulari con Android Corso Android Corso Online Sviluppo su Cellulari con Android Accademia Futuro info@accademiafuturo.it Programma Generale del Corso di Sviluppo su Cellulari con Android Programma Base Modulo Uno - Programmazione

Dettagli

Solution For Electronic Data Interchange. EDIJSuite. La soluzione per l interscambio dei dati in formato elettronico

Solution For Electronic Data Interchange. EDIJSuite. La soluzione per l interscambio dei dati in formato elettronico Solution For Electronic Data Interchange EDIJSuite La soluzione per l interscambio dei dati in formato elettronico Release 1.4 del 20.12.2013 - ST COMPANY SRL EDIJSuite La soluzione per l interscambio

Dettagli

Introduzione ai Sistemi Operativi

Introduzione ai Sistemi Operativi Introduzione ai Sistemi Operativi Sistema Operativo Software! Applicazioni! Sistema Operativo! È il livello di SW con cui! interagisce l utente! e comprende! programmi quali :! Compilatori! Editori di

Dettagli

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE.

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. INFORMATICA Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. APPLICAZIONI WEB L architettura di riferimento è quella ampiamente diffusa ed

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

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

Le principali novità di Word XP

Le principali novità di Word XP Le principali novità di Word XP di Gemma Francone supporto tecnico di Mario Rinina Il programma può essere aperto in diversi modi, per esempio con l uso dei pulsanti di seguito riportati. In alternativa

Dettagli

SMS-GPS MANAGER. Software per la gestione remota ed automatizzata dei telecontrolli gsm con e senza gps

SMS-GPS MANAGER. Software per la gestione remota ed automatizzata dei telecontrolli gsm con e senza gps SOFTWARE PER LA GESTIONE DEI TELECONTROLLI SMS-GPS MANAGER Software per la gestione remota ed automatizzata dei telecontrolli gsm con e senza gps Rev.0911 Pag.1 di 8 www.carrideo.it INDICE 1. DESCRIZIONE

Dettagli

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL STRUTTURA DEI SISTEMI OPERATIVI 3.1 Struttura dei Componenti Servizi di un sistema operativo System Call Programmi di sistema Struttura del sistema operativo Macchine virtuali Progettazione e Realizzazione

Dettagli

Cluster per architetture a componenti

Cluster per architetture a componenti Luca Cabibbo Architetture Software Cluster per architetture a componenti Dispensa ASW 442 ottobre 2014 Un buon progetto produce benefici in più aree. Trudy Benjamin 1 -Fonti [IBM] Clustering Solutions

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

INDICE PROGRAMMA CORSO

INDICE PROGRAMMA CORSO INDICE PROGRAMMA CORSO PRIMA LEZIONE: Componenti di un computer: Hardware, Software e caratteristiche delle periferiche. SECONDA LEZIONE: Elementi principali dello schermo di Windows: Desktop, Icone, Mouse,

Dettagli

Lyra CRM WebAccess. Pag. 1 di 16

Lyra CRM WebAccess. Pag. 1 di 16 Lyra CRM WebAccess L applicativo Lyra CRM, Offer & Service Management opera normalmente in architettura client/server: il database di Lyra risiede su un Server aziendale a cui il PC client si connette

Dettagli

NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0

NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0 Prodotto Inaz Download Manager Release 1.3.0 Tipo release COMPLETA RIEPILOGO ARGOMENTI 1. Introduzione... 2 2. Architettura... 3 3. Configurazione... 4 3.1 Parametri di connessione a Internet... 4 3.2

Dettagli

Protocolli e architetture per WIS

Protocolli e architetture per WIS Protocolli e architetture per WIS Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di informazioni e servizi Le architetture moderne dei WIS

Dettagli

GUIDA UTENTE PRIMA NOTA SEMPLICE

GUIDA UTENTE PRIMA NOTA SEMPLICE GUIDA UTENTE PRIMA NOTA SEMPLICE (Vers. 2.0.0) Installazione... 2 Prima esecuzione... 5 Login... 6 Funzionalità... 7 Prima Nota... 8 Registrazione nuovo movimento... 10 Associazione di file all operazione...

Dettagli

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER L architettura CLIENT SERVER è l architettura standard dei sistemi di rete, dove i computer detti SERVER forniscono servizi, e computer detti CLIENT, richiedono

Dettagli

SCOoffice Mail Connector for Microsoft Outlook. Guida all installazione Outlook 97, 98 e 2000

SCOoffice Mail Connector for Microsoft Outlook. Guida all installazione Outlook 97, 98 e 2000 SCOoffice Mail Connector for Microsoft Outlook Guida all installazione Outlook 97, 98 e 2000 Rev. 1.1 4 dicembre 2002 SCOoffice Mail Connector for Microsoft Outlook Guida all installazione per Outlook

Dettagli

Concetti base. Impianti Informatici. Web application

Concetti base. Impianti Informatici. Web application Concetti base Web application La diffusione del World Wide Web 2 Supporto ai ricercatori Organizzazione documentazione Condivisione informazioni Scambio di informazioni di qualsiasi natura Chat Forum Intranet

Dettagli

Content Management System

Content Management System Content Management System Docente: Prof. Roberto SALVATORI CARATTERISTICHE PRINCIPALI DI UN CMS In quest ultimo decennio abbiamo avuto modo di osservare una veloce e progressiva evoluzione del Web, portando

Dettagli