un ambiente integrato open source per il web-learning

Applications
EifFE-L incontra ECLIPSE:
un ambiente integrato open
source per il web-learning
Giovanni Adorni1, Mauro Coccoli1, Lidia Stanganelli1,
Paolo Maresca2
Dipartimento di Informatica Sistemistica e Telematica, Università di Genova
2
Dipartimento di Informatica e Sistemistica, Università di
Napoli “Federico II”
{adorni, mauro.coccoli, lidia.stanganelli}@unige.it,
[email protected]
1
Parole chiave: e-learning, learning environment, open source, eclipse, web
services.
Abstract
In questo lavoro viene descritto il processo di integrazione tra la piattaforma
open source per la formazione in rete EifFE-L (Environment for Freedom in
E-Learning) e la piattaforma di sviluppo open source Eclipse, al fine di creare
un ambiente aperto per la formazione e la gestione della conoscenza. La
fusione tra i due ambienti ha avuto indubbi vantaggi: EifFE-L ha guadagnato
in flessibilità acquisendo la possibilità di sfruttare un potente ambiente di
sviluppo e potendo così facilmente evolvere seguendo le esigenze sempre
diverse degli ambienti per la formazione in rete; Eclipse risulta ulteriormente
potenziato nelle sue capacità di agire come strumento di formazione sui
linguaggi di programmazione e per la gestione di laboratori virtuali e ambienti
di simulazione.
Journal of e-Learning
and Knowledge Society — Vol. 5, n. 3, settembre 2009 (pp. 127 - 136)
—
Applications -
Vol. 5, n. 3, settembre 2009
1 Introduzione
Sempre più, in questi ultimi anni, stiamo assistendo a modifiche nella
impostazione dell’insegnamento accademico, che sempre più si allinea con
i mezzi di comunicazione di massa e rischia di favorire la produzione di un
sapere nozionistico e superficiale. La lezione frontale, pur se con il supporto di
sussidi multimediali, assomiglia sempre più a uno spettacolo in cui il docente
recita un monologo che spesso lascia una traccia molto labile nella mente dei
discenti. Le considerazioni e le nozioni che vengono presentate senza richiedere sforzo da parte di chi le deve acquisire, spesso non attivano i meccanismi
profondi del raziocinio e soprattutto non attivano quella parte della mente che
gestisce l’uso della conoscenza acquisita.
Gli strumenti di web-learning danno la possibilità di spostare il ruolo di
attore protagonista dell’insegnamento dal docente al discente. Pur non essendo
sostitutivo delle forme tradizionali di didattica, il web-learning può essere un
servizio aggiuntivo che l’università offre sul mercato globale dell’istruzione,
rivolgendosi a tre diverse tipologie di fruitori:
• lo studente tradizionale, che segue con costanza le lezioni;
• lo studente lavoratore, fuori sede, etc., che per ragioni varie non ha la
possibilità di seguire direttamente le lezioni;
• il laureato già inserito o in procinto di inserirsi nel mondo del lavoro,
che intende acquisire specifiche competenze aggiuntive o che vuole
mantenersi aggiornato.
Il primo potrà usufruire dei servizi erogati online come strumenti di approfondimento e di verifica della sua preparazione; il secondo potrà utilizzare gli
stessi per conseguire specifici riconoscimenti didattici senza doversi necessariamente trasferire nella sede universitaria; il terzo potrà acquisire crediti su
specializzazioni relative al suo specifico ambito professionale.
Con riferimento allo scenario delineato, il web-learning può assumere forme
differenti.
• Amplificatore della didattica tradizionale. In questo caso occorre sviluppare specifici servizi online che vanno dai semplici servizi allo studente
(quali p.es. calendario delle lezioni, programmi dei corsi, prenotazione
degli esami, informazioni su eventi e servizi, bacheca, etc.) ai sistemi di
comunicazione asincrona e sincrona, ai materiali didattici delle lezioni a
complemento delle lezioni frontali ex cathedra. Si parla in questo caso
di blended web-learning.
• Corsi online. Un corso online è un ciclo completo di lezioni impartite esclusivamente attraverso il web, sia per quanto concerne la parte
didattico-esercitativa, sia per il controllo dell’apprendimento (stando
all’attuale normativa, l’erogazione di tali corsi è regolata dal Decreto
128
Giovanni Adorni, Mauro Coccoli, Lidia Stanganelli, Paolo Maresca - EifFE-L incontra ECLIPSE: un ambiente integrato open
source per il web-learning
Interministeriale 17 aprile 2003, GU 29 aprile 2003, n. 98). In questo
caso il corso deve avere un valore multimediale più alto rispetto al caso
blended, in quanto è la fonte principale di apprendimento dello studente.
Nel caso di corsi online occorre poi distinguere tra percorsi curriculari e attività di lifelong learning, che rappresenta un preciso settore di
mercato per l’insegnamento online rivolgendosi ai neolaureati e anche
a tutti coloro che, essendo già impegnati nel mondo del lavoro, non
avrebbero la possibilità di frequentare corsi di tipo tradizionale (liberi
professionisti, personale di enti pubblici o aziende private, etc.).
Il web-learning non è solo un mezzo per fare didattica, ma comporta un
modo nuovo di insegnare: sebbene i contenuti siano gli stessi, la lezione online
è molto diversa dalla lezione frontale tradizionale, sia per quanto concerne il
linguaggio, la forma e la tipologia dei contenuti, sia per quanto riguarda gli
strumenti utilizzati.
In questo lavoro ci soffermiamo sugli strumenti per il web-learning, facendo
particolare riferimento agli ambienti di supporto sia per il blended-learning,
sia per l’erogazione di corsi interamente online. Tali ambienti devono essere
flessibili e personalizzabili così da consentire di mettere in pratica i più disparati modelli didattici e di rendere disponibili i più evoluti strumenti di comunicazione e di condivisione della conoscenza, il tutto sfruttando strumenti e
tecnologie del web alla portata di tutti e consentendone inoltre la fruizione da
una varietà eterogenea di dispositivi, compresi i dispositivi mobili. È in questo
ambito che viene presentato il progetto di integrazione tra una piattaforma di
e-learning, disegnata sulle specifiche esigenze di una struttura universitaria, e
un ambiente aperto di sviluppo software. Il progetto in oggetto, che abbiamo
chiamato EifFE-L incontra Eclipse (Εm∃ – EifFE-L meets Eclipse) è quindi
l’integrazione tra l’ambiente open source EifFE-L1 (Environment for Freedom
in E-Learning) e la piattaforma open source Eclipse2, integrazione realizzata
al fine di creare un ambiente di sviluppo aperto per la formazione e, più in
generale, per il knowledge management. Gli strumenti sono tutti open source
e inseriti nell’architettura aperta di Eclipse.
Εm∃ nasce con l’obiettivo di creare un sistema contenente diversi strumenti
per la didattica su web, nell’ottica di offrire un servizio sempre più completo
all’utente. Dopo la realizzazione iniziale che vedeva EifFE-L proporsi come
applicazione stand-alone e indipendente (pur con il pieno supporto all’integrazione con il mondo open source), EifFE-L è ora installabile anche come plug-in
di Eclipse. La nuova sinergia tra i due ambienti consente una potenziale estensibilità di EifFE-L attraverso Eclipse. Questo gli conferisce una maggiore facilità
di interazione con molti altri strumenti e ambienti di sviluppo e simulazione.
1
2
http://www.eiffe-l.org
http://www.eclipse.org
129
—
Applications -
Vol. 5, n. 3, settembre 2009
Un altro aspetto significativo del progetto Εm∃ riguarda la creazione di
ambienti simulativi da utilizzare all’interno di percorsi web-learning. L’apprendimento dall’esperienza dal mondo reale richiede, infatti, la possibilità di simulare una realtà, astraendone i tratti essenziali e immergendo il discente in scenari
che lo vedano partecipe delle scelte che condizionano la sua esperienza.
Nel seguito, nel capitolo 2 viene descritta l’architettura del sistema, il capitolo 3 riguarda la descrizione del software utilizzato per la costruzione del
sistema, con alcuni dettagli sull’architettura implementata, infine il capitolo 4
è dedicato alle conclusioni ed agli sviluppi futuri.
2 Architettura del sistema Em∃
Come detto il progetto Εm∃ nasce con l’obiettivo di fondere in un unico
ambiente due progetti distinti: EifFE-L e Eclipse. Vedremo gli specifici dettagli
dell’integrazione fino a delineare l’architettura del sistema integrato.
2.1 EifFE-L
EifFE-L è un LCMS (Learning Content Management System) platformindependent progettato sulle specifiche esigenze di didattica blended e online di un Ateneo di grosse dimensioni. EifFE-L, che nasce nell’ambito del
Progetto CampusOne3 promosso dalla CRUI (Conferenza dei Rettori delle
Università Italiane), è una applicazione open source disponibile con licenza
GPL su Sourceforge4 (Adorni & Sugliano, 2005). EifFE-L è di fatto l’unione di
diversi sottosistemi e, secondo uno schema classico, prevede l’interazione tra
un server web e un database, per offrire svariati servizi di e-learning attraverso
interfaccia web, così come servizi esterni ottenibili dalla interazione con altri
sistemi e infrastrutture.
Più in particolare, esso è un classico LCMS (Learning Content Management
System) con funzionalità di VLE (Virtual Learning Environment) ed è attualmente una delle piattaforme utilizzate presso l’Ateneo di Genova. L’architettura
funzionale è illustrata in Figura 1 (Adorni & Premuda, 2004). Più nel dettaglio,
EifFE-L è stato scritto in linguaggio Free Pascal, si appoggia a un server web
Apache e utilizza un database Firebird.
3
4
130
http://www.campusone.unige.it/azione-1d
http://sourceforge.net/projects/eiffe-l
Giovanni Adorni, Mauro Coccoli, Lidia Stanganelli, Paolo Maresca - EifFE-L incontra ECLIPSE: un ambiente integrato open
source per il web-learning
Fig. 1: Architettura di EifFE-L
2.2 Eclipse
Eclipse è un ambiente open source di sviluppo completo e in continua crescita e con esso è cresciuta una comunità, nata con lo scopo di sviluppare una
piattaforma di sviluppo aperta ed estensibile, corredata da strumenti per la
gestione di progetti software complessi. Tale comunità è, tra l’altro, impegnata
nell’ambito del web-learning, sia a livello internazionale nei progetti Ecsis5,
Gild6 e Penumbra7 per l’insegnamento dei linguaggi C++ e Java, sia a livello
nazionale per la gestione di ambienti didattici complessi (Maresca 2008; Maresca & Savino 2008a; 2008b).
2.3 Integrazione
Viste le specificità tecniche di linguaggi e strumenti utilizzati, è stato necessario utilizzare una particolare versione di Eclipse che supportasse il linguaggio
Free Pascal e poi verificare la piena compatibilità dell’ambiente Eclipse con le
librerie del DBMS Firebird utilizzato. La versione utilizzata è una particolare
implementazione, sviluppata nella community Eclipse e resa disponibile con
la piattaforma, che è denominata Eclipse-Gavab.
http://dev.eclipse.org/viewcvs/indextech.cgi/ecesis-home/downloads
http://gild.cs.uvic.ca
7
http://sourceforge.net/projects/purdue-penumbra
5
6
131
—
Applications -
Vol. 5, n. 3, settembre 2009
Fig. 2: EifFE-L integrato in Eclipse-Gavab
Dopo avere costruito e configurato l’ambiente di sviluppo adeguato per
l’integrazione dell’intero sistema EifFE-L con la piattaforma Eclipse, è stato
necessario realizzare un wrapper, tecnica comune di riuso del software che fornisce un metodo grazie al quale è possibile importare applicazioni chiuse all’interno di altre applicazioni così da poterne rendere disponibili le informazioni
e le funzionalità al di fuori dell’applicazione stessa. Si possono sfruttare così
al massimo tutte le proprietà di un dato sistema in modo semplice e fornire per
esso una nuova interfaccia per una più facile interazione e per la sua gestione
e il suo sviluppo. In questo modo si possono aggiungere nuove funzionalità o,
prima di tutto, semplicemente si può rendere fruibile l’applicazione nel nuovo
ambiente (Figura 2).
Il compito del wrapper (Eclipse) è quello di guidare l’integrazione del sistema ereditato all’interno di una nuova implementazione che addirittura lo veda
come un servizio disponibile e riusabile (come un modulo apache).
Εm∃ risulta pertanto essere un servizio web (Figura 3) e sarà possibile, in
un prossimo futuro, ogni scenario di interazione associato alla richiesta di una
istanza personalizzata dello stesso EifFE-L.
132
Giovanni Adorni, Mauro Coccoli, Lidia Stanganelli, Paolo Maresca - EifFE-L incontra ECLIPSE: un ambiente integrato open
source per il web-learning
Fig. 3: Utilizzo di EifFE-L come web service
3 Ambiente di lavoro
Al fine di realizzare lo schema di Figura 3, sono stati utilizzati ambienti
software di tipo diverso, che descriviamo brevemente in questo paragrafo.
• Lazarus - Software open source che permette la progettazione di programmi in linguaggio Free Pascal (ver. 0.9.26 Beta).
• Eclipse Gavab - Una particolare versione di Eclipse mutipiattaforma,
distribuzione realizzata dal gruppo di ricerca denominato GAVAB8 del
Dipartimento di Informatica dell’Università Rey Juan Carlos di Madrid. Permette di compilare il codice scritto in linguaggio Free Pascal
(ver. 2.0). È stato scelto come ambiente di sviluppo principale sia per
compilare i file di progetto che per realizzare il modulo per Apache ed
infine per richiamare Apache come tool esterno.
• Apache - Piattaforma open source di server web modulare (ver. 2.2.3).
• Firebird - DataBase Management System open source che fornisce gli
strumenti necessari alla creazione e alla gestione di un database SQL
(ver. 1.5.3).
3.1 Sviluppo
Nello sviluppo del progetto si è partiti dall’osservazione del database Firebird, per capire se era possibile utilizzarlo all’interno di Eclipse e, in un secondo
momento, si è reso possibile importare i programmi in Free Pascal. Il database
è stato interfacciato con l’ambiente Eclipse. Dopo aver provato il collegamento
in locale (creando localmente un database Firebird) è stato provato anche il
collegamento in remoto al database dell’Università di Genova, contenitore
dei dati delle varie istanze EifFE-L che attualmente erogano servizi in varie
applicazioni di e-learning per attività anche internazionali.
Una volta verificata la possibilità di connessione al Database Firebird si è
8
http://www.gavab.es/wiki/eclipsegavab
133
—
Applications -
Vol. 5, n. 3, settembre 2009
passati alla compilazione in Eclipse Gavab.
3.2 Configurazione
Vediamo infine alcuni aspetti della configurazione necessaria per il web
server Apache al fine di potere ottenere il corretto funzionamento della applicazione. Il file risultato della compilazione tramite Eclipse Gavab è un modulo
per Apache così da potere essere integrato nel nucleo del web server e ottenere
quindi un servizio con prestazioni migliori di una applicazione realizzata con
pagine di script. Serve dunque una semplice modifica nel file di configurazione di Apache così che lo possa riconoscere come suo modulo. Un altro
passo necessario è la creazione di un file di tipo.ini necessario per la corretta
configurazione del modulo EifFE-L. Apache mette a disposizione dell’utente
la possibilità di creare dei file di configurazione alternativi in cui memorizzare
la propria impostazione e utilizzarli per le diverse configurazioni di Apache
nell’ambiente di sviluppo. In questo modo tutti i file necessari per la configurazione, l’inizializzazione e l’esecuzione di EifFE-L sono confinati all’interno del
workspace di Eclipse Gavab realizzando un primo passo verso l’integrazione
che si raggiungerà pienamente con l’esecuzione di Apache da Eclipse Gavab.
L’ultima piccola variazione da apportare al progetto è legata alla generazione
del file di output. Per default la compilazione in Eclipse Gavab produce un file
eseguibile; nel caso in esame la compilazione deve invece produrre in uscita
una libreria e quindi, in dipendenza dal sistema operativo utilizzato, un file
“.dll” o un file “.so”. Per operare tale scelta bisogna impostare correttamente
le opzioni di compilazione di Eclipse Gavab.
3.3 Utilizzo di Apache come tool esterno
Per pilotare Apache come tool esterno sono state create due tipologie di
configurazioni differenti: una per l’esecuzione del server web (chiamata Apache_Start) e un’altra per la chiusura di Apache (chiamata Apache_Stop). Dopodiché non rimane che eseguire Apache e accedere all’applicazione.
3.4 Test dell’applicazione
Dopo aver verificato l’effettiva esecuzione di Apache, si può testare l’applicazione andando a considerare l’Internal web Browser di Eclipse. In questo
modo verrà visualizzata la barra indirizzi attraverso la quale è possibile accedere all’applicazione. A questo punto andiamo ad inserire l’indirizzo di dominio
dell’applicazione e comparirà la pagina di EifFE-L che permette l’accesso alla
piattaforma attraverso il login dell’utente. Una volta effettuato il login viene
visualizzata la homepage del sito e tutte le sezioni a cui è possibile accedere.
134
Giovanni Adorni, Mauro Coccoli, Lidia Stanganelli, Paolo Maresca - EifFE-L incontra ECLIPSE: un ambiente integrato open
source per il web-learning
Per terminare la sessione è necessario effettuare il logout dal sito e terminare
anche l’esecuzione di Apache.
Conclusioni
In questo lavoro è stato presentato il processo di integrazione fra tecnologie
open source differenti, con l’obiettivo di creare un ambiente per il web-learning
multi piattaforma, aperto verso altri ambienti e sistemi. Inoltre tale sistema
risulta accessibile e conforme alle disposizioni di legge vigenti in tema di
formazione universitaria in rete.
L’integrazione di EifFE-L all’interno di Eclipse Gavab offre diversi vantaggi legati alla virtualizzazione attraverso un browser dell’intera piattaforma
di web-learning che ne garantisce espandibilità, facilità di accesso, di uso e
di installazione. Inoltre, attraverso questo progetto, EifFE-L incontra Eclipse
così come la comunità internazionale open source del Free Pascal incontra la
comunità open source internazionale Eclipse. L’esperienza è stata infatti anche
una utile sperimentazione delle possibilità dell’architettura Eclipse e della sua
comunità di pratica sul versante del riuso.
Un altro punto di forza è stata la possibilità di integrare i dati e in particolare il patrimonio di corsi che sono disponibili nell’ambito della esperienza
pluriennale condotta dall’Università di Genova con EifFE-L. In particolare
inizialmente si pensava solo di “wrappare” l’applicazione e semplicemente
eseguirla all’interno di Eclipse, importando i dati in una qualche forma, ma
poi si è pensato di “wrappare” anche i dati, questa scelta è stata vincente in
quanto si è potuto innalzare il livello di integrazione del sistema ereditato. Il
livello di integrazione raggiunto è giusto al di sotto della API fra l’invocazione
delle applicazioni e l’integrazione dei dati. Infatti l’applicazione viene evocata
dalla piattaforma Eclipse connettendosi al database remoto esistente (Firebird )
e gestendolo in maniera semplice e trasparente. Ovviamente una applicazione
così incapsulata potrà crescere in maniera molto efficiente con l’effetto che
il suo dead-point è stato spostato più avanti nel tempo. In questo modo si è
realizzato un ambiente di lavoro completo per EifFE-L tale da poter evolvere
mediante i plug-in di Eclipse.
Come sviluppi futuri si pensa alla realizzazione di web services che soddisfino i requisiti degli utenti a seconda delle loro specifiche esigenze.
La versione attualmente disponibile di Εm funziona su piattaforma Linux,
Windows XP e Vista 32 bit. Sono in corso estensioni per Mac e Windows Vista
64 bit.
135
—
Applications -
Vol. 5, n. 3, settembre 2009
Bibliografia
Adorni G., Premuda G., (2004), The e-learning environment of the University of Genoa:
An open source SCORM and W3C compliant platform, in Atti della Conferenza
Didamatica 2004 Informatica per la Didattica, Ferrara.
Adorni G., Sugliano A.M., (2005), Buone pratiche per l’E-Learning all’Università:
Insegnamenti blended e corsi on line, 191-226, Fondazione CRUI, Roma.
Maresca P., (2008), Projects and goals for the eclipse italian community, in Proceedings
of Fourteenth International Conference on Distributed Multimedia Systems Workshop on Distance Education, 112-117, Boston – USA.
Maresca P., Savino N., (2008), An Eclipse based environment for the first level
universities courses, Journal of e-Learning and Knowledge Society (Je-LKS), 3,
21-30.
Maresca P., Savino N., (2008), Un ambiente per la didattica dei corsi universitari di
primo livello basato sulla tecnologia Eclipse, in Colazzo L., Molinari A., Pegoraro
M., Villa N., Atti del 5° congresso annuale della società italiana di e-learning,
SIe-L, 1-8, Trento.
136