http://purl.org/coar/resource_type/c_7a1f
Proyecto de implementación de videoconferencia Web en el sistema de institucional de Aula Virtual de la Universidad Nacional de Costa Rica
Fecha
2013Registro en:
TESIS 8601
Autor
Barquero Castillo, Andrés
Varela Casasola, Esteban
Institución
Resumen
El proyecto de graduación que es presentado en este documento, tiene como fin, la implementación o desarrollo de un sistema de información Web que servirá como un módulo o extensión de videoconferencia para el intercambio de video, voz y recursos multimediales en tiempo real, que se integrará a la plataforma de aprendizaje de la Universidad Nacional de Costa Rica llamada Aula Virtual Institucional, basada en el sistema de software libre Moodle y que es utilizada actualmente en la institución.
Para efectos de este documento, al Aula Virtual de la Universidad Nacional de Costa Rica, se le seguirá llamando Moodle.
Moodle carece nativamente de la funcionalidad para realizar videoconferencias por lo cual crear un módulo que cumpliera con los requerimientos planteados por UNA Virtual es el objetivo principal del proyecto. Los objetivos específicos se orientaron a la funcionalidad del módulo a desarrollar, siendo el primero lograr que se pudiera realizar una sesión de videoconferencia con intercambio de audio, texto, vídeo y documentos ofimáticos. El acceso al recurso de videoconferencia es el segundo de los objetivos específicos; se tiene que entrelazar el mecanismo de autenticación y autorización existente en Moodle con la funcionalidad del módulo, garantizando así el acceso de los profesores y estudiantes que actualmente utilizan el aula virtual. El tercer objetivo específico define la forma en que los profesores calendarizan las sesiones de videoconferencia; ellos deben calendarizar utilizando el portal de Moodle, de la misma forma en que se calendarizan el resto de actividades. Finalmente el cuarto objetivo especifica que debe existir de un mecanismo de moderación en una sesión de videoconferencia, donde el profesor pueda impartir una clase ordenadamente.
Moodle, es una plataforma creada para promover el aprendizaje en ambientes virtuales y de distribución libre (código abierto), que permite a las personas interesadas, entre otras cosas, utilizar y modificar su código siguiendo los lineamientos de la aplicación. En el caso de este proyecto, no fue necesario modificar el código fuente actual de la plataforma base ya establecida, en cambio, se creó una capa intermedia que integrara el sistema Moodle con el módulo de videoconferencia. Esta capa de integración se realizó utilizando el lenguaje de programación PHP junto con MySQL como motor de base de datos, lo anterior debido a que Moodle en la infraestructura de la Universidad Nacional de Costa Rica utiliza como base esas tecnologías.
Para lograr codificar la solución que respondiera a todos los objetivos planteados se decidió utilizar la metodología de desarrollo ágil Extreme Programming (XI)), ya que tiene un alto enfoque en la planificación de iteraciones que permitieron dividir técnicamente los objetivos y entregar software eficientemente manteniendo una comunicación constante con el cliente. Usando XP se logró planificar iteraciones con un calendario en el que se asignaron las cargas de trabajo, fechas críticas para cada entregable, reuniones de seguimiento y despliegue incremental del software desarrollado en la plataforma UNA Virtual. Así cada objetivo fue desarrollado como una iteración en la cual se codificó, evaluó y entregó software funcional y aprobado por el cliente.
En el campo técnico se utilizaron tecnologías distintas. En el caso del servidor de streaming se utilizó el llamado Red5, una plataforma llamada OpenLaszlo basada en Java para el desarrollo de la capa de presentación y comunicación con el servidor streaming, y la utilización de MySQL como motor de base de datos ya que se utilizó parte de las tablas del módulo de videoconferencia de Moodle con el fin de contar con un solo repositorio de datos.
Cabe destacar que las tecnologías mencionadas anteriormente, si bien es cierto no son las mismas que utiliza Moodle, no infringen las licencias de Moodle con lo cual a la hora de liberar el producto, este, no va a tener ningún inconveniente legal.
Para la realización del sistema, fue necesario enfocar el desarrollo en dos partes principales, la primera consistió en el manejo del servidor de streaming, el cual recibe y administra los cuartos (rooms) sobre los cuales los usuarios van a pertenecer durante una videoconferencia. La segunda parte tuvo como objetivo el desarrollo de tres capas: la capa de presentación, la capa lógica del sistema y la capa de acceso a datos, es decir, es una de las principales partes que conforman el sistema, ya que la misma, maneja aspectos que van desde la seguridad del sistema hasta administrar como el mismo se comporta lógicamente dentro de las distintas videoconferencias. The graduation project that is presented in this document, has as its purpose the implementation or development of a Web information system that will serve as a module or videoconference extension for the exchange of video, voice and multimedia resources in real time, which will be will integrate the learning platform of the National University of Costa Rica called Institutional Virtual Classroom, based on the free software system Moodle and which is currently used in the institution.
For the purposes of this document, the Virtual Classroom of the National University of Costa Rica will continue to be called Moodle.
Moodle natively lacks the functionality to carry out videoconferences, so creating a module that meets the requirements set forth by UNA Virtual is the main objective of the project. The specific objectives were oriented to the functionality of the module to be developed, the first being to achieve that a videoconference session could be carried out with the exchange of audio, text, video and office documents. Access to the videoconference resource is the second of the specific objectives; the existing authentication and authorization mechanism in Moodle has to be intertwined with the functionality of the module, thus guaranteeing the access of teachers and students who currently use the virtual classroom. The third specific objective defines the way in which teachers schedule videoconference sessions; they must schedule using the Moodle portal, in the same way that other activities are scheduled. Finally, the fourth objective specifies that there must be a moderation mechanism in a videoconference session, where the teacher can teach a class in an orderly manner.
Moodle is a platform created to promote learning in virtual environments and free distribution (open source), which allows interested people, among other things, to use and modify their code following the guidelines of the application. In the case of this project, it was not necessary to modify the current source code of the already established base platform, instead, an intermediate layer was created to integrate the Moodle system with the videoconference module. This integration layer was carried out using the PHP programming language together with MySQL as a database engine, the above due to the fact that Moodle in the infrastructure of the National University of Costa Rica uses these technologies as a base.
In order to codify the solution that would respond to all the proposed objectives, it was decided to use the Extreme Programming (XI) agile development methodology, since it has a high focus on planning iterations that allowed technically dividing the objectives and delivering software efficiently while maintaining a Constant communication with the client. Using XP, it was possible to plan iterations with a calendar in which workloads were assigned, critical dates for each deliverable, follow-up meetings, and incremental deployment of the software developed on the UNA Virtual platform. Thus, each goal was developed as an iteration in which functional and customer-approved software was coded, tested, and delivered.
In the technical field different technologies were used. In the case of the streaming server, the so-called Red5 was used, a platform called OpenLaszlo based on Java for the development of the presentation and communication layer with the streaming server, and the use of MySQL as a database engine since it was used part of the Moodle videoconferencing module tables in order to have a single data repository.
It should be noted that the technologies mentioned above, although it is true they are not the same ones that Moodle uses, do not infringe Moodle licenses, so when it comes to releasing the product, it will not have any legal inconvenience.
For the realization of the system, it was necessary to focus the development in two main parts, the first consisted in the management of the streaming server, which receives and manages the rooms (rooms) on which the users will belong during a videoconference. The second part had as objective the development of three layers: the presentation layer, the logical system layer and the data access layer, that is, it is one of the main parts that make up the system, since it manages aspects ranging from system security to managing how it behaves logically within the different videoconferences.