NUXEO-DIFF-VERSION: REALIZZAZIONE DI UN PLUG-IN

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "NUXEO-DIFF-VERSION: REALIZZAZIONE DI UN PLUG-IN"

Transcript

1 UNIVERSITÀ DEGLI STUDI DELL INSUBRIA FACOLTÀ DI SCIENZE MATEMATICHE FISICHE E NATURALI CORSO DI LAUREA IN INFORMATICA NUXEO-DIFF-VERSION: REALIZZAZIONE DI UN PLUG-IN PER LA COMPARAZIONE DI UN FILE SU NUXEO Relatore PROF. DAVIDE TOSI Correlatore PROF. DAVIDE TAIBI Tesi di laurea di: ANTONIO URSO MATR ANNO ACCADEMICO

2 La teoria è quando si sa tutto e niente funziona. La pratica è quando tutto funziona e nessuno sa il perché. Noi abbiamo messo insieme la teoria e la pratica: non c'è niente che funzioni... e nessuno sa il perché! (Albert Einstein)

3 Indice generale 1 Introduzione Software Open Source e Closed Source Soluzioni software Closed Source Sistemi Software Open Source Sistemi di gestione documentale Sistemi di gestione documentale Closed Source Sistemi di gestione documentale Open Source Il Sistema di Enterprise Content Management Nuxeo Introduzione a Nuxeo Sistema di gestione documentale - Nuxeo DM Sistemi di Gestione Contenuti Multimediali - Nuxeo DAM Framework di Sviluppo - Nuxeo CMF Piattaforma Enterprise - Nuxeo EP Servizi e API - Nuxeo Api Connettori Nuxeo Soluzioni Client - Nuxeo UI frameworks Il Plug-in Nuxeo-Diff-Version Definizione dei requisiti Piano di lavoro L'architettura di Nuxeo-Diff-Version Progettazione del pacchetto org.nuxeo.diffversionpkg Progettazione del pacchetto org.nuxeo.diffmatchpkg Progettazione del pacchetto org.nuxeo.diffmatchpkg Implementazione del plug-in Visione d'insieme dell'albero della cartelle Il file deployment-fragment.xml Il file POM Il file MANIFEST.MF I file messages.properties File seam.properties e JavaScript Implementazione del pacchetto diffversionepkg Implementazione del pacchetto org.nuxeo.typedocpkg Implementazione del pacchetto org.nuxeo.diffmatch I template JSF e JavaScript Casi d'uso Conclusioni e sviluppi futuri...61 Appendice A...62

4

5 Capitolo 1 Introduzione 1 Introduzione Sistemi software per la gestione documentale sono ormai necessari in quei contesti aziendali dove la quantità di documenti da archiviare e condividere tra i vari dipendenti è elevata. Ci sono diverse soluzioni software disponibili sul mercato, sia di tipo Closed Source che Open Source. Spesso le soluzioni Open Source hanno un elevato livello qualitativo ma un numero di funzionalità ridotte infatti la cosa che l'utente non può fare a meno di notare è la mancanza di certi tipi di funzionalità quali quella che è materia principale di questa tesi e cioè di un comparatore di differenze tra versione di un stesso file. Obiettivo della tesi è ingegnerizzare e implementare tramite il meccanismo dei plug-in un componente di grande importanza per i sistemi di gestione documentale: Nuxeo-diff-version Abbiamo sviluppato il componente per un sistema reale di gestione documentale Nuxeo, questo componente deve gestire la comparazione tra due diverse versioni dello stesso file. Il Plug-In gestisce quattro tipi di files, PDF, ODT (open office), Word, e i file txt. Il lavoro di tesi è quindi volto ad analizzare, sviluppare, implementare 1

6 e verificare le tecnologie coinvolte per poter portare a buon fine il lavoro stesso. I requisiti fondamentali che si sono ottenuti da questo prodotto sono: Funzionalità: comparazione tra due diverse versioni, mostrando il risultato in formato HTML. Integrazione: si deve realizzare un Plug-In in linguaggio Java, utilizzando la tecnologia JSF e Seam JBoss ed inserirlo correttamente in Nuxeo DM. La scelta è caduta su Nuxeo, perché rispetto ad altri prodotti della stessa fascia è più attuale e anche perché, come vedremo più avanti ha un'architettura innovativa e molto interessante da studiare, soprattutto dalla parte dello sviluppatore. E' stato deciso di sviluppare questo Plug-In per soddisfare una delle più importanti necessità che un utente di software ECM potrebbe avere che è quella di controllare quali differenze ci sono tra diverse versioni dello stesso documento, anche per poi ricostruire la vita dello stesso e magari per capire le motivazioni di certe modifiche. La prima parte del secondo capitolo cercherà di dare una panoramica sui sistemi closed, illustrando attraverso un po' di storia, le motivazioni per il quale il sistemi closed esistono. Nella seconda parte dello stesso capitolo sarà trattato l'argomento dell' Open Source, descrivendo da dove ha origine questa filosofia di sviluppo, il significato dell' Open Source, le varie forme esistenti dello stesso finendo con elencare alcune delle più famose applicazioni Open Source. Nel terzo capitolo ci sarà una descrizione completa del software di gestione documentale per il quale è stato realizzato il Plug-In: Nuxeo. Saranno descritte le distribuzioni di Nuxeo, l'architettura dello Core di 2

7 Nuxeo, le piattaforme server sul quale è possibile installarlo, e soprattutto le tecnologie utilizzate per la sua realizzazione, che sono molto importanti da conoscere per iniziare a progettare un Plug-In. Il quarto capitolo sarà dedicato alla descrizione dello sviluppo del Plug-In. Iniziando dalla definizione dei requisiti, per poi descrivere l'architettura del Plug-In, motivando i principi che hanno ispirato la stessa, una descrizione del piano di lavoro ed infine una trattazione completa dei test, per poterne apprezzare le potenzialità. Nel quinto capitolo verranno tratte le conclusioni del lavoro che è stato svolto, le impressioni percepite durante la produzione dello stesso e verrà illustrato inoltre quello che secondo me potrebbe essere uno degli possibili sviluppi futuri del Plug-In, soprattutto in base a quello che potrebbe essere una richiesta che il mercato del software nel settore di gestione documentale potrebbe avere. 3

8 Capitolo Software Open Source e Closed Source 2 2 Software Open Source e Closed Source In questo capitolo si descriverà la differenza tra le Soluzioni Software Closed Source e Open Source, cos'è un sistema di gestione documentale, quali sono le soluzioni principali sul mercato di tipo Closed Source e quali di tipo Open Source (con riferimento ai costi, funzionalità, caratteristiche e livello qualitativo). 2.1 Soluzioni software Closed Source Per sistemi Software Closed Source (CSS) si indicano quei sistemi software che hanno restrizioni sul loro utilizzo, modifica, riproduzione o ridistribuzione, solitamente imposti da un proprietario. Queste restrizioni vengono imposte attraverso mezzi tecnici, come per esempio rendere pubblico solo il codice binario, o mezzi legali, licenze copyright e brevetti. Viene anche definito software proprietario, termine derivante da una traduzione errata dell'inglese proprietary software che letteralmente significa software di proprietà esclusiva. Sia il software proprietario che il software libero si avvalgono delle regole poste a tutela del diritto d'autore anche se gli obiettivi sono radicalmente diversi. Infatti il software proprietario si avvale delle suddette 4

9 regole al fine di sfruttare economicamente i programmi per elaboratore e per definirlo come proprietario. Il codice sorgente di un software proprietario solitamente non viene diffuso e viene ritenuto un segreto commerciale. Alcuni software proprietari, invece, vengono rilasciati con il codice sorgente o danno la possibilità di osservarlo secondo determinate condizioni. In questi casi gli utenti sono liberi di usare ed anche studiare e modificare il software, ma sono vincolati da licenze o accordi di non divulgazione (NDA: Non-Disclosure Agreement) per la ridistribuzione delle modifiche o anche per la semplice condivisione del software. Il software proprietario disponibile gratuitamente viene chiamato Freeware. Il software shareware è invece disponibile gratuitamente ma solo per un periodo di prova. Il software proprietario con un copyright che non viene più esercitato e che viene usato illegalmente dagli utenti viene chiamato "abandonware" e può includere o meno il codice sorgente. 2.2 Sistemi Software Open Source L'Open Source significa esclusivamente che un programma viene distribuito insieme al proprio codice sorgente, ovvero le linee di codice scritte da programmatori mediante un linguaggio di programmazione, consentendo quindi di poter apportare delle modifiche e delle personalizzazioni. L'Open Source ha provocato, in campo software, una vera e propria rivoluzione, che può determinare, in campo IT, vantaggi quali la riduzione dei costi delle licenze, la flessibilità delle soluzioni, l'indipendenza dai fornitori, una migliore interoperabilità tra sistemi, etc. L'Open Source nasce dalla convinzione che lo sforzo di tanti per la produzione di software differenti (e distribuiti con licenza chiusa ), ma 5

