Architettura informatica della piattaforma ALIM2

  • I moduli di Muruca
  • BACKEND
  • CMS
  • Modulo di ricerca SOLR
  • Gestione delle trascrizioni OxGarage
  • Muruca Frontend
  • Configurazioni e Pacchetti aggiuntivi

Architettura

L’architettura della piattaforma ALIM è composta da vari moduli completamente interoperabili che costituiscono la spina dorsale del sistema di gestione di testi, immagini e contenuti editoriali del portale Archivio della Latinità Italiana del Medioevo. Muruca infatti è pensato come un framework che permetta un completo disaccoppiamento tra la la logica di storage dei dati e la fruizione dei contenuti e le possibili visualizzazioni I componenti in gioco possono essere schematizzati come mostrato in figura.

 

Immagine3

I moduli di Muruca

L’installazione di Muruca ( http://www.muruca.org ) si compone di vari moduli, ciascuno dei quali espone uno o più servizi necessari per il processo di pubblicazione e
fruizione della digital library. Tutti i path indicati nel documento si riferiscono al server di produzione (hetzner server).

BACKEND

Il Modulo di BACKEND è una implementazione su stack LAMP (Linux Apache MySql PHP) e in dettaglio utilizza il framework Symfony per l’autenticazione alla base di dati e la gestione delle entità presenti sulla piattaforma.
Il modulo di BE è da considerare come il principale punto di accesso per la pubblicazione dei testi e delle immagini e consente la creazione, modifica e pubblicazione di una opera e relativi metadati.
La directory radice dell’applicazione BE è /var/www/alim-be In tale directory sono memorizzate tutte le immagini che potranno poi essere fruibili lato Frontend.
Il Modulo Backend interagisce con il database MySql mediante il framework Doctrine
che fornisce un livello di astrazione tale per cui in futuro, se si vorranno effettuare
delle migliorie architetturali, si potrà sostituire il repository MySql con un altro database senza intaccare la logica applicativa.

CMS

Per lo sviluppo del modulo che si occupa della pubblicazione e della fruizione dei contenuti editoriali è stato utilizzato WordPress( https://wordpress.com ).
Mediante un semplice accesso con credenziali è possibile accedere al pannello di amministrazione e customizzare i vari componenti del portale di ALIM. Per maggiori riferimenti relativamente alla gestione dei content-type si veda la guida di riferimento per la gestione dei contenuti editoriali.
Il modulo CMS utilizza come storage un database Mysql (stesso MySql server del modulo di BE). L’applicazione CMS è stata installata nella directory /var/www/alim-wp

Modulo di ricerca SOLR

Tutti i metadati inseriti tramite le schede del BE vengono processate e indicizzate opportunamente sul motore di ricerca SOLR con lo scopo di rendere più veloci e customizzabili le ricerche effettuate sulla piattaforma.
Solr come prerequisito richiede la presenza di una JVM che è stata opportunamente
installata e configurata sul server.
Solr “gira” sulla porta 8983 che è necessariamente aperta all’esterno in quanto utilizzata dall’applicazione Muruca Frontend .
L’aggiornamento dell’indice di SOLR avviene in tempo reale rispetto alla modifica dei metadati nel Modulo di Backend ma all’occorrenza l’indice può essere aggiornato
anche in modalità offline (ricostruendo l’intero indice) mediante opportuni script
messi a disposizione.

Gestione delle trascrizioni OxGarage

OxGarage( http://help.it.ox.ac.uk/oxgarage/index ) è un servizio web RESTful che
permette di gestire la trasformazione di documenti in differenti formati.
OxGarage è usato da Muruca Backend proprio come servizio e permette la
conversione di documenti di codifica TEIXML in differenti formati esposti
dall’applicazione (txt, pdf, html).

Muruca Frontend

Il modulo di Frontend è composto da una applicazione realizzata con il framework JS
AngularJS. L’applicazione interagisce con i moduli che implementano la business logic mediante uno strato di API. Nell’architettura del sistema esistono due differenti API endpoint, uno esposto dal motore di ricerca SOLR un altro invece dal modulo di
Backend.
Il frontend quindi si limita a ricevere le informazioni memorizzate su tali storage e
fornire una opportuna visualizzazione per le stesse.
Tale modulo risiede sul server nella directory /var/www/alim-wp/dl

Configurazioni e Pacchetti aggiuntivi

La configurazione di tutti gli applicativi installati sulla macchina risiede nella directory
/etc/apache2/sitesavailable