Architettura Connettore Alfresco Share



Documenti analoghi
Titolo Alfresco. Titolo1 Non solo un documentale

8.A.8 Orchestratore Locale. ESB Piano dei test

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da

The Enterprise Service BUS. Manuale utente - VulCon

Conservazione dei Documenti Digitali. 22 settembre 2015

Finalità della soluzione Schema generale e modalità d integrazione Gestione centralizzata in TeamPortal... 6

NOVITÀ SITI COMMERCIALISTA

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise

L architettura del sistema può essere schematizzata in modo semplificato dalla figura che segue.

Registratori di Cassa

Overview su Online Certificate Status Protocol (OCSP)

Alfa Layer S.r.l. Via Caboto, Torino ALFA PORTAL

Coordinazione Distribuita

Progetto: ARPA Fonte Dati. ARPA Fonte Dati. Regione Toscana. Manuale Amministratore

Soluzione dell esercizio del 2 Febbraio 2004

Sistema G.U.S. Capitolato di Gara ALLEGATO A

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

DATA BASE ON LINE (BANCA DATI MODULI SPERIMENTALI)

Fattura Elettronica. Flusso dati

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0

ALICE AMMINISTRAZIONE UTENTI WEB

MANUALE DI UTILIZZO: INTRANET PROVINCIA DI POTENZA

Manuale Servizio NEWSLETTER

Università Politecnica delle Marche. Progetto Didattico

Modulo Antivirus per Petra 3.3. Guida Utente

Progetto: Servizio location based per la ricerca di punti di interesse

CONTENT MANAGEMENT SYSTEM

Rapporto tecnico sulle tipologie di agenti software definiti e implementati nell ambito del progetto

I MODULI Q.A.T. PANORAMICA. La soluzione modulare di gestione del Sistema Qualità Aziendale

Comuninrete sistema integrato per la gestione di siti web ed interscambio di informazioni e servizi.

Giornale di Cassa e regolarizzazione dei sospesi

Protocollo Informatico (D.p.r. 445/2000)

Presentazione di Cedac Software

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

Faber System è certificata WAM School

SCHEDA PRODOTTO PAG. 1 J O B T I M E W F. Variazioni mensili al cartellino presenze. Versione 6.1. JOBTIME Work Flow

03. Il Modello Gestionale per Processi

Guida all uso delle Web View su ios

Servizi Remoti. Servizi Remoti. TeamPortal Servizi Remoti

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento

HBase Data Model. in più : le colonne sono raccolte in gruppi di colonne detti Column Family; Cosa cambia dunque?

Allegato 3 Sistema per l interscambio dei dati (SID)

Servizio di backup dei dati mediante sincronizzazione

Software Servizi Web UOGA

Progetto Eleven. Introduzione. Componenti del gruppo. Gruppo 11

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Implementing a new ADT based on the HL7 version 3 RIM. Esempio

B.P.S. Business Process Server ALLEGATO C10

Nuovi Flussi Informativi Cooperazione Applicativa Youth Guarantee

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione

SEGNALIBRO NON È DEFINITO.

Upload del CMS sul server scelto

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

CONTENT MANAGEMENT SY STEM

Light CRM. Documento Tecnico. Descrizione delle funzionalità del servizio

GESTIONE PROTOCOLLO PUBBLICAZIONE ALBO PRETORIO / AMMINISTRAZIONE TRASPARENTE

Manuale LiveBox WEB ADMIN.

Port Community System del Porto di Ravenna CONFIGURAZIONE

Volumi di riferimento

PIANO DI CONSERVAZIONE DEI DOCUMENTI

Servizio Telematico Paghe

Capitolo 4 Pianificazione e Sviluppo di Web Part

IBM Software Demos The Front-End to SOA

LEZIONE 3. Il pannello di amministrazione di Drupal, configurazione del sito

Tecnologia.

OmniAccessSuite. Plug-Ins. Ver. 1.3

Portale Multicanale delle PA del territorio della Regione Emilia-Romagna: un inizio di rete semantica di informazioni