10 finalizzati a risolvere uno stesso problema, risulta essere controproducente, determinando la dispersione di energie e di capacità e non permettendo, a chi possieda volontà e intuizione, di intervenire per il loro miglioramento. Il principio più teste lavorano meglio di una soltanto è alla base del modo di produzione di software libero, processo produttivo in contrapposizione a quello tipico del software closed source, indicato come a Cattedrale. L'Open Source ha raggiunto la notorietà in tempi molto recenti, oggi viene menzionato e discusso non solo dalla stampa specializzata ma anche su media più generici come le trasmissioni televisive e radiofoniche. Il fatto che tanta attenzione sia dedicata ad un particolare fenomeno legato al mondo dell'informatica e non strettamente connesso con l'utenza popolare, com'è il caso Internet, è indice di novità non ristretta all'ambito tecnico, ma legata ad un ambito più vasto, l'ambito delle innovazioni culturali. Il risultato di tale lavoro fu la fondazione della Free Software Foundation nel 1985 (un'organizzazione senza scopo di lucro per sviluppo di software libero) e il numero di sostenitori e utilizzatori di Free Software crebbe senza soluzione di continuità e continua a farlo a tutt'oggi. All'inizio degli anni 90, Linus Torvalds, studente del secondo anno di informatica presso l'università di Helsinki, decise di sviluppare un proprio sistema operativo imitando le funzionalità di Unix su un PC con un processore Intel 386. Tale processore venne scelto per il minor costo e per la sua diffusione rispetto alle piattaforme hardware dove veniva distribuito UNIX. Torvalds distribuì il proprio lavoro tramite Internet condividendolo con altri programmatori, i quali apportarono nuove funzionalità e contribuirono a correggerne alcuni errori riscontrati. Nacque così Linux, sistema operativo con licenza Free. Linux può essere considerato come il primo vero progetto "Open 6

11 Source" cioè come il primo progetto che faceva affidamento essenzialmente sulla collaborazione via Internet per progredire; fino ad allora, infatti, anche i progetti di software libero come Emacs erano stati sviluppati in maniera centralizzata seguendo un progetto prestabilito da un ristretto numero di persone, in base cioè ai principi 'standard' di ingegneria del software. Agli inizi degli anni novanta, l'idea delle licenze liberali era rappresentata soprattutto da Richard Stallman e la sua FSF, ovvero le licenze liberali per eccellenza erano la GPL e la LGPL che però venivano ritenute "contagiose", in quanto a partire da un codice licenziato con la GPL qualsiasi ulteriore modifica deve avere la stessa licenza. 2.3 Sistemi di gestione documentale I sistemi di gestione documentale sono una categoria di sistemi software che servono ad organizzare e facilitare la creazione collaborativa di documenti e di altri contenuti. Tecnicamente si tratta di un'applicazione Server che si occupa di eseguire diverse operazioni sui documenti, catalogandoli ed indicizzandoli secondo determinati algoritmi. L'importante valore aggiunto sta nella possibilità di condividere informazioni e/o documenti in diversi modi. È possibile creare liste, documenti, calendari e di "versionare" i documenti che, essendo salvati su server godono del vantaggio della collaborazione. Due utenti infatti, possono collegarsi da due posti differenti e visionare o lavorare sullo stesso documento. In questa sezione verranno descritti i principali sistemi di gestione documentale Open Source e Closed Source Sistemi di gestione documentale Closed Source I pacchetti Closed Source di gestione documentale piu' diffusi nel mercato come SharePoint (Microsoft) e Documentum (IBM) offrono svariate 7

12 funzionalità che vanno dall'acquisizione alla memorizzazione fisica dei documenti fino alla gestione dei flussi di lavoro correlati ai documenti stessi. I costi cambiano in base al tipo di prodotti, per esempio oltre al costo di per licenza d'uso esistono anche i costi di personalizzazione. Le funzionalità sono presso a poco comuni a tutti, funzionalità che vanno dai Siti, Community, gestione dei contenuti e gestione del flussi di lavoro. Microsoft SharePoint, è un programma lato server che permette la creazione di particolari siti web principalmente ad uso aziendale (Intranet) ma che possono anche essere messi in rete e quindi essere disponibili e utilizzati come normali siti web. È possibile creare liste, repository documentali con versionamento, calendari sincronizzati con outlook e molto altro ancora. SharePoint è completamente integrato con il pacchetto Office e Documentum IBM è un sistema di gestione di documenti con funzionalità che vanno dal check-in, check-out, gestione flusso di lavoro, gestione delle versioni. Il prodotto è un sistema client-server basato su database relazionale Sistemi di gestione documentale Open Source I pacchetti Open Source di gestione documentale piu' diffusi nel mercato come Alfresco, Nuxeo, di cui ci occuperemo piu' avanti offrono svariate funzionalità come per i software corrispondenti di tipo Closed Source ma con il vantaggio di poter personalizzare il progetto, perché il programma viene distribuito con il suo codice sorgente. In questa sezione verrano illustrati Alfresco, Nuxeo, OpenKM e KnowledgeTree, i principali Sistemi di gestione documentale Open Source presenti sul mercato. Alfresco è un sistema per la gestione documentale, Il suo design è orientato 8

13 verso gli utenti che richiedono un elevato grado di modularità e prestazioni scalabili. Alfresco comprende un repository di contenuti, un "out-of-the-box" portale web per la gestione e l'utilizzo standard del contenuto del portale, una CIFS interfaccia di file che fornisce la compatibilità del sistema in Microsoft Windows e Unix, un sistema di gestione dei contenuti è in grado di virtualizzare applicazioni web e siti statici tramite Apache Tomcat, il motore di ricerca Lucene e jbpm flusso di lavoro. Alfresco è stato sviluppato utilizzando tecnologie come Java, JSP e JavaScript. Nuxeo EP è un sistema per la gestione documentale, come Alfresco, è multipiattaforma, è basato su Java EE e tecnologie come (OSGi, Apache, Jackrabbit, EJB3, Jboss, Eclipse Platform). Nuxeo EP è rilasciato sotto licenza LGPL. Nuxeo permette sia la pubblicazione che la condivisione di contenuti all'interno di una azienda, tra le funzionalità ci sono, Repository con controllo di versione, Image Management, jbpm flusso di lavoro, supporto clustering. Maggiori dettagli su Nuxeo sono disponibili nel Capitolo 3. OpenKM è un sistema per la gestione documentale gestito attraverso un'interfaccia Web. Include contenuti gestiti in repository, indicizzazioni Lucene, e workflow jbpm, sviluppato usando Java. Finanziato da un fondo Statale Spagnolo attraverso un fondo no profit il suo primo rilascio risale alla fine del Sun fondo non Profit. OpenKM usa la licenza GNU, anche OpenKM è multipiattaforma e le tecnologie usate sono JBoss, Java J2EE, Apache Jackrabbit, GWT (Google Web Toolkit). KnowledgeTree è un sistema per la gestione documentale. Le funzionalità di KnowledgeTree includo il flusso dei documenti, i document alerts e la gestione delle versioni, disegnato per gestire il processo Business basato sui documenti, fornisce inoltre la funzionalità di condivisione dei documenti in un team di lavoro. Le tecnologie utilizzate sono PHP, Ajax, supporta HTML5 drag and drop, è multipiattaforma ed è disegnato per essere integrato in 9

14 prodotti Microsoft Office. Riesce ad interfacciarsi con altre applicazioni attraverso le interfacce REST e SOAP. Presente sul mercato in varie versione tra le quali la community edition con licenza GPL. 10

15 Capitolo Il Sistema di Enterprise Content Management Nuxeo 3 3 Il Sistema di Enterprise Content Management Nuxeo In questo capitolo si descriverà Nuxeo, uno dei più recenti software per la gestione dei contenuti. Si inizierà con un una descrizione delle soluzioni attualmente presenti nel mercato per poi andare ad esplorare la piattaforma EP, studiandone il Core, l'architettura sia dei Bundle che dei Plug-In, per concludere con una descrizione delle API. 3.1 Introduzione a Nuxeo Nuxeo è una piattaforma Open Source per ECM (Enterprice Content Managament) che abilita gli sviluppatori e progettisti di software a creare, installare ed eseguire una delle migliori piattaforme per la gestione dei contenuti. Fondata nel 2000, con due sedi principali a Parigi e a Boston, Nuxeo è una compagnia internazionale che gestisce in maniera ottimale diverse aziende che hanno la necessità di gestire contenuti sotto-forma di documenti elettronici. Fornisce inoltre una piattaforma modulare ed estensibile di sviluppo 11

16 java-based per la gestione documentale digitalizzata. Offre inoltre un set di pacchetti applicativi per il Document Management, per il digital asset management ed il case management. Disegnato da programmatori per programmatori, la piattaforma Nuxeo è stata creata per rendere la costruzione di applicazioni di contenuti facile ed efficiente. La cosa importante da sapere è che le applicazioni implementate attraverso la piattaforma Nuxeo sono robuste con la possibilità di crescita a lungo termine. Soltanto studiando i casi di implementazione presso gli utenti si potrà capire come Nuxeo può gestire diversi e numerosi casi. Le principali distribuzioni di Nuxeo sono tre: Nuxeo DM, Nuxeo Document Management product, Nuxeo DAM, Digital Asset Management software Nuxeo CMF, Nuxeo, Case Management Framework. Le distribuzioni sono disponibili nei seguenti formati: in standalone con Jboss; in standalone con Tomcat; in formato EAR per Jboss; in formato.deb per le installazioni Debian/Ubuntu; C'è anche la possibilità di avere una versione in VM (Virtual Machine) cosi da poter essere lanciato attraverso Vmware o VirtualBox. 3.2 Sistema di gestione documentale - Nuxeo DM Nuxeo DM è un'applicazione Open Source per la gestione documentale, la gestione del lavoro di gruppo e la distribuzione dei contenuti. 12

17 Il concetto generale è il seguente: i documenti sono creati, modificati con la possibilità di essere approvati in un'area di lavoro. Alla fine del processo sono pubblicati in una sessione. Quando diventano obsoleti, vengono rimossi dalla sessione. Le azioni che gli utenti possono eseguire sono determinate dai diritti di accesso rilasciati dal gestore degli spazi di lavoro. Per incoraggiare il lavoro in team e la condivisione delle informazioni, Nuxeo DM propone diversi servizi quali forums, blogs e siti web. Il lavoro di gruppo inizia nelle aree di lavoro, dove gli utenti possono creare e modificare documenti. Le aree di lavoro sono disegnate per catturare, condividere e modificare documenti in modo facile usando le funzionalità integrate offerte dal desktop tra i quali commenti e annotazioni. Principalmente, l'history dei documenti, il Versioning, le relazioni, il flusso di lavoro e gli Alerts danno la possibilità all'utente di costruire una struttura di gestione di documenti coerente e sicura. Per aiutare gli utenti a creare le aree di lavoro nelle quali gli stessi dovranno lavorare, è possibile creare dei Template di aree di lavoro e preparare la struttura che sarà applicata all'area di lavoro. Quando il documento è completo, sarà possibile pubblicarlo in sessione. La sessione è dedicata alla distribuzione dei contenuti, alla comunicazione ed alla consultazione degli stessi, per questo motivo l'utente non sarà più in grado di modificare documenti in sessione: i documenti in sessione sono una versione congelata dei documenti dell'area di lavoro. La pubblicazione dei documenti viene gestita usando il flusso di lavoro, una richiesta di pubblicazione deve essere approvata affinché il documento possa essere visibile in sessione. Sessioni, aree di lavoro e Template sono raggruppati in domini. Un 13

18 dominio può essere considerato come una mini applicazione in Nuxeo o una directory dell'applicazione. Generalmente è possibile usare domini per aprire applicazioni per 2 o più gruppi di utenti. Per esempio, è possibile avere un dominio intranet e un dominio extranet. I domini possono essere totalmente indipendenti o no, dipende dai diritti di accesso configurati su ogni dominio. L'accesso ai documenti e le azioni permesse sono determinate attraverso i diritti di accesso. Per esempio diversi utenti possono solo leggere il documento, mentre altri possono modificare documenti. I diritti di accesso di Nuxeo sono: lettura, scrittura, gestione di diritti, rimozione di diritti, commentare, moderare. I diritti acquisiti in uno spazio di lavoro sono ereditati direttamente dalle sotto-aree di lavoro. Per rendere i diritti di accesso più facili da gestire, è possibile creare gruppi di utenti. Sono utili quando è necessario dare o negare diritti di accesso ad un gruppo di utenti infatti è possibile eseguire l'operazione una sola volta per diversi utenti usando i gruppi di lavoro. I gruppi di lavoro di default sono: Amministratore: gli utenti di questo gruppo sono amministratori dell'applicazione. Hanno il compito di gestire l'applicazione e possono accedere all'admin center, modificare il vocabolario dell'applicazione, gestire gli utenti e i gruppi di utenti, e gestire i temi implementati all'applicazione. Membri: gli utenti di questi gruppi non sono amministratori dell'applicazione e hanno diritti limitati. 3.3 Sistemi di Gestione Contenuti Multimediali - Nuxeo DAM Nuxeo DAM (Nuxeo Digital Asset Management), Figura 3.2, basato sulla piattaforma Nuxeo Open Source ECM, fornisce le funzionalità necessarie per gestire file multimediali, dalla cattura alla distribuzione. 14

19 I tipi di risorse gestii da Nuxeo DAM sono file di immagini, video, e audio, anche se gestisce PDF e files Office. E' possibile inoltre installare ed usare sia Nuxeo DM e Nuxeo DAM, e condividere gli stessi dati, l' uso consigliato sarebbe quello di usare Nuxeo DM come strumento di backoffice, e Nuxeo DAM come piattaforma avanzata di consultazione, accedendo ai contenuti multimediali memorizzati nell' asset library di Nuxeo DM da Nuxeo DAM senza cambiare applicazione. Figura 3.2 Vista di Nuxeo DAM 3.4 Framework di Sviluppo - Nuxeo CMF Nuxeo CMF (Case Management Framework) è un Framework che consente di creare e distribuire entità case e rispettivi contenuti. Essendo un Framework, è possibile usare Nuxeo CMF come base tecnica per lo sviluppo di applicazione di entità case centralizzati come per esempio applicazioni di mailing o di gestione delle fatture. Nuxeo CMF include inoltre molte utilità per utenti finali che sono accessibili direttamente dal browser web. Una entità case è un semplice documento composto da un allegato opzionale o da un contenuto testuale o da metadata. 15

20 Un case potrebbe essere una cartella che contiene uno o più case. I case sono creati, modificati e distribuiti e memorizzati in cartelle chiamate mailboxes i quali possono appartenere a singole persone od a entità quali mailboxes generiche. Per aiutare l'utente ad organizzare un processo di case, esiste il classificatore delle cartelle, dove l'utente può organizzare case ricevuti dalla sua mailboxes. Generalmente utenti hanno accesso ad una o ad diverse mailboxes usate per trasferire o memorizzare entità cases. All'interno di una mailbox l'utente può modificare i case ricevuti inserendo i propri metadata, o aggiungendo nuovi case nello stesso case. Se necessario il case può essere distribuito ad altri utenti, che di contro possono ricevere il case nelle rispettive mailboxes. Per esempio in un'applicazione di corrispondenza il case è una busta che contiene uno o diversi documenti. Questa busta può essere trasferita a uno o diversi mailboxes in relazione a recipienti di s. Nel campo delle assicurazioni, un case può essere un sinistro automobilistico. Il case potrebbe riguardare un resoconto sul sinistro, il contratto di assicurazione delle persone coinvolte nell'incidente, le foto del sinistro e tutti gli altri dati riguardanti lo stesso. (Figura 3.3) Figura 3.3 Vista di Nuxeo CMF 16

21 3.5 Piattaforma Enterprise - Nuxeo EP Tutte le applicazioni ECM sono costruite al vertice di quello che viene conosciuto come Nuxeo EP (Nuxeo Piattaforma Enterprise). Nuxeo EP, non è un prodotto scaricabile ed eseguibile, ma è invece una piattaforma sottostante, java-based, che fornisce una infrastruttura tecnica ed un servizio ad alto livello necessario per la creazione di applicazioni ECM personalizzate. La figura serve a dare un'idea generale di come un'applicazione ECM è costruita utilizzando come piattaforma sottostante Nuxeo EP. Figura Architetture della piattaforma sottostante Nuxeo Ep. Come si può vedere (Figura 3.4) i componenti EP vengono usati come la base sottostante per le attuali distribuzioni installabili mediante la semplice aggiunta di specifici pacchetti. Quindi, tutta l'architettura di Nuxeo è basata su di un'infrastruttura che include: Una suite di sviluppo Java, come Oracle's Java 6 or OpenJDK 6; 17

22 Un application engine, come JBoss application server o Tomcat servlet engine; Un database certificato da Nuxeo EP, come PostgreSQL, Oracle o Microsoft SQL Server; I Sistemi operativi, come Linux, Windows or Mac OS X, che supportano Nuxeo e i programmi descritti precedentemente; In poche parole Nuxeo è completamente basato su Java, quindi grazie a questo risulta flessibile in termini di installazione. Oltre ai pacchetti eseguibili, esistono anche le versioni per gli sviluppatori che vogliono personalizzare il prodotto, che sono "Core Server" e la "Content Application Platform" (CAP). Nuxeo Core Server: Questo modulo contiene il servizio di repository base e il servizio di gestione di contenuti di Nuxeo EP, creato per gli sviluppatori Java.Questo pacchetto è l'ideale per gli sviluppatori interessati ad accedere a basso livello al contenuto del repository via APIs come REST o CMIS. Nuxeo Content Application Platform (CAP): Questa è una versione di pacchetti per sviluppatori java che sviluppano applicazioni di gestione di contenuti (vertical o horizzontal). Nuxeo CAP arriva da una versione pre-packaged con una interfaccia Web User implementabile che sta al di sopra della base del repository e dei servizi, è basata su tecnologia JSF (Java Server Faces). Nuxeo CAP è perfetto per quegli sviluppatori che vogliono migliorare l'interfaccia Utente e per costruire applicazioni personalizzate. Queste due versioni in distribuzione sono necessarie per gli sviluppatori che vogliono disegnare le loro applicazioni sfruttando come piattaforma sottostante Nuxeo.. Nuxeo EP, è suddiviso in diversi pacchetti, chiamati Bundles, che 18

23 sono archivi Jar che contengono: un file MANIFEST basato su tecnologia OSGI; Classi Java; Componenti XML; Risorse; un deployment descriptor; Il file MANIFEST, figura 3.4.2, è utilizzato per: definire un id univoco al bundle; definire le dipendenze dello stesso bundle con altri bundle già presenti in nuxeo, che offrono servizi necessari all'esecuzione del bundle stesso; una lista in formato XML dei componenti del Bundle; Figura Vista di un file MANIFEST. Un vantaggio della piattaforma Nuxeo è quello di fornire componenti e servizi che possono facilmente essere configurati ed estesi. Questa tecnica del sistema di punti di estensioni è ispirata alle piattaforme come Eclipse o Equinox. I punti di estensioni ti permettono di: configurare i comportamenti dei componenti (attraverso XML); estensione del comportamento dei componenti (attraverso codice Java 19

24 o scripting); Di base, all'interno di Nuxeo EP, il pattern è sempre lo stesso: i servizi sono forniti attraverso i componenti; componenti sono esposti attraverso i punti di estensione; Il sistema dei punti di estensione, figura 3.4.3, viene usato su tutta la piattaforma: all'interno Nuxeo Runtime; all'interno Nuxeo Core (configura ed estende il Document storage ); all'interno dello strato dei servizi di Nuxeo (configura ed estende i servizi ECM ); all'interno lo strato UI (Interfaccia Utente) (assembla costruendo blocchi, contribuisce nuovi bottoni o viste, configura la navigazione etc); Ogni componente java può dichiarare diversi punti di estensione. Questi possono essere usati per: fornire configurazioni, fornire codice addizionale come ad esempio i Plug-In.. Così molti servizi di Nuxeo sono configurabili e Pluggabili, attraverso i componenti sottostanti. 20

