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-