WorkFLow (Gestione del flusso pratiche)

CMDBuild: un progetto open source di supporto alla gestione ICT (e non solo) Approfondimenti Tecnici. Francesco Zanitti Tecnoteca S.r.

NAVIGAORA HOTSPOT. Manuale utente per la configurazione

Come funziona il WWW. Architettura client-server. Web: client-server. Il protocollo

Do-Dots Protocollo di comunicazione

SPORTELLO UNICO DELLE ATTIVITÀ PRODUTTIVE MANUALE OPERATIVO FUNZIONI DI SCRIVANIA PER GLI UFFICI SUAP

Scuola Superiore Sant Anna. Progetto parte Unix. AA : Distributed File Repository

PROGRAMMA GESTIONE TURNI MANUALE UTENTE. Programma Gestione Turni Manuale Utente versione 1.1

Che differenza c è tra una richiesta XML ed una domanda XML? (pag. 4)

Codice di comportamento dei Soggetti rilevanti della Monrif S.p.A. e delle societa' controllate dalla Monrif S.p.A. "Internal Dealing"

Manuale d'uso. Manuale d'uso Primo utilizzo Generale Gestione conti Indici di fatturazione Aliquote...

lem logic enterprise manager

Maxpho Commerce 11. Application Program Interface - API Instant Notifcation Service - INS. Data : 20 / 09 / 2011 Versione : 1.2 Autore: Maxpho Srl

Dispensa di Informatica I.1

Manuale Utente Amministrazione Trasparente GA

CONFIGURAZIONE DI UN AZIENDA IN MODALITÀ REAL TIME

Guida alla registrazione on-line di un NovaSun Log

Dematerializzare per Semplificare

Il CMS Moka. Giovanni Ciardi Regione Emilia Romagna

TeamPortal. Servizi integrati con ambienti Gestionali

Il Sistema Nazionale di Autovalutazione

Gestione dei documenti e delle registrazioni Rev. 00 del

Integrazione InfiniteCRM - MailUp

SPSS Statistics per Windows - Istruzioni di installazione per (Licenza per utenti singoli)

Segesta srl Via Giacomo Peroni Roma Tel. 06/ Fax 06/

Introduzione. Coordinazione Distribuita. Ordinamento degli eventi. Realizzazione di. Mutua Esclusione Distribuita (DME)

GenLApp Generazione Lista di Applicazioni. Design Patterns. Classi Essenziali. Modellazione Dati. Progettazione della Linea di Prodotti

Specifiche Tecnico-Funzionali

Lezione 1 Introduzione

Dipartimento per le Libertà Civili e l Immigrazione

<utente> <nome>mario</nome> <cognome>rossi</cognome> <saldo>1230</saldo> </utente> Tag di chiusura dato. Tag di apertura

Introduzione ai Web Services Alberto Polzonetti

Descrizione della Fornitura

Transcript:

Direzione Sistemi Informativi Portale e Orientamento Allegato n. 2 al Capitolato Tecnico Indice Architettura Connettore Alfresco Share 1. Architettura del Connettore... 3 1.1 Componente ESB... 4 1.2 COMPONENTE WEBSCRIPTS... 6