25 Figura Architettura a Bundle di Nuxeo con i punti di estensione. Il modello dei componenti e i servizi Nuxeo sono modelli POJO (Plain Old Java Objects), ma possono essere integrati in applicazioni JEE per incrementare i servizi forniti attraverso questo contenitore. Per questo scopo, i servizi Nuxeo possono essere gestiti dai componenti EJB3 Session Beans. Facendo così si fornisce: un servizio di accesso remoto (RMI); un supporto alle transazioni; una gestione di sicurezza attraverso JAAS; un Entity Manager access via injection; un pooling dei componenti EJB3; Il servizio di repository di Nuxeo (DocumentManager) è disegnato per gestire Session beans con stato, per la sessione core sottostante. Dal punto di vista del cliente, il servizio è sempre accessibile allo stesso modo: la runtime di Nuxeo, figura 3.4.4, gestisce la chiamata a JNDI cercando un EJB3 o un semplice POJO eseguendo le ricerche necessarie a dipendenza della configurazione e all'ambiente di deployment. 21

26 Figura Rappresentazione grafica della chiamata della runtime di Nuxeo L'architettura stratificata determina il modo di suddividere in pacchetti le nuove funzionalità (features) di Nuxeo. Il sistema dei pacchetti bundle consente di gestire più opzioni di deployment possibili e di permettere all'utente quali funzionalità scegliere e dove installarle. Generalmente questo significa che ogni funzionalità, figura 3.4.5, potrebbe essere composta da: API Bundle che contiene tutte le interfacce e gli oggetti remoti necessari per accedere ai servizi forniti; Core Bundle che contiene le implementazioni POJO per i componenti e i servizi; Facade Bundle che fornisce le funzionalità di bindings JEE per i servizi come ad esempio, JTA (Java Transaction Api), Remoting, JAAS (Java Authentication and Authorization Service); Core Contrib Bundle che contiene tutte i Contributions per il Repository di Nuxeo (tipi di documento, listeners, politiche di sicurezza...); Client bundles. 22

27 Figura Schema che rappresenta dove le funzionalità possono essere implementate. 3.6 Servizi e API - Nuxeo Api Nuxeo EP fornisce diversi tipi di servizi e di API, figura : Java local API Java remote API WebService (JAX-WS) API REST (JAX-RS) API (Representational Transfer State ) AMF (Flash) API Figura Schema dei servizi API di Nuxeo 23

28 Fin dalla nascita Nuxeo EP è stato implementato attraverso il linguaggio Java, questo significa che per estendere Nuxeo è necessario usare le API di Java. Allo stesso modo per accedere ai contenuti di Nuxeo EP è possibile farlo attraverso i protocolli standard gestiti attraverso Java. Nuxeo EP supporta, figura : CMIS (Common Management Information Service), WebDav, Windows Sharepoint Services protocol (solo il subset usato da MS Office e MS Explorer). In confronto alle APIs, questi protocolli non daranno l'accesso ai servizi ma solo direttamente ai contenuti. Figura Rappresentazione dei prodotti supportati da Nuxeo EP La possibilità di accedere ai contenuti di Nuxeo EP dipende molto dal protocollo scelto: 24

29 CMIS fornisce l'accesso a un grande set di dati gestiti da Nuxeo; WebDav e WSS (Web Service Security) principalmente mappano i contenuti di Nuxeo come fosse un file system (con tutte le limitazioni associate); Questi protocolli possono essere utilizzati in svariati modi: come desktop integration; per l'accesso ai contenuti di Nuxeo; 3.7 Connettori Nuxeo All'interno di Nuxeo EP, le directory sono usate per fornire un'astrazione a tutti i dati che vengono manipolati all'interno dell'applicazione. Questi dati possono essere: utenti; gruppi di utenti; liste fisse di valori (vocabolario); ruoli;... Di base Nuxeo cerca di mappare tutti i dati che possono essere gestiti come record via directory. Per questo, le directory forniscono un semplice CRUD API (operazioni di Create, Retrieve, Update, Delete) e un'astrazione dell'applicazione, figura Questo significa che la piattaforma dei servizi non deve preoccuparsi di dove e come i dati vengono memorizzati, ma deve soltanto accedere agli stessi via API. 25

30 Figura Astrazione dei dati gestiti da Nuxeo attraverso il concetto delle directory. Le directory vengono gestite attraverso: SQL Directory che possono mappare tabelle SQL; LDAP Directory che possono mappare server LDAP (Lightweight Directory Access Protocol); Multi-Directory che permetto di combinare diversi directory in una singola; Un'astrazione delle directory è la mappatura attraverso i Webservice o da applicazioni che gestiscono i dati centralizzati. Autenticazione e gestione utenti è anche un tipico caso d'uso d'integrazione tra Nuxeo EP e infrastrutture già esistenti attraverso : l'integrazione di un singola entità del sistema, l'integrazione di un'applicazione che gestisce utenti e profili, l'integrazione di un'applicazione che gestisce gruppi. Come visto prima, l'astrazione delle directory fornisce parti di queste soluzioni, ma per essere possibile integrare una quantità di differenti autenticazioni, il sistema di autenticazioni di Nuxeo EP è stato disegnato per essere estensibile. L' identificazione iniziale può essere fatta a livello Java via JAAS o a livello HTTP, utilizzando un filtro dedicato. Il filtro è 26

