una plataforma de teleeducación de código libre

Anuncio
LABORATORIO DE SOFTWARE DE COMUNICACIONES
UNA PLATAFORMA DE
TELEEDUCACIÓN DE
CÓDIGO LIBRE
Israel Gutiérrez Rojas
NIA: 100025221
israel.gutierrez@alumnos.uc3m.es
5º Ing. de Telecomunicación
LABORATORIO DE SOFTWARE DE COMUNICACIONES
“Una plataforma de código libre: dotLNR”
Introducción
.LRN ("dotLRN") es una plataforma de software libre para comunidades de aprendizaje
e investigación (de los llamados LMS: Learning Management System). Desarrollado
inicialmente por el MIT como parte del Intellectual Commons, dotLRN está respaldado
en la actualidad por un consorcio mundial de instituciones educativas (entre ellas existe
un proyecto europeo: E-LANE), organizaciones sin ánimo de lucro, empresas y
desarrolladores de código abierto.
OpenACS es el framework web (que aporta reusabilidad, modularidad y extensibilidad)
y dotLRN es su sistema de e-learning y de gestión de comunidades. Es un proyecto
“open source” que proporciona gestión de cursos y comunidades on-line, gestión de
contenidos y del aprendizaje, herramientas colaborativas, etc. Es escalable (capaz de
soportar gran carga de usuarios), robusto, extensible (ya que tiene una arquitectura muy
modular) y cumple el estándar SCORM3.
Diseño del sistema
La plataforma inicial ACS fue implementada inicialmente en un servidor web
AOLServer con el lenguaje de programación TCL y como gestor de base de datos
Oracle RDBMS (sistema gestor de bases de datos relacionales). En diciembre de 1999,
el proyecto de OpenACS fue iniciado por varios diseñadores en busca de conseguir una
versión de ACS que correría sobre un gestor RDBMS “open source”, PostgreSQL.
DotLRN usa el framework orientado a objetos de OpenACS para la creación de
aplicaciones web. OpenACS proporciona un modelo de datos estándar y un API. La
arquitectura orientada a objetos del framework incluye un repositorio (content
repository) utilizado por la mayoría de las aplicaciones que necesitan almacenar el
contenido de un módulo de gestión de user/group usado por el sistema de permisos, una
petición procesada que habilita persistencia, autenticación y plantillas.
En OpenACS, cuando una página es solicitada por un usuario, la petición procesada
autentifica al usuario utilizando el módulo user/group (la parte interna “core” del
sistema), para autorizar o no la petición. Si se autoriza, la página es personalizada
usando al sistema de plantillas y el modelo del usuario. El sistema de plantillas
ensambla la página con los diferentes trozos devueltos, y es enviada por el servidor al
usuario. El sistema de plantilla ensambla la página utilizando contenidos que pueden
venir de aplicaciones diferentes (por ejemplo una aplicación como calendario o un
evento particular en un horario de la clase) y cada trozo de contenido se trata en una
manera similar, con un API estándar.
El sistema de permisos permite a administradores dar los permisos de
(read/write/administer) a cualquier contenido “objeto” del sistema. La petición
procesada proporciona persistencia así como el mapeo de una URL particular a un
file/program individual que el servidor usa para producir esa página.
-1-
LABORATORIO DE SOFTWARE DE COMUNICACIONES
“Una plataforma de código libre: dotLNR”
Arquitectura dotLRN
La arquitectura completa del sistema es la siguiente:
dotLRN
Open ACS
AOL Server
Oracle
PostgreSQL
TCL
En el nivel más bajo se encuentra el acceso a la base de datos, que puede ser tanto a
través Oracle como de PostgreSQL (que es de código abierto), y el lenguaje TCL.
En un nivel superior se encuentra el AOL Server, servidor web de American On Line.
Este servidor tiene las funcionalidades de un servidor web y además se pueden
programar funciones en:
- TCL
- ficheros *.adp: que son unas plantillas que incluyen HTML estático y TCL
(similares a las páginas JSP con Java)
El AOL Server puede alojar HTML estático y dinámico, y además da funcionalidad a
las capas superiores y funciones para acceso a la base de datos.
A continuación en la arquitectura se encuentra Open ACS, el auténtico corazón de esta
arquitectura. OACS consta de una colección de paquetes o módulos cuya funcionalidad
es de dos tipos:
- aplicaciones: usados directamente por el usuario
- servicios: dan funcionalidad a las capas superiores o a otros paquetes
Por tanto, un paquete puede ser una aplicación cliente, dar servicio a otros paquetes (ya
sean de la misma capa o de otra superior) o tener ambas funcionalidades.
Por último nos encontramos el nivel de dotLRN, formado también por una serie de
paquetes que, a diferencia de Open ACS cuya funcionalidad es aplicable a cualquier
ámbito de la web, son única y exclusivamente creados para el e-learning. Este tipo de
paquetes tienen la misma funcionalidad y formato que los incluidos en OACS y la única
diferencia entre ambos son los contenidos, que en el caso de dotLRN son únicamente
para tele-educación.
-2-
LABORATORIO DE SOFTWARE DE COMUNICACIONES
“Una plataforma de código libre: dotLNR”
Comunidades y portales
La arquitectura de OpenACS mostrada en la figura está compuesta de los paquetes del
ACS-core que mantienen a través del API la funcionalidad común entre otros servicios
y paquetes. Los servicios son paquetes que no interactúan con el usuario y establecen un
interfaz entre los paquetes, donde reside la aplicación real. Como dotLRN se construye
con el framework de OpenACS, hereda todas las funcionalidades de OpenACS,
modularidad y características.
Las comunidades nos sirven para compartir un espacio de trabajo, varios integrantes de
la comunidad pueden aprender a través de los cursos que escogen de la comunidad y
aportar a ésta sus estudios. Esto requiere scoping muy claro de cada aplicación para que
cada course/community pueden tener sus propias aplicaciones fijas, plantillas y
permisos. dotLRN usa el concepto “subsites” que separa los contextos entre los
diferentes tipos de comunidades. Cada caso del subsite (“dotLRN community”) puede
tener su propia estructura de permisos. Los departamentos describen la estructura
orgánica normal dentro de la institución; “el subjetc” contiene información que repite en
los diferentes casos de un “class”; “class” especifica personas y sus papeles.
DotLRN usa la arquitectura del portal OpenACS para generar el interfaz del usuario.
Los portlets de dotLRN generan el interfaz apropiado entre las aplicaciones de
OpenACS y los portales de dotLRN. Haciendo que, estos portlets entreguen
funcionalidad personalizada basada en las aplicaciones de OpenACS.
-3-
LABORATORIO DE SOFTWARE DE COMUNICACIONES
“Una plataforma de código libre: dotLNR”
OpenACS puede soportar complejas jerarquías del usuario definiendo “parties” esto
puede ser: “los usuarios” identificados por un distinto correo electrónico, o una
“persona” con el distintivo primero y el último nombre, o un “grupo” que quizá uno o
más del anterior, o incluso otros grupos.
Con esta arquitectura de dotLRN los usuarios pueden tener más de un rol en particular.
Por ejemplo, un usuario podría ser un ayudante instrucción en una clase y un estudiante
en otro. Por lo tanto, el papel de un usuario en una clase determinaría lo que el usuario
se le permite hacer. Todos los nombres de roles y entidades en dotLRN, como la clase,
las comunidades, instructor, etc., pueden cambiarse fácilmente a las necesidades de la
institución o país dónde el sistema se este usando. La clase del dotLRN es una subclase
de las “parties” de OpenACS con el “rol” como un atributo, este puede tomar los
valores como el Estudiante, Ayudante, Instructor, etc.
Las aplicaciones de Web manejan grandes cantidades de pequeñas piezas de contenidos.
Estas piezas pueden venir en el posting de los foros de discusión, en los eventos de un
calendario, en las noticias, en los adjuntos e incluso los elementos multimedia. En
OpenACS cada pedazo es registrado y almacenado en un “Content Repository” que
estandariza la manera en que las aplicaciones acceden y maneja esta información. Esta
capa adicional de complejidad hace posible la reusabilidad de todas las funcionalidades
de gestión de contenidos como los permisos, formato u otras funcionalidades diferentes
que no pueden haber estado incluidas en el momento de diseñar una aplicación. Un
servicio creado para el Content Repository, como una recuperación de información o el
sistema de clasificación de documentos automático, puede usarse automáticamente por
todas las aplicaciones en el sistema. Con una arquitectura diferente, el servicio no
necesitaría ser implementado de nuevo o adaptado, solamente para cada aplicación, lo
hace a través de una representación interior.
El servicio workflow de OpenACS también agrega capacidades útiles al dotLRN desde
que puede usarse para hacer aplicaciones “workflow aware” de una forma
estandarizada. Los workflow habilitan a las aplicaciones para usar todas las alertas y las
capacidades de gestión de eventos construidas en el paquete workflow. El sistema
workflow podría colocar los correos electrónicos o SMS para ser enviados cuando una
tarea ha sido terminada o se necesita empezar, podría poner en orden las tareas para
mostrar en los usuarios, centralizar el calendario o podría proporcionar rasgos que no
fueran considerados en el momento de ser diseñados en las aplicaciones.
Proceso de desarrollo
El proceso de desarrollo dotLRN consta de 2 etapas. En la primera, los componentes
son declarados “dotLRN compatible” y disponibles sólo para los desarrolladores y
entidades que colaboran en el proyecto ya que no están totalmente listos para su total
distribución. En la segunda etapa y después de una extensa revisión del código, los
componentes son declarados “dotLRN certified” tras la comprobación en alguna entidad
del proyecto de que la aplicación corre de manera estable. Tras esto, el consorcio
también se encarga del mantenimiento del componente: bugs, estabilidad,
escalabilidad,…
-4-
LABORATORIO DE SOFTWARE DE COMUNICACIONES
“Una plataforma de código libre: dotLNR”
Funcionalidades y características
OpenACS implementa un modelo de datos orientado a objetos que los programadores
pueden modificar. Los usuarios, o incluso administradores del sistema tienen una
interfaz web que les permite crear departamentos y escuelas dentro de los cuales se
distribuyen los cursos. Cada uno de estos cursos tiene una página creada
automáticamente (“portal”) dentro de la cual aparecen todas las funcionalidades que el
profesor considere importante para un curso particular. La apariencia de este portal
puede ser adaptada por el profesor sin necesidad de programar. Cada usuario del sistema
(Profesor, Alumno, Ayudante, Administrador, etc.) tiene una página personal donde la
información de todos los cursos y comunidades a las que pertenece es compilada y
presentada en forma uniforme.
Cada portal normalmente incluye:
Î Foros de discusión. Desde allí los profesores pueden organizar actividades de
Î
Î
colaboración virtual, donde alumnos, auxiliares y profesores discuten algún tema o
trabajan en algún proyecto común.
Agendas y eventos. Los alumnos y profesores tienen otras actividades que van
más allá de un curso particular, estas funcionalidades permiten “sincronizar”
agendas personales con las agendas de cursos y comunidades. La utilización de
estándares permite crear mecanismos de sincronización con herramientas
populares como iCal, MS Outlook…
Noticias. Donde los profesores pueden anunciar o recordar a los alumnos eventos
tales como exámenes, tareas, etc.
-5-
LABORATORIO DE SOFTWARE DE COMUNICACIONES
“Una plataforma de código libre: dotLNR”
El software que se usa para entregar los cursos on-line actualmente y la colaboración se
basan en la plataforma OpenACS que implementa modelo orientado a objetos y una
base de datos relacional. DotLRN es el encargado de incluir funcionalidad al portal en
la parte de e-learning, gestión de estudiantes, clases, forum, compartir ficheros, etc.
Estándar SCORM
SCORM (Shareable Content Reference Model) es un estándar de e-learning que consta
de unas especificaciones creadas por grupos industriales como IMS, AICC, ARIADNE,
IEEE… Este conjunto de especificaciones proporciona:
•
•
•
•
Accesibilidad: capacidad de acceso desde cualquier ubicación.
Interoperabilidad con otras plataformas.
Durabilidad: aunque haya cambios durante un curso, los trabajos pueden
entregarse conforme fueron diseñados.
Reusabilidad: los cursos pueden reutilizarse en otros cursos o formar parte en el
contenido de los mismos.
SCORM define un modelo de referencia para generar aprendizaje via web basado en
“Content Aggregation Model” y “Runtime Environment.”
-6-
LABORATORIO DE SOFTWARE DE COMUNICACIONES
“Una plataforma de código libre: dotLNR”
Resulta evidente por lo tanto que una plataforma de e-learning como .LRN haga lo
posible por adaptarse a estas normas. Por tanto, la comunidad OpenACS ha hecho todos
los esfuerzos posibles para adaptarse al estándar SCORM 1.3 con lo que la plataforma
consta de las siguientes funcionalidades:
•
•
•
•
Importar/exportar objetos SCORM
Una herramienta para gestionar los cursos de SCORM dentro del armazón de
OpenACS/dotLRN; una herramienta administrativa para manejar cursos
SCORM, sucesiones (las actividades), SCO/As (aprendiendo los objetos), y
recursos (los archivos)
Un entorno de ejecución (lanzando y entregando SCOs y rastreando)
Secuencias de Objetos e-learning basado en IMS
-7-
LABORATORIO DE SOFTWARE DE COMUNICACIONES
“Una plataforma de código libre: dotLNR”
Conclusiones
•
En este trabajo se ha expuesto una visión general de la plataforma de teleeducación .LRN, una herramienta LMS de creciente importancia en el ámbito
mundial.
•
El hecho de tratarse de una herramienta de código abierto hace que muchas
instituciones opten por su adopción. Este es el caso de la Universidad de
Valencia que considera que, aunque actualmente WebCT posee muchas más
funcionalidades, ha elegido .LRN como plataforma de e-learning.
•
Aunque ahora mismo su funcionalidad es menor, está en un proceso de
desarrollo muy rápido que pronto la convertirá en la herramienta más usada por
todas las instituciones de educación.
•
Es también muy importante el hecho de cumplir con un estándar de teleeducación como SCORM, ya que esto facilita la interoperabilidad con otras
plataformas que cumplan el estándar, y garantiza la accesibilidad, durabilidad y
reusabilidad de la herramienta.
•
DotLRN posee una arquitectura muy compleja pero a la vez muy robusta ya que
sus principales características son su gran escalabilidad (ya que se trata de la
plataforma que más usuarios soporta) y la fácil extensibilidad (ya que al tratarse
de una plataforma muy modular consta de muchos componentes reutilizables).
•
Desde el punto de vista del desarrollador el único inconveniente es la utilización
de un lenguaje complejo como es TCL, pero una vez dominado las posibilidades
de desarrollo son enormes ya que la gran mayoría de las tareas complejas están
ya implementadas en módulos que se pueden reutilizar.
•
En el funcionamiento de la herramienta cabe destacar el uso de plantillas
personalizables para el tipo de cliente en particular que accede al sistema, de
forma que se le añaden una serie de componentes personalizados dependiendo
de su “rol” y después del individuo en particular.
•
En el proceso de desarrollo de nuevas partes de la herramienta, se lleva a cabo
un intensivo proceso de revisión y prueba de los nuevos componentes,
comprobando la estabilidad del sistema con el nuevo componente. Una vez se ha
añadido a la herramienta también hay que encargarse del mantenimiento de los
componentes.
-8-
LABORATORIO DE SOFTWARE DE COMUNICACIONES
“Una plataforma de código libre: dotLNR”
Bibliografía
Proyecto Fin de Carrera: “Implantación de dotLRN en la Universidad de
Valencia. Proyecto: Aula Virtual” de Pedro J. García del Pozo
http://www.rhassociates.com/scorm.htm
http://dotlrn.org/
http://www.aristoi.biz/dotlrn-features/eduTools/
http://openacs.org/
http://e-lane.org/
Charla con Pedro Muñoz Merino
-9-
Descargar