1. Architettura del Connettore Il Connettore è stato progettato secondo l architettura Service Oriented (SOA) che rende interoperabili Alfresco e i Servizi Unito e utilizza la logica EIP (Enterprise Integration Pattern) che definisce un pattern standard di sviluppo per la creazione di componenti atti all integrazione di più sistemi. In particolare il Connettore si occupa di interagire con i servizi esposti da UNITO per recuperare le informazioni necessarie e con i servizi di Alfresco per comunicare al sistema le variazioni relative a Siti ed Utenti. Il Connettore è composto da due componenti: un Bundle OSGI che ha il compito di colloquiare sia con i servizi Unito, sia con i Webscript di Alfresco; quest ultimi sono dei servizi sviluppati ad hoc che si interfacciano con le API standard di Alfresco e che racchiudono in un unico servizio tutte le operazioni necessarie ad eseguire la sincronizzazione fra i due sistemi. Il Connettore va ad operare in un architettura dove gli attori in gioco sono Alfresco che con il suo modulo dei Webscripts permette di interagire con i propri dati presenti nel repository ed i servizi UNITO che espongono i dati relativi alle Unità Organizzative e agli Utenti. Alfresco fornisce di default alcuni Webscripts che vengono sfruttati da Share e dagli Utenti di Share in maniera trasparente, dall altra parte troviamo i servizi UNITO esposti all esterno attraverso degli endpoint di tipo HTTP che comunicano tramite linguaggio JSON. In questo scenario il connettore con le sue due componenti effettua delle chiamate HTTP verso l attore UNITO per reperire informazioni e verso i servizi di Alfresco tramite la componente Webscript. Le due componenti facenti parte del connettore comunicano tra di loro attraverso il protocollo HTTP scambiandosi dati sotto forma di oggetti Java serializzati. L architettura è schematizzata nella figura sottostante:

1.1 Componente ESB Il motore utilizzato dalla componente ESB è quello di Apache ServiceMix. Si tratta di un ESB (Enterprise Service Bus) che adotta come motore di messaggistica interna Apache Camel che mette a disposizione per lo sviluppo componenti aderenti allo standard EIP. La componente ESB si suddivide a sua volta in 5 componenti denominati nello standard Camel Processor che sono rappresentati nel diagramma EIP (Enterprise Integration Pattern) sottoforma di Content Enricher e di Content Trasformer, in quanto attraverso le loro funzioni aggiungono nuovi dati a quelli presenti e li trasformano per essere utilizzati dal processor successivo. Come si può vedere dal diagramma successivo, i componenti Camel che compongono il Connettore sono: ReadTimestampProcessor: si occupa di recuperare da un file su disco il valore relativo al timestamp della precedente esecuzione e di passarlo al processor successivo. SitesProcessor: riceve dal precedente processor l eventuale timestamp da utilizzare per richiamare il servizio relativo alle strutture organizzative esposto da Unito (UNITO Sites API). Si occupa inoltre di trasformare i dati ricevuti in un formato digeribile dall apposito webscript che verrà chiamato per calcolare le differenze fra le strutture organizzative esistenti in Alfresco e lo stato attuale. Infine userà le informazioni ricevute per riorganizzare i dati relativi ai RIF da passare al processor successivo.

UsersProcessor: riceve dal processor precedente le informazioni relative agli amministratori dei siti attuali, in modo da unirle alle informazioni recuperate tramite una chiamata al servizio relativo agli utenti esposto da Unito (UNITO Users API). Inoltre, computa queste informazioni e le trasforma in un formato adatto al webcript corrispondente, il quale si occupa di creare/aggiornare/disabilitare gli utenti in base alle informazioni ricevute. Infine questo processor si occupa di trasmettere al successivo le informazioni relative ai RIF ricevute al passo precedente. RemoveRifProcessor: riceve le informazioni relative ai Rif da eliminare e le trasforma in un formato leggibile per il corrispettivo webscript che si occupa di eseguire fisicamente le operazioni di rimozione dei RIF dai siti a cui non appartengono più. WriteTimestampProcessor: l ultimo processor della Rotta si occupa di sovrascrivere il timestamp su filesystem di modo che tale dato venga riutilizzato alla prossima esecuzione. Il messaggio iniziale identificato come trigger sta ad indicare che il connettore viene avviato in maniera temporizzata da un componente Camel denominato proprio Trigger che si occupa di avviare la rotta Camel secondo un espressione CRON che può essere configurata a piacimento. Le operazioni che vengono eseguite dalla componente ESB e la loro sequenza sono riassunte nel Sequence Diagram riportato di seguito:

1.2 COMPONENTE WEBSCRIPTS Oltre alla componente ESB il connettore è composto da una serie di Webscript che si occupano di eseguire le operazioni necessarie sul repository di Alfresco, tramite le librerie e le interfacce messe a disposizione, in modo da effettuare la sincronizzazione con i dati ricevuti dal componente ESB. Ogni Webscript è composto da un file xml di descrizione che ne identifica la tipologia ed i parametri necessari all esecuzione, come la url e l eventuale livello di autenticazione richiesta; una classe Java che implementa la logica del Webscript, denominata Controller ed un file template FreeMarker, che può essere omesso, il quale viene utilizzato per definire la formattazione dei dati di uscita secondo il formato di risposta definito nella request. Di seguito l architettura generale dei Webscripts in Alfresco

1. A request for a given URI arrives at the Web Script Runtime. 2. The Runtime finds the appropriate Web Script for the URI. If one is found, the Runtime executes the Web Script but only after successfully authenticating first, if required. The first step of execution is to invoke the JavaScript bound into the Web Script. 3. With JavaScript, you have access to a set of Alfresco services. When hosted within the Repository server you can search for information, navigate around the repository, modify information, create new documents, set properties on those documents, move data around, and delete data, plus access to all other Repository services. Outside of the Repository you can invoke remote services such as those by the Repository server. 4. The results from the JavaScript are rendered using FreeMarker response templates. The response format may be one of HTML, ATOM, XML, RSS, JSON, CSV, or any combination of these. You must provide the appropriate templates. 5. The Web Script Runtime sends the rendered results back via a response using the same protocol as the URI request. 6. The Web Script client receives the response in the requested format. Nel caso del connettore i Webscript comunicano attraverso la serializzazione di oggetti Java per cui non necessitano di file template in uscita, in quanto restituiscono direttamente al chiamante l oggetto Java di risposta. La componente di Webscript del connettore è composta da 3 servizi che corrispondono alle operazioni

richieste da ogni processor del componente ESB: CreazioneSitoWebscripts: questo Webscript si occupa di ricevere la lista delle Unità Organizzative recuperata dai servizi del sistema UNITO e di effettuare il confronto con i siti attualmente presenti in Alfresco. Nel caso in cui un unità organizzativa non abbia il corrispondente Sito su Alfresco Share, il Webscript si occupa di crearlo e di creare anche i gruppi utenti che serviranno nelle fasi successive per il popolamento degli utenti nei siti e per configurare in maniera opportuna i permessi di accesso al sito. Nel caso in cui un unità organizzativa ha già un corrispondente sito su Alfresco Share il Webscript si occupa di aggiornare le informazioni relative. Infine se un unità organizzativa non è più presente nel sistema UNITO, il Webscript si occupa di rimuovere tutti gli utenti dal sito corrispondente, in maniera da renderlo inaccessibile a tutti meno che agli amministratori di sistema. CreazioneUtenteWebscripts: questo Webscript si occupa di effettuare la sincronizzazione dei dati utenti ricevuti dal componente ESB con i dati degli utenti presenti in Alfresco. Il Webscript ha la possibilità di creare, modificare, disabilitare o riabilitare un utente su Alfresco a seconda delle differenze che riscontra fra i dati attuali e quelli storicizzati. La creazione avviene se un nuovo utente viene recuperato sui sistemi Unito, la modifica avviene per tutti quegli utenti, i quali non hanno modificato il loro status, che sono sul sistema UNITO ed hanno il corrispondente utente creato su Alfresco. Infine le operazioni di disabilitazione/riabilitazione si rendono necessarie per quegli utenti già esistenti in Alfresco che hanno modificato il loro status rispetto all ultima sincronizzazione. Il Webscript si occupa anche di collegare gli utenti ai siti delle rispettive Strutture Organizzative, gestendo eventuali cambiamenti intercorsi fra un esecuzione e l altra e tenendo conto di quegli utenti con permessi speciali denominati RIF che hanno il privilegio di assumere il ruolo Manager nei siti corrispondenti. RimozioneAdminDaSitiWebscripts: questo Webscript ha solo funzione di intervenire sulle operazione precedenti in quanto serve a rimuovere l utente amministratore dai siti creati dal CreazioneSitoWevrscipt, in quanto fino alla successiva sincronizzazione degli utenti non è possibile rimuovere tale utente a causa del vincolo di Alfresco che non permette di avere siti senza utenti manager.