31 estensibile così che i modi per recuperare le credenziali possono essere adattati al sistema. Il modulo di login di JAAS è anche estensibile così che per l' utente sarà possibile definire come le credenziali vengano validate. Di default, le credenziali sono validate per le directory che usano LDAP, SQL o un'applicazione esterna, figura Figura Rappresentazione dell'autenticazione di Nuxeo Quando si rende necessario integrare delle funzionalità di un'applicazione esterna in Nuxeo o è necessario inserire dati da un'applicazione esterna, gli eventi di Nuxeo rappresentano solitamente una buona soluzione, figura Figura Integrazione di dati o applicazioni esterne a Nuxeo 27

32 3.8 Soluzioni Client - Nuxeo UI frameworks Nuxeo EP propone differenti tecnologie per il lato cliente di un'applicazione. La scelta di una tecnologia contro le altre dipende sia dal progetto che dal suo contesto. Le differenti tecnologie disponibili sono, figura 3.7: JSF (Java Server Faces) / JBoss Seam framework per applicazioni web 2.0; WebEngine, frameworks per applicazioni basate su JAX-RS; Flex Client, Open Source framework per costruire applicazioni web interattive; GWT Client, Open Source framework per costruire applicazioni web conn AJAX; Figura 3.7 Tecnologie utilizzate da Nuxeo dal lato cliente dell'applicazione 28

33 Capitolo Il Plug-in Nuxeo-Diff-Version 4 4 Il Plug-in Nuxeo-Diff-Version In questo capitolo verrà descritto il Plug-in Nuxeo-Diff-Version partendo dall'analisi di definizione dei requisiti fino al design ed allo sviluppo del Plug-in. Verranno mostrate le scelte tecnologiche ed architetturali usate per la creazione del Plug-in. Per motivi di spazio non saranno trattati in modo approfondito tutti i metodi delle classi che costituiscono il Plug-in ma soltanto i metodi che si è ritenuto diano un'idea generale della composizione del Plug-in. 4.1 Definizione dei requisiti I software per la visualizzazione di differenze nascono per l'esigenza di controllare le differenze tra due versioni diverse di uno stesso documento, infatti prodotti come Microsoft VisualSourceSafe, MKS, SVN (subversion) già presenti da molto tempo nel mercato servono a soddisfare quest'esigenza. Risulta essere molto importante potere disporre di questa funzionalità in un software ECM come Nuxeo, specialmente quando questo prevede flussi di lavoro che prevedono la modifica dello stesso documento da parte di diverse persone che rivestono diversi ruoli nell'organizzazione di un'azienda. Si vuole creare un Plug-in su piattaforma Nuxeo EP, che consente di 29

34 mostrare le differenze tra due versioni diverse dello stesso file. I tipi di file che il Plug-in deve essere in grado di gestire sono fondamentalmente quattro: File con estensione ODT (Open Office writer) File con estensione PDF (Acrobat) File con estesione Word (Microsoft Word) File con estensione TXT (normali file in ascii) Il Plug-in deve essere prodotto seguendo le specifiche tecniche per la creazione di un Plug-in di Nuxeo. Deve rispettare inoltre la caratteristica essenziale che i Plug-In hanno e cioè quella di essere installabile senza ricompilare il codice de Core del progetto ospitante. Un requisito fondamentale deve essere quello che il Plug-In deve essere in grado di accedere alle funzionalità Core di Nuxeo per poter avere a disposizione le versioni storicizzate dei file da analizzare. Un altro requisito molto importante è quello che il codice sorgente del Plug-In deve essere facilmente estensibile, questo per la caratteristica del servizio che il Plug-in si prefigge di soddisfare e cioè la visualizzazione di differenze tra due versioni dello stesso file. Quindi deve avere la capacità di inglobare facilmente un tipo di file non ancora gestito nel Plug-In con un impatto minimo sul codice Core dello stesso. 30

35 4.2 Piano di lavoro ID Attività 1 Obiettivi globali Durata Definizione degli obiettivi globali del progetto Definizione delle risorse 2 1 g 30/07/ g 31/07/ g 05/08/ g 13/08/2011 Analisi dei requisiti Bozza delle specifiche Verifica delle specifiche Definizione delle scadenze di consegna 5 1 g 29/07/2011 Formazione Studio architettura Nuxeo Studio di implementazione di un plug-in in Nuxeo Studio di JSF e Seam Objects 3 Inizio 3 g 17/08/ g 20/08/ g 25/08/2011 Sviluppo del codice DiffMatch.java DiffVersionActions.java DiffVersionActionsBean.java VersionsMapStrUsr.java GenericDoc.java ODTDoc.java PdfDoc.java 31 1g 1g 1g 1g 1g 1g 1g 31/08/ /09/ /09/ /09/ /09/ /09/ /09/2011

36 TxtDoc.java WordDoc.java TestDiffMatch.java TestDiffVersionActionsBean.ja va TestPdfBoxN.java TestTxtDoc.java TestWordDoc.java 6 10/09/ /09/ /09/ /09/ g 14/09/ g 19/09/ g 21/09/ g 23/09/ g 25/09/2011 Documentazione Stesura manuale per Nuxeo 9 1g 1g 1g 1g Testing Testing dei moduli Testing globale in base alle specifiche Identificazione di anomalie e modifiche Testing sui moduli corretti Testing globale 7 1 g 07/09/ g 08/09/ g 09/09/2011 Consegna 3 g 29/09/11 02/10/11 Figura Piano di lavoro 32

37 Durante la progettazione e implementazione del Plug-in non si sono verificati particolari problemi che hanno richiesto una analisi dei rischi e l'identificazione di strategie alternative per il raggiungimento degli obiettivi preposti. Le maggiori difficoltà incontrate sono state nell'implementazione, perché il Plug-In oggetto di questa tesi, non si limita ad utilizzare le extentions che Nuxeo offre agli aspiranti contributors di Nuxeo, ma va un po oltre utilizzando anche metodi disponibili soltanto dal lato Core del programma e per i quali esiste poca documentazione. 4.3 L'architettura di Nuxeo-Diff-Version Per massimizzare la modularità e la manutenibilità del Plug-In si è deciso di definire una architettura principale del Plug-in formata da tre principali pacchetti: org.nuxeo.diffversionpkg, che contiene le classi per l'implementazione del Seam JBoss, per la gestione diretta delle richieste fatte dall'utente tramite browser che racchiudono operazioni quali il controllo delle versioni selezionate, la visualizzazione delle differenze fra le due versioni e anche la gestione degli errori che l'utente potrebbe commettere (selezionando un sola versione e cliccando sul bottone confronta, selezione di tre versioni etc,. org.nuxeo.diffmatchpkg, contenente le classi che gestiscono il motore di ricerca delle differenze tra due file. org.nuxeo.typedocpkg, contiene un'interfaccia generica chiamata genericdoc che a sua volta viene implementata da 4 classi distinte ognuna per ogni tipo di documento che si vuole gestire. 33

38 Figura Architettura di Nuxeo-Diff-Version Progettazione del pacchetto org.nuxeo.diffversionpkg Questo pacchetto contiene un'interfaccia DiffVersionAction che viene implementata dalla classe DiffVersionActionBean. Quest' ultima classe gestisce tutte le richieste fatte dall'utente che vuole controllare le differenze tra due versioni diverse dello stesso file. La VersionMapStrUsr è la classe che gestisce la comunicazione con il Seam Bean per la gestione della operazioni di visualizzazione delle differenze tra due versioni dello stesso file, il metodo più importante da 34

39 descrivere è il metodo setsessionid, che gestisce l'accesso in mutua esclusione delle operazioni di visualizzazione di differenze. L'architettura di questo pacchetto fa uso del Design Pattern conosciuto con il nome Composite, che come vedremo più avanti viene implementato attraverso l'utilizzo di una classe di tipo Map. L'uso di questo tipo di architettura è stato necessario per la gestione dell'interazione tra il sistema e più utenti, perché, data la natura del lavoro, non è possibile fare uso direttamente di un database, infatti si è implemento un Plug-In quindi possiamo usare soltanto le funzionalità che ci offre il Core senza modificarne il codice ne tanto meno il modello dati sul quale questo è basato. org.nuxeo.diffversionpkg <<interface>> DiffVersionAction +setpagenr(paramstr: String) +setprevpagenr(sessionid: String) +setnextpagenr(sessionid: String) +setlastpagenr(sessionid: String) +setfirsttpagenr(sessionid: String) +clear(sessionid: String) +setversionitem(selectedversionstr String) +iscomparestate(sessionid String): Boolean +getitemversioninghistory(document DocumentModel, label: String): DocumentModel +getnrpages(): Integer +setnrpages(nrpages: Integer) +isfirstpage(): Boolean +islastpage(): Boolean +getpagenr(): Inteteger +setpage(inpagenr) +getstrfromfile(docversion: DocumentModel, Currentpage: Integer): String +compareres(document DocumentModel): String VersionMapStrUsr DiffVersionActionBean +setref(inref: String) +setversion(inversion: String) +setsessionid(insessionid: String) +setpage(inpage: Integer) +getref(): String +getversion(): String +getsessionid(): String +getpage(): Integer Figura Architettura di org.nuxeo.diffversionpkg 35

40 4.3.2 Progettazione del pacchetto org.nuxeo.diffmatchpkg Il pacchetto org.nuxeo.diffmatchpkg, come anticipato prima contiene le classi che gestiscono il motore di ricerca delle differenze tra due file passati come input. La classe che implementa questa funzionalità è la diffmatch, la cosa importante da notare è il Design Pattern utilizzato per l'implementazione di questo pacchetto e cioè il Design Pattern Composite, dove la classe DiffMatch è la classe principale e la classe Diff rappresenta l'insieme delle differenze che la classe DiffMatch sarà in grado di individuare. I metodi principali della classe DiffMatch sono la diff_main che crea la collezione di oggetti di tipo Diff, e il metodo diff_prettyhtml che restituisce un testo in formatto HTML che rappresenterà la pagina mostrata all'utente durante la fase di visualizzazione delle differenze tra due versioni dello stesso documento. org.nuxeo.diffmatchpkg Diff DiffMatch +operation: Operation +text: String +diff_main(text1: String, text2: String) +diff_prettyhtml(diffs: Diff): String +Diff(operation: Operation, text: String) Figura Architettura di org.nuxeo.diffmatchpkg 36

41 4.3.3 Progettazione del pacchetto org.nuxeo.diffmatchpkg L'architettura di questo pacchetto si basa sul Design Pattern Strategy, per il quale il comportamento di una oggetto istanziato attraverso una variabile di tipo interfaccia, è determinato dal tipo di classe d'istanza. Infatti questo tipo di Design Pattern suggerisce l'incapsulamento della logica di ogni particolare algoritmo relativo ad ogni tipo di documento gestito, in quattro specifiche classi. E' stato implementato questo tipo di Design Pattern anche per rendere modulare ed espandibile lo stesso Plug-In, in vista di una futura gestione di altri tipi di documento diversi da quelli gestiti in questa versione. L'interfaccia GenericDoc dichiara il metodo EstractStrFromDoc, che restituisce la stringa corrispondente alla pagina corrente del nome del documento passato come parametro di input, NrPages, che restituisce il numero di pagine del nome del documento passato come parametro di input ed infine il metodo setpage che posiziona la pagina come pagina corrente il numero di pagina passata come parametro di input. org.nuxeo.typedocpkg <<interface>> GenericDoc +ExtractStrFromDoc(fileName: String) +NrPages(fileName: String) +SetPage(page: Integer) WordDoc ODTDoc PdfDoc TxtDoc Figura Architettura di org.nuxeo.typedocpkg 37

42 4.4 Implementazione del Plug-in In questo paragrafo verrà descritto il Plug-In e in modo particolare, i tre pacchetti che sono stati implementati, la descrizione delle funzioni JavaScript per gestire l'interazione con l'utente riguardanti la comparazione di due versioni, la struttura di vari file, che come vedremo più avanti risulteranno determinanti per l'implementazione del Plug-In. Prima di iniziare è importante sapere che le tecnologie utilizzate per implementare Nuxeo-Diff-Version sono le seguenti: JSF (JavaServer Faces), un Web framework per generare pagine HTML e gestire il flusso di navigazione JavaScript, linguaggio di scripting molto popolare e compatibile con la maggior parte dei browser presenti in internet, solitamente viene usato per rendere le pagine Internet interattive. Maven, un tool molto utile per la costruzione e gestione di progetti, infatti verrà usato per precompilare il Plug-In e per lanciare i test. Seam JBoss che è una potente application framework per Java Enterprise, che può essere integrato con AJAX (Asincronous JavaScript and XML), JSF, EJB (Enterprise Java Bean) Visione d'insieme dell'albero della cartelle Nella figura viene mostrato come è organizzata la struttura principale dell'albero della cartelle di Nuxeo-Diff-Version, la cartella che andremo a descrivere in particolare sarà quella che rappresenta la cartella 38

43 principale dei sorgenti del Plug-In, e cioè la src. Figura Struttura delle cartelle di Nuxeo-Diff-Version le cartelle principali di src sono: main, che contiene la cartella java e resource, nelle quali sono implementate rispettivamente il codice dei tre pacchetti visti precedentemente e le risorse quali template JSF, files per la gestione della multilingua, e i file di configurazione del Plug-In in formato XML; test: che contiene il codice java di test delle classi che implementano i pacchetti Il file deployment-fragment.xml Il file necessario durante la fase di deployment-fragment.xml, descrive le attività necessarie che devono essere eseguite per l'installazione del componente (figura 4.4.2): 1) il primo elemento di questo file con l'attributo application#module sta ad indicare che Nuxeo-Diff-Version, 39

44 è un modulo che fa parte del sistema Nuxeo EP, in questo modo il Core di Nuxeo EP sarà in grado di individuare il Plug-In come Bundle e quindi di inglobarlo nel sistema. 2) il secondo elemento serve a decomprimere e copiare tutti i file del Plug-In che si trovano nella sotto-cartella web/nuxeo.war (che sono le icone e i templates) nella cartella corrispondente in Nuxeo. 3) il terzo elemento serve a creare una cartella temporanea lesson110n.tmp, utilizzata per copiare i files che contengono le traduzioni di tutti i controlli gestiti dal Plug-In e anche dei messaggi di errore a video mostrati quando l'utente esegue un'operazione non corretta. 4) il quarto elemento esegue un'operazione di append attraverso la quale aggiungerà le traduzioni del Plug-In a quelle già esistenti in Nuxeo. 40

