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