Anobii2Fedora Client Java per l ingest automatico in Fedora Corso di Linguaggi e raduttori rof. Giovanni Semeraro Fedelucio Narducci (#480101) SOMMARIO Fedora FOXML Client Java Funzionamento Arhitettura rove di esecuzione Sviluppi futuri Demo 2 DALLA RECEDENE UNAA COSA ABBIAMO? Webservice per l estrazione di dati da un account di Anobii (AnobiiRest) COSA CI SERVE? Memorizzare in maniera permanente i dati estratti DOVE MEMORIZZARLI? Fedora Digital Object Repository 3
COSA E FEDORA? Famosa distribuzione LINUX ci inquina i risultati di Google Flexible Extensible Digital Object and Repository Architecture Software per la gestione di contenuti, eseguito come webservice all interno di un webserver Apache omcat 4 QUANDO USARE FEDORA? Alcune caratteristiche: Gestione avanzata dei contenuti e dei metadati Gestione di relazioni tra oggetti Contenuti disponibili in molteplici formati Contenuti generati automaticamente Formato aperto di rappresentazione dei dati 5 COME FUNZIONA? utto quello che è presente nel repository di FEDORA è un DIGIAL OBJEC Ogni DIGIAL OBJEC ha tre componenti: ID (ersistent ID) DAASREAM DISSEMINAOR 6
COSA E UN Digital Object? 7 ESEMIO 1/2 ID D A A S R E A M 8 ESEMIO 2/2 DAASREAM DISSEMINAOR 9
RELAZIONI RA OGGEI ossono essere stabilite relazioni tra Digital Object (definite nella Fedora Relationship Ontology) 10 RIASSUMENDO ID identifica univocamente il Digital Object all interno del repository Datastream sorgente dati Managed Content (M) (memorizzato nel repository MIME type) Inline XML (X) (memorizzato nel repository - XML) External Referenced Content (esterno al repository accesso mediato da Fedora) Redirect Referenced Content (esterno al repository reindirizzamento) Disseminator servizio offerto dal digital object Behavior Definition Objects (bdef) DO SECIALI Behavior Mechanism Objects (bmech) 11 GLI ELEMENI DEL NOSRO DOMINIO (1/2) LIBRO digital object UENE digital object AGS datastream (di utente) COMMENO datastream (di libro) 12
GLI ELEMENI DEL NOSRO DOMINIO (2/2) LIBRO ID: book:{isbn} DAASREAM DUBLIN CORE itolo Autore Editore ISBN Lingua DAASREAM REV_utente1_email.it Commento di utente1 sul libro (RDF Review Vocabulary) DAASREAM REV_utente2_email.it Commento di utente2 sul libro (RDF Review Vocabulary) UENE ID: user:{user1_email.it} DAASREAM DUBLIN CORE Email user1 (si potrebbero aggiungere dati anagrafici, etc., modellati con FOAF) DAASREAM AGS ag utilizzati da user1 su Anobbi e loro occorrenza (RDF Vocabolario ad hoc) 13 RARESENAZIONE DEGLI OGGEI IN FEDORA Un Digital Object all interno di FEDORA, viene rappresentato in un semplice linguaggio XML FOXML (Fedora Object XML) E necessario conoscerlo? SI Un oggetto importato in FEDORA (o esportato), viene descritto in questo linguaggio 14 ESEMIO DI DAASREAM IN FOXML Il datastream Dublin Core di un Digital Object, descritto in FOXML 15
FOXML NEL NOSRO DOMINIO E necessario generare un file FOXML per ogni Digital Object da importare nel repository: LIBRI UENI Come vengono generati i file FOXML? Automaticamente, attraverso fogli di stile XSL creati ad hoc 16 XSL ER IL DO BOOK - input 17 XSL ER IL DO BOOK - xsl 18
XSL ER IL DO BOOK - output 19 LE AI DI FEDORA AI-M Sono le AI utilizzate per le operazioni di management (creazione, modifica, cancellazione Digital Object e loro componenti) AI-A Sono le AI utilizzate per l accesso in lettura al repository (es: visualizzare i disseminator che un oggetto espone) 20 LE AI DI FEDORA Come effettuare le operazioni sul repository? Interfaccia grafica Linea di comando SOA (Fedora mette a disposizione un client SOA Java) Inoltre esistono AI-M-Lite - AI-A-Lite Accesso Rest Implementano pochissimi metodi 21
LE AI DI FEDORA L interfaccia grafica 22 IL CLIEN Cosa fa? connessione al repository di Fedora ingest in Fedora delle informazioni relative all utente invocazione del webservice per l estrazione dei tag ingest in Fedora dei tag estratti al passo precedente invocazione del webservice per l estrazione delle informazioni relative ai libri presenti nella libreria dell utente ingest in Fedora delle informazioni estratte al passo precedente invocazione del webservice per l estrazione dei commenti sui libri ingest in Fedora dei commenti estratti al passo precedente 23 IL CLIEN - ARCHIEURA A I - M FEDORA Reposito ry A I - A Ingest DO H AddDatastream GetDatastream urgedatastream / S O FindObject A CLIEN SOAClient Anobii H / H S getags getbook getreview AnobiiRest Anobii2Fedora H countbook OpenKapow Server 24
IL CLIEN - CONFIGURAZIONE Il client è totalmente parametrizzato rima dell esecuzione, estrae i valori dei parametri da tre file di configurazione: anobiiconf.xml anobiirestconf.xml fedoraconf.xml 25 IL CLIEN - CONFIGURAZIONE anobiiconf.xml descrive: il path del foglio di stile user.xsl il path del foglio di stile book.xsl il path del file temporaneo user.xml utilizzato per memorizzare il FOXML prima dell ingest in Fedora il path del file temporaneo book.xml utilizzato per memorizzare il FOXML prima dell ingest in Fedora l URL del robot di OpenKapow a cui è delegato il compito di contare i libri presenti nella libreria dell utente 26 IL CLIEN - CONFIGURAZIONE anobiiconf.xml 27
IL CLIEN - CONFIGURAZIONE anobiirestconf.xml descrive: il protocollo di comunicazione con AnobiiRest (http/https) l host per l esecuzione dell applicazione la porta di comunicazione la cartella di istallazione del servizio su omcat gli URL per l invocazione dei servizi estrazione tag, estrazione book, estrazione review, estrazione dei contenuti precedenti in formato RDF 28 IL CLIEN - CONFIGURAZIONE anobiirestconf.xml 29 IL CLIEN - CONFIGURAZIONE fedoraconf.xml descrive: il protocollo di comunicazione con Fedora l host per l esecuzione dell applicazione la porta di comunicazione la cartella di istallazione del servizio Fedora su omcat l username per l accesso a Fedora la password per l accesso a Fedora il path del file truststore in Fedora (viene utilizzato quello di default di Fedora) la password del truststore 30
IL CLIEN - CONFIGURAZIONE fedoraconf.xml 31 FUNZIONAMENO Ingest book se il libro è già presente, viene ignorato l inserimento Ingest user se l utente è già presente, viene ignorato l inserimento Ingest review se è già presente un commento di quell utente su quel libro, prima dell inserimento del nuovo, viene cancellato il vecchio commento Ingest tags se è già presente un elenco di tags usati da quell utente, prima dell inserimento del nuovo, viene cancellato il vecchio elenco 32 ROVE DI ESECUZIONE FASE # IEM OERAZIONE ESEGUIA SAO REOSIORY RISULAO AESO RISULAO OENUO 1 BOOKS: 93 USERS: 3 REVIEWS: 17 AGS: 24 INGES di utenti, libri, commenti, tags VUOO Inserimento di DO (utenti e libri) e DS (commenti, tags) nel repository Inserimento eseguito con successo 2 BOOKS:93 USERS: 3 REVIEWS: 17 AGS: 24 INGES di utenti, libri, commenti, tags (stessi oggetti, datastream modificati) OOLAO NELLA FASE 1 Nessun inserimento di DO, ritrovamento, cancellazione dei DS già presenti, inserimento dei DS modificati Inserimento, ritrovamento, cancellazione, reinserimento effettuati con successo 33
ROVE DI ESECUZIONE 34 ROVE DI ESECUZIONE 35 SVILUI FUURI rasformare alcuni metodi del client in webservice (RES) ingest utente ingest libri aggiunta datastream commenti aggiunta datastream tag Implementare servizi di Modifica Ricerca Cancellazione di Libri, Utenti, Commenti, ags 36
SVILUI FUURI Istanziare relazioni tra oggetti (per nuove funzionalità) Gestire il versionamento dei datastream Importare dati da altre sorgenti (siti web, etc.) 37 FINE 38