45 Figura Struttura delle cartelle di Nuxeo-Diff-Version Il file POM Il POM (Project Object Model) è un file XML che contiene informazioni inerenti il progetto del Plug-In e i dettagli di configurazione per la compilazione con Maven. In figura viene mostrata la parte iniziale del file nella quale vengono descritti i seguenti elementi: modelversion, il valore 4.4.0, indica da quale versione di Maven il progetto viene supportato. groupid che rappresenta la struttura delle cartelle del Plug-In. artifactid che rappresenta il nome del Plug-In. name descritto come il Conversional name rappresenta un nome aggiuntivo a quello attribuito dall'elemento artifactid. version rappresenta la versione del Plug-In. description rappresenta un descrizione aggiuntiva per dare l'idea della funzionalità per il quale il Plug-In è stato creato. packaging rappresenta la modalità di compressione dell'intero progetto. parent rappresenta il progetto bundled dal quale Nuxeo-DiffVersion eredita le funzionalità. 41

46 Figura Prima parte del file POM Nella seconda parte del file, mostrata nella figura , c'è l'elemento build che gestisce il building del Plug-In, nel quale vengono inclusi i seguenti elementi: maven-jar-plugin, che è un Plug-In per il building del progetto in formato jar, la cosa importante da notare in questa sezione è la gestione del file MANIFEST.MF, che verrà trattato nella prossima sessione, che viene implementato attraverso gli elementi archive e manifest di questo file. maver-compiler-plugin dove viene dichiarata la versione di java attraverso gli elementi source e target. 42

47 Figura Seconda parte del file POM Nella terza parte del file mostrata nella figura , vengono inseriti gli elementi che rappresentano le liste delle dipendenze, una funzionalità che rappresenta la punta di diamante del compilatore Maven perchè rende il progetto modulare. Infatti attraverso questa funzionalità, è possibile ereditare funzionalità da altri componenti evitandone cosi l'implementazione diretta delle stesse all'interno del Plug-In. Nella lista di dipendenze troviamo: 43

48 jdom api Open-Source, libreria sviluppata per fornire una strumento per la gestione di documenti XML, quindi per leggere anche i documenti ODT, che è una funzionalità richiesta da NuxeoDiff-Version. nuxeo-platform-webapp-base fornisce le funzionalità di navigazione sul web jboss-seam e jboss-seam-remoting dipendenze per l'uso dei componenti Seam JBoss. pdfbox fornisce le funzionalità per la gestione dei file PDF. Figura Terza parte del file POM 44 fornisce le

49 4.4.4 Il file MANIFEST.MF Il MANIFEST.MF è un file speciale che contiene informazioni sui files compressi in formato Jar. In questo file sarà possibile trovare molte informazioni importanti tra le quali il Created-By che indica chi ha creato il Plug-In, la versione del JDK (Java Development Kit) utilizzata, l' applicazione di archiviazione che in questo caso è la Plexus Archiver, anche questo un progetto Open-Source, la versione del Plug-In e il nome dello stesso. Un informazione forse fuori standard rispetto a progetti di questo tipo, implementata dalla Nuxeo, è la Nuxeo-Require che ne delinea le dipendenze, infatti come si può osservare dalla figura le dipendenze elencate sono sostanzialmente tre : org.nuxeo.ecm.core è il bundle core di nuxeo che contiene il codice java che gestisce il versioning dei files. org.nuxeo.ecm.core.schema è il bundle Core di Nuxeo che contiene il codice che gestisce lo schema di varie funzionalità dell'applicazione. org.nuxeo.ecm.webapp.core è il bundle Core di Nuxeo che contiene il codice java per la gestione della navigazione all'interno di nuxeo. 45

50 Figura Vista del file MANIFEST.MF I file messages.properties Un file che merita attenzione, perché fornisce la funzionalità multilingua, che risultano cruciali per un ECM di questo tipo, in vista del fenomeno di globalizzazione che tutti stiamo vivendo. Come è possibile intuire osservando la figura ad ogni lingua viene creato un file corrispondente che contiene le traduzioni che verranno usate nel Plug-In. Figura I file messages.properties in diverse lingue Inoltre le traduzioni sono complessivamente 5 (figura ): 46

51 command.button.compare etichetta del bottone confronta. command.button.back etichetta del bottone indietro. command.combo.label.pages etichetta del controllo combo box error.message.onlytwocheckbox messaggio di errore mostrato all'utente che ha erroneamente scelto una sola versione da confrontare. error.message.atleasttwocheckbox messaggio di errore mostrato all'utente che ha erroneamente scelto più di due versioni da confrontare. Figura Effetti del file messages.properties 47

52 4.4.6 File seam.properties e JavaScript Il seam.properties è un file necessario per l'utilizzo dei componenti Seam JBoss. Questo file viene posto nella cartella di deploy del Plug-In (figura 4.4.6). Si potrebbe ritenere che non sia un design ottimale per un Framework, perché senza questo file, che risulta essere praticamente vuoto, il comportamento del componente, soprattutto se usato in codice JavaScript non risulta essere corretto, comunque questo file rappresenta un workaround adottato a causa di una limitazione della JVM (Java Virtual Machine). Se non venisse adottato questo meccanismo la migliore opzione sarebbe quella di elencare esplicitamente in un file ciascun componente, proprio come fanno gli altri framework attraverso un file con nome components.xml. Figura Vista su dove si trova il seam.properties Implementazione del pacchetto diffversionepkg Nella figura viene mostrato il codice dell'interfaccia DiffVersionActions, come si può notare dall'immagine le cose importante da rilevare è la parte import del file java, infatti l'inclusione del file 48

53 DocumentModel, che appartenete ad un pacchetto del Core di Nuxeo, risulta essere basilare per poter manipolare il documento stesso. Nella figura è stato riportato per motivi di spazio solo una parte dell'interfaccia, nella quale è possibile individuare la dichiarazione di metodi che poi verranno usati dai template per gestire interazione con l'utente. Figura Vista del file DiffVersionActions.java Nella figura DiffVersionActionBean viene mostrata la parte iniziale il che implementa l'interfaccia DiffVersioneAction, come si può notare dall'immagine la cosa importante da rilevare è la presenza del VersionModel, che è il file che codifica la classe che da accesso alle versioni del documento. Appena sopra il DocumentModel, c'è anche il file CoreSession.java, che serve a recuperare la sessione dell'utente che sta effettuando la richiesta. La sessione viene utilizzata per gestire 49

54 separatamente l'accesso alla comparazione di versioni di un documento. Infine troviamo anche l'inclusione dei file che contengono le classi per la gestione dei Log, importanti per il monitoraggio degli errori. Figura Vista del file DiffVersionActionsBeans.java Nella figura vengono mostrate due annotazioni richieste per Seam JBoss e : Definisce il nome del componente Seam per una classe, nome che viene usato nei template Jsf per accedere ai metodi del : Definisce il contesto di default del componente che in questo caso è di conversazione, che è un modo diverso di gestire le sessioni HTTP usato da Seam JBoss. 50

55 Figura Annotazioni di Seam JBoss Nella figura viene mostrato un metodo evidenziare come viene implementato l'accesso ai metodi delle classi gestite dal Core di Nuxeo. Figura Vista di un metodo che accede al core di Nuxeo Implementazione del pacchetto org.nuxeo.typedocpkg Le classi di questo pacchetto sono state progettate per essere utilizzate dal DiffVersionActionBean. Come si può notare dalla figura ci sono quattro classi diverse che implementano tutte la stessa interfaccia che è GenericDoc.java. Dai nomi dei file è possibile determinare quali tipi di documento queste classi gestiscono, la ODTDoc.java implementa i metodi di GenericDoc per documenti di tipo 51

56 OpenOffice, la PdfDoc per i documenti PDF e cosi via. Figura Vista dell'albero delle classi del package org.nuxeo.typedocpkg Nella figura viene mostrata l'interfaccia GenericDoc con i tre metodi da implementare: ExtractStrFromDoc : mostra la pagina corrente in formato testo del documento in passato come parametro di input. NrPages : ritorna il numero di pagine del documento passato come parametro di input. SetPage : posiziona la pagina corrente del documento con il numero di pagina passato come parametro di input. Figura L'interfaccia GenericDoc 52

57 4.4.9 Implementazione del pacchetto org.nuxeo.diffmatch In questo pacchetto la classe sulla quale concentrare l'attenzione è la Diff, che rappresenta la differenza individuata tra due stringhe di testo, questa viene utilizzata dalla classe DiffMatch, infatti questa classe ha come metodo diff_main che date in input due oggetti di tipo String ritorna un oggetto di tipo LinkedList di tipo Diff, praticamente una collezione di oggetti di tipo Diff. (figura ) Figura L'interfaccia GenericDoc da come si può notare dalla figura una proprietà della classe Diff è operation e cioè il tipo di differenza che può essere uno dei seguenti tipi: INSERT : la differenza rispetto alla versione precedente è un'aggiunta di testo. DELETE : la differenza rispetto alla versione precedente è di rimozione di testo. EQUAL : nessuna differenza tra le due versioni di testo. 53

58 Figura La classe Diff Per quando riguarda ancora la classe DiffMatch, ha come metodo diff_prettyhtml (figura ) che dato come input una collezione di tipo Diff ritorna come risultato una stringa in formato Html, utilizzabile direttamente come risultato della comparazione di due files. Questo metodo viene utilizzato dal metodo compareres di DiffVersionActionsBean che a sua volta viene utilizzato nel codice JavaScript del template che gestisce le versioni storicizzate del documento secondo l'architettura JSF / Seam JBoss. 54

59 Figura Il Metodo diff_prettzhtml I template JSF e JavaScript Nella figura viene mostrato l'albero della cartelle che contiene i template JSF dove: document_result_compare.xhtml: template che crea una pagina HTML che mostra il risultato della comparazione; document_versions_buttons.xhtml: utilizzato da document_versions_template.xhtml aggiunge i controlli che servono a selezionare le versioni da comparare. document_versions_template.xhtml: template che crea la pagina HTML che mostra le versioni del documento. document_versions.xhtml : template che crea la pagina HTML che ingloba le pagine create dai template visti prima. 55

60 Figura vista della cartella dei template JSF Nella figura viene mostrato l'uso di codice Javascript unitamente alla tecnologia Seam JBoss, infatti come si può notare nella funzione setpagenr viene invocato il metodo setpagenr del componente compareversionactions che rappresenta il valore della classe DiffVersionActionsBeans vista prima. Figura chiamata di componente Seam JBoss da javascript Nella figura viene mostrato come viene implementata la chiamata dal template JSF verso il componente Seam JBoss nell'evento onclick del componente visuale di tipo selectbooleancheckbox. Figura chiamata di componente Seam JBoss da template 56

61 4.5 Casi d'uso In questo paragrafo verranno eseguiti i Casi d'uso che saranno utili a vedere il funzionamento del Plug-In dal punto di vista utente. In figura viene mostrata la pagina del Document Management, dove sono elencati i documenti che sono a disposizione dell'utente Antonio nella sua area di lavoro, come si potrà notare sono stati inseriti volutamente tutti i tipi gestiti dal Plug-In più un tipo non gestito, perché sprovvisto di allegati, che è quello con il titolo nota vista della finestra Document Management 57

62 In figura sarà possibile vedere la scheda Archiviato versioni che rappresenta la scheda che contiene le versioni archiviate dello stesso documento. Per chi non conoscesse Nuxeo DM, la scheda standard è uguale a quella mostrata in figura con la differenza che non esistono i controlli di tipo selectbooleancheckbox e non esiste il bottone Confronta infatti questi nuovi controlli vengono resi disponibili soltanto dopo l'installazione del Plug-In vista della scheda delle versioni archiviate Il risultato della comparazione tra la versione 0.2 e la versione 0.3, come si può notare dalla figura 4.5.3, viene espressa usando per ogni tipo di differenza una formattazione visuale diversa, infatti in caso di aggiunta il testo visualizzato sarà con uno sfondo verde e sottolineato, invece in caso di cancellazione il testo sarà con sfondo rosa e sbarrato. Nella figura è stato preso come esempio il documento di questa tesi, infatti le due versioni sono 58

63 state memorizzate in due diverse fasi di lavorazione per le quali la più odierna è composta da più paragrafi e con la modifica di alcuni titoli risultato di un'operazione di comparazione tra due diverse vesioni del file pdf text 59

64 Un'altro aspetto fondamentale del Plug-In è l'interazione con l'utente, infatti quando l'utente selezionando una sola versione sceglie erroneamente il bottone confronta il sistema mostrerà un messaggio di errore nel quale avviserà lo stesso che è necessario selezionare due versioni (figura 4.5.4) messaggio di errore quando l'utente selezionando un sola versione sceglie il bottone confronta allo stesso modo quando l'utente cerca di selezionare più di due versioni l'utente verrà avvisato che è possibile scegliere soltanto due versioni (figura 4.5.5) messaggio di errore quando l'utente cerca di selezionare più di due versioni 60

65 nella figura viene mostrato l'aspetto della scheda Archiviato versioni di un documento che ha versioni storicizzate senza documenti allegati in questo caso il sistema non trovando nessun documento da comparare mostrerà la scheda senza i controlli che consentono la comparazione Archiviato versioni di un documento senza allegati. 61

66 Capitolo Conclusioni e sviluppi futuri 5 5 Conclusioni e sviluppi futuri Il lavoro svolto nel corso della tesi ha prodotto dei risultati conformi alle aspettative ed agli obiettivi prefissati. Attraverso la progettazione del Plug-in Nuxeo-Diff-Version, si è potuto venire a contatto con uno strumento ECM estremamente potente come Nuxeo DM, che permette di gestire in modo ottimale e semplice non solo i documenti ma anche il loro workflow quindi molto intuitivo e di facile comprensione anche ad utenti meno esperti. Lavorando a stretto contatto, attraverso mailing list, con il team di sviluppatori di Nuxeo, si è potuti venire a conoscenza delle loro esigenze per quanto riguarda la struttura e i contenuti del Plug-In stesso. Basandoci quindi sulle richieste degli sviluppatori stessi sono stati messi a punto dei requisiti da sviluppare, relativi a nuove funzionalità da implementare ma anche alla correzione di possibili imperfezioni rilevate. L enfasi di questo lavoro è stata posta sull implementazione sia delle funzionalità che sull aspetto della presentazione all utente. Il Plug-In è stato inoltre presentato al Nuxeo Wold 2011, dove ha riscosso un discreto successo soprattutto da parte della community di Nuxeo. Uno degli sviluppi futuri di questo lavoro potrebbe essere quindi il supporto di altri tipi di formato di documenti da comparare lo sviluppo grafico per offrire agli utenti finali ma potrebbe essere anche un modo alternativo di presentazione della comparazione come ad esempio con finestre separate. 62

67 Appendice A Appendice A Questa appendice ha il compito di illustrare come installare NuxeoDiff-Version in Nuxeo DM attraverso una procedura automatica che Nuxeo mette a disposizione agli utenti finali. La prima cosa da fare è quella di connettersi con un utente che ha i diritti di installazione di un Plug-In di terze parti, questo tipo di utente è Administrator (figura 6.1).u e Figura 6.1. connessione con diritti di amministratore 63

68 dopo posizionarsi sulla scheda Admin Center (1), menu' Update Center (2) ed infine pacchetti locali (3) come mostrato in figura 6.2. Figura 6.2. finestra di installazione di un Plug-In. selezionare il Plug-In attraverso il bottone sfoglia (figura 6.3), di solito il Plug-In è memorizzato sul disco sottoforma di file compresso zip, questo formato rispetta lo standard richiesto dalla Nuxeo. Nel nostro esempio il Plug-in si trova su disco ma prossimamente sarà possibile scaricarlo dall'apposito sito. Figura 6.3. caricamento del Plug-In. 64

Applicazione: DoQui/Index - Motore di gestione dei contenuti digitali

Applicazione: DoQui/Index - Motore di gestione dei contenuti digitali Riusabilità del software - Catalogo delle applicazioni: Applicativo verticale Applicazione: DoQui/Index - Motore di gestione dei contenuti digitali Amministrazione: Regione Piemonte - Direzione Innovazione,

Dettagli

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

RedDot Content Management Server Content Management Server Non sottovalutate il potenziale della comunicazione online: usatela! RedDot CMS vi permette di... Implementare, gestire ed estendere progetti

Dettagli

F O R M A T O E U R O P E O

F O R M A T O E U R O P E O F O R M A T O E U R O P E O P E R I L C U R R I C U L U M V I T A E INFORMAZIONI PERSONALI Nome Indirizzo Laura Bacci, PMP Via Tezze, 36 46100 MANTOVA Telefono (+39) 348 6947997 Fax (+39) 0376 1810801

Dettagli

ORACLE BUSINESS INTELLIGENCE STANDARD EDITION ONE A WORLD CLASS PERFORMANCE

ORACLE BUSINESS INTELLIGENCE STANDARD EDITION ONE A WORLD CLASS PERFORMANCE ORACLE BUSINESS INTELLIGENCE STANDARD EDITION ONE A WORLD CLASS PERFORMANCE Oracle Business Intelligence Standard Edition One è una soluzione BI completa, integrata destinata alle piccole e medie imprese.oracle

Dettagli

Talento LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) L'UTILIZZO DI ALTRI SERVIZI INTERNET. In questa lezione imparerete a:

Talento LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) L'UTILIZZO DI ALTRI SERVIZI INTERNET. In questa lezione imparerete a: Lab 4.1 Utilizzare FTP (File Tranfer Protocol) LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) In questa lezione imparerete a: Utilizzare altri servizi Internet, Collegarsi al servizio Telnet, Accedere

Dettagli

Software 2. Classificazione del software. Software di sistema

Software 2. Classificazione del software. Software di sistema Software 2 Insieme di istruzioni e programmi che consentono il funzionamento del computer Il software indica all hardware quali sono le operazioni da eseguire per svolgere determinati compiti Valore spesso

Dettagli

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

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

Dettagli

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

Rational Asset Manager, versione 7.1

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

Dettagli

Web Conferencing Open Source

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

Dettagli

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

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

Dettagli

Le Reti Informatiche

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

Dettagli

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

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

Dettagli

Posta Elettronica. Claudio Cardinali claudio@csolution.it

Posta Elettronica. Claudio Cardinali claudio@csolution.it Posta Elettronica Claudio Cardinali claudio@csolution.it Posta Elettronica: WebMail Una Webmail è un'applicazione web che permette di gestire uno o più account di posta elettronica attraverso un Browser.

Dettagli

FORM Il sistema informativo di gestione della modulistica elettronica.

FORM Il sistema informativo di gestione della modulistica elettronica. Studio FORM FORM Il sistema informativo di gestione della modulistica elettronica. We believe in what we create This is FORM power La soluzione FORM permette di realizzare qualsiasi documento in formato

Dettagli

GESTIRE LA BIBLIOGRAFIA

GESTIRE LA BIBLIOGRAFIA GESTIRE LA BIBLIOGRAFIA STRUMENTI DI GESTIONE BIBLIOGRAFICA I software di gestione bibliografica permettono di raccogliere, catalogare e organizzare diverse tipologie di materiali, prendere appunti, formattare

Dettagli

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

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

Dettagli

Sistemi Web-Based - Terminologia. Progetto di Sistemi Web-Based Prof. Luigi Laura, Univ. Tor Vergata, a.a. 2010/2011

Sistemi Web-Based - Terminologia. Progetto di Sistemi Web-Based Prof. Luigi Laura, Univ. Tor Vergata, a.a. 2010/2011 Sistemi Web-Based - Terminologia Progetto di Sistemi Web-Based Prof. Luigi Laura, Univ. Tor Vergata, a.a. 2010/2011 CLIENT: il client è il programma che richiede un servizio a un computer collegato in

Dettagli

***** Il software IBM e semplice *****

***** Il software IBM e semplice ***** Il IBM e semplice ***** ***** Tutto quello che hai sempre voluto sapere sui prodotti IBM per qualificare i potenziali clienti, sensibilizzarli sulle nostre offerte e riuscire a convincerli. WebSphere IL

Dettagli

La piattaforma IBM Cognos

La piattaforma IBM Cognos La piattaforma IBM Cognos Fornire informazioni complete, coerenti e puntuali a tutti gli utenti, con una soluzione economicamente scalabile Caratteristiche principali Accedere a tutte le informazioni in

Dettagli

PROFILI ALLEGATO A. Profili professionali

PROFILI ALLEGATO A. Profili professionali ALLEGATO A Profili professionali Nei profili di seguito descritti vengono sintetizzate le caratteristiche di delle figure professionali che verranno coinvolte nell erogazione dei servizi oggetto della

Dettagli

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

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

Dettagli

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

Analisi dei requisiti e casi d uso

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

Dettagli

Agilent OpenLAB Chromatography Data System (CDS)

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

Dettagli

CA Asset Portfolio Management

CA Asset Portfolio Management CA Asset Portfolio Management Note di rilascio Versione 12.8 La presente documentazione, che include il sistema di guida in linea integrato e materiale distribuibile elettronicamente (d'ora in avanti indicata

Dettagli

Manuale d uso Apache OpenMeetings (Manuale Utente + Manuale Amministratore)

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

Dettagli

APPLICAZIONE WEB PER LA GESTIONE DELLE RICHIESTE DI ACQUISTO DEL MATERIALE INFORMATICO. Francesco Marchione e Dario Richichi

APPLICAZIONE WEB PER LA GESTIONE DELLE RICHIESTE DI ACQUISTO DEL MATERIALE INFORMATICO. Francesco Marchione e Dario Richichi APPLICAZIONE WEB PER LA GESTIONE DELLE RICHIESTE DI ACQUISTO DEL MATERIALE INFORMATICO Francesco Marchione e Dario Richichi Istituto Nazionale di Geofisica e Vulcanologia Sezione di Palermo Indice Introduzione...

Dettagli

Guida ai Servizi Internet per il Referente Aziendale

Guida ai Servizi Internet per il Referente Aziendale Guida ai Servizi Internet per il Referente Aziendale Indice Indice Introduzione...3 Guida al primo accesso...3 Accessi successivi...5 Amministrazione dei servizi avanzati (VAS)...6 Attivazione dei VAS...7

Dettagli

GESTIONE DELLA E-MAIL

GESTIONE DELLA E-MAIL GESTIONE DELLA E-MAIL Esistono due metodologie, completamente diverse tra loro, in grado di consentire la gestione di più caselle di Posta Elettronica: 1. tramite un'interfaccia Web Mail; 2. tramite alcuni

Dettagli

Gestire le comunicazione aziendali con software Open Source

Gestire le comunicazione aziendali con software Open Source Gestire le comunicazione aziendali con software Open Source Data: Ottobre 2012 Firewall pfsense Mail Server Zimbra Centralino Telefonico Asterisk e FreePBX Fax Server centralizzato Hylafax ed Avantfax

Dettagli

DataFix. La soluzione innovativa per l'help Desk aziendale

DataFix. La soluzione innovativa per l'help Desk aziendale DataFix D A T A N O S T O P La soluzione innovativa per l'help Desk aziendale La soluzione innovativa per l'help Desk aziendale L a necessità di fornire un adeguato supporto agli utenti di sistemi informatici

Dettagli

PROPOSTE SISTEMA DI CITIZEN RELATIONSHIP MANAGEMENT (CRM) REGIONALE

PROPOSTE SISTEMA DI CITIZEN RELATIONSHIP MANAGEMENT (CRM) REGIONALE PROPOSTE SISTEMA DI CITIZEN RELATIONSHIP MANAGEMENT (CRM) REGIONALE Versione 1.0 Via della Fisica 18/C Tel. 0971 476311 Fax 0971 476333 85100 POTENZA Via Castiglione,4 Tel. 051 7459619 Fax 051 7459619

Dettagli

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

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

Dettagli

FileMaker Server 13. Guida introduttiva

FileMaker Server 13. Guida introduttiva FileMaker Server 13 Guida introduttiva 2007-2013 FileMaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 Stati Uniti FileMaker e Bento sono marchi

Dettagli

Guida all'installazione di SLPct. Manuale utente. Evoluzioni Software www.evoluzionisoftware.it info@evoluzionisoftware.it

Guida all'installazione di SLPct. Manuale utente. Evoluzioni Software www.evoluzionisoftware.it info@evoluzionisoftware.it Guida all'installazione di SLPct Manuale utente Evoluzioni Software www.evoluzionisoftware.it info@evoluzionisoftware.it Premessa Il redattore di atti giuridici esterno SLpct è stato implementato da Regione

Dettagli

PASSIONE PER L IT PROLAN. network solutions

PASSIONE PER L IT PROLAN. network solutions PASSIONE PER L IT PROLAN network solutions CHI SIAMO Aree di intervento PROFILO AZIENDALE Prolan Network Solutions nasce a Roma nel 2004 dall incontro di professionisti uniti da un valore comune: la passione

Dettagli

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

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

Dettagli

La gestione documentale con il programma Filenet ed il suo utilizzo tramite la tecnologia.net. di Emanuele Mattei (emanuele.mattei[at]email.

La gestione documentale con il programma Filenet ed il suo utilizzo tramite la tecnologia.net. di Emanuele Mattei (emanuele.mattei[at]email. La gestione documentale con il programma Filenet ed il suo utilizzo tramite la tecnologia.net di Emanuele Mattei (emanuele.mattei[at]email.it) Introduzione In questa serie di articoli, vedremo come utilizzare

Dettagli

Piazza delle Imprese alimentari. Viale delle Manifatture. Via della Produzione

Piazza delle Imprese alimentari. Viale delle Manifatture. Via della Produzione Piazza delle Imprese alimentari Viale delle Manifatture Via della Produzione PASSEPARTOUT MEXAL è una soluzione gestionale potente e completa per le imprese che necessitano di un prodotto estremamente

Dettagli

Guida Dell di base all'acquisto dei server

Guida Dell di base all'acquisto dei server Guida Dell di base all'acquisto dei server Per le piccole aziende che dispongono di più computer è opportuno investire in un server che aiuti a garantire la sicurezza e l'organizzazione dei dati, consentendo

Dettagli

Ottimizzazione della gestione del data center con Microsoft System Center

Ottimizzazione della gestione del data center con Microsoft System Center Ottimizzazione della gestione del data center con Microsoft System Center Declinazione di responsabilità e informazioni sul copyright Le informazioni contenute nel presente documento rappresentano le conoscenze

Dettagli

Guida alla gestione dei File in Aulaweb 2.0

Guida alla gestione dei File in Aulaweb 2.0 Guida alla gestione dei File in Aulaweb 2.0 Università degli Studi di Genova Versione 1 Come gestire i file in Moodle 2 Nella precedente versione di Aulaweb, basata sul software Moodle 1.9, tutti i file

Dettagli

CA Process Automation

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

Dettagli

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

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

Dettagli

Business Intelligence

Business Intelligence Breve panoramica sulla Business Intelligence con software Open Source Roberto Marchetto, 14 Gennaio 2009 L'articolo ed eventuali commenti sono disponibili su www.robertomarchetto.com (Introduzione) Il

Dettagli

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

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

Dettagli

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

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

Dettagli

Cross Software ltd Malta Pro.Sy.T Srl. Il gestionale come l'avete sempre sognato... Pag. 1

Cross Software ltd Malta Pro.Sy.T Srl. Il gestionale come l'avete sempre sognato... Pag. 1 Il gestionale come l'avete sempre sognato... Pag. 1 Le funzionalità di X-Cross La sofisticata tecnologia di CrossModel, oltre a permettere di lavorare in Internet come nel proprio ufficio e ad avere una

Dettagli

ALFABETIZZAZIONE DI BASE Programma del Corso livello base

ALFABETIZZAZIONE DI BASE Programma del Corso livello base Un po di Storia ISP & Web Engineering ALFABETIZZAZIONE DI BASE Programma del Corso livello base Breve cenno sulla storia dell informatica: dagli albori ai giorni nostri; L evoluzione di Windows: dalla

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

Virtualizzazione e installazione Linux

Virtualizzazione e installazione Linux Virtualizzazione e installazione Linux Federico De Meo, Davide Quaglia, Simone Bronuzzi Lo scopo di questa esercitazione è quello di introdurre il concetto di virtualizzazione, di creare un ambiente virtuale

Dettagli

UML Component and Deployment diagram

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

Dettagli

How to Develop Accessible Linux Applications

How to Develop Accessible Linux Applications How to Develop Accessible Linux Applications Sharon Snider Copyright 2002 IBM Corporation v1.1, 2002-05-03 Diario delle Revisioni Revisione v1.1 2002-05-03 Revisionato da: sds Convertito in DocBook XML

Dettagli

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

Informatica per la comunicazione" - lezione 9 -

Informatica per la comunicazione - lezione 9 - Informatica per la comunicazione" - lezione 9 - Protocolli di livello intermedio:" TCP/IP" IP: Internet Protocol" E il protocollo che viene seguito per trasmettere un pacchetto da un host a un altro, in

Dettagli

SISSI IN RETE. Quick Reference guide guida di riferimento rapido

SISSI IN RETE. Quick Reference guide guida di riferimento rapido SISSI IN RETE Quick Reference guide guida di riferimento rapido Indice generale Sissi in rete...3 Introduzione...3 Architettura Software...3 Installazione di SISSI in rete...3 Utilizzo di SISSI in Rete...4

Dettagli

Boot Camp Guida all installazione e alla configurazione

Boot Camp Guida all installazione e alla configurazione Boot Camp Guida all installazione e alla configurazione Indice 4 Introduzione 5 Cosa ti occorre 6 Panoramica dell installazione 6 Passo 1: verifica la presenza di aggiornamenti. 6 Passo 2: apri Assistente

Dettagli

SERVER VIDEO 1-PORTA H.264

SERVER VIDEO 1-PORTA H.264 SERVER VIDEO 1-PORTA H.264 MANUALE UTENTE DN-16100 SALVAGUARDIA IMPORTANTE Tutti i prodotti senza piombo offerti dall'azienda sono a norma con i requisiti della legge Europea sulla restrizione per l'uso

Dettagli

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

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

Dettagli

MARKETING INTELLIGENCE SUL WEB:

MARKETING INTELLIGENCE SUL WEB: Via Durini, 23-20122 Milano (MI) Tel.+39.02.77.88.931 Fax +39.02.76.31.33.84 Piazza Marconi,15-00144 Roma Tel.+39.06.32.80.37.33 Fax +39.06.32.80.36.00 www.valuelab.it valuelab@valuelab.it MARKETING INTELLIGENCE

Dettagli

Principali funzionalità di Tustena CRM

Principali funzionalità di Tustena CRM Principali funzionalità di Tustena CRM Importazione dati o Importazione da file dati di liste sequenziali per aziende, contatti, lead, attività e prodotti. o Deduplica automatica dei dati importati con

Dettagli

FileMaker Server 13. Guida di FileMaker Server

FileMaker Server 13. Guida di FileMaker Server FileMaker Server 13 Guida di FileMaker Server 2010-2013 FileMaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 Stati Uniti FileMaker e Bento sono

Dettagli

Internet Internet è universalmente nota come la Rete delle reti: un insieme smisurato di computer collegati tra loro per scambiarsi dati e servizi.

Internet Internet è universalmente nota come la Rete delle reti: un insieme smisurato di computer collegati tra loro per scambiarsi dati e servizi. Internet Internet è universalmente nota come la Rete delle reti: un insieme smisurato di computer collegati tra loro per scambiarsi dati e servizi. Internet: la rete delle reti Alberto Ferrari Connessioni

Dettagli

Curriculum Vitae Europass

Curriculum Vitae Europass Curriculum Vitae Europass Informazioni personali Cognome/i nome/i Castelli Flavio Email flavio.castelli@gmail.com Sito web personale http://www.flavio.castelli.name Nazionalità Italiana Data di nascita

Dettagli

Meetecho s.r.l. Web Conferencing and Collaboration tools. Guida all installazione e all uso di Meetecho beta

Meetecho s.r.l. Web Conferencing and Collaboration tools. Guida all installazione e all uso di Meetecho beta Web Conferencing and Collaboration tools Passo 1: registrazione presso il sito Accedere al sito www.meetecho.com e registrarsi tramite l apposito form presente nella sezione Reserved Area. In fase di registrazione

Dettagli

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

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

Dettagli

TeamViewer introduce l applicazione per Outlook. Il collegamento diretto con i contatti di Outlook è ora possibile grazie a TeamViewer

TeamViewer introduce l applicazione per Outlook. Il collegamento diretto con i contatti di Outlook è ora possibile grazie a TeamViewer Press Release TeamViewer introduce l applicazione per Outlook Il collegamento diretto con i contatti di Outlook è ora possibile grazie a TeamViewer Goeppingen, Germania, 28 aprile 2015 TeamViewer, uno

Dettagli

Gestore Comunicazioni Obbligatorie. Progetto SINTESI. Comunicazioni Obbligatorie. Modulo Applicativo COB. - Versione Giugno 2013 -

Gestore Comunicazioni Obbligatorie. Progetto SINTESI. Comunicazioni Obbligatorie. Modulo Applicativo COB. - Versione Giugno 2013 - Progetto SINTESI Comunicazioni Obbligatorie Modulo Applicativo COB - Versione Giugno 2013-1 Versione Giugno 2013 INDICE 1 Introduzione 3 1.1 Generalità 3 1.2 Descrizione e struttura del manuale 3 1.3 Requisiti

Dettagli

Enterprise Content Management. Terminologia. KM, ECM e BPM per creare valore nell impresa. Giovanni Marrè Amm. Del., it Consult

Enterprise Content Management. Terminologia. KM, ECM e BPM per creare valore nell impresa. Giovanni Marrè Amm. Del., it Consult KM, ECM e BPM per creare valore nell impresa Giovanni Marrè Amm. Del., it Consult Terminologia Ci sono alcuni termini che, a vario titolo, hanno a che fare col tema dell intervento KM ECM BPM E20 Enterprise

Dettagli

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

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

Dettagli

Profilo Aziendale ISO 9001: 2008. METISOFT spa - p.iva 00702470675 - www.metisoft.it - info@metisoft.it

Profilo Aziendale ISO 9001: 2008. METISOFT spa - p.iva 00702470675 - www.metisoft.it - info@metisoft.it ISO 9001: 2008 Profilo Aziendale METISOFT spa - p.iva 00702470675 - www.metisoft.it - info@metisoft.it Sede legale: * Viale Brodolini, 117-60044 - Fabriano (AN) - Tel. 0732.251856 Sede amministrativa:

Dettagli

FileMaker Server 13. Pubblicazione Web personalizzata con PHP

FileMaker Server 13. Pubblicazione Web personalizzata con PHP FileMaker Server 13 Pubblicazione Web personalizzata con PHP 2007-2013 FileMaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 Stati Uniti FileMaker

Dettagli

Sizing di un infrastruttura server con VMware

Sizing di un infrastruttura server con VMware Sizing di un infrastruttura server con VMware v1.1 Matteo Cappelli Vediamo una serie di best practices per progettare e dimensionare un infrastruttura di server virtuali con VMware vsphere 5.0. Innanzitutto

Dettagli

Lezione n 1! Introduzione"

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

Dettagli

IBM UrbanCode Deploy Live Demo

IBM UrbanCode Deploy Live Demo Dal 1986, ogni giorno qualcosa di nuovo Marco Casu IBM UrbanCode Deploy Live Demo La soluzione IBM Rational per il Deployment Automatizzato del software 2014 www.gruppoconsoft.com Azienda Nata a Torino

Dettagli

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO...

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO... Modulo A Programmiamo in Pascal Unità didattiche 1. Installiamo il Dev-Pascal 2. Il programma e le variabili 3. Input dei dati 4. Utilizziamo gli operatori matematici e commentiamo il codice COSA IMPAREREMO...

Dettagli

IBM Cognos 8 BI Midmarket Reporting Packages Per soddisfare tutte le vostre esigenze di reporting restando nel budget

IBM Cognos 8 BI Midmarket Reporting Packages Per soddisfare tutte le vostre esigenze di reporting restando nel budget Data Sheet IBM Cognos 8 BI Midmarket Reporting Packages Per soddisfare tutte le vostre esigenze di reporting restando nel budget Panoramica Le medie aziende devono migliorare nettamente le loro capacità

Dettagli

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

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

Dettagli

CORPORATE OVERVIEW. www.akhela.com

CORPORATE OVERVIEW. www.akhela.com CORPORATE OVERVIEW www.akhela.com BRIDGE THE GAP CORPORATE OVERVIEW Bridge the gap Akhela è un azienda IT innovativa che offre al mercato servizi e soluzioni Cloud Based che aiutano le aziende a colmare

Dettagli

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

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

Dettagli

Guida rapida Vodafone Internet Key K4607-Z. Progettata da Vodafone

Guida rapida Vodafone Internet Key K4607-Z. Progettata da Vodafone Guida rapida Vodafone Internet Key K4607-Z Progettata da Vodafone Benvenuti nel mondo della comunicazione in mobilità 1 Benvenuti 2 Impostazione della Vodafone Internet Key 4 Windows 7, Windows Vista,

Dettagli

CA Asset Portfolio Management

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

Dettagli

Web Conferencing and Collaboration tool

Web Conferencing and Collaboration tool Web Conferencing and Collaboration tool La piattaforma Meetecho Piattaforma di Web Conferencing e Collaborazione on line in tempo reale Caratteristiche generali Soluzione client-server progettata per essere

Dettagli

Utilizzato con successo nei più svariati settori aziendali, Passepartout Mexal BP è disponibile in diverse versioni e configurazioni:

Utilizzato con successo nei più svariati settori aziendali, Passepartout Mexal BP è disponibile in diverse versioni e configurazioni: Passepartout Mexal BP è una soluzione gestionale potente e completa per le imprese che necessitano di un prodotto estremamente flessibile, sia dal punto di vista tecnologico sia funzionale. Con più di

Dettagli

Setup e installazione

Setup e installazione Setup e installazione 2 Prima di muovere i primi passi con Blender e avventurarci nel vasto mondo della computer grafica, dobbiamo assicurarci di disporre di due cose: un computer e Blender. 6 Capitolo

Dettagli

TeamViewer 7 Manuale Controllo remoto

TeamViewer 7 Manuale Controllo remoto TeamViewer 7 Manuale Controllo remoto TeamViewer GmbH Kuhnbergstraße 16 D-73037 Göppingen teamviewer.com Indice 1 Informazioni su TeamViewer... 5 1.1 Informazioni sul software... 5 1.2 Informazioni sul

Dettagli

Sommersi dalle informazioni?

Sommersi dalle informazioni? Sommersi dalle informazioni? Centro Dir. Colleoni Viale Colleoni, 1 Pal. Taurus 1 20041 Agrate Brianza (MI) T: +39 039 5966 039 F: +39 039 5966 040 www.tecnosphera.it DOCUMENT MANAGEMENT GESTIONE DOCUMENTALE

Dettagli

Acronis Backup & Recovery 11. Affidabilità dei dati un requisito essenziale

Acronis Backup & Recovery 11. Affidabilità dei dati un requisito essenziale Protezio Protezione Protezione Protezione di tutti i dati in ogni momento Acronis Backup & Recovery 11 Affidabilità dei dati un requisito essenziale I dati sono molto più che una serie di uno e zero. Sono

Dettagli

Profilo Commerciale Collabor@

Profilo Commerciale Collabor@ Profilo Commerciale Collabor@ 1. DESCRIZIONE DEL SERVIZIO E REQUISITI Collabor@ è un servizio di web conferenza basato sulla piattaforma Cisco WebEx, che consente di organizzare e svolgere riunioni web,

Dettagli

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

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

Dettagli

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

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

Dettagli

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

Plesk Automation. Parallels. Domande tecniche più frequenti

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

Dettagli

Web conferencing e collaborazione in tempo reale su Internet: la piattaforma Meetecho

Web conferencing e collaborazione in tempo reale su Internet: la piattaforma Meetecho Web conferencing e collaborazione in tempo reale su Internet: la piattaforma Meetecho Tobia Castaldi Alessandro Amirante Lorenzo Miniero Simon Pietro Romano Giorgio Ventre 02/10/2009 GARR 2009 "Network

Dettagli

La soluzione open source per l'it Asset Management: CMDB, workflow, interoperabilità www.cmdbuild.org

La soluzione open source per l'it Asset Management: CMDB, workflow, interoperabilità www.cmdbuild.org 1 La soluzione open source per l'it Asset Management: CMDB, workflow, interoperabilità www.cmdbuild.org Fabio Bottega f.bottega@tecnoteca.com www.tecnoteca.com Il progetto CMDBuild CMDBuild è nato nel

Dettagli

Seagate Access per Personal Cloud Manuale utente

Seagate Access per Personal Cloud Manuale utente Seagate Access per Personal Cloud Manuale utente 2015 Seagate Technology LLC. Tutti i diritti riservati. Seagate, Seagate Technology, il logo Wave e FreeAgent sono marchi depositati o marchi registrati

Dettagli

E-MAIL INTEGRATA OTTIMIZZAZIONE DEI PROCESSI AZIENDALI

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

Dettagli