estudio sobre la interoperabilidad de moodle con...

71

Upload: others

Post on 06-Jan-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

Proyecto Final de Carrera

Estudio sobre la Interoperabilidad de Moodlecon herramientas externas

Entrega Final

Versioacuten 15

AutorJoseacute Miguel Mota Maciacuteas

Universitat Oberta de Catalunyawwwuocedu

jmotamauocedu

TutorFatos Xhafa

fxhafauocedu

14 de junio de 2013

Agradecimientos

A Fatos Xhaf por su paciencia

Licencia

Copyright ccopy 2013 Joseacute Miguel Mota Maciacuteas Permission is granted to copy distributeandor modify this document under the terms of the GNU Free DocumentationLicense Version 13 or any later version published by the Free Software Foundationwith no Invariant Sections no Front-Cover Texts and no Back-Cover Texts A copyof the license is included in the section entitled GNU Free Documentation License

Resumen

En el presente documento vamos a realizar la descripcioacuten del trabajo desarrollado para el proyectonal de carrera en el mismo se han analizado los diferentes documentos respecto a la coreografiacuteay orquestacioacuten de Servicios Web en Moodle como plataforma VLE El proceso es detallado ensu integridad terminando con tres capiacutetulos donde se detallan las diferentes maneras que Moodleofrece de conexioacuten con otro Servicios Webs

Iacutendice general

1 Revisioacuten Sistemaacutetica de la Literatura 111 Objetivos del SLR 112 Estudio Inicial 1

2 Plataformas VLE e integracioacuten 721 VLE 7

211 Ejemplos de VLEs 822 Herramientas de Software 8

221 Integracioacuten de herramientas 9222 Problemas en la integracioacuten 11223 Enfoques de la integracioacuten 11

23 Servicios Web 12231 Orquestacioacuten y Coreografiacutea de Servicios Web 14232 Estaacutendares de Orquestacioacuten de Servicios Web 16233 Estaacutendares de Coreografiacutea de los Servicios Web 17

24 Moodle 17241 otras plataformas 18

3 Organizacioacuten y Sistema Inicial 2131 Lanzamiento del proyecto 2132 Denicioacuten del proyecto 2133 Anaacutelisis de requisitos 21

331 Cuestiones Realizadas 21332 Fuentes de datos y buacutesqueda 21333 Criterios de inclusioacuten y exclusioacuten 22334 Asegurar la calidad 22335 Extraccioacuten de datos y anaacutelisis 22336 Fase de revisioacuten 22337 Fase de Pruebas 22

34 Calendario de Trabajo 2335 Hitos principales 2336 Instalacioacuten base 25

4 Servicios Web de Moodle 2741 Introduccioacuten 2742 Servicios Web de Moodle 2743 REST 28

i

431 Principios de disentildeo 2944 SOAP 30

441 Principios de disentildeo 3045 AMF 3146 Conguracioacuten de Moodle Web Services 32

461 Activando los Servicios Web 32462 Pruebas cliente Servicio Web 34

5 Herramientas Externas 3751 Introduccioacuten 3752 Estaacutendares IMS 3753 Herramientas externas en Moodle 39

531 Wordpress 39532 ChemVantage 44

6 Middleware 4961 Introduccioacuten 4962 GluePS 49

621 Instalacioacuten 49622 Creando un Doodle 51

7 Conclusiones Finales 5571 Conclusiones Finales 55

8 Conceptos 57

Bibliografiacutea 59

Iacutendice de guras

11 Resultados SLR 212 Exportacioacuten en IEEE 213 Importacioacuten en Hoja de Caacutelculo 314 Exportacioacuten en SD 315 Exportacioacuten en SD 416 Resumen de resultados 417 Conguracioacuten de Google Scholar 418 Resultados en Zotero 5

21 Anaacutelisis de VLEs 922 Top 100 Tools - Abril 2013 1023 Ciclo de vida del aprendizaje colaborativo 1124 Problemas de integracioacuten 1225 Problemas de integracioacuten 1326 Enfoques de arquitectura de integracioacuten 1427 Orquestacioacuten y Coreografiacutea de Servicios Web 1628 Moodle - Abril 2013 17

31 Proceso para dirigir la revisioacuten 2332 Diagrama de Gantt 2433 Panel de control de XAMPP 2634 Gestor de bases de datos phpMyAdmin 26

41 Capas en Moodle 2842 Operaciones denidas por HTTP 2943 Operaciones denidas por HTTP 3044 Partes de SOAP 3145 Ejemplo de uso de SOAP 3146 Activacioacuten Servicios Web 3247 Activacioacuten Protoclos 3348 Creacioacuten Servicio Personalizado 3349 Agregando funciones al Servicio Personalizado 34410 Listado de Servicios Personalizados 34411 Alta de Usuarios Autorizados 35412 Creacioacuten de Tokens 35413 Lista de Tokens 36414 Web de alta de usuarios 36415 Resultado de REST en formato XML 36

iii

416 Resultado de REST en formato JSON 36

51 Esquema LTI Baacutesico 3852 Esquema utilizacioacuten LTI 3953 Listado de herramientas LTI de la UOC 3954 Informacioacuten sobre la certicacioacuten 4055 Usuario de Wordpress 4056 Servicios LTI en Wordpress 4257 Listado de claves de LTI en Wordpress 4258 Conguracioacuten LTI en Moodle 4359 Conguracioacuten Herramienta Externa 43510 Wordpress integrado en Moodle 44511 Correo de Chuck Wight 46512 Conguracioacuten de paraacutemetros LTI 47513 Opciones de inicio de la herramienta 47514 Pantalla de utilizacioacuten de la herramienta por el usuario 47

61 Arquitectura de GLUE 5062 Paraacutemetros modicados en persistencexml 5063 Paraacutemetros del moacutedulo GLUE 5164 Creando una actividad GLUElet 5265 Antildeadiendo Doodle como actividad 5366 Opciones iniciales de conguracioacuten de Doodle 5367 Doodel dentro de Moodle 54

Capiacutetulo 1

Revisioacuten Sistemaacutetica de la Literatura

11 Objetivos del SLR

Hemos partido de un SLR detallado en la PEC1 bastante ambicioso en el que se intentaronabordar la buacutesqueda de herramientas y estado actual de la coreografiacutea y orquestacioacuten de serviciosweb en la plataforma Moodle Pasaremos a detallar el estudio realizado y los resultados obtenidos

12 Estudio Inicial

La fase de planicacioacuten inicial incluiacutea el la buacutesqueda para la obtencioacuten de estudios o trabajos enlas siguiente libreriacuteas

IEEEXplore [IEEEX] httpieeexploreieeeorg

Science Direct [SD] httpwwwsciencedirectcom

SpringerLink [SL] httpwwwspringerlinkcom

Las cadenas de buacutesqueda empleadas aparecen listadas en la tabla 11 de la paacutegina 1 En la tablaTAK indican Title Abstract Keywords y A indica All Ambos casos se reeren a los campos debuacutesqueda utilizados

Cuadro 11 Fuentes de datos y cadenas de buacutesquedas reali-zadas

Libreriacutea Buacutesqueda AacutembitoIEEEX (Moodle AND Web services) TAKIEEEX (Orchestration OR Coreography) ANDWeb Ser-

vicesTAK

IEEEX (Orchestration OR Coreography) AND Moodle TAKIEEEX (Orchestration OR Coreography) AND (lms OR

Learning Management System)TAK

SD (Moodle AND Web services) TAKSD (Orchestration OR Coreography) ANDWeb Ser-

vicesTAK

continuacutea

1

Cuadro 11 continuacioacutenLibreriacutea Buacutesqueda AacutembitoSD (Orchestration OR Coreography) AND Moodle TAKSD (Orchestration OR Coreography) AND (lms OR

Learning Management System)TAK

SL (Moodle AND Web services) TAKSL (Orchestration OR Coreography) ANDWeb Ser-

vicesTAK

SL (Orchestration OR Coreography) AND Moodle TAKSL (Orchestration OR Coreography) AND (lms OR

Learning Management System)TAK

Los resultados obtenidos podemos observarlos en la gura 11

Figura 11 Resultados SLR

Los resultados de Springer Link para la consulta (Orchestration OR Coreography) ANDWeb Services fueron en principio un problema por la cantidad de artiacuteculos que arrojaba2734 en total aun asiacute empezoacute a trabajar con ello La idea de un SLR es realizar una lecturainicial de los Abstracts para ver si la informacioacuten obtenida es de nuestro intereacutes y si fuera asiacuteprofundizar en la lectura del documento

Comenzamos trabajando con la libreriacutea de IEEE Digital Library (Xplore) El portal de estalibreriacutea nos facilitoacute mucho el trabajo pues pudimos permite la opcioacuten de exportar de manerasencilla como podemos ver en la gura 12 a una hoja de calculo que hemos utilizado para irdetallando aquellos documentos que hemos considerado importantes durante el estudio

Figura 12 Exportacioacuten en IEEE

Los resultados exportados por este portal son bastante completos sobre todo porque contiene elAbstract de los documentos por lo que la lectura de los mismos no se tiene que realizar en demanera individual en la web o descargando los documentos En la gura 13 podemos ver comose importaron en nuestra hoja de calculo los datos obtenidos

Figura 13 Importacioacuten en Hoja de Caacutelculo

Despueacutes de realizar la lectura los Abstracts hemos continuado con ScienceDirect donde los re-sultados fueron menores que los obtenidos con IEEE Este portal tambieacuten permite la opcioacuten deexportar de manera sencilla como podemos ver en la gura 14 permitiendo la opcioacuten de incluirlos Abstracts

Figura 14 Exportacioacuten en SD

Para acabar este uacuteltimo bloque nos quedaba revisar SpringerLink el cual se presentaba comoel maacutes prometedor por el gran nuacutemero de resultados obtenidos La revisioacuten de tantos artiacuteculos sepresentaba ardua pero no se esperaba que fuera tanto pues el portal no permite la exportacioacutende los Abstracts de los documentos encontrados Realizar la descarga de 2924 documentos parasu revisioacuten se nos haciacutea algo inviable dentro de los plazos para entrega del presente proyectosiendo por lo tanto seguir con los paraacutemetros de buacutesqueda iniciales En la gura 15 podemosver cuales son los campos que permite la exportacioacuten de este portal

Esto hizo replantearnos el estudio por lo que hemos replanteado el mismo reduciendo los con-ceptos a buscar para ello hemos realizado la buacutesqueda solo de los artiacuteculos directamente rela-cionados con Moodle y la coreografiacutea y orquestacioacuten de servicios web es decir (OrchestrationOR Coreography) AND Moodle y hemos incluido un nuevo buscador Google Scholar

Figura 15 Exportacioacuten en SD

httpscholargooglecom para de esta manera compensar la reduccioacuten de las buacutesquedas

La buacutesqueda por lo tanto puede ser resumida en la siguiente tabla 16 donde podemos comprobarla gran cantidad de artiacuteculos encontrados gracias a la utilizacioacuten de Google Scholar

Figura 16 Resumen de resultados

Los resultados de Google Scholar eran prometedores pero tambieacuten presentaban problemas parasu exportacioacuten despueacutes de varias consultas para buscar informacioacuten al respecto se conguroacute labuacutesqueda para que permitiera la exportacioacuten de los enlaces encontrados como podemos ver enla gura 17 pero esta opcioacuten nos volviacutea a obligar a realizar una consulta individual de cadaelemento

Figura 17 Conguracioacuten de Google Scholar

Aunque podriacuteamos realizar la buacutesqueda de esta manera sobre todo por los resultados esperadosel tener que realizar la buacutesqueda desde el navegador presentando solo 20 resultados por paacutegina seantojaba bastante pesada sobre todo si se teniacutea que retomar la buacutesqueda en diversos periodos detiempo La solucioacuten que se encontroacute fue la instalacioacuten de Zotero httpwwwzoteroorg Laherramienta permite instalacioacuten de un complemento para Firefox que se utilizoacute para realizar ladescarga de todos los enlaces Este complemento tambieacuten permite la visualizacioacuten de los enlacesen la web como podemos ver en la gura 18 Aun asiacute se decidioacute realizar la instalacioacuten de laversioacuten consola de Zotero para trabajar mejor con carpetas y de esta manera reorganizar lasreferencias encontradas

Figura 18 Resultados en Zotero

Capiacutetulo 2

Plataformas VLE e integracioacuten

En esta seccioacuten describiremos el Entorno Virtual de Aprendizaje pondremos ejemplos de ellos yveremos las necesidades que generan en el desarrollo del proceso de aprendizaje por la falta deintegracioacuten de nuevas herramientas algunas de ellas utilizadas por si sola como herramientas deaprendizaje Detallaremos los problemas de la integracioacuten y expondremos las posibles solucionesa ello

21 VLE

El Entorno Virtual de Aprendizaje (VLE - Virtual Learning Enviroment) suele ser un teacuterminomuy usado en la educacioacuten a traveacutes de ordenador pero no existe una denicioacuten acordada porlo que muchas veces es confundido con otros teacuterminos anaacutelogos como Learning ManagementSystem (LMS) Sistema de Gestioacuten de Contenidos (Content Management System - CMS) o unaPlataforma de aprendizaje (Learning Plataform - LP)

Las deniciones maacutes aceptadas para VLE pues dada en el 2000 por Joint Information Sys-tems Committee (JISC) en el 2000 [Stiles 2000] indicando que son ccedilomponents in which learn-ers and tutors participate in on-line interactions of various kinds including on-line learningExisten otros autores que no estaacuten de acuerdo con la necesidad de interacciones on-line como[Dillenbourg et al 2002] que los excluyen de su denicioacuten Britain an Liber [Britain et al 2004]tambieacuten omiten la comunicacioacuten on-line de su denicioacuten indicando que las VLEs pretender darcabida a una amplia gama de estilos de aprendizaje y objetivos para fomentar el aprendizajecolaborativo y basado en recursos para permitir una mayor intercambio y reutilizacioacuten de recur-sos [Britain et al 2004]

Una de las deniciones mas formal y comuacutenmente citada fue dada en el trabajo de Dillengourgs[Dillenbourg et al 2002] el cual expone siete argumentos distintivos

1 VLEs are designed information spaces in which multiple authors can produce both struc-tured and unstructured information

2 VLEs are social spaces that promote interactions and discussions both synchronously orasynchronously

3 VLEs are explicitly represented ranging from text-based interfaces to complex 3D graphicalsystems

7

4 VLE students are also actors thus producing rather than consuming contents

5 VLEs are not restricted to distance education supporting also presential and blended learn-ing situations

6 VLEs integrate heterogenous technologies (including a variety of tools supporting diferenttasks) and multiple pedagogical approaches because integration is under the idea of envi-ronment

7 Most VLEs overlap with physical environments at some point since learning activities mayinvolve the use of non-computerized resources or interactions among participants

Por tanto el VLE conlleva un paso hacia delante por constituir un espacio virtual que utilizatecnologiacuteas heterogeacuteneas en el que los alumnos son activos usuarios siendo sistemas centrados enlos educadores que permiten el disentildeo instanciacioacuten promulgacioacuten y evaluacioacuten de situacionesde aprendizaje colaborativo a traveacutes de un conjunto de actividades de aprendizaje que puedenser siacutencronas o asiacutencronas cara a cara o a distancia individuales o de manera colaborativa

211 Ejemplos de VLEs

Existen actualmente diversos VLEs amplimente difundidos y no paran de aparecer nuevos loscuales intentan incluir nuevos teacutecnicas aplicadas al aprendizaje como puede ser el 3D [Nonis 2005]Hemos realizado el resumen por [Alario-Hoyos et al 2012] para mostrar una tabla en la gura21 de los maacutes importantes Moodle Lams LRN Sakai Blackboard Claroline Sharepoint LMSy sus caracteriacutesticas teacutecnicas y funcionales

22 Herramientas de Software

El uso de aplicaciones software como apoyo al aprendizaje ha jugado un papel muy importantesobre todo a la incorporacioacuten del ordenador a nuestra vida diaria Sin embargo no ha sido hastalos uacuteltimos antildeos con la difusioacuten de las tecnologiacuteas web y la posibilidades que ofrece de accesoraacutepido y ubicuo a los recursos e informacioacuten lo que ha provocado la proliferacioacuten de las her-ramientas de Software como Servicio (Software as Service - SaaS) siendo adoptadas en todas lasetapas del aprendizaje

La tendencia actual de los usuarios a generar y compartir contenidos a traveacutes de las herramientasde la llamada Web 20 la mayoriacutea de las cuales son aplicaciones SaaS ha cambiado la formade aprender fomentando la comunicacioacuten colaboracioacuten y ha fomentado un aprendizaje masconstructivista Algunos ejemplos de estas herramientas son

Google Drive httpsdrivegooglecom

Twitter httpstwittercom

Delicious urlhttpsdeliciouscom

Google Maps httpsmapsgooglees

Flickr httpwwwflickrcom

Doodle httpwwwdoodlecom

Figura 21 Anaacutelisis de VLEs

Miles de estas herramientas son usadas como apoyo en las actividades de aprendizaje Muchasde estas herramientas podemos encontrarlas valoradas en un ranking en webs como Tops 100Tools for Learning1 de la cual mostramos la gura 22 tambieacuten podemos encontrarlas en CcediloolsTools for Schools2

221 Integracioacuten de herramientas

Aunque hemos podido ver que existe un gran nuacutemero de herramientas software la cuales puedenapoyar el desarrollo docente son pocos los VLEs y otras plataformas similares utilizadas porlos educadores para disentildear y prestar sus actividades formativas las que incluyen un nuacutemeromuy restringido de estas herramientas de manera integrada Los educadores suelen indicar laslimitaciones que los VLEs tienen en este caso demandando maacutes alternativas para soportar susparticulares aprendizajes colaborativos Por ello ha emergido con fuerza la integracioacuten de her-ramientas externas en los VLEs sobre todo para el uso de SaaS y aplicaciones Web 20

Debemos tener en cuenta que

La integracioacuten de las herramientas actuales en los entornos VLEs actuales suele ser laopcioacuten maacutes aceptada aunque existen otras alternativas

Las SaaS y las aplicaciones Web 20 han sido ampliamente adoptadas como herramientas de

1httpc4lptcouktop100tools2httpcooltoolsforschoolswikispacescom

Figura 22 Top 100 Tools - Abril 2013

aprendizaje pero existen otras herramientas con su particularidades teacutecnicas que puedenser interesantes y tenida en cuenta como actividades de aprendizaje en los VLEs

Estas herramientas usadas durante el ciclo de vida de aprendizaje colaborativo deben poderser analizadas para estudiar sus resultados

El ciclo de vida del aprendizaje colaborativo consta de cuatro fases disentildeo despliegue pues-ta en marcha y evaluacioacuten Las herramientas de software suelen utilizarse principalmenteen dos de ellas en el despliegue donde las herramientas son seleccionadas dependiendo delos objetivos del aprendizaje la conguracioacuten social y las estructuras de las actividades arealizar y en la fase de puesta en marcha pues son utilizadas por los estudiantes para re-alizar sus actividades y de esta manera alcanzar los objetivos del aprendizaje En la fase deevaluacioacuten estas realmente no son importantes pues no nos interesa tanto la herramientacon la que se haya realizado sino el contenido de esos resultados La fase de disentildeo es dondese consideran las tareas a realizar para llevar a cabo el aprendizaje y no herramientas autilizar para ello Aunque estas cuatro fase puede ser ampliadas o reducidas es ampliamenteaceptado En la gura podemos ver graacutecamente este ciclo

Figura 23 Ciclo de vida del aprendizaje colaborativo

222 Problemas en la integracioacuten

El problema general de la integracioacuten de muacuteltiples herramientas externas en diversos VLEspodemos observarlo en la gura 24 donde podemos ver en un lado diferentes VLEs consus correspondientes APIs arquitectura y caracteriacutesticas mientras en el otro lado diferentestecnologiacuteas interfaces y desarrollos para una gran variedad de propoacutesitos Cada uno deellos puede imponer sus restricciones para la integracioacuten Estos requerimientos es lo queha sido denominado por ejemplo en LAMS como ccedilontrato de integracioacuten el cual intentadeterminar las tecnologiacuteas interfaces y modelos de datos que deben ser empleados para lacomunicacioacuten entre un sistema y el programa que intente integrarlo

Cada herramienta puede tener una o maacutes opciones de integracioacuten Algunas son especiacute-cas para una cierta herramienta (Ej comunicacioacuten basado en Rest para Delicious y paraSlidshare de manera diferente) y otras comuacuten para varias herramientas (Ej Google DataProtocol) Lo mismo ocurre en el lado de los VLEs por lo que se abre un amplio abanicode tecnologiacuteas interfaces y modelos de datos que hacen que la tarea de integracioacuten seaalgo realmente complejo En la gura 25 podemos ver un resumen de los problemas deintegracioacuten seguacuten las herramientas seleccionadas

223 Enfoques de la integracioacuten

Podemos denir dos enfoques principales a la hora de enfocar la integracioacuten de las her-ramientas de software y los VLEs siendo estos

bull Estandarizar los contratos de integracioacutenLa denicioacuten de unos estaacutendares de integracioacuten podriacutea resolver los problemas de in-tegracioacuten pero no existen hoy en diacutea los mismos o no son aceptados por la mayoriacutea

Figura 24 Problemas de integracioacuten

seguramente por intereses tecnoloacutegicos y comerciales IMS Global Learning Consor-tium siguen intentando realizar la aprobacioacuten de dicho estaacutendar siendo uno de elloIMS-LTI Integracioacuten de aplicaciones y servicios remotos y aunque la adopcioacuten de losmismo por las nuevas versiones de Moodle y Blackboard podriacutea hacer que se apos-tara por esta opcioacuten la falta de herramientas que lo utilicen (Ej Google no lo utiliza)puede hacer que no llegue a buen puerto

bull Crear una arquitecturaEste enfoque trata de adaptar los contratos de integracioacuten de los VLEs y las her-ramientas sin tener que modicar sus implementacioacuten Este mismo enfoque presentados opciones como podemos ver en la gura 26 y que pasamos a detallar

1 Un adaptador por en el lado de VLE y otro en el lado de las herramientas o inclusoun solo paquete que pueda congure toda la conexioacuten En este caso estariacuteamoshablando por ejemplo de los moacutedulo adicionales de Moodle

2 Una capa intermedia y adaptadores Este tipo de arquitectura permite la in-tegracioacuten entre muacuteltiples herramientas externas y muacuteltiple entorno virtuales deaprendizaje a traveacutes de un middleware comuacuten Dicho middleware estariacutea com-puesto de diferentes programas que pueden ser ejecutados en dominios diferentesEsta arquitectura reduce el esfuerzo para la integracioacuten de cada herramienta encada VLE ya que el coacutedigo estaacute parcialmente implementado por los elementos deintegracioacuten comunes Sin embargo el grado de integracioacuten y funcionalidad que sepuede lograr con estas arquitecturas es menor que con la primera opcioacuten

23 Servicios Web

Aunque han sido englobados dentro de integracioacuten de herramientas vamos a detallar queson y que aportan a Moodle

Figura 25 Problemas de integracioacuten

Los Servicios Web (Web Services) son la parte esencial de la interoperabilidad de Moodlecon otras aplicaciones Web 20 consisten en una pieza de software que utiliza un conjuntode protocolos y estaacutendares abiertos para intercambiar datos entre aplicaciones La idea prin-cipal es que distintas aplicaciones de software desarrolladas en lenguajes de programacioacutendiferentes y ejecutadas sobre cualquier plataforma puedan utilizar los servicios Web paraintercambiar datos en la red de ordenadores como Internet El producto resultante es unconjunto de moacutedulos con funcionalidad especiacuteca y completa que se acoplan entre siacute A suvez estos moacutedulos se conectan a una plataforma de e-learning mediante la utilizacioacuten deservicios de base descritos en una capa estaacutendar que funciona como gateway

Para ampliar un poco mejor el concepto de servicios Web citaremos una exposicioacuten delDoctor Marcos Escobar Un Web Service es un componente de software que se comunicacon otras aplicaciones codicando los mensaje en XML y enviando estos mensaje a traveacutesde protocolos estaacutendares de Internet tales como el HTTP Intuitivamente un Web Servicees similar a un sitio Web que no cuenta con un interfaz de usuario y que da servicio a lasaplicaciones en vez de a las personas Un Web Service en vez de obtener solicitudes desdeel navegador y retornar paacuteginas Web como respuesta lo que hace es recibir solicitudes atraveacutes de un mensaje formateado en XML desde una aplicacioacuten realiza una tarea y de-vuelve un mensaje de respuesta tambieacuten formateado en XML

Figura 26 Enfoques de arquitectura de integracioacuten

231 Orquestacioacuten y Coreografiacutea de Servicios Web

Seguacuten Careaga Mercadillo Ana Lilia [car ] la Orquestacioacuten (Web Service Orchestration)y Coreografiacutea (Web Service Choreography) se suelen ver como dos aproximaciones parala Composicioacuten de Servicios Web que se acercan estrechamente a los conceptos musicalespor lo cual se han importado directamente sus signicados A continuacioacuten detallaremosque son y sus posibles aplicaciones

La tarea de componer servicios Web baacutesicos o simples para brindar servicios Web maacutes com-plejos se conoce teacutecnicamente como Composicioacuten de Servicios Web Existen dos grandesaproximaciones para esta tarea la coreografiacutea con foco en la interaccioacuten entre servicios(equivalente a los bailarines) y la orquestacioacuten (equivalente a los instrumentos de la orques-ta) con foco en la implementacioacuten y ejecucioacuten de servicios La primera puede consid-erarse como una descripcioacuten formal del pasaje de mensajes obviando detalles internosde implementacioacuten Se ajusta maacutes en situaciones donde es provechoso contar con la no-cioacuten de estados y tambieacuten donde estaacuten involucradas transacciones de larga duracioacuten- Elorquestadordetermina la naturaleza y la secuencia de la interaccioacuten En cambio la segun-da aproximacioacuten describe la loacutegica y el estado de cada una de las partes involucradas Laorquestacioacuten tiene una visioacuten mas local y centralizada mientras que la coreografiacutea denela composicioacuten desde una perspectiva global sin control centralizado tal y como sucede enla danza

Existen numerosas deniciones de Servicios Web y esto demuestra en parte la gran com-plejidad de los servicios que se agrupan bajo este teacutermino y las implicaciones asociadas aellos Hasta ahora la denicioacuten maacutes general y convincente es decir que los Servicios Webson el conjunto de aplicaciones tecnoloacutegicas con capacidad para interoperar en la Web Es-tas tecnologiacuteas intercambian datos entre ellas con el n de ofrecer servicios de naturalezaremota

La World Wide Web no es soacutelo un espacio de informacioacuten tambieacuten es un espacio de inter-accioacuten Utilizando la Web como plataforma los usuarios de forma remota pueden solicitar

un servicio que alguacuten proveedor ofrezca en la red Pero para que esta interaccioacuten funcionedeben existir unos mecanismos de comunicacioacuten estaacutendares entre diferentes aplicacionesEstos mecanismos deben poder interactuar entre siacute para presentar la informacioacuten de formadinaacutemica al usuario Se precisa pues una arquitectura de referencia estaacutendar que hagaposible la interoperabilidad y extensibilidad entre las distintas aplicaciones y que permitasu combinacioacuten para realizar operaciones complejas Esta arquitectura es conocida con elnombre de SOA (Service Oriented Architecture)

Con el n de estandarizar los diferentes aspectos relacionados con los servicios Web elW3C (World Wide Web Consortium) recoge todo lo referente a ellos en (Web ServicesActivity) Asiacute pues Web Services (WS) ofrece un signicado estaacutendar para interoperarentre diferentes aplicaciones de software corriendo en diferentes plataformas yo marcosde trabajo El W3C pretende disentildear la arquitectura denirla y crear el nuacutecleo de tec-nologiacuteas que hagan posible los Servicios Web Los servicios Web se basan en un lenguajede caracteriacutesticas especiales llamado XML (Extensible Markup Language) que permite quelas aplicaciones compartan informacioacuten y que ademaacutes invoquen funciones de otras apli-caciones independientemente de coacutemo se hayan creado dichas aplicaciones y del sistemaoperativo o plataforma en que se ejecuten Por ejemplo Google utiliza un Servicio Webllamado Google Web APIs que permite que el usuario programe en diversos lenguajes ase-gurando la recuperacioacuten de informacioacuten independientemente de la plataforma que se utilice

Los Servicios Web se idearon en un principio para realizar interacciones simples e indepen-dientes pero ahora es necesario que los servicios colaboren y se coordinen A la coordinacioacutennecesaria para implementar un servicio Web se le llama Composicioacuten que puede realizarsede dos manerasorquestacioacuten y coreografiacutea La principal diferencia entre orquestacioacuten ycoreografiacutea es el alcance La orquestacioacuten trata de la descripcioacuten y ejecucioacuten de un mismoy uacutenico punto de vista global del modelo (instrumentacioacuten) La coreografiacutea trata de la de-scripcioacuten y guiacutea de un modelo global proyectado en base a cada participante (bailarines)La orquestacioacuten y coreografiacutea son teacuterminos que describen dos aspectos de los estaacutendaresemergentes para la creacioacuten de procesos de negocios de muacuteltiples servicios WebLos dosteacuterminos se superponen pero es claro que la orquestacioacuten se reere a un proceso de nego-cio ejecutable que puede interactuar tanto con servicios Web internos como externos Laorquestacioacuten representa siempre el control desde la perspectiva de una de las partes Estolo distingue de la coreografiacutea que es de mayor colaboracioacuten y permite a cada parte impli-cada describir su papel en la interaccioacuten La orquestacioacuten y coreografiacutea tratan de describiraspectos relacionados con la creacioacuten de procesos de negocio que involucran varios tipos deSoftware

Visto graacutecamente podemos ver en la gura 27 la orquestacioacuten permite disentildear proce-sos de negocio ejecutables que pueden interactuar (a nivel de mensaje) tanto con softwareinterno como externo Por otra parte la coreografiacutea es mucho maacutes colaborativa ya quepermite trazar las secuencias de mensajes que se suceden entre todas las partes partici-pantes del proceso de negocio en lugar de centrarse en los mensajes que se intercambianentre los diversos programas de software que implementan los procesos de negocio

Figura 27 Orquestacioacuten y Coreografiacutea de Servicios Web

232 Estaacutendares de Orquestacioacuten de Servicios Web

WS BPEL( Web Service Business Process Execution Language)Es un lenguaje de orquestacioacuten estandarizado porOASIS (Organisation for Advance Struc-tured Information Business Transaction Protocol) para la composicioacuten de servicios Web quepermite a los desarrolladores crear programas que automatizan las interacciones entre losservicios Web jugando un papel clave en las arquitecturas orientadas a los servicios SOAPara comprender su funcionamiento imaginemos un proceso de negocio determinado quetiene una entrada A y una salida B Dicho proceso como la mayoriacutea de ellos posee a suvez de muchos procesos internos que se van activando de acuerdo a ciertos paraacutemetros yvalores BPEL seriacutea el encargado de orquestar y por lo tanto dirigir la ejecucioacuten de unamanera ordenada La ventaja de que BPEL sea un estaacutendar radica en que puede ser imple-mentado en una gran variedad de motores de ejecucioacuten de diferentes proveedores BPELen si es un formato XML que proviene de la convergencia entre el WSFL (Web ServiceFlow Language) de IBM y XLANG de Microsoft La herramienta BPEL estaacute basada en unmodelo llamado Workow que especica las oacuterdenes de ejecucioacuten Existen actividadesbaacutesicas como iumlnvoke y receive y otras estructuradas como sequence Tambieacuten formanparte del modelo variables y participantes (partners) En las variables se deposita la nocioacutende datos y los participantes representan los elementos que interactuacutean en la composicioacutenEl modelo se completa como un motor que orquestaraacute las invocaciones

BPML (Business Process Modeling Language)Es un metalenguaje basado en XML para la descripcioacuten de procesos de negocio Inicial-mente BMPL se disentildeoacute para soportar los procesos que un sistema de gestioacuten de procesosde negocio pudiera ejecutar BPML dispone de estructuras similares a BPEL como puedenser actividades baacutesicas para el enviacuteo y la recepcioacuten de mensajes y para la invocacioacuten deservicios Adicionalmente BPML permite planicar las tareas para que se ejecuten eninstantes especiacutecos ofreciendo algunas opciones de control temporal Este lenguaje in-cluye caracteriacutesticas para dar soporte a la persistencia ya que fue disentildeado para la gestioacutende procesos de larga duracioacuten BPML ofrece soporte tambieacuten para realizar composicionesrecursivas a n de poder construir procesos de negocio que a su vez consten de otros sub-procesos Asimismo soporta transacciones de larga o corta ejecucioacuten gracias a que usa unateacutecnica similar a BPEL para controlar el alcance de las actividades y gestionar de esta

forma las reglas de compensacioacuten en caso de que las operaciones que deben realizarse deforma automaacutetica se vean interrumpidas

233 Estaacutendares de Coreografiacutea de los Servicios Web

WS-CDL (Web Services Choreography Description Language)Es un lenguaje basado en XML que describe la colaboracioacuten entre pares peer to peemediante la denicioacuten - desde un punto de vista global de los comportamientos comunes yobservables de cada participante de un proceso de negocio Eacuteste es un lenguaje utilizadopara la denicioacuten de servicios dentro de la plataforma SOA y cuyo objetivo es la descrip-cioacuten del comportamiento de cada uno de los servicios establecidos para lograr un objetivocomuacuten Sin embargo antes de WS-CDL ya existiacutea un lenguaje que permitiacutea la descripcioacutende las funcionalidades de un Servicio Web WSDL (Web Services Denition Language)el cual puede describir el conjunto de funciones ofrecidas con los posibles fallos que po-driacutean ocurrir y a pesar de que WS-CDL podriacutea expresar las coreografiacuteas de un servicioen un ambiente SOA W3C (World Wide Web Consortium) abandonoacute su desarrollo en 2009

WSCI (Web Service Choreography Interface)La especicacioacuten de WSCI fue desarrollada por diversas compantildeiacuteas como Sun SAP BEAe Intalio y representa una extensioacuten para WSDL para la colaboracioacuten La especicacioacuten de-ne la coreografiacutea global o el intercambio de mensajes entre los diferentes tipos de softwarey soporta su correlacioacuten reglas de secuenciacioacuten manejo de excepciones transacciones ycolaboracioacuten dinaacutemica WSCI soacutelo describe el comportamiento observable entre el softwareque se emplea Una coreografiacutea WSCI constaraacute de un conjunto de interfases WSCI unapor cada uno de los servicios que participen en la interaccioacuten

24 Moodle

El software de coacutedigo abierto (Open-Source Software-OSS) esta siendo ampliamente de-sarrollado ofreciendo nuevas alternativas y posibilidades hasta hace poco inimaginablesMoodle es un claro ejemplo siendo uno de los programas maacutes ampliamente adoptados porcolegios institucioacuten universidades etc Como podemos ver en la gura 28 el nuacutemero deusuarios registrados y los idiomas en los que se encuentra disponible dan muestra de sugran difusioacuten Algunas de las razones mas importante para su eleccioacuten son

Figura 28 Moodle - Abril 2013

bull Moodle es OSS lo cual signica que los usuarios pueden descargarlo libremente usarlomodicarlos e incluso redistribuirlo seguacuten los teacuterminos GNU 3

bull La losofiacutea planteada por Moodle incluye una aproximacioacuten constructiva basada enel constructivismo social de la educacioacuten enfatizando que los estudiantes (y no soacutelolos profesores) pueden contribuir a la experiencia educativa en muchas formas

bull Compatibilidad con maacutes de 70 idiomas diferentes

bull Una excelente documentacioacuten soporte para seguridad y administracioacuten

bull No requiere modicaciones en el sistema operativo pudiendo ser ejecutado en un en-torno Linux Windows Mac OS o cualquier otro siempre que soporten PHP

bull La informacioacuten esta soportada por una simple base de datos

Ademaacutes su sencilla aplicacioacuten en entorno web que utiliza tecnologiacuteas ya ampliamenteprobadas sus mecanismos de extensioacuten maacutes faacuteciles en comparacioacuten con otros VLEs y laexistencia de una gran cantidad de documentacioacuten de desarrollo han impulsado la creacioacutende una gran comunidad de personas que contribuyen a la mejora de Moodle Esta comu-nidad estaacute en constante desarrollo de nuevas caracteriacutesticas y aplicaciones a traveacutes decientos de plugins que pueden ser descargados desde su la web de Moodle y asesoran tantoa otros desarrolladores como usuarios nales

La primera versioacuten de Moodle (10) fuel lanzada en 2002 como parte de la investigacioacuten deMartin Dougiamas del uso del software de coacutedigo abierto para la ensentildeanza y el aprendizajecon las comunidades basadas en Internet[Dougiamas and Taylor 2000] Actualmente seencuentra disponible la versioacuten 243+ como estable y la beta de la versioacuten 25

En cuanto a la parte teacutecnica Moodle estaacute desarrollado en lenguaje PHP como la mayoriacuteade los VLEs utiliza una arquitectura cliente-servidor comuacuten de tres capas CORREGIRLa capa de presentacioacuten dene como la informacioacuten se presenta a los usuarios nales quetienen acceso a esa informacioacuten a traveacutes de sus navegadores web La Capa de loacutegica de ne-gocios se encarga de las relaciones con Moodle el acceso a la capa de datos por lo generala traveacutes de MySQL para almacenar y recuperar la informacioacuten cuando sea necesario

Moodle se distribuye en un solo paquete multiplataforma que incluye PHP MySQL yApache HTTP Server para facilitar los procesos de instalacioacuten y conguracioacuten La dis-tribucioacuten actual de Moodle cumple con varios estaacutendares educativos Por ejemplo Moodlepuede manejar ADL SCORM paquetes que contienen recursos aislados o cursos completosEn cuanto a los estaacutendares IMS Moodle soporta IMS Content Packaging (IMS CP) IMSCommon Cartridge (IMS CC)IMS pregunta y Test Interoperability (IMS QTI) y estaacuteconsiderado como uno de los VLEs compatible con Basic LTI

241 otras plataformas

No podemos dejar de lado otros escenarios educativos que han ido apareciendo en los uacutelti-mos antildeos a pesar del gran eacutexito de los VLEs Algunos ejemplos de estas plataforma son

3httpsmoodleorg

bull Wikis (Ej MediaWiki) Son sistemas software que permiten la creacioacuten y gestioacutende contenidos estructurados mediante paacuteginas web relacionadas entre siacute El contenidosuele estar editado por varios usuarios que trabajan de manera colaborativa pudiendoincluir enlaces a recursos externos

bull Sitios de redes sociales (Ej Facebook) Son sistema en liacutenea donde los usuariospueden crearse sus propios perles y crear una red personal que les mantendraacute conec-tado con otros usuarios Estos sistemas han proliferado en los uacuteltimos antildeos llegando amillones de usuarios No suelen necesitar un administrador pues se utilizan medianteentorno web y son alojados por el propio proveedor Su gran adopcioacuten y el enfoquea las interacciones sociales es lo que ha llevado a muchos profesor a utilizarlo comoherramienta de aprendizaje Estos sitios permiten la creacioacuten y mantenimiento degrupo mediante el perl de usuario pero no estaacuten disentildeados para seguir un enfoquepedagoacutegico

bull Personal Learning Environment - PLE (Ej Southampton) Son denidos comosistemas de software que permiten al estudiante a tomar el control y la gestioacuten de suspropio aprendizaje Se caracterizan por la por la participacioacuten directa de los alumnosen el acceso agregacioacuten conguracioacuten y manipulacioacuten de herramientas y recursos adiferencia de los VLEs done es el educador el que selecciona y gestiona los recursosque el alumno debe utilizar

Muchas de estas herramientas son de coacutedigo libre y abierto Su funcionalidad respecto ala gestioacuten de actividades grupos funciones y herramientas es limitado siendo en algunoscasos inexistente Ninguna de estas plataformas se puede considerar un VLE ya que nosson sistemas centrados en el educador sin embargo pueden apoyar la integracioacuten de apli-caciones externas en entornos de aprendizaje colaborativo

Capiacutetulo 3

Organizacioacuten y Sistema Inicial

A continuacioacuten pasamos a detallar las distintas actividades de la que consta el proyecto quehemos llevado a cabo durante estos meses

31 Lanzamiento del proyecto

Esta actividad consisten en la eleccioacuten de una de las diferentes posibles aacutereas de desarrollo deproyectos que ofrece la UOC siendo la elegida Aplicaciones Web para trabajo colaborativo

32 Denicioacuten del proyecto

El proyecto queda denido en el presente documento siendo el tiacutetulo del mismo Orchestationand Coreography of Web Services on Moodle - Revisioacuten Sistemaacutetica de la literatura

[Duracioacuten] 27-02-2013 al 03-03-2013

33 Anaacutelisis de requisitos

Nos centraremos en la fase de planicacioacuten que incluye los objetivos de la investigacioacuten y la formaen que se llevaraacute a cabo la revisioacuten

[Duracioacuten] 04-03-2013 al 03-06-2013

331 Cuestiones Realizadas

El primer paso en la fase de planicacioacuten seraacute denir los objetivos principales de esta revisioacutensistemaacutetica de la literatura Estos objetivos son analizar el estado del arte de la coreografiacutea yorquestacioacuten de los servicios web en Moodle como LMS

332 Fuentes de datos y buacutesqueda

Utilizaremos diferentes libreriacuteas o espacios digitales para realizar las buacutesquedas las mismas serealizaraacuten en ingleacutes y espantildeol Las libreriacuteas principales utilizadas son

IEEEXplore [IEEEX] httpieeexploreieeeorg

21

Science Direct [SD] httpwwwsciencedirectcom

SpringerLink [SL] httpwwwspringerlinkcom

Paralelamente a Science Direct se han realizado buacutesquedas en Scopus1 de Elsevier y GoogleScholar2 de Google

333 Criterios de inclusioacuten y exclusioacuten

Las buacutesquedas que se realicen intentaraacuten abarcar todo el aacutembito de cuestiones del SLR pero esposible (y de hecho ocurre) el resultado contenga referencias publicaciones estudios o en generalinformacioacuten que no sirve Para ello seraacute necesario denir criterios de inclusioacuten y exclusioacuten loscual haremos basaacutendonos en la guiacutea [Kitchenham 2007]

334 Asegurar la calidad

Despueacutes de obtener un numero considerable de trabajos o estudios que satisfacen los criteriosde inclusioacuten y exclusioacuten se deberaacute ser capaz de asegurar o armar cuales son los que cumplencon una miacutenima calidad y si son vaacutelidos o no para el estudio en si Es baacutesico poder analizar queacuteestudios son mejores que otros en teacuterminos de calidadSiguiente [Kitchenham 2007] se deniraacuten preguntas y cuestiones que permitan asegurar dichacalidad

335 Extraccioacuten de datos y anaacutelisis

Los criterios de inclusioacuten y exclusioacuten junto con las preguntas orientadas a asegurar la calidadnos serviraacuten para obtener todos los artiacuteculos y estudios que se analizan en este estudioDe cada artiacuteculo se recogeraacute titulo y autores abstract publicacioacuten y antildeo de publicacioacuten

336 Fase de revisioacuten

Esta fase de planicacioacuten seraacute denir el proceso de conducir o dirigir la revisioacuten Para elloutilizaremos tres fases como podemos ver en la gura 31 de la paacutegina 23

337 Fase de Pruebas

Se realizan pruebas con la informacioacuten obtenido montado maacutequinas virtuales para realizar lasmismas En estas se han probado las diferentes opciones de comunicacioacuten que nos ofrece Moodle

1httpwwwscopuscom2httpscholargooglecom

Figura 31 Proceso para dirigir la revisioacuten

34 Calendario de Trabajo

Podemos ver en el siguiente diagrama de Gantt32 la distribucioacuten de trabajos en el tiempo elmismo seraacute modicado para ajustarlo a las variaciones producidas durante el desarrollo de lastareas que contempla

35 Hitos principales

Los principales hitos seraacuten

Lanzamiento del proyecto Se dene correctamente en que va consistir el proyecto

Denicioacuten de cuestiones para la buacutesqueda Donde se detallaraacuten las cuestiones quemarcaran el desarrollo del resto del proyecto

Comprobacioacuten de resultados Se deberaacuten criba los mismo para no obtener duplicadoso informacioacuten ajena a la investigacioacuten

Revisioacuten de informacioacuten obtenida Una vez obtenida la informacioacuten y analizada deberaacuteser revisada para su presentacioacuten

Figura 32 Diagrama de Gantt

36 Instalacioacuten base

Para llevar a cabo las pruebas se ha optado por la creacioacuten de una maacutequina virtual sobre VirtualBox 3 en la cual hemos instalado Windows XP como sistema operativo Este sistema es maacutesligero a la hora de trabajar en maacutequinas virtuales pues requiere menos recursos que las versionesposteriores del mismos sistema

El siguiente paso era la instalacioacuten de Moodle Aunque se dispone de un instalador para Win-dows se ha optado por la descarga e instalacioacuten de XAMPP 4 y su y su posterior conguracioacutenen la maacutequina virtual XAMPP es un servidor independiente de plataforma software libre queconsiste principalmente en la base de datos MySQL el servidor web Apache y los inteacuterpretespara lenguajes de script PHP y Perl El nombre proviene del acroacutenimo de X (para cualquierade los diferentes sistemas operativos) Apache MySQL PHP Perl

XAMPP en su versioacuten 181 incluye

Apache 243

MySQL 5527

PHP 547

phpMyAdmin 3522

FileZilla FTP Server 0941

Tomcat 7030

Strawberry Perl 51611 Portable

XAMPP Control Panel 310

Hemos continuado con la descarga he instalacioacuten de Moodle y hemos querido probar las difer-encias que obtenemos entre las versiones 19x y 25 por lo que se han descargado ambas heinstalado en maacutequinas virtuales diferentes Con ello conseguiremos probar el resultado obtenidoseguacuten la versioacuten Moodle desde su versioacuten 22 ya soporta conexiones mediante IMS - LTI IMSLTI es un estaacutendar IMS Learning Tool Interoperability Esto signica que las herramientas deaprendizaje tienen ahora diversas maneras de conectarse entre sin problemas

En la praacutectica cuando un usuario se registra en una herramienta como Moodle se pueden conectara la otra herramienta como MediaWiki y autenticarse automaacuteticamente proporcionando unaexperiencia perfectaLas guras 33 y 34 nos muestran el panel de control de XAMPP una vez instalado y el panede phpMyAdmin donde hemos debido congurar las bases de datos y usuario necesarios parallevar todo el proceso de conguracioacuten de Moodle y el resto de herramientas

3httpswwwvirtualboxorg4httpwwwapachefriendsorgesxampphtml

Figura 33 Panel de control de XAMPP

Figura 34 Gestor de bases de datos phpMyAdmin

Capiacutetulo 4

Servicios Web de Moodle

41 Introduccioacuten

Moodle 2X incorpora la posibilidad de implementar Servicios Web para manejar sus funciona-lidades lo que nos permite poder acceder a acciones de actualizar y crear tareas para reejar elresultado de las actividades realizadas Moodle soporta varios protocolos (REST SOAP XML-RPC y AMF)

42 Servicios Web de Moodle

Los Servicios Web de Moodle se caracterizan por permitir el acceso desde cualquier aplicacioacutenimplementando para ello tres capas como podemos observar en la gura 41

Capa nuacutecleoLa capa del nuacutecleo estaacute compuesta de todas las funciones principales de Moodle sobreusuarios grupos cursos calendario etc Moodle no dispone de una API al uso sino queofrece diferentes funciones que han sido desarrolladas durante antildeos Por tanto las necesi-dades de los Servicios Web estaacuten obligando a rehacer estas funciones del nuacutecleo para quecomiencen a formar una API (Moodle 2X)

Capa externaLa capa externa estaacute compuesta por nuevos cheros llamados externalphp colocados porlas carpetas de Moodle y conteniendo manejadores para la capa inferior Estos manejadoresson los responsables de comprobar las capacidades paraacutemetros y llamadas correctas a lasfunciones de nuacutecleo

Capa de conectoresLa capa de conectores estaacute compuesta de diferentes conectores para las diferentes imple-mentaciones de los Servicios Web y contiene un conector REST un conector SOAP unconector XML-RPC y un conector AMF Esta capa admite plugins para ampliar los conec-tores disponibles de manera que se puedan integrar otros sistemas en Moodle utilizandootros protocolos

Los pasos para utilizar un Servicio Web con Moodle seriacutean los siguientes

1 El cliente enviacutea el nombre de usuario y contrasentildea al servidor que provee los ServiciosWeb

27

Figura 41 Capas en Moodle

2 El servidor de protocolo devuelve un token de sesioacuten para esa cuenta de usuario

3 El cliente llama a un Servicio Web especiacuteco incluyendo el token de sesioacuten

4 El servidor utiliza el token para comprobar que la sesioacuten del Servicio Web estaacute activa

5 El servidor llama a la funcioacuten correspondiente localizada en el chero externallibphp dentrodel moacutedulo especiacuteco

6 La funcioacuten externa comprueba que el usuario actual tenga los permisos sucientes pararealizar esta operacioacuten

7 La funcioacuten externa llama a la funcioacuten correspondiente del nuacutecleo de Moodle (libphp)

8 La funcioacuten del nuacutecleo puede retornar un resultado a la funcioacuten externa

9 La funcioacuten externa devolveraacute el resultado al servidor de protocolo

10 El servidor de protocolo devolveraacute el resultado al cliente

43 REST

REST (Representational State Transfer) es el acroacutenimo de Transferencia de Estado Representa-cional teacutermino usado por Roy Fielding (uno de los creadores de HTTP) para describir un estilode arquitectura que utilizar como modelo en los sistemas de computacioacuten Web No es un es-taacutendar sino un enfoque que muestra como desarrollar y proporcionar servicios en Internet portanto considerado como un estilo arquitectoacutenico para disentildeo de software a gran escala El propioautor lo dene de manera concisa en eacuteste paacuterrafo

REST es un intento de mostrar coacutemo debe comportarse una aplicacioacuten Web bien disentildeada unared de paacuteginas Web (una maacutequina de estados virtual) donde el usuario progresaraacute seleccionan-do enlaces (transiciones de estado) que devuelven la paacutegina siguiente (el siguiente estado de lamaacutequina) que el usuario manejaraacute a su gusto

Este enfoque no aporta realmente nada nuevo la mayor parte de la Web sigue este estilo arqui-tectoacutenico Sin embargo el autor hace eacutenfasis en las caracteriacutesticas concretas que han hecho quela Web triunfe que van a ser los objetivos buscados por REST y que son a su juicio

Escalabilidad en las interacciones entre componentes La red ha ido creciendo de maneraexponencial y se ha ido comportado de manera satisfactoria

Generalidad en las interfaces Se proporciona acceso con distintos clientes y con distintosmecanismos de acceso

Desarrollo independiente de componentes Implementaciones cliente y servidor pueden serdesarrolladas en distintos momentos

Existencia de componentes intermediarios con los cuales existe compatibilidad (comoproxys)que permiten encapsulacioacuten e integracioacuten de sistemas no Web dentro de la misma

431 Principios de disentildeo

Los objetivos citados van a ser conseguidos imponiendo una serie de restricciones

El estado y la funcionalidad de las aplicaciones se representan por forma de recursos

La identicacioacuten de recursos se realiza de forma uacutenica global mediante Uniform ResourceIdentiers Los recursos identicados con URIs son los objetos loacutegicos a los cuales se lesmandan los mensajes

Manipulacioacuten de recursos a traveacutes de representaciones luego no se manejan directamentelos recursos sino sus representaciones

Todos los recursos comparten un interfaz uniforme formado por

bull Un conjunto de operaciones limitado para transferir el estado Se van a aprovecharlas operaciones que HTTP dene mostradas en la gura 42

bull Un conjunto limitado de tipos de contenidos identicados mediante tipos MIME

Uso de un protocolo clienteservidor sin estado y basado en capas Cada mensaje HTTPcontendraacute la informacioacuten necesaria para comprender la peticioacuten luego como muestra lagura 43 no es necesario que eacutesta sea entendida tanto en el cliente como en el servidor

Uso de hipermedios para representar el estado de una aplicacioacuten permitiendo que el estadode una aplicacioacuten Web particular esteacute almacenado en uno o maacutes documentos de hipertextoque residen bien en el servidor o en el cliente Esto permite al servidor saber el estado desus recursos sin necesidad de almacenar el estado de los clientes concretos

Figura 42 Operaciones denidas por HTTP

Como ya se mencionoacute REST se trata de un estilo arquitectoacutenico no un estaacutendar Sin embargohace uso de varios estaacutendares Web

HTTP HyperText Transfer Protocol

Figura 43 Operaciones denidas por HTTP

URL Uniform Resource Locator como el mecanismo de indenticacioacuten de recursos

XML - HTML - PNG - etc Como distintos formatos de representacioacuten de recursos

Tipos MIME como text-xml text-html image-png etc

44 SOAP

SOAP (siglas de Simple Object Access Protocol) es un protocolo estaacutendar que dene coacutemo dosobjetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML Esteprotocolo deriva de un protocolo creado por David Winer en 1998 llamado XML-RPC SOAPfue creado por Microsoft IBM y otros y estaacute actualmente bajo el auspicio de la W3C

441 Principios de disentildeo

La funcionalidad que aporta SOAP es la de proporcionar un mecanismo simple y ligero de in-tercambio de informacioacuten entre dos puntos usando el lenguaje XML SOAP no es maacutes que unmecanismo sencillo de expresar la informacioacuten mediante un modelo de empaquetado de datosmodular y una serie de mecanismos de codicacioacuten de datos Esto permite que SOAP sea uti-lizado en un amplio rango de servidores de aplicaciones que trabajen mediante el modelo decomunicacioacuten RPC (Remote Procedure Call)

SOAP consta de tres partes como podemos ver en la gura 44

El SOAP envelope que dene el marco de trabajo que determina queacute se puede introduciren un mensaje quieacuten deberiacutea hacerlo y si esa operacioacuten es opcional u obligatoria

Las reglas de codicacioacuten SOAP que denen el mecanismo de serializacioacuten que seraacute usadopara encapsular en los mensajes los distintos tipos de datos

La representacioacuten SOAP RPC que dene un modo de funcionamiento a la hora de realizarllamadas a procedimientos remotos y la obtencioacuten de sus resultados

A la hora de realizar el disentildeo de SOAP se han tenido en cuenta una serie de consideracionescon el n de cumplir una serie de objetivos claros objetivos que le daraacuten el potencial que resideen SOAP y que le haraacuten tan atractivo Eacutestos son

Establecer un protocolo estaacutendar de invocacioacuten a servicios remotos que esteacute basado enprotocolos estaacutendares de uso frecuente en Internet como son HTTP (Hiper Text TransportProtocol) para la transmisioacuten y XML (eXtensible Markup Language)para la codicacioacutende los datos

Figura 44 Partes de SOAP

Independencia de plataforma hardware lenguaje de programacioacuten e implementacioacuten delservicio Web

El logro de estos objetivos ha hecho de SOAP un protocolo extremadamente uacutetil ya que elprotocolo de comunicacioacuten HTTP es el empleado para la conexioacuten sobre Internetpor lo que segarantiza que cualquier cliente con un navegador estaacutendar pueda conectarse con un servidor re-moto Ademaacutes los datos en la transmisioacuten se empaquetan o serializan con el lenguaje XML quese ha convertido en algo imprescindible en el intercambio de datos ya que es capaz de salvar lasincompatibilidades que existiacutean en el resto de protocolos de representacioacuten de datos de la red

Por otra parte los servidores Web pueden procesar las peticiones de usuario empleando tec-nologiacuteas tales como Servlets paacuteginas ASP (Active Server Pages) paacuteginas JSP (Java ServerPages) o sencillamente un servidor de aplicaciones con invocacioacuten de objetos mediante CORBACOM o EJB

Un ejemplo tiacutepico de disentildeo de un servicio Web utilizando las ventajas de SOAP podemos veren la siguiente gura 45

Figura 45 Ejemplo de uso de SOAP

45 AMF

AMF (Action Message Format) es un protocolo binario de Adobe que va por la versioacuten AMF3Aunque por el nombre de la versioacuten pueda parecer que existan 3 cabe destacar que soacutelo existendos AMF0 y AMF3 Una de las mayores diferencias o mejoras que aporta AMF3 es que soporta

datos binarios (ByteArray) y int datos no soportados por AMF0 debido a que en la eacutepoca queaparecioacute el formato Flash Player no soportaba estos tipos de datos

AMF3 no es un protocolo para transferir informacioacuten sino que representa el formato en el quese transmite la informacioacuten en este caso un formato binario

La versioacuten de Moodle 25 viene con Zend_ AMF pero podemos utilizar tambieacuten la libreriacuteaamfPHP

AMFPHP

Zend_ amf httpframeworkzendcommanual112enzendamfhtml

Maacutes informacioacuten en httpdocsmoodleorgdevAMFPHP

46 Conguracioacuten de Moodle Web Services

Los Servicios Web habilitan que otros sistemas puedan entrar a Moodle y realizar operacionesPasaremos a detallar los pasos necesarios para su conguracioacuten y explicaremos distintos pruebasllevadas a cabo sobre su funcionamiento Para poder consumir de manera correcta unWeb Servicede Moodle seriacutea necesario antildeadir a la url que vamos a formar los paraacutemetros oportunos paralograr consumir el Web Service de manera satisfactoria Una vez antildeadidos ya podriacuteamos invocarla funcioacuten seleccionada

461 Activando los Servicios Web

Lo primero que debemos hacer es activar la opcioacuten general que habilita el uso de los serviciosweb En la gura 46 podemos observar la opcioacuten para la activacioacuten de este servicio para ello nosiremos a la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Servicios Externos

Figura 46 Activacioacuten Servicios Web

Esto solo es una opcioacuten a nivel global necesitando ahora activar los protocolos de comunciacionesque vamos a utilizar para ello deberemos ir a la opcioacuten textitAdministracioacuten del Sitio - Exten-siones - Servicios Web - Administrador de protoclos donde encontraremos las diferente opcionesque nos existen En la gura 47 podemos ver la pantalla de nuestra conguracioacuten con todos losprotocolos activados

Una vez activada la opcioacuten de Servicios Externos y seleccionados los protocolos que utilizaremosnecesitamos crear un Servicio Personalizado que no es maacutes que una etiqueta que aglutina los

Figura 47 Activacioacuten Protoclos

Servicios Web que ofrece Moodle y que pueden ser utilizados por los servicios externos Para ellodeberemos darle a la opcioacuten Agregar dentro de la opcioacuten Administracioacuten del Sitio - Extensiones- Servicios Web - Servicios Externos Como prueba habilitaremos un servicio llamado Uso_Servicio_ Web cuya creacioacuten podemos ver en la gura 48

Figura 48 Creacioacuten Servicio Personalizado

Una vez creado el Servicio Personalizado deberemos agregarle las funciones que queramos lesean permitidas pudiente tener maacutes de una En la gura 49 vemos como asociamos la creacioacutende usuarios al Servicio Personalizado

Terminado esto deberemos tener en el listado que nos muestra Moodle de Servicios personaliza-dos algo como lo mostrado en la gura 410

El siguiente paso es conceder los permisos apropiados para que este Servicio Personalizado puedeser usado por los usuarios pare ello debemos primero especicar quienes son los Usuarios au-torizados para ello en la linea de la lista de Servicios Personalizados deberemos pulsar sobre laopcioacuten usuarios autorizados donde apareceraacute una pantalla como 411 donde podremos escogerlos usuarios de los que se encuentran dados de alta en nuestro sistema

Y para terminar aunque este paso podriacutea ser realizado por el propio usuario si tuviera el per-miso de moodlewebservicecreatetoken seraacute la creacioacuten de un token el cual va ser la opcioacuten quevamos a utilizar para las pruebas de los Servicios Web de Moodle Para la creacioacuten del mismodeberemos entrar en la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Admin-istrar tokens y pulsar la opcioacuten Agregar para antildeadir un token nuevo como podemos apreciar en

Figura 49 Agregando funciones al Servicio Personalizado

Figura 410 Listado de Servicios Personalizados

la gura 412 teniendo la precaucioacuten de escoger como Servicio el Servicio Personalizado creadocon anterioridad Uso_ Servicio_ Web

En esta pantalla podemos poner varios tipos de restricciones

Restriccioacuten de IP Donde podemos indicar la direccioacuten IP desde donde

Restriccioacuten de Fecha Se puede denir hasta cuando seraacute valido este token siendo unabuena manera de poder probar cosas y no dejar puertas abiertas por error

En la gura 413 podemos ver el token asignado por el sistema para nuestro Servicio Personalizadoy que procederemos a utilizar para comprobar el funcionamiento de los Servicios Web de Moodle

462 Pruebas cliente Servicio Web

Procederemos ahora a desarrollar pruebas que utilicen los Servicios Personalizados creado Sepodriacutean haber utilizado el Cliente de prueba de servicio web que incorpora Moodle dentro dela opcioacuten Administracioacuten del Sitio - Desarrollo - Cliente de prueba servicio web pero hemosdecidido implementar una Web para comprobar la facilidad del funcionamiento del sistema y losdistintos resultados obtenidos seguacuten el protocolo utilizado

Utilizaremos la libreriacutea cURL de PHP cURL es una herramienta que permite abrir conexionesen una amplia variedad de protocolos y que estaacute disponible tanto como herramienta de consola(para ejecutar directamente con comandos) como en libreriacutea (para usar en vuestro coacutedigo) y quepermite hacer praacutecticamente todo manejo de cookies descarga de cheros binarios enviacuteos de

Figura 411 Alta de Usuarios Autorizados

Figura 412 Creacioacuten de Tokens

paraacutemetros GET y POST etc

La web creada para la introduccioacuten 414 de los usuarios seraacute equivalente para todos los procesosprocesos siendo el programa que da respuesta al formulario el que implemente la funcioacuten nece-saria para la introduccioacuten de los datos en Moodle

Los resultados de REST pueden mostrar los resultados del alta de dos maneras diferentes unaen formato XML como podemos ver en la gura 415 y otro en formatox JSON tambieacuten po-dremos ver en la gura Los resultados obtenidos tambieacuten pueden verse en el la gura 416

Figura 413 Lista de Tokens

Figura 414 Web de alta de usuarios

Figura 415 Resultado de REST en formato XML

Figura 416 Resultado de REST en formato JSON

Capiacutetulo 5

Herramientas Externas

51 Introduccioacuten

Las versiones de Moodle desde la 22 vienen con IMS LTI o External Tool de manera integradaEn versiones anteriores era necesario la instalacioacuten de plugins como LTI Provider (maacutes informa-cioacuten en la web de Moodle1 IMS LTI es un estandar de IMS learing2 para la interoperabilidadde herramientas Esto signica que las herramientas de aprendizaje tienen ahora un mecanismopara jar el modo en que pueden conectarse entre ellas sin problemas

En la praacutectica cuando un usuario se registra en Moodle puede conectarse a otras herramientascomo Wikis o Blogs y autenticarse de manera automaacutetica en estas

52 Estaacutendares IMS

Actualmente se realizan esfuerzos para la integracioacuten de servicios a una plataforma virtual deaprendizaje mediante un mecanismo reutilizable independiente del tipo de plataforma El IMSGlobal Learning Consortium viene desde hace tiempo trabajando en este enfoque IMS GLCpresenta un conjunto de estaacutendares que promueven el uso de servicios de aprendizaje digitales(Digital Learning Services) dentro de las plataformas de aprendizaje tradicionales IMS DigitalLearning Services estaacute integrado por los siguientes estaacutendares principales IMS Common Car-tridge [ims a] IMS Learning Tool Interoperability [ims c] y IMS Learning Information Services[ims b]

El IMS Learning Tool Interoperability es una especicacioacuten para facilitar la inclusioacuten de her-ramientas externas dentro de un curso El administrador de la plataforma de aprendizaje ges-tiona los servicios que podraacuten ser consumidos por la plataforma el docente decide que serviciosutilizaraacute en su curso y el estudiante hace uso de los mismos IMS LTI permite que distintos LMSconsuman un mismo servicio el cual no fue implementado teniendo en cuenta el tipo de LMSsino la implementacioacuten del estaacutendar desde el lado del proveedor

El enfoque del IMS LTI estaacute dirigido a la creciente demanda de un mecanismo reutilizable para laintegracioacuten de herramientas de terceros en el nuacutecleo de las plataformas LMS Estas herramientas

1httpsmoodleorgpluginsviewphpplugin=local_ltiprovider2httpwwwimsglobalorgtoolsinteroperability2cfm

37

pueden agregar funcionalidad especializada a los LMS El enfoque ofrece una solucioacuten basada enWeb Services igualmente aplicable a distintos lenguajes de programacioacuten

Las versiones del LTI son

LTI v10 ( LTI Basic ) ( publicado en mayo de 2010 ) proporciona un meacutetodo sencillopero estaacutendar para establecer una conexioacuten segura a una herramienta desde el interior deun consumidor de herramientas El lanzamiento de este enlace permite una experienciade aprendizaje sin problemas para los estudiantes que acceden a las aplicaciones ricas queparecen tener lugar dentro del ambiente de aprendizaje Versioacuten 10 es el primer paso en eldesarrollo continuo de LTI Figura 51

LTI v11 ( publicado en marzo 2012 ) antildeade la posibilidad de pasar de nuevo un resultadode la herramienta al Consumidor de herramientas Esto permite que los estudiantes recibenuna calicacioacuten o puntuacioacuten de su interaccioacuten con la aplicacioacuten de aprendizaje

LTI v111 ( publicado en julio de 2012 ) incluye soporte para el papel Mentor que se puedeutilizar para representar a un padre tutor o auditor

LTI v20 Aun en estado de desarrollo y proporciona una plataforma maacutes sosticado y ex-tensible para permitir integraciones maacutes profundas y un mayor apoyo para los serviciosy eventos LTI 2 se basa en LTI 1 mediante la incorporacioacuten de maacutes sosticada resulta-dos de informes y una rica arquitectura de extensiones que permite servicios adicionalesque se antildeadiraacuten gradualmente LTI 2 utiliza REST y JSON-LD para ofrecer esta nuevafuncionalidad

Figura 51 Esquema LTI Baacutesico

En la gura 52 podemos observar como se podriacutean utilizar las ventajas de LTI por parte decada unos de los actores a lo largo de la vida de la aplicacioacuten de servicios externos dentro de unaplataforma de aprendizaje

En la paacutegina web de IMS3 podemos encontrar una relacioacuten de aplicaciones certicadas comocompatibles con el estaacutendar LTI indicando la versioacuten del LTI que cumplen En la gura 53podemos ver las aplicaciones certicadas por UOC y en la gura 54 la informacioacuten sobre una deestas herramientas

3httpwwwimsglobalorgccalltoolscfm

Figura 52 Esquema utilizacioacuten LTI

Figura 53 Listado de herramientas LTI de la UOC

53 Herramientas externas en Moodle

La siguiente seccioacuten consiste en la aplicacioacuten de alguno de esto servicios externos en Moodlepara comprobar su funcionamiento Nos decantaremos para la primera prueba por WordPresspues aunque existen manuales al respecto la documentacioacuten en castellano es escasa

531 Wordpress

La versioacuten estaacutendar de Wordpress a la cual accedemos cuando nos abrimos cuenta en Wordpressno viene con las herramientas necesarias para la iteracioacuten mediante LTI por lo que procedere-mos a la instalacioacuten en nuestro servidor de Wordpress para pasar a la instalacioacuten de los pluginsnecesarios

La instalacioacuten ha consistido en la descarga de la web ocial 4 de la versioacuten 351 la cual hemoscopiado dentro del directorio htdocs de nuestra instalacioacuten de Xampp Hemos dado de alta unnuevo usuario en nuestra base de datos llamado username como podemos ver en la imagen 55 yposteriormente hemos seguido los pasos que el instalador nos iba ofreciendo para tener instalado

4httpwordpressorgdownload

Figura 54 Informacioacuten sobre la certicacioacuten

Wordpress bajo la url httplocalhostwordpress

Figura 55 Usuario de Wordpress

Deberemos congurar Wordpress para que trabaje como multisitio para lo que deberemos seguirlos pasos de conguracioacuten que podemos encontrar en la web ocial de Wordpress5 bajo el nombreCreate A Network consistente en los siguientes pasos

1 Realizar una copia de seguridad por si acaso

2 Modicar el chero wp-congphp incluyendo la siguiente linea encima de Thats allstop editing Happy blogging Multisite dene (WP_ ALLOW_ MULTISITE true)

Multisite dene (WP_ ALLOW_ MULTISITE true)

3 Installar un Network Para ello hemos de entra en la opcioacuten Administration -gtTools -gtNetwork Setup donde podremos congurar opciones sobre el nombre que queremos declararpara el nuevo sitio

4 Activar el Network para ello debemos modicar los cheros wp-congphp y htaccess porlo que seriacutea bueno que realizaacuteramos primero un copia de seguridad de los mismos Loscambios que debemos realizar son los siguientes

5httpcodexwordpressorgCreate_A_Network

En wp-congphp dene(MULTISITE true)dene(SUBDOMAIN_ INSTALL false)dene(DOMAIN_ CURRENT_ SITE localhost)dene(PATH_ CURRENT_ SITE wordpress)dene(SITE_ ID_ CURRENT_ SITE 1)dene(BLOG_ ID_ CURRENT_ SITE 1)

El chero htaccess debe quedar asiacute BEGIN WordPressltIfModule mod_ rewritecgtRewriteEngine OnRewriteBase wordpressRewriteRule icircndexphp$ - [L]

add a trailing slash to wp-adminRewriteRule ([_ 0-9a-zA-Z-]+)wp-admin1wp-admin [R=301L]

RewriteCondREQUEST_ FILENAME -f [OR]RewriteCondREQUEST_ FILENAME -dRewriteRule - [L]RewriteRule ([_ 0-9a-zA-Z-]+)(wp-(content|admin|includes)) $2 [L]RewriteRule ([_ 0-9a-zA-Z-]+)( php)$ $2 [L]RewriteRule indexphp [L]ltIfModulegt

END WordPress

5 Esto nos habraacute creado en la parte izquierda de la barra de herramientas de Wordpressuna nueva opcioacuten llamada My Sites que contendraacute un listado de los sitios de nuestroWordpress

El siguiente paso seraacute la descarga del plugin los cual podremos hacerlos desde la web de sour-forgenet 6 En esta web se detalla informacioacuten sobre el plugin y como se debe instalar Siguiendolos pasos que tenemos en el mismo procederemos a la descarga y el desplegado del mismo en lacarpeta wp-contentmu-plugins Salimos de Wordpress y volvemos a entrar como superusuariosi entramos dentro de la nueva red realizada podremos ver que dentro de LTI Consumers Keystendremos la opcioacuten LTI Consumers Keys como podemos ver en la imagen 56

Aquiacute deberemos crear la clave del consumidor del servicio y la clave secreta que nos permitiraacute aMoodle conectarse a Wordpress

Una vez que tenemos la clave secreta y del consumidor deberemos volver a Moodle entrandocomo administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

6httpsourceforgenetappsmediawikilearningappsindexphptitle=LTI4Wordpress

Figura 56 Servicios LTI en Wordpress

Figura 57 Listado de claves de LTI en Wordpress

-LTI En esta paacutegina podremos rellenar nuestras opciones

Tool Name Seraacute el nombre que tendraacute la herramienta y deberemos poner alguno indicativode la herramienta que estemos utilizando

Tool Base URL Es la direccioacuten de la herramienta en nuestro caso httplocalhostwordpress

Deberemos rellenar con los datos obtenidos en Wordpress la clave de consumidor y la clavesecreta

Es importante marcar Show tool type when creating tool instances para que aparezcaposteriormente al crear los recursos en nuestros cursos

Para poder probar el sistema hemos creado un curso dentro de Moodle llamada WordpressLTIdonde daremos de la siguiente manera de alta 59

Dentro de nuestro curso seleccionamos la opcioacuten de Edicioacuten

Pulsamos sobre Antildeadir una actividad o un recurso

Seleccionamos External Tool

Rellenamos las opciones

bull Nombre de la Actividad Cualquiera de nuestra eleccioacuten

Figura 58 Conguracioacuten LTI en Moodle

bull Tipo de herramienta externa El nombre que le pusimos a la herramienta externa enla conguracioacuten LTI de Moodle

bull Launch Container Hemos elegido la opcioacuten Incrustar para ver el resultado

Figura 59 Conguracioacuten Herramienta Externa

Una vez congurado podemos lanzar la herramienta externa teniendo como resultado la gura510

Figura 510 Wordpress integrado en Moodle

532 ChemVantage

ChemVantage es un recurso gratuito para la educacioacuten cientiacuteca que incluye ejercicios de gradoejercicios de preparacioacuten exaacutemenes de la praacutectica conferencias de video y libros de texto enliacutenea gratis Fue creado por ChemVantage LLC que fue fundada por el Prof Chuck Wight queha ensentildeado Quiacutemica General en la Universidad de Utah desde 1984 (ChemVantage 2011)

Nos hemos puesto en contacto con Chuck Wight (adminchemvantageorg) para solicitarle unaclave de consumidor y secreta para poder probar este recurso desde moodle Las opciones y elcorreo puede verse en la gura 511

Una de las cosas maacutes importantes de ChemVantage y por lo que nos hemos decidido a probar esque permite la devolucioacuten de las notas obtenidas en los ejercicios realizados en las herramientasexternas a Moodle El alumno podraacute realizar las tareas en esta herramienta externa y luego sercalicadas en Moodle

ChemVantage estaacute certicada por IMS 7 como un proveedor de herramientas LTI v11 y comotal funciona desde nuestro propio LMS para llevar a cabo la autenticacioacuten de sitios provee decuentas y devuelve resultados de asignacioacuten de estudiantes con el libro LMS grado automaacutetica-mente

Los recursos disponible son ChemVantage son principalmente los siguientes

1 QuizzesLos ejercicios presentados aquiacute estaacuten disentildeados para animar a los estudiantes a leer y en-tender los libros de texto utilizados en el curso Las preguntas se basan en material que sepresente en su mayor parte en los textos de introduccioacuten de quiacutemica Los iacutetems de preguntastienen respuestas straighforward no requieren caacutelculos detallados Las preguntas se presen-tan en varios formatos diferentes incluyendo opcioacuten muacuteltiple verdadero falso casilla devericacioacuten ll-in-the-blanco y numeacutericas Cada cuestionario se compone de 10 preguntasextraiacutedas al azar de una base de datos con muchas maacutes preguntas En el proceso de tomarvarias pruebas para mejorar sus calicaciones los estudiantes probablemente encuentran

7httpdevelopersimsglobalorgcoursechemvantagehtml

algunas preguntas repetidas de concursos anteriores sin embargo es poco probable quecualquiera de los dos cuestionarios contendraacute exactamente el mismo conjunto de preguntasen el mismo orden Asignando pruebas para ser completado antes de la conferencia losprofesores pueden estar seguros de que sus estudiantes tengan un poco de exposicioacuten almaterial Esto permite una mayor discusioacuten el diaacutelogo y la participacioacuten en el aula y haceel aprendizaje maacutes divertido (de verdad)

2 Video LecturesUna serie de conferencias de viacutedeo de 10 minutos sobre una variedad de temas de QuiacutemicaGeneral es accesible desde la paacutegina principal Los videos estaacuten disentildeados para reforzar lospuntos principales que se presentan en muchos libros de texto

3 HoweworksLas tareas estaacuten disentildeadas para dar a los estudiantes la praacutectica en la resolucioacuten de proble-mas cuantitativos que tienen respuestas numeacutericas Cada alumno puede descargar la tareatrabajar los problemas y presentar las respuestas en liacutenea Respuestas son juzgados a sercorrecta si la solucioacuten numeacuterica de acuerdo con la solucioacuten que se encuentra en la base dedatos dentro de una tolerancia especicada (indicado para cada problema) El sitio informaa los estudiantes que las respuestas son correctas para que puedan rehacer problemas malresueltos y volver a presentar las respuestas Cada problema se basa en una plantilla queatrae paraacutemetros al azar por lo que la respuesta correcta es diferente para cada estudianteEsto hace que sean adecuadas para la colaboracioacuten y el trabajo en grupo porque a pesarde que el grupo puede trabajar para encontrar un algoritmo correcto para resolver un prob-lema cada estudiante tendraacute que usar el algoritmo para encontrar la solucioacuten detallada asu propio problema

4 Practice ExamsLos estudiantes pueden realizaar exaacutemenes de praacutectica cronometrados que muestran laspreguntas de un grupo de 3 o maacutes temas Cada examen estaacute disentildeado para tardar unos60 minutos o menos e incluye una seleccioacuten de 10 preguntas Las praacutecticas de exaacutemenespueden repetirse cuantas veces se desee Las preguntas numeacutericas son parametrizadas loque es muy poco probable que un estudiante realice alguna vez dos exaacutemenes de praacutecticaideacutenticos

5 Portofolio PageCada estudiante puede acceder a una paacutegina que le da la puntuacioacuten obtenida en cada prue-ba y la asignacioacuten de tareas Los estudiantes que son miembros de un grupo tienen unapaacutegina de resultados asociados a las tareas de grupo Hay una paacutegina de carpeta separadaque contiene un resumen de todas las actividades realizadas en ChemVantage incluyendovideos vistos cuestionarios completados resolver problemas con la tarea y la praacutectica deexaacutemenes completados Las puntuaciones en los exaacutemenes de praacutectica son desagregadospara revelar fortalezas y debilidades estudiantes por temas

Hemos procedido a darlo de alta en LTI como hicimos con Wordpress Entramos en Moodle co-mo Administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

Figura 511 Correo de Chuck Wight

-LTI quedando como resultado la siguiente hoja de paraacutemetros gura 512

El siguiente paso seraacute antildeadir la herramienta dentro de nuestro curso para ello pulsaremos sobreAntildeadir una actividad o un recurso Deberemos seleccionar External Tool y rellenamos las op-ciones de la herramienta seleccionando como Tipo de herramienta externa la opcioacuten creada enel apartado de LTI de Moodle

Una vez congurado la herramienta en Moodle podemos entrar para realizar una personalizacioacutende la herramienta gura 513 esta consiste en indicar si el alumno cuando se conecta realiza undeterminado tarea o puede elegir navegar por la web de ChemVantage para poder disfrutar dela cantidad de recursos que se encuentran disponibles

Cuando el usuario pulsa sobre la opcioacuten de esta herramienta externa en Moodle lo primero quese le muestra es la informacioacuten sobre su perl en Chemvantage 514Como hemos visto en los paraacutemetros de conguracioacuten existe la posibilidad de llamar a unaherramienta externa incrustaacutendola dentro de Moodle o abrieacutendolo en una paacutegina web nuevaCon esta segunda opcioacuten no hemos conseguido que funcione correctamente la importacioacuten de lasnotas En cambio si la herramienta externa estaacute incrustada permite esa vinculacioacuten

Figura 512 Conguracioacuten de paraacutemetros LTI

Figura 513 Opciones de inicio de la herramienta

Figura 514 Pantalla de utilizacioacuten de la herramienta por el usuario

Capiacutetulo 6

Middleware

61 Introduccioacuten

La uacuteltima opcioacuten seriacutea utilizar una arquitectura middleware de integracioacuten que permita la inte-gracioacuten ligera de muacuteltiples herramientas existentes en el Moodle

62 GluePS

GLUE-PS es una arquitectura de middleware que permite una interoperabilidad ligera entrelos diferentes lenguajes de disentildeo de aprendizaje y diferentes entornos de aprendizaje virtualEsta interoperabilidad permite a los maestros y otros profesionales que particularicen (es decirpara personalizar el disentildeo de aprendizaje abstractoa la clase particular los participantes y laeleccioacuten de los instrumentos en los que va a ser promulgada) desplieguen (es decir para crearde forma semiautomaacutetica las actividades necesarias en el VLE recursos etc para la aprobacioacutendel disentildeo particularizado) e incluso para llevar a cabo ciertos cambios en el tiempo de ejecucioacuten(por ejemplo modicar la composicioacuten del grupo agregar o quitar recursos de las actividadesetc) Todo esto a partir de disentildeos en distintos lenguajes de disentildeo de aprendizaje tales como laespecicacioacuten IMS-LD aprendizaje

Por otra parte GLUE-PS tambieacuten permite desplegar y gestionar disentildeos de aprendizaje en en-tornos virtuales de aprendizaje que integren herramientas de aprendizaje externos (tales comointegrar en Moodle herramientas como Google Docs y muchos otros) - lo que llamamos Am-bientes de Aprendizaje Distribuido (DLE Distributed Learning Enviroments) Esto se consiguegracias a la arquitectura de GLUE para la integracioacuten de los entornos virtuales de aprendizajey herramientas externas

621 Instalacioacuten

Para realizar la instalacioacuten de GLUE-PS nos hemos descargado el software necesario de la webde los desarrolladores1 descargando la opcioacuten de autenticacioacuten centralizada La instalacioacuten haconstado de tres partes que pasaremos a describir a continuacioacuten

1httpwwwgsicuvaesglue

49

Figura 61 Arquitectura de GLUE

La primera parte consiste en la instalacioacuten del GLUEletManager y los adaptadores GSIC toolAunque el sistema viene preparado para Linux o Windows siendo Windows la explicacioacuten quevamos a desarrollar por estar utilizando este sistema operativo con Xampp

1 Crear el directorio GLUE_ HOME El cual hemos creado para mayor comodidad en la raiacutezdel disco duro

2 Denir la variable del sistema GLUE_ HOME con el valor de la direccioacuten completa deldirectorio de GLUE del punto anterior Para ello hemos pulsado botoacuten derecho sobre MiPc Propiedad Opciones Avanzadas Variables de Entorno procediendo a pulsar el botoacutenNueva para crear la variable en cuestioacuten

3 Extraemos en el directorio del punto (1) el paquete descargado de la paacutegina de los desar-rolladores

4 Ejecutar la instalacioacuten del cheroGLUE_ HOMEbininstall gluebat para registar GLUElet-Manager y GSIC tool como un servicio de Windows Tambieacuten este paso crearaacute un cheroen GLUE_ HOMEtool_ adapteradapterdata para proveer de persistencia a los objetoscreados con el adaptador GSIC tool

A continuacioacuten daremos de alta en nuestro gestor de bases de datos un para de bases de datosque necesita GLUEletManager Para ellos seguimos los siguientes pasos

1 Abrimos la consola de phpMyaAdmin para cargar y ejecutar el chero create_ GLUE_databasessql que se encuentra en GLUE_ HOMEmanagerconfdb

2 Modicamos el chero GLUE_ HOMEmanagerconfMETA-INFpersistencexml paradarle los paraacutemetros necesarios para que JDBC se conecte a nuestra base de datos Losparaacutemetros modicados puede verse en la imagen 62

Figura 62 Paraacutemetros modicados en persistencexml

La segunda parte consiste en el registro interno de los adaptadores de las herramientas para seraccedido con GLUEletManager La distribucioacuten trae un chero para facilitar la conguracioacuten delos adaptadores que trae consigo y para su instalacioacuten deberemos ejecutar el chero GLUE_HOMEmanagerconfdbll _ internal_ Registrysql Alguna de las herramientas necesitanuna conguracioacuten maacutes completa como puede ser Google Docs adapter que necesita una cuentade Gmail para poder crear documentos en Google Docs por lo que deberemos modicar el nom-bre de usuario y contrasentildea

La uacuteltima parte consiste en la instalacioacuten del adaptardor de Moodle como VLE utilizado Estainstalacioacuten es como cualquier otro moacutedulo de Moodle 2 La carpeta que deberemos copiar seraacutela del adaptador correspondiente a Moodle que se encuentra en la carpeta GLUE_ HOMEvle_adpatersmoodle_ vle_ adapter Una vez entremos en nuestro Moodle como administrador nosapareceraacute un mensaje indicaacutendonos que el nuevo moacutedulo esta instalado Para congurar el nuevomoacutedulo debermos ir a Noticaciones - Modulos - Actividades como podemos ver en la gura 63para congurar los paraacutemetros la URL del GLUEletManager y el tiempo de espera

Figura 63 Paraacutemetros del moacutedulo GLUE

Cuando el profesor quiera crear una nueva actividad dependiente de los adaptadores de GLUEdeberaacute agregar una actividad maacutes pulsando para ello en esta opcioacuten dentro del bloque deseadopara seleccionar luego el tipo de actividad GLUElet como podemos ver en la gura64

622 Creando un Doodle

El adaptador Doodle permite la creacioacuten conguracioacuten y gestioacuten de instancias del Doodle Cadaencuesta Doodle es considerado un instancia diferente Ademaacutes este adaptador permite realizarademas la conguracioacuten inicial de encuestas Doodle incluyendo el nombre de la encuesta unadescripcioacuten y un conjunto de posibles respuestas

A continuacioacuten antildeadiremos Doodle en un bloque de Moodle para ellos pulsaremos la opcioacuten deAgregar actividad GLUElet lo cual nos mostraraacute la paacutegina65 donde deberemos rellenar comomiacutenimo el nombre de la actividad y el tipo de herramienta seleccionado en este caso Doodle(httpdoodle-testcom)

2httpdocsmoodleorgenInstalling_contributed_modules_or_plugins

Figura 64 Creando una actividad GLUElet

La primera vez que pulsemos sobre la nueva actividad creada apareceraacute un pantalla 66 dondepodemos congurar diferentes elementos de la encuesta desarrollada con Doodle como son eltiacutetulo una pequentildea descripcioacuten y luego las opciones posibles con un liacutemite de 10

El resultado nal seraacute la incrustacioacuten de una encuesta Doodle dentro de nuestro Moodle comopodemos ver en la gura67

Figura 65 Antildeadiendo Doodle como actividad

Figura 66 Opciones iniciales de conguracioacuten de Doodle

Figura 67 Doodel dentro de Moodle

Capiacutetulo 7

Conclusiones Finales

71 Conclusiones Finales

El proyecto actual nos ha servido para acercarnos a las diferentes tecnologiacuteas que permiten lacomunicacioacuten entre Servicios Webs Hemos desarrollado una primera labor de investigacioacuten queha requerido el aprendizaje de diferentes herramientas de control de documentacioacuten y referenciascomo Zotero y Mendeley

La documentacioacuten recabada en el proceso inicial de revisioacuten de documentos nos ha aportadoun visioacuten general de los diferentes sistemas virtuales de aprendizaje que podemos encontrarnosmuchos de ellos gratuitos y las diferentes soluciones que se plantean a la necesidad de incluirrecursos de otros fabricantes que en principio no fueron concebidos para ser utilizados dentro deuna plataforma VLE

Para poner en praacutectica la diferentes opciones encontradas se han montado diferentes maacutequinasvirtuales sobre las que se han probado las mismas Las conclusiones nales se pasan a detallar

IMS LTIEsta solucioacuten de integracioacuten mediante el cumplimiento de unos protocolos y certicacionesde las herramientas que lo cumplen es en principio la que podriacutea parecer la mejor opcioacutenpero la falta de compromiso de los diferentes fabricantes de Servicios Web y la luchapara imponer sus propios estaacutendares hace que aun quede mucho para que esta opcioacuten seacomo tal real

Si vemos el nuacutemero de aplicaciones certicadas para usar IMS LTI apenas superan las 50 yla mayoriacutea solo cumple la especicacioacuten v10 lo cual signica que la integracioacuten solo solu-ciona el problema de llamar a un recurso externo desde Moodle Pocas son las que cumplenla v11 que permite obtener en Moodle una valoracioacuten de los ejercicios desarrollados en unaactividad externa

La versioacuten v20 que daraacute maacutes opciones a la hora de interactuar con actividades externasauacuten esta en desarrollo y nada se sabe sobre posibles fechas para su presentacioacuten Luegocerticacioacuten de herramientas etc

55

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 2: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

Agradecimientos

A Fatos Xhaf por su paciencia

Licencia

Copyright ccopy 2013 Joseacute Miguel Mota Maciacuteas Permission is granted to copy distributeandor modify this document under the terms of the GNU Free DocumentationLicense Version 13 or any later version published by the Free Software Foundationwith no Invariant Sections no Front-Cover Texts and no Back-Cover Texts A copyof the license is included in the section entitled GNU Free Documentation License

Resumen

En el presente documento vamos a realizar la descripcioacuten del trabajo desarrollado para el proyectonal de carrera en el mismo se han analizado los diferentes documentos respecto a la coreografiacuteay orquestacioacuten de Servicios Web en Moodle como plataforma VLE El proceso es detallado ensu integridad terminando con tres capiacutetulos donde se detallan las diferentes maneras que Moodleofrece de conexioacuten con otro Servicios Webs

Iacutendice general

1 Revisioacuten Sistemaacutetica de la Literatura 111 Objetivos del SLR 112 Estudio Inicial 1

2 Plataformas VLE e integracioacuten 721 VLE 7

211 Ejemplos de VLEs 822 Herramientas de Software 8

221 Integracioacuten de herramientas 9222 Problemas en la integracioacuten 11223 Enfoques de la integracioacuten 11

23 Servicios Web 12231 Orquestacioacuten y Coreografiacutea de Servicios Web 14232 Estaacutendares de Orquestacioacuten de Servicios Web 16233 Estaacutendares de Coreografiacutea de los Servicios Web 17

24 Moodle 17241 otras plataformas 18

3 Organizacioacuten y Sistema Inicial 2131 Lanzamiento del proyecto 2132 Denicioacuten del proyecto 2133 Anaacutelisis de requisitos 21

331 Cuestiones Realizadas 21332 Fuentes de datos y buacutesqueda 21333 Criterios de inclusioacuten y exclusioacuten 22334 Asegurar la calidad 22335 Extraccioacuten de datos y anaacutelisis 22336 Fase de revisioacuten 22337 Fase de Pruebas 22

34 Calendario de Trabajo 2335 Hitos principales 2336 Instalacioacuten base 25

4 Servicios Web de Moodle 2741 Introduccioacuten 2742 Servicios Web de Moodle 2743 REST 28

i

431 Principios de disentildeo 2944 SOAP 30

441 Principios de disentildeo 3045 AMF 3146 Conguracioacuten de Moodle Web Services 32

461 Activando los Servicios Web 32462 Pruebas cliente Servicio Web 34

5 Herramientas Externas 3751 Introduccioacuten 3752 Estaacutendares IMS 3753 Herramientas externas en Moodle 39

531 Wordpress 39532 ChemVantage 44

6 Middleware 4961 Introduccioacuten 4962 GluePS 49

621 Instalacioacuten 49622 Creando un Doodle 51

7 Conclusiones Finales 5571 Conclusiones Finales 55

8 Conceptos 57

Bibliografiacutea 59

Iacutendice de guras

11 Resultados SLR 212 Exportacioacuten en IEEE 213 Importacioacuten en Hoja de Caacutelculo 314 Exportacioacuten en SD 315 Exportacioacuten en SD 416 Resumen de resultados 417 Conguracioacuten de Google Scholar 418 Resultados en Zotero 5

21 Anaacutelisis de VLEs 922 Top 100 Tools - Abril 2013 1023 Ciclo de vida del aprendizaje colaborativo 1124 Problemas de integracioacuten 1225 Problemas de integracioacuten 1326 Enfoques de arquitectura de integracioacuten 1427 Orquestacioacuten y Coreografiacutea de Servicios Web 1628 Moodle - Abril 2013 17

31 Proceso para dirigir la revisioacuten 2332 Diagrama de Gantt 2433 Panel de control de XAMPP 2634 Gestor de bases de datos phpMyAdmin 26

41 Capas en Moodle 2842 Operaciones denidas por HTTP 2943 Operaciones denidas por HTTP 3044 Partes de SOAP 3145 Ejemplo de uso de SOAP 3146 Activacioacuten Servicios Web 3247 Activacioacuten Protoclos 3348 Creacioacuten Servicio Personalizado 3349 Agregando funciones al Servicio Personalizado 34410 Listado de Servicios Personalizados 34411 Alta de Usuarios Autorizados 35412 Creacioacuten de Tokens 35413 Lista de Tokens 36414 Web de alta de usuarios 36415 Resultado de REST en formato XML 36

iii

416 Resultado de REST en formato JSON 36

51 Esquema LTI Baacutesico 3852 Esquema utilizacioacuten LTI 3953 Listado de herramientas LTI de la UOC 3954 Informacioacuten sobre la certicacioacuten 4055 Usuario de Wordpress 4056 Servicios LTI en Wordpress 4257 Listado de claves de LTI en Wordpress 4258 Conguracioacuten LTI en Moodle 4359 Conguracioacuten Herramienta Externa 43510 Wordpress integrado en Moodle 44511 Correo de Chuck Wight 46512 Conguracioacuten de paraacutemetros LTI 47513 Opciones de inicio de la herramienta 47514 Pantalla de utilizacioacuten de la herramienta por el usuario 47

61 Arquitectura de GLUE 5062 Paraacutemetros modicados en persistencexml 5063 Paraacutemetros del moacutedulo GLUE 5164 Creando una actividad GLUElet 5265 Antildeadiendo Doodle como actividad 5366 Opciones iniciales de conguracioacuten de Doodle 5367 Doodel dentro de Moodle 54

Capiacutetulo 1

Revisioacuten Sistemaacutetica de la Literatura

11 Objetivos del SLR

Hemos partido de un SLR detallado en la PEC1 bastante ambicioso en el que se intentaronabordar la buacutesqueda de herramientas y estado actual de la coreografiacutea y orquestacioacuten de serviciosweb en la plataforma Moodle Pasaremos a detallar el estudio realizado y los resultados obtenidos

12 Estudio Inicial

La fase de planicacioacuten inicial incluiacutea el la buacutesqueda para la obtencioacuten de estudios o trabajos enlas siguiente libreriacuteas

IEEEXplore [IEEEX] httpieeexploreieeeorg

Science Direct [SD] httpwwwsciencedirectcom

SpringerLink [SL] httpwwwspringerlinkcom

Las cadenas de buacutesqueda empleadas aparecen listadas en la tabla 11 de la paacutegina 1 En la tablaTAK indican Title Abstract Keywords y A indica All Ambos casos se reeren a los campos debuacutesqueda utilizados

Cuadro 11 Fuentes de datos y cadenas de buacutesquedas reali-zadas

Libreriacutea Buacutesqueda AacutembitoIEEEX (Moodle AND Web services) TAKIEEEX (Orchestration OR Coreography) ANDWeb Ser-

vicesTAK

IEEEX (Orchestration OR Coreography) AND Moodle TAKIEEEX (Orchestration OR Coreography) AND (lms OR

Learning Management System)TAK

SD (Moodle AND Web services) TAKSD (Orchestration OR Coreography) ANDWeb Ser-

vicesTAK

continuacutea

1

Cuadro 11 continuacioacutenLibreriacutea Buacutesqueda AacutembitoSD (Orchestration OR Coreography) AND Moodle TAKSD (Orchestration OR Coreography) AND (lms OR

Learning Management System)TAK

SL (Moodle AND Web services) TAKSL (Orchestration OR Coreography) ANDWeb Ser-

vicesTAK

SL (Orchestration OR Coreography) AND Moodle TAKSL (Orchestration OR Coreography) AND (lms OR

Learning Management System)TAK

Los resultados obtenidos podemos observarlos en la gura 11

Figura 11 Resultados SLR

Los resultados de Springer Link para la consulta (Orchestration OR Coreography) ANDWeb Services fueron en principio un problema por la cantidad de artiacuteculos que arrojaba2734 en total aun asiacute empezoacute a trabajar con ello La idea de un SLR es realizar una lecturainicial de los Abstracts para ver si la informacioacuten obtenida es de nuestro intereacutes y si fuera asiacuteprofundizar en la lectura del documento

Comenzamos trabajando con la libreriacutea de IEEE Digital Library (Xplore) El portal de estalibreriacutea nos facilitoacute mucho el trabajo pues pudimos permite la opcioacuten de exportar de manerasencilla como podemos ver en la gura 12 a una hoja de calculo que hemos utilizado para irdetallando aquellos documentos que hemos considerado importantes durante el estudio

Figura 12 Exportacioacuten en IEEE

Los resultados exportados por este portal son bastante completos sobre todo porque contiene elAbstract de los documentos por lo que la lectura de los mismos no se tiene que realizar en demanera individual en la web o descargando los documentos En la gura 13 podemos ver comose importaron en nuestra hoja de calculo los datos obtenidos

Figura 13 Importacioacuten en Hoja de Caacutelculo

Despueacutes de realizar la lectura los Abstracts hemos continuado con ScienceDirect donde los re-sultados fueron menores que los obtenidos con IEEE Este portal tambieacuten permite la opcioacuten deexportar de manera sencilla como podemos ver en la gura 14 permitiendo la opcioacuten de incluirlos Abstracts

Figura 14 Exportacioacuten en SD

Para acabar este uacuteltimo bloque nos quedaba revisar SpringerLink el cual se presentaba comoel maacutes prometedor por el gran nuacutemero de resultados obtenidos La revisioacuten de tantos artiacuteculos sepresentaba ardua pero no se esperaba que fuera tanto pues el portal no permite la exportacioacutende los Abstracts de los documentos encontrados Realizar la descarga de 2924 documentos parasu revisioacuten se nos haciacutea algo inviable dentro de los plazos para entrega del presente proyectosiendo por lo tanto seguir con los paraacutemetros de buacutesqueda iniciales En la gura 15 podemosver cuales son los campos que permite la exportacioacuten de este portal

Esto hizo replantearnos el estudio por lo que hemos replanteado el mismo reduciendo los con-ceptos a buscar para ello hemos realizado la buacutesqueda solo de los artiacuteculos directamente rela-cionados con Moodle y la coreografiacutea y orquestacioacuten de servicios web es decir (OrchestrationOR Coreography) AND Moodle y hemos incluido un nuevo buscador Google Scholar

Figura 15 Exportacioacuten en SD

httpscholargooglecom para de esta manera compensar la reduccioacuten de las buacutesquedas

La buacutesqueda por lo tanto puede ser resumida en la siguiente tabla 16 donde podemos comprobarla gran cantidad de artiacuteculos encontrados gracias a la utilizacioacuten de Google Scholar

Figura 16 Resumen de resultados

Los resultados de Google Scholar eran prometedores pero tambieacuten presentaban problemas parasu exportacioacuten despueacutes de varias consultas para buscar informacioacuten al respecto se conguroacute labuacutesqueda para que permitiera la exportacioacuten de los enlaces encontrados como podemos ver enla gura 17 pero esta opcioacuten nos volviacutea a obligar a realizar una consulta individual de cadaelemento

Figura 17 Conguracioacuten de Google Scholar

Aunque podriacuteamos realizar la buacutesqueda de esta manera sobre todo por los resultados esperadosel tener que realizar la buacutesqueda desde el navegador presentando solo 20 resultados por paacutegina seantojaba bastante pesada sobre todo si se teniacutea que retomar la buacutesqueda en diversos periodos detiempo La solucioacuten que se encontroacute fue la instalacioacuten de Zotero httpwwwzoteroorg Laherramienta permite instalacioacuten de un complemento para Firefox que se utilizoacute para realizar ladescarga de todos los enlaces Este complemento tambieacuten permite la visualizacioacuten de los enlacesen la web como podemos ver en la gura 18 Aun asiacute se decidioacute realizar la instalacioacuten de laversioacuten consola de Zotero para trabajar mejor con carpetas y de esta manera reorganizar lasreferencias encontradas

Figura 18 Resultados en Zotero

Capiacutetulo 2

Plataformas VLE e integracioacuten

En esta seccioacuten describiremos el Entorno Virtual de Aprendizaje pondremos ejemplos de ellos yveremos las necesidades que generan en el desarrollo del proceso de aprendizaje por la falta deintegracioacuten de nuevas herramientas algunas de ellas utilizadas por si sola como herramientas deaprendizaje Detallaremos los problemas de la integracioacuten y expondremos las posibles solucionesa ello

21 VLE

El Entorno Virtual de Aprendizaje (VLE - Virtual Learning Enviroment) suele ser un teacuterminomuy usado en la educacioacuten a traveacutes de ordenador pero no existe una denicioacuten acordada porlo que muchas veces es confundido con otros teacuterminos anaacutelogos como Learning ManagementSystem (LMS) Sistema de Gestioacuten de Contenidos (Content Management System - CMS) o unaPlataforma de aprendizaje (Learning Plataform - LP)

Las deniciones maacutes aceptadas para VLE pues dada en el 2000 por Joint Information Sys-tems Committee (JISC) en el 2000 [Stiles 2000] indicando que son ccedilomponents in which learn-ers and tutors participate in on-line interactions of various kinds including on-line learningExisten otros autores que no estaacuten de acuerdo con la necesidad de interacciones on-line como[Dillenbourg et al 2002] que los excluyen de su denicioacuten Britain an Liber [Britain et al 2004]tambieacuten omiten la comunicacioacuten on-line de su denicioacuten indicando que las VLEs pretender darcabida a una amplia gama de estilos de aprendizaje y objetivos para fomentar el aprendizajecolaborativo y basado en recursos para permitir una mayor intercambio y reutilizacioacuten de recur-sos [Britain et al 2004]

Una de las deniciones mas formal y comuacutenmente citada fue dada en el trabajo de Dillengourgs[Dillenbourg et al 2002] el cual expone siete argumentos distintivos

1 VLEs are designed information spaces in which multiple authors can produce both struc-tured and unstructured information

2 VLEs are social spaces that promote interactions and discussions both synchronously orasynchronously

3 VLEs are explicitly represented ranging from text-based interfaces to complex 3D graphicalsystems

7

4 VLE students are also actors thus producing rather than consuming contents

5 VLEs are not restricted to distance education supporting also presential and blended learn-ing situations

6 VLEs integrate heterogenous technologies (including a variety of tools supporting diferenttasks) and multiple pedagogical approaches because integration is under the idea of envi-ronment

7 Most VLEs overlap with physical environments at some point since learning activities mayinvolve the use of non-computerized resources or interactions among participants

Por tanto el VLE conlleva un paso hacia delante por constituir un espacio virtual que utilizatecnologiacuteas heterogeacuteneas en el que los alumnos son activos usuarios siendo sistemas centrados enlos educadores que permiten el disentildeo instanciacioacuten promulgacioacuten y evaluacioacuten de situacionesde aprendizaje colaborativo a traveacutes de un conjunto de actividades de aprendizaje que puedenser siacutencronas o asiacutencronas cara a cara o a distancia individuales o de manera colaborativa

211 Ejemplos de VLEs

Existen actualmente diversos VLEs amplimente difundidos y no paran de aparecer nuevos loscuales intentan incluir nuevos teacutecnicas aplicadas al aprendizaje como puede ser el 3D [Nonis 2005]Hemos realizado el resumen por [Alario-Hoyos et al 2012] para mostrar una tabla en la gura21 de los maacutes importantes Moodle Lams LRN Sakai Blackboard Claroline Sharepoint LMSy sus caracteriacutesticas teacutecnicas y funcionales

22 Herramientas de Software

El uso de aplicaciones software como apoyo al aprendizaje ha jugado un papel muy importantesobre todo a la incorporacioacuten del ordenador a nuestra vida diaria Sin embargo no ha sido hastalos uacuteltimos antildeos con la difusioacuten de las tecnologiacuteas web y la posibilidades que ofrece de accesoraacutepido y ubicuo a los recursos e informacioacuten lo que ha provocado la proliferacioacuten de las her-ramientas de Software como Servicio (Software as Service - SaaS) siendo adoptadas en todas lasetapas del aprendizaje

La tendencia actual de los usuarios a generar y compartir contenidos a traveacutes de las herramientasde la llamada Web 20 la mayoriacutea de las cuales son aplicaciones SaaS ha cambiado la formade aprender fomentando la comunicacioacuten colaboracioacuten y ha fomentado un aprendizaje masconstructivista Algunos ejemplos de estas herramientas son

Google Drive httpsdrivegooglecom

Twitter httpstwittercom

Delicious urlhttpsdeliciouscom

Google Maps httpsmapsgooglees

Flickr httpwwwflickrcom

Doodle httpwwwdoodlecom

Figura 21 Anaacutelisis de VLEs

Miles de estas herramientas son usadas como apoyo en las actividades de aprendizaje Muchasde estas herramientas podemos encontrarlas valoradas en un ranking en webs como Tops 100Tools for Learning1 de la cual mostramos la gura 22 tambieacuten podemos encontrarlas en CcediloolsTools for Schools2

221 Integracioacuten de herramientas

Aunque hemos podido ver que existe un gran nuacutemero de herramientas software la cuales puedenapoyar el desarrollo docente son pocos los VLEs y otras plataformas similares utilizadas porlos educadores para disentildear y prestar sus actividades formativas las que incluyen un nuacutemeromuy restringido de estas herramientas de manera integrada Los educadores suelen indicar laslimitaciones que los VLEs tienen en este caso demandando maacutes alternativas para soportar susparticulares aprendizajes colaborativos Por ello ha emergido con fuerza la integracioacuten de her-ramientas externas en los VLEs sobre todo para el uso de SaaS y aplicaciones Web 20

Debemos tener en cuenta que

La integracioacuten de las herramientas actuales en los entornos VLEs actuales suele ser laopcioacuten maacutes aceptada aunque existen otras alternativas

Las SaaS y las aplicaciones Web 20 han sido ampliamente adoptadas como herramientas de

1httpc4lptcouktop100tools2httpcooltoolsforschoolswikispacescom

Figura 22 Top 100 Tools - Abril 2013

aprendizaje pero existen otras herramientas con su particularidades teacutecnicas que puedenser interesantes y tenida en cuenta como actividades de aprendizaje en los VLEs

Estas herramientas usadas durante el ciclo de vida de aprendizaje colaborativo deben poderser analizadas para estudiar sus resultados

El ciclo de vida del aprendizaje colaborativo consta de cuatro fases disentildeo despliegue pues-ta en marcha y evaluacioacuten Las herramientas de software suelen utilizarse principalmenteen dos de ellas en el despliegue donde las herramientas son seleccionadas dependiendo delos objetivos del aprendizaje la conguracioacuten social y las estructuras de las actividades arealizar y en la fase de puesta en marcha pues son utilizadas por los estudiantes para re-alizar sus actividades y de esta manera alcanzar los objetivos del aprendizaje En la fase deevaluacioacuten estas realmente no son importantes pues no nos interesa tanto la herramientacon la que se haya realizado sino el contenido de esos resultados La fase de disentildeo es dondese consideran las tareas a realizar para llevar a cabo el aprendizaje y no herramientas autilizar para ello Aunque estas cuatro fase puede ser ampliadas o reducidas es ampliamenteaceptado En la gura podemos ver graacutecamente este ciclo

Figura 23 Ciclo de vida del aprendizaje colaborativo

222 Problemas en la integracioacuten

El problema general de la integracioacuten de muacuteltiples herramientas externas en diversos VLEspodemos observarlo en la gura 24 donde podemos ver en un lado diferentes VLEs consus correspondientes APIs arquitectura y caracteriacutesticas mientras en el otro lado diferentestecnologiacuteas interfaces y desarrollos para una gran variedad de propoacutesitos Cada uno deellos puede imponer sus restricciones para la integracioacuten Estos requerimientos es lo queha sido denominado por ejemplo en LAMS como ccedilontrato de integracioacuten el cual intentadeterminar las tecnologiacuteas interfaces y modelos de datos que deben ser empleados para lacomunicacioacuten entre un sistema y el programa que intente integrarlo

Cada herramienta puede tener una o maacutes opciones de integracioacuten Algunas son especiacute-cas para una cierta herramienta (Ej comunicacioacuten basado en Rest para Delicious y paraSlidshare de manera diferente) y otras comuacuten para varias herramientas (Ej Google DataProtocol) Lo mismo ocurre en el lado de los VLEs por lo que se abre un amplio abanicode tecnologiacuteas interfaces y modelos de datos que hacen que la tarea de integracioacuten seaalgo realmente complejo En la gura 25 podemos ver un resumen de los problemas deintegracioacuten seguacuten las herramientas seleccionadas

223 Enfoques de la integracioacuten

Podemos denir dos enfoques principales a la hora de enfocar la integracioacuten de las her-ramientas de software y los VLEs siendo estos

bull Estandarizar los contratos de integracioacutenLa denicioacuten de unos estaacutendares de integracioacuten podriacutea resolver los problemas de in-tegracioacuten pero no existen hoy en diacutea los mismos o no son aceptados por la mayoriacutea

Figura 24 Problemas de integracioacuten

seguramente por intereses tecnoloacutegicos y comerciales IMS Global Learning Consor-tium siguen intentando realizar la aprobacioacuten de dicho estaacutendar siendo uno de elloIMS-LTI Integracioacuten de aplicaciones y servicios remotos y aunque la adopcioacuten de losmismo por las nuevas versiones de Moodle y Blackboard podriacutea hacer que se apos-tara por esta opcioacuten la falta de herramientas que lo utilicen (Ej Google no lo utiliza)puede hacer que no llegue a buen puerto

bull Crear una arquitecturaEste enfoque trata de adaptar los contratos de integracioacuten de los VLEs y las her-ramientas sin tener que modicar sus implementacioacuten Este mismo enfoque presentados opciones como podemos ver en la gura 26 y que pasamos a detallar

1 Un adaptador por en el lado de VLE y otro en el lado de las herramientas o inclusoun solo paquete que pueda congure toda la conexioacuten En este caso estariacuteamoshablando por ejemplo de los moacutedulo adicionales de Moodle

2 Una capa intermedia y adaptadores Este tipo de arquitectura permite la in-tegracioacuten entre muacuteltiples herramientas externas y muacuteltiple entorno virtuales deaprendizaje a traveacutes de un middleware comuacuten Dicho middleware estariacutea com-puesto de diferentes programas que pueden ser ejecutados en dominios diferentesEsta arquitectura reduce el esfuerzo para la integracioacuten de cada herramienta encada VLE ya que el coacutedigo estaacute parcialmente implementado por los elementos deintegracioacuten comunes Sin embargo el grado de integracioacuten y funcionalidad que sepuede lograr con estas arquitecturas es menor que con la primera opcioacuten

23 Servicios Web

Aunque han sido englobados dentro de integracioacuten de herramientas vamos a detallar queson y que aportan a Moodle

Figura 25 Problemas de integracioacuten

Los Servicios Web (Web Services) son la parte esencial de la interoperabilidad de Moodlecon otras aplicaciones Web 20 consisten en una pieza de software que utiliza un conjuntode protocolos y estaacutendares abiertos para intercambiar datos entre aplicaciones La idea prin-cipal es que distintas aplicaciones de software desarrolladas en lenguajes de programacioacutendiferentes y ejecutadas sobre cualquier plataforma puedan utilizar los servicios Web paraintercambiar datos en la red de ordenadores como Internet El producto resultante es unconjunto de moacutedulos con funcionalidad especiacuteca y completa que se acoplan entre siacute A suvez estos moacutedulos se conectan a una plataforma de e-learning mediante la utilizacioacuten deservicios de base descritos en una capa estaacutendar que funciona como gateway

Para ampliar un poco mejor el concepto de servicios Web citaremos una exposicioacuten delDoctor Marcos Escobar Un Web Service es un componente de software que se comunicacon otras aplicaciones codicando los mensaje en XML y enviando estos mensaje a traveacutesde protocolos estaacutendares de Internet tales como el HTTP Intuitivamente un Web Servicees similar a un sitio Web que no cuenta con un interfaz de usuario y que da servicio a lasaplicaciones en vez de a las personas Un Web Service en vez de obtener solicitudes desdeel navegador y retornar paacuteginas Web como respuesta lo que hace es recibir solicitudes atraveacutes de un mensaje formateado en XML desde una aplicacioacuten realiza una tarea y de-vuelve un mensaje de respuesta tambieacuten formateado en XML

Figura 26 Enfoques de arquitectura de integracioacuten

231 Orquestacioacuten y Coreografiacutea de Servicios Web

Seguacuten Careaga Mercadillo Ana Lilia [car ] la Orquestacioacuten (Web Service Orchestration)y Coreografiacutea (Web Service Choreography) se suelen ver como dos aproximaciones parala Composicioacuten de Servicios Web que se acercan estrechamente a los conceptos musicalespor lo cual se han importado directamente sus signicados A continuacioacuten detallaremosque son y sus posibles aplicaciones

La tarea de componer servicios Web baacutesicos o simples para brindar servicios Web maacutes com-plejos se conoce teacutecnicamente como Composicioacuten de Servicios Web Existen dos grandesaproximaciones para esta tarea la coreografiacutea con foco en la interaccioacuten entre servicios(equivalente a los bailarines) y la orquestacioacuten (equivalente a los instrumentos de la orques-ta) con foco en la implementacioacuten y ejecucioacuten de servicios La primera puede consid-erarse como una descripcioacuten formal del pasaje de mensajes obviando detalles internosde implementacioacuten Se ajusta maacutes en situaciones donde es provechoso contar con la no-cioacuten de estados y tambieacuten donde estaacuten involucradas transacciones de larga duracioacuten- Elorquestadordetermina la naturaleza y la secuencia de la interaccioacuten En cambio la segun-da aproximacioacuten describe la loacutegica y el estado de cada una de las partes involucradas Laorquestacioacuten tiene una visioacuten mas local y centralizada mientras que la coreografiacutea denela composicioacuten desde una perspectiva global sin control centralizado tal y como sucede enla danza

Existen numerosas deniciones de Servicios Web y esto demuestra en parte la gran com-plejidad de los servicios que se agrupan bajo este teacutermino y las implicaciones asociadas aellos Hasta ahora la denicioacuten maacutes general y convincente es decir que los Servicios Webson el conjunto de aplicaciones tecnoloacutegicas con capacidad para interoperar en la Web Es-tas tecnologiacuteas intercambian datos entre ellas con el n de ofrecer servicios de naturalezaremota

La World Wide Web no es soacutelo un espacio de informacioacuten tambieacuten es un espacio de inter-accioacuten Utilizando la Web como plataforma los usuarios de forma remota pueden solicitar

un servicio que alguacuten proveedor ofrezca en la red Pero para que esta interaccioacuten funcionedeben existir unos mecanismos de comunicacioacuten estaacutendares entre diferentes aplicacionesEstos mecanismos deben poder interactuar entre siacute para presentar la informacioacuten de formadinaacutemica al usuario Se precisa pues una arquitectura de referencia estaacutendar que hagaposible la interoperabilidad y extensibilidad entre las distintas aplicaciones y que permitasu combinacioacuten para realizar operaciones complejas Esta arquitectura es conocida con elnombre de SOA (Service Oriented Architecture)

Con el n de estandarizar los diferentes aspectos relacionados con los servicios Web elW3C (World Wide Web Consortium) recoge todo lo referente a ellos en (Web ServicesActivity) Asiacute pues Web Services (WS) ofrece un signicado estaacutendar para interoperarentre diferentes aplicaciones de software corriendo en diferentes plataformas yo marcosde trabajo El W3C pretende disentildear la arquitectura denirla y crear el nuacutecleo de tec-nologiacuteas que hagan posible los Servicios Web Los servicios Web se basan en un lenguajede caracteriacutesticas especiales llamado XML (Extensible Markup Language) que permite quelas aplicaciones compartan informacioacuten y que ademaacutes invoquen funciones de otras apli-caciones independientemente de coacutemo se hayan creado dichas aplicaciones y del sistemaoperativo o plataforma en que se ejecuten Por ejemplo Google utiliza un Servicio Webllamado Google Web APIs que permite que el usuario programe en diversos lenguajes ase-gurando la recuperacioacuten de informacioacuten independientemente de la plataforma que se utilice

Los Servicios Web se idearon en un principio para realizar interacciones simples e indepen-dientes pero ahora es necesario que los servicios colaboren y se coordinen A la coordinacioacutennecesaria para implementar un servicio Web se le llama Composicioacuten que puede realizarsede dos manerasorquestacioacuten y coreografiacutea La principal diferencia entre orquestacioacuten ycoreografiacutea es el alcance La orquestacioacuten trata de la descripcioacuten y ejecucioacuten de un mismoy uacutenico punto de vista global del modelo (instrumentacioacuten) La coreografiacutea trata de la de-scripcioacuten y guiacutea de un modelo global proyectado en base a cada participante (bailarines)La orquestacioacuten y coreografiacutea son teacuterminos que describen dos aspectos de los estaacutendaresemergentes para la creacioacuten de procesos de negocios de muacuteltiples servicios WebLos dosteacuterminos se superponen pero es claro que la orquestacioacuten se reere a un proceso de nego-cio ejecutable que puede interactuar tanto con servicios Web internos como externos Laorquestacioacuten representa siempre el control desde la perspectiva de una de las partes Estolo distingue de la coreografiacutea que es de mayor colaboracioacuten y permite a cada parte impli-cada describir su papel en la interaccioacuten La orquestacioacuten y coreografiacutea tratan de describiraspectos relacionados con la creacioacuten de procesos de negocio que involucran varios tipos deSoftware

Visto graacutecamente podemos ver en la gura 27 la orquestacioacuten permite disentildear proce-sos de negocio ejecutables que pueden interactuar (a nivel de mensaje) tanto con softwareinterno como externo Por otra parte la coreografiacutea es mucho maacutes colaborativa ya quepermite trazar las secuencias de mensajes que se suceden entre todas las partes partici-pantes del proceso de negocio en lugar de centrarse en los mensajes que se intercambianentre los diversos programas de software que implementan los procesos de negocio

Figura 27 Orquestacioacuten y Coreografiacutea de Servicios Web

232 Estaacutendares de Orquestacioacuten de Servicios Web

WS BPEL( Web Service Business Process Execution Language)Es un lenguaje de orquestacioacuten estandarizado porOASIS (Organisation for Advance Struc-tured Information Business Transaction Protocol) para la composicioacuten de servicios Web quepermite a los desarrolladores crear programas que automatizan las interacciones entre losservicios Web jugando un papel clave en las arquitecturas orientadas a los servicios SOAPara comprender su funcionamiento imaginemos un proceso de negocio determinado quetiene una entrada A y una salida B Dicho proceso como la mayoriacutea de ellos posee a suvez de muchos procesos internos que se van activando de acuerdo a ciertos paraacutemetros yvalores BPEL seriacutea el encargado de orquestar y por lo tanto dirigir la ejecucioacuten de unamanera ordenada La ventaja de que BPEL sea un estaacutendar radica en que puede ser imple-mentado en una gran variedad de motores de ejecucioacuten de diferentes proveedores BPELen si es un formato XML que proviene de la convergencia entre el WSFL (Web ServiceFlow Language) de IBM y XLANG de Microsoft La herramienta BPEL estaacute basada en unmodelo llamado Workow que especica las oacuterdenes de ejecucioacuten Existen actividadesbaacutesicas como iumlnvoke y receive y otras estructuradas como sequence Tambieacuten formanparte del modelo variables y participantes (partners) En las variables se deposita la nocioacutende datos y los participantes representan los elementos que interactuacutean en la composicioacutenEl modelo se completa como un motor que orquestaraacute las invocaciones

BPML (Business Process Modeling Language)Es un metalenguaje basado en XML para la descripcioacuten de procesos de negocio Inicial-mente BMPL se disentildeoacute para soportar los procesos que un sistema de gestioacuten de procesosde negocio pudiera ejecutar BPML dispone de estructuras similares a BPEL como puedenser actividades baacutesicas para el enviacuteo y la recepcioacuten de mensajes y para la invocacioacuten deservicios Adicionalmente BPML permite planicar las tareas para que se ejecuten eninstantes especiacutecos ofreciendo algunas opciones de control temporal Este lenguaje in-cluye caracteriacutesticas para dar soporte a la persistencia ya que fue disentildeado para la gestioacutende procesos de larga duracioacuten BPML ofrece soporte tambieacuten para realizar composicionesrecursivas a n de poder construir procesos de negocio que a su vez consten de otros sub-procesos Asimismo soporta transacciones de larga o corta ejecucioacuten gracias a que usa unateacutecnica similar a BPEL para controlar el alcance de las actividades y gestionar de esta

forma las reglas de compensacioacuten en caso de que las operaciones que deben realizarse deforma automaacutetica se vean interrumpidas

233 Estaacutendares de Coreografiacutea de los Servicios Web

WS-CDL (Web Services Choreography Description Language)Es un lenguaje basado en XML que describe la colaboracioacuten entre pares peer to peemediante la denicioacuten - desde un punto de vista global de los comportamientos comunes yobservables de cada participante de un proceso de negocio Eacuteste es un lenguaje utilizadopara la denicioacuten de servicios dentro de la plataforma SOA y cuyo objetivo es la descrip-cioacuten del comportamiento de cada uno de los servicios establecidos para lograr un objetivocomuacuten Sin embargo antes de WS-CDL ya existiacutea un lenguaje que permitiacutea la descripcioacutende las funcionalidades de un Servicio Web WSDL (Web Services Denition Language)el cual puede describir el conjunto de funciones ofrecidas con los posibles fallos que po-driacutean ocurrir y a pesar de que WS-CDL podriacutea expresar las coreografiacuteas de un servicioen un ambiente SOA W3C (World Wide Web Consortium) abandonoacute su desarrollo en 2009

WSCI (Web Service Choreography Interface)La especicacioacuten de WSCI fue desarrollada por diversas compantildeiacuteas como Sun SAP BEAe Intalio y representa una extensioacuten para WSDL para la colaboracioacuten La especicacioacuten de-ne la coreografiacutea global o el intercambio de mensajes entre los diferentes tipos de softwarey soporta su correlacioacuten reglas de secuenciacioacuten manejo de excepciones transacciones ycolaboracioacuten dinaacutemica WSCI soacutelo describe el comportamiento observable entre el softwareque se emplea Una coreografiacutea WSCI constaraacute de un conjunto de interfases WSCI unapor cada uno de los servicios que participen en la interaccioacuten

24 Moodle

El software de coacutedigo abierto (Open-Source Software-OSS) esta siendo ampliamente de-sarrollado ofreciendo nuevas alternativas y posibilidades hasta hace poco inimaginablesMoodle es un claro ejemplo siendo uno de los programas maacutes ampliamente adoptados porcolegios institucioacuten universidades etc Como podemos ver en la gura 28 el nuacutemero deusuarios registrados y los idiomas en los que se encuentra disponible dan muestra de sugran difusioacuten Algunas de las razones mas importante para su eleccioacuten son

Figura 28 Moodle - Abril 2013

bull Moodle es OSS lo cual signica que los usuarios pueden descargarlo libremente usarlomodicarlos e incluso redistribuirlo seguacuten los teacuterminos GNU 3

bull La losofiacutea planteada por Moodle incluye una aproximacioacuten constructiva basada enel constructivismo social de la educacioacuten enfatizando que los estudiantes (y no soacutelolos profesores) pueden contribuir a la experiencia educativa en muchas formas

bull Compatibilidad con maacutes de 70 idiomas diferentes

bull Una excelente documentacioacuten soporte para seguridad y administracioacuten

bull No requiere modicaciones en el sistema operativo pudiendo ser ejecutado en un en-torno Linux Windows Mac OS o cualquier otro siempre que soporten PHP

bull La informacioacuten esta soportada por una simple base de datos

Ademaacutes su sencilla aplicacioacuten en entorno web que utiliza tecnologiacuteas ya ampliamenteprobadas sus mecanismos de extensioacuten maacutes faacuteciles en comparacioacuten con otros VLEs y laexistencia de una gran cantidad de documentacioacuten de desarrollo han impulsado la creacioacutende una gran comunidad de personas que contribuyen a la mejora de Moodle Esta comu-nidad estaacute en constante desarrollo de nuevas caracteriacutesticas y aplicaciones a traveacutes decientos de plugins que pueden ser descargados desde su la web de Moodle y asesoran tantoa otros desarrolladores como usuarios nales

La primera versioacuten de Moodle (10) fuel lanzada en 2002 como parte de la investigacioacuten deMartin Dougiamas del uso del software de coacutedigo abierto para la ensentildeanza y el aprendizajecon las comunidades basadas en Internet[Dougiamas and Taylor 2000] Actualmente seencuentra disponible la versioacuten 243+ como estable y la beta de la versioacuten 25

En cuanto a la parte teacutecnica Moodle estaacute desarrollado en lenguaje PHP como la mayoriacuteade los VLEs utiliza una arquitectura cliente-servidor comuacuten de tres capas CORREGIRLa capa de presentacioacuten dene como la informacioacuten se presenta a los usuarios nales quetienen acceso a esa informacioacuten a traveacutes de sus navegadores web La Capa de loacutegica de ne-gocios se encarga de las relaciones con Moodle el acceso a la capa de datos por lo generala traveacutes de MySQL para almacenar y recuperar la informacioacuten cuando sea necesario

Moodle se distribuye en un solo paquete multiplataforma que incluye PHP MySQL yApache HTTP Server para facilitar los procesos de instalacioacuten y conguracioacuten La dis-tribucioacuten actual de Moodle cumple con varios estaacutendares educativos Por ejemplo Moodlepuede manejar ADL SCORM paquetes que contienen recursos aislados o cursos completosEn cuanto a los estaacutendares IMS Moodle soporta IMS Content Packaging (IMS CP) IMSCommon Cartridge (IMS CC)IMS pregunta y Test Interoperability (IMS QTI) y estaacuteconsiderado como uno de los VLEs compatible con Basic LTI

241 otras plataformas

No podemos dejar de lado otros escenarios educativos que han ido apareciendo en los uacutelti-mos antildeos a pesar del gran eacutexito de los VLEs Algunos ejemplos de estas plataforma son

3httpsmoodleorg

bull Wikis (Ej MediaWiki) Son sistemas software que permiten la creacioacuten y gestioacutende contenidos estructurados mediante paacuteginas web relacionadas entre siacute El contenidosuele estar editado por varios usuarios que trabajan de manera colaborativa pudiendoincluir enlaces a recursos externos

bull Sitios de redes sociales (Ej Facebook) Son sistema en liacutenea donde los usuariospueden crearse sus propios perles y crear una red personal que les mantendraacute conec-tado con otros usuarios Estos sistemas han proliferado en los uacuteltimos antildeos llegando amillones de usuarios No suelen necesitar un administrador pues se utilizan medianteentorno web y son alojados por el propio proveedor Su gran adopcioacuten y el enfoquea las interacciones sociales es lo que ha llevado a muchos profesor a utilizarlo comoherramienta de aprendizaje Estos sitios permiten la creacioacuten y mantenimiento degrupo mediante el perl de usuario pero no estaacuten disentildeados para seguir un enfoquepedagoacutegico

bull Personal Learning Environment - PLE (Ej Southampton) Son denidos comosistemas de software que permiten al estudiante a tomar el control y la gestioacuten de suspropio aprendizaje Se caracterizan por la por la participacioacuten directa de los alumnosen el acceso agregacioacuten conguracioacuten y manipulacioacuten de herramientas y recursos adiferencia de los VLEs done es el educador el que selecciona y gestiona los recursosque el alumno debe utilizar

Muchas de estas herramientas son de coacutedigo libre y abierto Su funcionalidad respecto ala gestioacuten de actividades grupos funciones y herramientas es limitado siendo en algunoscasos inexistente Ninguna de estas plataformas se puede considerar un VLE ya que nosson sistemas centrados en el educador sin embargo pueden apoyar la integracioacuten de apli-caciones externas en entornos de aprendizaje colaborativo

Capiacutetulo 3

Organizacioacuten y Sistema Inicial

A continuacioacuten pasamos a detallar las distintas actividades de la que consta el proyecto quehemos llevado a cabo durante estos meses

31 Lanzamiento del proyecto

Esta actividad consisten en la eleccioacuten de una de las diferentes posibles aacutereas de desarrollo deproyectos que ofrece la UOC siendo la elegida Aplicaciones Web para trabajo colaborativo

32 Denicioacuten del proyecto

El proyecto queda denido en el presente documento siendo el tiacutetulo del mismo Orchestationand Coreography of Web Services on Moodle - Revisioacuten Sistemaacutetica de la literatura

[Duracioacuten] 27-02-2013 al 03-03-2013

33 Anaacutelisis de requisitos

Nos centraremos en la fase de planicacioacuten que incluye los objetivos de la investigacioacuten y la formaen que se llevaraacute a cabo la revisioacuten

[Duracioacuten] 04-03-2013 al 03-06-2013

331 Cuestiones Realizadas

El primer paso en la fase de planicacioacuten seraacute denir los objetivos principales de esta revisioacutensistemaacutetica de la literatura Estos objetivos son analizar el estado del arte de la coreografiacutea yorquestacioacuten de los servicios web en Moodle como LMS

332 Fuentes de datos y buacutesqueda

Utilizaremos diferentes libreriacuteas o espacios digitales para realizar las buacutesquedas las mismas serealizaraacuten en ingleacutes y espantildeol Las libreriacuteas principales utilizadas son

IEEEXplore [IEEEX] httpieeexploreieeeorg

21

Science Direct [SD] httpwwwsciencedirectcom

SpringerLink [SL] httpwwwspringerlinkcom

Paralelamente a Science Direct se han realizado buacutesquedas en Scopus1 de Elsevier y GoogleScholar2 de Google

333 Criterios de inclusioacuten y exclusioacuten

Las buacutesquedas que se realicen intentaraacuten abarcar todo el aacutembito de cuestiones del SLR pero esposible (y de hecho ocurre) el resultado contenga referencias publicaciones estudios o en generalinformacioacuten que no sirve Para ello seraacute necesario denir criterios de inclusioacuten y exclusioacuten loscual haremos basaacutendonos en la guiacutea [Kitchenham 2007]

334 Asegurar la calidad

Despueacutes de obtener un numero considerable de trabajos o estudios que satisfacen los criteriosde inclusioacuten y exclusioacuten se deberaacute ser capaz de asegurar o armar cuales son los que cumplencon una miacutenima calidad y si son vaacutelidos o no para el estudio en si Es baacutesico poder analizar queacuteestudios son mejores que otros en teacuterminos de calidadSiguiente [Kitchenham 2007] se deniraacuten preguntas y cuestiones que permitan asegurar dichacalidad

335 Extraccioacuten de datos y anaacutelisis

Los criterios de inclusioacuten y exclusioacuten junto con las preguntas orientadas a asegurar la calidadnos serviraacuten para obtener todos los artiacuteculos y estudios que se analizan en este estudioDe cada artiacuteculo se recogeraacute titulo y autores abstract publicacioacuten y antildeo de publicacioacuten

336 Fase de revisioacuten

Esta fase de planicacioacuten seraacute denir el proceso de conducir o dirigir la revisioacuten Para elloutilizaremos tres fases como podemos ver en la gura 31 de la paacutegina 23

337 Fase de Pruebas

Se realizan pruebas con la informacioacuten obtenido montado maacutequinas virtuales para realizar lasmismas En estas se han probado las diferentes opciones de comunicacioacuten que nos ofrece Moodle

1httpwwwscopuscom2httpscholargooglecom

Figura 31 Proceso para dirigir la revisioacuten

34 Calendario de Trabajo

Podemos ver en el siguiente diagrama de Gantt32 la distribucioacuten de trabajos en el tiempo elmismo seraacute modicado para ajustarlo a las variaciones producidas durante el desarrollo de lastareas que contempla

35 Hitos principales

Los principales hitos seraacuten

Lanzamiento del proyecto Se dene correctamente en que va consistir el proyecto

Denicioacuten de cuestiones para la buacutesqueda Donde se detallaraacuten las cuestiones quemarcaran el desarrollo del resto del proyecto

Comprobacioacuten de resultados Se deberaacuten criba los mismo para no obtener duplicadoso informacioacuten ajena a la investigacioacuten

Revisioacuten de informacioacuten obtenida Una vez obtenida la informacioacuten y analizada deberaacuteser revisada para su presentacioacuten

Figura 32 Diagrama de Gantt

36 Instalacioacuten base

Para llevar a cabo las pruebas se ha optado por la creacioacuten de una maacutequina virtual sobre VirtualBox 3 en la cual hemos instalado Windows XP como sistema operativo Este sistema es maacutesligero a la hora de trabajar en maacutequinas virtuales pues requiere menos recursos que las versionesposteriores del mismos sistema

El siguiente paso era la instalacioacuten de Moodle Aunque se dispone de un instalador para Win-dows se ha optado por la descarga e instalacioacuten de XAMPP 4 y su y su posterior conguracioacutenen la maacutequina virtual XAMPP es un servidor independiente de plataforma software libre queconsiste principalmente en la base de datos MySQL el servidor web Apache y los inteacuterpretespara lenguajes de script PHP y Perl El nombre proviene del acroacutenimo de X (para cualquierade los diferentes sistemas operativos) Apache MySQL PHP Perl

XAMPP en su versioacuten 181 incluye

Apache 243

MySQL 5527

PHP 547

phpMyAdmin 3522

FileZilla FTP Server 0941

Tomcat 7030

Strawberry Perl 51611 Portable

XAMPP Control Panel 310

Hemos continuado con la descarga he instalacioacuten de Moodle y hemos querido probar las difer-encias que obtenemos entre las versiones 19x y 25 por lo que se han descargado ambas heinstalado en maacutequinas virtuales diferentes Con ello conseguiremos probar el resultado obtenidoseguacuten la versioacuten Moodle desde su versioacuten 22 ya soporta conexiones mediante IMS - LTI IMSLTI es un estaacutendar IMS Learning Tool Interoperability Esto signica que las herramientas deaprendizaje tienen ahora diversas maneras de conectarse entre sin problemas

En la praacutectica cuando un usuario se registra en una herramienta como Moodle se pueden conectara la otra herramienta como MediaWiki y autenticarse automaacuteticamente proporcionando unaexperiencia perfectaLas guras 33 y 34 nos muestran el panel de control de XAMPP una vez instalado y el panede phpMyAdmin donde hemos debido congurar las bases de datos y usuario necesarios parallevar todo el proceso de conguracioacuten de Moodle y el resto de herramientas

3httpswwwvirtualboxorg4httpwwwapachefriendsorgesxampphtml

Figura 33 Panel de control de XAMPP

Figura 34 Gestor de bases de datos phpMyAdmin

Capiacutetulo 4

Servicios Web de Moodle

41 Introduccioacuten

Moodle 2X incorpora la posibilidad de implementar Servicios Web para manejar sus funciona-lidades lo que nos permite poder acceder a acciones de actualizar y crear tareas para reejar elresultado de las actividades realizadas Moodle soporta varios protocolos (REST SOAP XML-RPC y AMF)

42 Servicios Web de Moodle

Los Servicios Web de Moodle se caracterizan por permitir el acceso desde cualquier aplicacioacutenimplementando para ello tres capas como podemos observar en la gura 41

Capa nuacutecleoLa capa del nuacutecleo estaacute compuesta de todas las funciones principales de Moodle sobreusuarios grupos cursos calendario etc Moodle no dispone de una API al uso sino queofrece diferentes funciones que han sido desarrolladas durante antildeos Por tanto las necesi-dades de los Servicios Web estaacuten obligando a rehacer estas funciones del nuacutecleo para quecomiencen a formar una API (Moodle 2X)

Capa externaLa capa externa estaacute compuesta por nuevos cheros llamados externalphp colocados porlas carpetas de Moodle y conteniendo manejadores para la capa inferior Estos manejadoresson los responsables de comprobar las capacidades paraacutemetros y llamadas correctas a lasfunciones de nuacutecleo

Capa de conectoresLa capa de conectores estaacute compuesta de diferentes conectores para las diferentes imple-mentaciones de los Servicios Web y contiene un conector REST un conector SOAP unconector XML-RPC y un conector AMF Esta capa admite plugins para ampliar los conec-tores disponibles de manera que se puedan integrar otros sistemas en Moodle utilizandootros protocolos

Los pasos para utilizar un Servicio Web con Moodle seriacutean los siguientes

1 El cliente enviacutea el nombre de usuario y contrasentildea al servidor que provee los ServiciosWeb

27

Figura 41 Capas en Moodle

2 El servidor de protocolo devuelve un token de sesioacuten para esa cuenta de usuario

3 El cliente llama a un Servicio Web especiacuteco incluyendo el token de sesioacuten

4 El servidor utiliza el token para comprobar que la sesioacuten del Servicio Web estaacute activa

5 El servidor llama a la funcioacuten correspondiente localizada en el chero externallibphp dentrodel moacutedulo especiacuteco

6 La funcioacuten externa comprueba que el usuario actual tenga los permisos sucientes pararealizar esta operacioacuten

7 La funcioacuten externa llama a la funcioacuten correspondiente del nuacutecleo de Moodle (libphp)

8 La funcioacuten del nuacutecleo puede retornar un resultado a la funcioacuten externa

9 La funcioacuten externa devolveraacute el resultado al servidor de protocolo

10 El servidor de protocolo devolveraacute el resultado al cliente

43 REST

REST (Representational State Transfer) es el acroacutenimo de Transferencia de Estado Representa-cional teacutermino usado por Roy Fielding (uno de los creadores de HTTP) para describir un estilode arquitectura que utilizar como modelo en los sistemas de computacioacuten Web No es un es-taacutendar sino un enfoque que muestra como desarrollar y proporcionar servicios en Internet portanto considerado como un estilo arquitectoacutenico para disentildeo de software a gran escala El propioautor lo dene de manera concisa en eacuteste paacuterrafo

REST es un intento de mostrar coacutemo debe comportarse una aplicacioacuten Web bien disentildeada unared de paacuteginas Web (una maacutequina de estados virtual) donde el usuario progresaraacute seleccionan-do enlaces (transiciones de estado) que devuelven la paacutegina siguiente (el siguiente estado de lamaacutequina) que el usuario manejaraacute a su gusto

Este enfoque no aporta realmente nada nuevo la mayor parte de la Web sigue este estilo arqui-tectoacutenico Sin embargo el autor hace eacutenfasis en las caracteriacutesticas concretas que han hecho quela Web triunfe que van a ser los objetivos buscados por REST y que son a su juicio

Escalabilidad en las interacciones entre componentes La red ha ido creciendo de maneraexponencial y se ha ido comportado de manera satisfactoria

Generalidad en las interfaces Se proporciona acceso con distintos clientes y con distintosmecanismos de acceso

Desarrollo independiente de componentes Implementaciones cliente y servidor pueden serdesarrolladas en distintos momentos

Existencia de componentes intermediarios con los cuales existe compatibilidad (comoproxys)que permiten encapsulacioacuten e integracioacuten de sistemas no Web dentro de la misma

431 Principios de disentildeo

Los objetivos citados van a ser conseguidos imponiendo una serie de restricciones

El estado y la funcionalidad de las aplicaciones se representan por forma de recursos

La identicacioacuten de recursos se realiza de forma uacutenica global mediante Uniform ResourceIdentiers Los recursos identicados con URIs son los objetos loacutegicos a los cuales se lesmandan los mensajes

Manipulacioacuten de recursos a traveacutes de representaciones luego no se manejan directamentelos recursos sino sus representaciones

Todos los recursos comparten un interfaz uniforme formado por

bull Un conjunto de operaciones limitado para transferir el estado Se van a aprovecharlas operaciones que HTTP dene mostradas en la gura 42

bull Un conjunto limitado de tipos de contenidos identicados mediante tipos MIME

Uso de un protocolo clienteservidor sin estado y basado en capas Cada mensaje HTTPcontendraacute la informacioacuten necesaria para comprender la peticioacuten luego como muestra lagura 43 no es necesario que eacutesta sea entendida tanto en el cliente como en el servidor

Uso de hipermedios para representar el estado de una aplicacioacuten permitiendo que el estadode una aplicacioacuten Web particular esteacute almacenado en uno o maacutes documentos de hipertextoque residen bien en el servidor o en el cliente Esto permite al servidor saber el estado desus recursos sin necesidad de almacenar el estado de los clientes concretos

Figura 42 Operaciones denidas por HTTP

Como ya se mencionoacute REST se trata de un estilo arquitectoacutenico no un estaacutendar Sin embargohace uso de varios estaacutendares Web

HTTP HyperText Transfer Protocol

Figura 43 Operaciones denidas por HTTP

URL Uniform Resource Locator como el mecanismo de indenticacioacuten de recursos

XML - HTML - PNG - etc Como distintos formatos de representacioacuten de recursos

Tipos MIME como text-xml text-html image-png etc

44 SOAP

SOAP (siglas de Simple Object Access Protocol) es un protocolo estaacutendar que dene coacutemo dosobjetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML Esteprotocolo deriva de un protocolo creado por David Winer en 1998 llamado XML-RPC SOAPfue creado por Microsoft IBM y otros y estaacute actualmente bajo el auspicio de la W3C

441 Principios de disentildeo

La funcionalidad que aporta SOAP es la de proporcionar un mecanismo simple y ligero de in-tercambio de informacioacuten entre dos puntos usando el lenguaje XML SOAP no es maacutes que unmecanismo sencillo de expresar la informacioacuten mediante un modelo de empaquetado de datosmodular y una serie de mecanismos de codicacioacuten de datos Esto permite que SOAP sea uti-lizado en un amplio rango de servidores de aplicaciones que trabajen mediante el modelo decomunicacioacuten RPC (Remote Procedure Call)

SOAP consta de tres partes como podemos ver en la gura 44

El SOAP envelope que dene el marco de trabajo que determina queacute se puede introduciren un mensaje quieacuten deberiacutea hacerlo y si esa operacioacuten es opcional u obligatoria

Las reglas de codicacioacuten SOAP que denen el mecanismo de serializacioacuten que seraacute usadopara encapsular en los mensajes los distintos tipos de datos

La representacioacuten SOAP RPC que dene un modo de funcionamiento a la hora de realizarllamadas a procedimientos remotos y la obtencioacuten de sus resultados

A la hora de realizar el disentildeo de SOAP se han tenido en cuenta una serie de consideracionescon el n de cumplir una serie de objetivos claros objetivos que le daraacuten el potencial que resideen SOAP y que le haraacuten tan atractivo Eacutestos son

Establecer un protocolo estaacutendar de invocacioacuten a servicios remotos que esteacute basado enprotocolos estaacutendares de uso frecuente en Internet como son HTTP (Hiper Text TransportProtocol) para la transmisioacuten y XML (eXtensible Markup Language)para la codicacioacutende los datos

Figura 44 Partes de SOAP

Independencia de plataforma hardware lenguaje de programacioacuten e implementacioacuten delservicio Web

El logro de estos objetivos ha hecho de SOAP un protocolo extremadamente uacutetil ya que elprotocolo de comunicacioacuten HTTP es el empleado para la conexioacuten sobre Internetpor lo que segarantiza que cualquier cliente con un navegador estaacutendar pueda conectarse con un servidor re-moto Ademaacutes los datos en la transmisioacuten se empaquetan o serializan con el lenguaje XML quese ha convertido en algo imprescindible en el intercambio de datos ya que es capaz de salvar lasincompatibilidades que existiacutean en el resto de protocolos de representacioacuten de datos de la red

Por otra parte los servidores Web pueden procesar las peticiones de usuario empleando tec-nologiacuteas tales como Servlets paacuteginas ASP (Active Server Pages) paacuteginas JSP (Java ServerPages) o sencillamente un servidor de aplicaciones con invocacioacuten de objetos mediante CORBACOM o EJB

Un ejemplo tiacutepico de disentildeo de un servicio Web utilizando las ventajas de SOAP podemos veren la siguiente gura 45

Figura 45 Ejemplo de uso de SOAP

45 AMF

AMF (Action Message Format) es un protocolo binario de Adobe que va por la versioacuten AMF3Aunque por el nombre de la versioacuten pueda parecer que existan 3 cabe destacar que soacutelo existendos AMF0 y AMF3 Una de las mayores diferencias o mejoras que aporta AMF3 es que soporta

datos binarios (ByteArray) y int datos no soportados por AMF0 debido a que en la eacutepoca queaparecioacute el formato Flash Player no soportaba estos tipos de datos

AMF3 no es un protocolo para transferir informacioacuten sino que representa el formato en el quese transmite la informacioacuten en este caso un formato binario

La versioacuten de Moodle 25 viene con Zend_ AMF pero podemos utilizar tambieacuten la libreriacuteaamfPHP

AMFPHP

Zend_ amf httpframeworkzendcommanual112enzendamfhtml

Maacutes informacioacuten en httpdocsmoodleorgdevAMFPHP

46 Conguracioacuten de Moodle Web Services

Los Servicios Web habilitan que otros sistemas puedan entrar a Moodle y realizar operacionesPasaremos a detallar los pasos necesarios para su conguracioacuten y explicaremos distintos pruebasllevadas a cabo sobre su funcionamiento Para poder consumir de manera correcta unWeb Servicede Moodle seriacutea necesario antildeadir a la url que vamos a formar los paraacutemetros oportunos paralograr consumir el Web Service de manera satisfactoria Una vez antildeadidos ya podriacuteamos invocarla funcioacuten seleccionada

461 Activando los Servicios Web

Lo primero que debemos hacer es activar la opcioacuten general que habilita el uso de los serviciosweb En la gura 46 podemos observar la opcioacuten para la activacioacuten de este servicio para ello nosiremos a la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Servicios Externos

Figura 46 Activacioacuten Servicios Web

Esto solo es una opcioacuten a nivel global necesitando ahora activar los protocolos de comunciacionesque vamos a utilizar para ello deberemos ir a la opcioacuten textitAdministracioacuten del Sitio - Exten-siones - Servicios Web - Administrador de protoclos donde encontraremos las diferente opcionesque nos existen En la gura 47 podemos ver la pantalla de nuestra conguracioacuten con todos losprotocolos activados

Una vez activada la opcioacuten de Servicios Externos y seleccionados los protocolos que utilizaremosnecesitamos crear un Servicio Personalizado que no es maacutes que una etiqueta que aglutina los

Figura 47 Activacioacuten Protoclos

Servicios Web que ofrece Moodle y que pueden ser utilizados por los servicios externos Para ellodeberemos darle a la opcioacuten Agregar dentro de la opcioacuten Administracioacuten del Sitio - Extensiones- Servicios Web - Servicios Externos Como prueba habilitaremos un servicio llamado Uso_Servicio_ Web cuya creacioacuten podemos ver en la gura 48

Figura 48 Creacioacuten Servicio Personalizado

Una vez creado el Servicio Personalizado deberemos agregarle las funciones que queramos lesean permitidas pudiente tener maacutes de una En la gura 49 vemos como asociamos la creacioacutende usuarios al Servicio Personalizado

Terminado esto deberemos tener en el listado que nos muestra Moodle de Servicios personaliza-dos algo como lo mostrado en la gura 410

El siguiente paso es conceder los permisos apropiados para que este Servicio Personalizado puedeser usado por los usuarios pare ello debemos primero especicar quienes son los Usuarios au-torizados para ello en la linea de la lista de Servicios Personalizados deberemos pulsar sobre laopcioacuten usuarios autorizados donde apareceraacute una pantalla como 411 donde podremos escogerlos usuarios de los que se encuentran dados de alta en nuestro sistema

Y para terminar aunque este paso podriacutea ser realizado por el propio usuario si tuviera el per-miso de moodlewebservicecreatetoken seraacute la creacioacuten de un token el cual va ser la opcioacuten quevamos a utilizar para las pruebas de los Servicios Web de Moodle Para la creacioacuten del mismodeberemos entrar en la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Admin-istrar tokens y pulsar la opcioacuten Agregar para antildeadir un token nuevo como podemos apreciar en

Figura 49 Agregando funciones al Servicio Personalizado

Figura 410 Listado de Servicios Personalizados

la gura 412 teniendo la precaucioacuten de escoger como Servicio el Servicio Personalizado creadocon anterioridad Uso_ Servicio_ Web

En esta pantalla podemos poner varios tipos de restricciones

Restriccioacuten de IP Donde podemos indicar la direccioacuten IP desde donde

Restriccioacuten de Fecha Se puede denir hasta cuando seraacute valido este token siendo unabuena manera de poder probar cosas y no dejar puertas abiertas por error

En la gura 413 podemos ver el token asignado por el sistema para nuestro Servicio Personalizadoy que procederemos a utilizar para comprobar el funcionamiento de los Servicios Web de Moodle

462 Pruebas cliente Servicio Web

Procederemos ahora a desarrollar pruebas que utilicen los Servicios Personalizados creado Sepodriacutean haber utilizado el Cliente de prueba de servicio web que incorpora Moodle dentro dela opcioacuten Administracioacuten del Sitio - Desarrollo - Cliente de prueba servicio web pero hemosdecidido implementar una Web para comprobar la facilidad del funcionamiento del sistema y losdistintos resultados obtenidos seguacuten el protocolo utilizado

Utilizaremos la libreriacutea cURL de PHP cURL es una herramienta que permite abrir conexionesen una amplia variedad de protocolos y que estaacute disponible tanto como herramienta de consola(para ejecutar directamente con comandos) como en libreriacutea (para usar en vuestro coacutedigo) y quepermite hacer praacutecticamente todo manejo de cookies descarga de cheros binarios enviacuteos de

Figura 411 Alta de Usuarios Autorizados

Figura 412 Creacioacuten de Tokens

paraacutemetros GET y POST etc

La web creada para la introduccioacuten 414 de los usuarios seraacute equivalente para todos los procesosprocesos siendo el programa que da respuesta al formulario el que implemente la funcioacuten nece-saria para la introduccioacuten de los datos en Moodle

Los resultados de REST pueden mostrar los resultados del alta de dos maneras diferentes unaen formato XML como podemos ver en la gura 415 y otro en formatox JSON tambieacuten po-dremos ver en la gura Los resultados obtenidos tambieacuten pueden verse en el la gura 416

Figura 413 Lista de Tokens

Figura 414 Web de alta de usuarios

Figura 415 Resultado de REST en formato XML

Figura 416 Resultado de REST en formato JSON

Capiacutetulo 5

Herramientas Externas

51 Introduccioacuten

Las versiones de Moodle desde la 22 vienen con IMS LTI o External Tool de manera integradaEn versiones anteriores era necesario la instalacioacuten de plugins como LTI Provider (maacutes informa-cioacuten en la web de Moodle1 IMS LTI es un estandar de IMS learing2 para la interoperabilidadde herramientas Esto signica que las herramientas de aprendizaje tienen ahora un mecanismopara jar el modo en que pueden conectarse entre ellas sin problemas

En la praacutectica cuando un usuario se registra en Moodle puede conectarse a otras herramientascomo Wikis o Blogs y autenticarse de manera automaacutetica en estas

52 Estaacutendares IMS

Actualmente se realizan esfuerzos para la integracioacuten de servicios a una plataforma virtual deaprendizaje mediante un mecanismo reutilizable independiente del tipo de plataforma El IMSGlobal Learning Consortium viene desde hace tiempo trabajando en este enfoque IMS GLCpresenta un conjunto de estaacutendares que promueven el uso de servicios de aprendizaje digitales(Digital Learning Services) dentro de las plataformas de aprendizaje tradicionales IMS DigitalLearning Services estaacute integrado por los siguientes estaacutendares principales IMS Common Car-tridge [ims a] IMS Learning Tool Interoperability [ims c] y IMS Learning Information Services[ims b]

El IMS Learning Tool Interoperability es una especicacioacuten para facilitar la inclusioacuten de her-ramientas externas dentro de un curso El administrador de la plataforma de aprendizaje ges-tiona los servicios que podraacuten ser consumidos por la plataforma el docente decide que serviciosutilizaraacute en su curso y el estudiante hace uso de los mismos IMS LTI permite que distintos LMSconsuman un mismo servicio el cual no fue implementado teniendo en cuenta el tipo de LMSsino la implementacioacuten del estaacutendar desde el lado del proveedor

El enfoque del IMS LTI estaacute dirigido a la creciente demanda de un mecanismo reutilizable para laintegracioacuten de herramientas de terceros en el nuacutecleo de las plataformas LMS Estas herramientas

1httpsmoodleorgpluginsviewphpplugin=local_ltiprovider2httpwwwimsglobalorgtoolsinteroperability2cfm

37

pueden agregar funcionalidad especializada a los LMS El enfoque ofrece una solucioacuten basada enWeb Services igualmente aplicable a distintos lenguajes de programacioacuten

Las versiones del LTI son

LTI v10 ( LTI Basic ) ( publicado en mayo de 2010 ) proporciona un meacutetodo sencillopero estaacutendar para establecer una conexioacuten segura a una herramienta desde el interior deun consumidor de herramientas El lanzamiento de este enlace permite una experienciade aprendizaje sin problemas para los estudiantes que acceden a las aplicaciones ricas queparecen tener lugar dentro del ambiente de aprendizaje Versioacuten 10 es el primer paso en eldesarrollo continuo de LTI Figura 51

LTI v11 ( publicado en marzo 2012 ) antildeade la posibilidad de pasar de nuevo un resultadode la herramienta al Consumidor de herramientas Esto permite que los estudiantes recibenuna calicacioacuten o puntuacioacuten de su interaccioacuten con la aplicacioacuten de aprendizaje

LTI v111 ( publicado en julio de 2012 ) incluye soporte para el papel Mentor que se puedeutilizar para representar a un padre tutor o auditor

LTI v20 Aun en estado de desarrollo y proporciona una plataforma maacutes sosticado y ex-tensible para permitir integraciones maacutes profundas y un mayor apoyo para los serviciosy eventos LTI 2 se basa en LTI 1 mediante la incorporacioacuten de maacutes sosticada resulta-dos de informes y una rica arquitectura de extensiones que permite servicios adicionalesque se antildeadiraacuten gradualmente LTI 2 utiliza REST y JSON-LD para ofrecer esta nuevafuncionalidad

Figura 51 Esquema LTI Baacutesico

En la gura 52 podemos observar como se podriacutean utilizar las ventajas de LTI por parte decada unos de los actores a lo largo de la vida de la aplicacioacuten de servicios externos dentro de unaplataforma de aprendizaje

En la paacutegina web de IMS3 podemos encontrar una relacioacuten de aplicaciones certicadas comocompatibles con el estaacutendar LTI indicando la versioacuten del LTI que cumplen En la gura 53podemos ver las aplicaciones certicadas por UOC y en la gura 54 la informacioacuten sobre una deestas herramientas

3httpwwwimsglobalorgccalltoolscfm

Figura 52 Esquema utilizacioacuten LTI

Figura 53 Listado de herramientas LTI de la UOC

53 Herramientas externas en Moodle

La siguiente seccioacuten consiste en la aplicacioacuten de alguno de esto servicios externos en Moodlepara comprobar su funcionamiento Nos decantaremos para la primera prueba por WordPresspues aunque existen manuales al respecto la documentacioacuten en castellano es escasa

531 Wordpress

La versioacuten estaacutendar de Wordpress a la cual accedemos cuando nos abrimos cuenta en Wordpressno viene con las herramientas necesarias para la iteracioacuten mediante LTI por lo que procedere-mos a la instalacioacuten en nuestro servidor de Wordpress para pasar a la instalacioacuten de los pluginsnecesarios

La instalacioacuten ha consistido en la descarga de la web ocial 4 de la versioacuten 351 la cual hemoscopiado dentro del directorio htdocs de nuestra instalacioacuten de Xampp Hemos dado de alta unnuevo usuario en nuestra base de datos llamado username como podemos ver en la imagen 55 yposteriormente hemos seguido los pasos que el instalador nos iba ofreciendo para tener instalado

4httpwordpressorgdownload

Figura 54 Informacioacuten sobre la certicacioacuten

Wordpress bajo la url httplocalhostwordpress

Figura 55 Usuario de Wordpress

Deberemos congurar Wordpress para que trabaje como multisitio para lo que deberemos seguirlos pasos de conguracioacuten que podemos encontrar en la web ocial de Wordpress5 bajo el nombreCreate A Network consistente en los siguientes pasos

1 Realizar una copia de seguridad por si acaso

2 Modicar el chero wp-congphp incluyendo la siguiente linea encima de Thats allstop editing Happy blogging Multisite dene (WP_ ALLOW_ MULTISITE true)

Multisite dene (WP_ ALLOW_ MULTISITE true)

3 Installar un Network Para ello hemos de entra en la opcioacuten Administration -gtTools -gtNetwork Setup donde podremos congurar opciones sobre el nombre que queremos declararpara el nuevo sitio

4 Activar el Network para ello debemos modicar los cheros wp-congphp y htaccess porlo que seriacutea bueno que realizaacuteramos primero un copia de seguridad de los mismos Loscambios que debemos realizar son los siguientes

5httpcodexwordpressorgCreate_A_Network

En wp-congphp dene(MULTISITE true)dene(SUBDOMAIN_ INSTALL false)dene(DOMAIN_ CURRENT_ SITE localhost)dene(PATH_ CURRENT_ SITE wordpress)dene(SITE_ ID_ CURRENT_ SITE 1)dene(BLOG_ ID_ CURRENT_ SITE 1)

El chero htaccess debe quedar asiacute BEGIN WordPressltIfModule mod_ rewritecgtRewriteEngine OnRewriteBase wordpressRewriteRule icircndexphp$ - [L]

add a trailing slash to wp-adminRewriteRule ([_ 0-9a-zA-Z-]+)wp-admin1wp-admin [R=301L]

RewriteCondREQUEST_ FILENAME -f [OR]RewriteCondREQUEST_ FILENAME -dRewriteRule - [L]RewriteRule ([_ 0-9a-zA-Z-]+)(wp-(content|admin|includes)) $2 [L]RewriteRule ([_ 0-9a-zA-Z-]+)( php)$ $2 [L]RewriteRule indexphp [L]ltIfModulegt

END WordPress

5 Esto nos habraacute creado en la parte izquierda de la barra de herramientas de Wordpressuna nueva opcioacuten llamada My Sites que contendraacute un listado de los sitios de nuestroWordpress

El siguiente paso seraacute la descarga del plugin los cual podremos hacerlos desde la web de sour-forgenet 6 En esta web se detalla informacioacuten sobre el plugin y como se debe instalar Siguiendolos pasos que tenemos en el mismo procederemos a la descarga y el desplegado del mismo en lacarpeta wp-contentmu-plugins Salimos de Wordpress y volvemos a entrar como superusuariosi entramos dentro de la nueva red realizada podremos ver que dentro de LTI Consumers Keystendremos la opcioacuten LTI Consumers Keys como podemos ver en la imagen 56

Aquiacute deberemos crear la clave del consumidor del servicio y la clave secreta que nos permitiraacute aMoodle conectarse a Wordpress

Una vez que tenemos la clave secreta y del consumidor deberemos volver a Moodle entrandocomo administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

6httpsourceforgenetappsmediawikilearningappsindexphptitle=LTI4Wordpress

Figura 56 Servicios LTI en Wordpress

Figura 57 Listado de claves de LTI en Wordpress

-LTI En esta paacutegina podremos rellenar nuestras opciones

Tool Name Seraacute el nombre que tendraacute la herramienta y deberemos poner alguno indicativode la herramienta que estemos utilizando

Tool Base URL Es la direccioacuten de la herramienta en nuestro caso httplocalhostwordpress

Deberemos rellenar con los datos obtenidos en Wordpress la clave de consumidor y la clavesecreta

Es importante marcar Show tool type when creating tool instances para que aparezcaposteriormente al crear los recursos en nuestros cursos

Para poder probar el sistema hemos creado un curso dentro de Moodle llamada WordpressLTIdonde daremos de la siguiente manera de alta 59

Dentro de nuestro curso seleccionamos la opcioacuten de Edicioacuten

Pulsamos sobre Antildeadir una actividad o un recurso

Seleccionamos External Tool

Rellenamos las opciones

bull Nombre de la Actividad Cualquiera de nuestra eleccioacuten

Figura 58 Conguracioacuten LTI en Moodle

bull Tipo de herramienta externa El nombre que le pusimos a la herramienta externa enla conguracioacuten LTI de Moodle

bull Launch Container Hemos elegido la opcioacuten Incrustar para ver el resultado

Figura 59 Conguracioacuten Herramienta Externa

Una vez congurado podemos lanzar la herramienta externa teniendo como resultado la gura510

Figura 510 Wordpress integrado en Moodle

532 ChemVantage

ChemVantage es un recurso gratuito para la educacioacuten cientiacuteca que incluye ejercicios de gradoejercicios de preparacioacuten exaacutemenes de la praacutectica conferencias de video y libros de texto enliacutenea gratis Fue creado por ChemVantage LLC que fue fundada por el Prof Chuck Wight queha ensentildeado Quiacutemica General en la Universidad de Utah desde 1984 (ChemVantage 2011)

Nos hemos puesto en contacto con Chuck Wight (adminchemvantageorg) para solicitarle unaclave de consumidor y secreta para poder probar este recurso desde moodle Las opciones y elcorreo puede verse en la gura 511

Una de las cosas maacutes importantes de ChemVantage y por lo que nos hemos decidido a probar esque permite la devolucioacuten de las notas obtenidas en los ejercicios realizados en las herramientasexternas a Moodle El alumno podraacute realizar las tareas en esta herramienta externa y luego sercalicadas en Moodle

ChemVantage estaacute certicada por IMS 7 como un proveedor de herramientas LTI v11 y comotal funciona desde nuestro propio LMS para llevar a cabo la autenticacioacuten de sitios provee decuentas y devuelve resultados de asignacioacuten de estudiantes con el libro LMS grado automaacutetica-mente

Los recursos disponible son ChemVantage son principalmente los siguientes

1 QuizzesLos ejercicios presentados aquiacute estaacuten disentildeados para animar a los estudiantes a leer y en-tender los libros de texto utilizados en el curso Las preguntas se basan en material que sepresente en su mayor parte en los textos de introduccioacuten de quiacutemica Los iacutetems de preguntastienen respuestas straighforward no requieren caacutelculos detallados Las preguntas se presen-tan en varios formatos diferentes incluyendo opcioacuten muacuteltiple verdadero falso casilla devericacioacuten ll-in-the-blanco y numeacutericas Cada cuestionario se compone de 10 preguntasextraiacutedas al azar de una base de datos con muchas maacutes preguntas En el proceso de tomarvarias pruebas para mejorar sus calicaciones los estudiantes probablemente encuentran

7httpdevelopersimsglobalorgcoursechemvantagehtml

algunas preguntas repetidas de concursos anteriores sin embargo es poco probable quecualquiera de los dos cuestionarios contendraacute exactamente el mismo conjunto de preguntasen el mismo orden Asignando pruebas para ser completado antes de la conferencia losprofesores pueden estar seguros de que sus estudiantes tengan un poco de exposicioacuten almaterial Esto permite una mayor discusioacuten el diaacutelogo y la participacioacuten en el aula y haceel aprendizaje maacutes divertido (de verdad)

2 Video LecturesUna serie de conferencias de viacutedeo de 10 minutos sobre una variedad de temas de QuiacutemicaGeneral es accesible desde la paacutegina principal Los videos estaacuten disentildeados para reforzar lospuntos principales que se presentan en muchos libros de texto

3 HoweworksLas tareas estaacuten disentildeadas para dar a los estudiantes la praacutectica en la resolucioacuten de proble-mas cuantitativos que tienen respuestas numeacutericas Cada alumno puede descargar la tareatrabajar los problemas y presentar las respuestas en liacutenea Respuestas son juzgados a sercorrecta si la solucioacuten numeacuterica de acuerdo con la solucioacuten que se encuentra en la base dedatos dentro de una tolerancia especicada (indicado para cada problema) El sitio informaa los estudiantes que las respuestas son correctas para que puedan rehacer problemas malresueltos y volver a presentar las respuestas Cada problema se basa en una plantilla queatrae paraacutemetros al azar por lo que la respuesta correcta es diferente para cada estudianteEsto hace que sean adecuadas para la colaboracioacuten y el trabajo en grupo porque a pesarde que el grupo puede trabajar para encontrar un algoritmo correcto para resolver un prob-lema cada estudiante tendraacute que usar el algoritmo para encontrar la solucioacuten detallada asu propio problema

4 Practice ExamsLos estudiantes pueden realizaar exaacutemenes de praacutectica cronometrados que muestran laspreguntas de un grupo de 3 o maacutes temas Cada examen estaacute disentildeado para tardar unos60 minutos o menos e incluye una seleccioacuten de 10 preguntas Las praacutecticas de exaacutemenespueden repetirse cuantas veces se desee Las preguntas numeacutericas son parametrizadas loque es muy poco probable que un estudiante realice alguna vez dos exaacutemenes de praacutecticaideacutenticos

5 Portofolio PageCada estudiante puede acceder a una paacutegina que le da la puntuacioacuten obtenida en cada prue-ba y la asignacioacuten de tareas Los estudiantes que son miembros de un grupo tienen unapaacutegina de resultados asociados a las tareas de grupo Hay una paacutegina de carpeta separadaque contiene un resumen de todas las actividades realizadas en ChemVantage incluyendovideos vistos cuestionarios completados resolver problemas con la tarea y la praacutectica deexaacutemenes completados Las puntuaciones en los exaacutemenes de praacutectica son desagregadospara revelar fortalezas y debilidades estudiantes por temas

Hemos procedido a darlo de alta en LTI como hicimos con Wordpress Entramos en Moodle co-mo Administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

Figura 511 Correo de Chuck Wight

-LTI quedando como resultado la siguiente hoja de paraacutemetros gura 512

El siguiente paso seraacute antildeadir la herramienta dentro de nuestro curso para ello pulsaremos sobreAntildeadir una actividad o un recurso Deberemos seleccionar External Tool y rellenamos las op-ciones de la herramienta seleccionando como Tipo de herramienta externa la opcioacuten creada enel apartado de LTI de Moodle

Una vez congurado la herramienta en Moodle podemos entrar para realizar una personalizacioacutende la herramienta gura 513 esta consiste en indicar si el alumno cuando se conecta realiza undeterminado tarea o puede elegir navegar por la web de ChemVantage para poder disfrutar dela cantidad de recursos que se encuentran disponibles

Cuando el usuario pulsa sobre la opcioacuten de esta herramienta externa en Moodle lo primero quese le muestra es la informacioacuten sobre su perl en Chemvantage 514Como hemos visto en los paraacutemetros de conguracioacuten existe la posibilidad de llamar a unaherramienta externa incrustaacutendola dentro de Moodle o abrieacutendolo en una paacutegina web nuevaCon esta segunda opcioacuten no hemos conseguido que funcione correctamente la importacioacuten de lasnotas En cambio si la herramienta externa estaacute incrustada permite esa vinculacioacuten

Figura 512 Conguracioacuten de paraacutemetros LTI

Figura 513 Opciones de inicio de la herramienta

Figura 514 Pantalla de utilizacioacuten de la herramienta por el usuario

Capiacutetulo 6

Middleware

61 Introduccioacuten

La uacuteltima opcioacuten seriacutea utilizar una arquitectura middleware de integracioacuten que permita la inte-gracioacuten ligera de muacuteltiples herramientas existentes en el Moodle

62 GluePS

GLUE-PS es una arquitectura de middleware que permite una interoperabilidad ligera entrelos diferentes lenguajes de disentildeo de aprendizaje y diferentes entornos de aprendizaje virtualEsta interoperabilidad permite a los maestros y otros profesionales que particularicen (es decirpara personalizar el disentildeo de aprendizaje abstractoa la clase particular los participantes y laeleccioacuten de los instrumentos en los que va a ser promulgada) desplieguen (es decir para crearde forma semiautomaacutetica las actividades necesarias en el VLE recursos etc para la aprobacioacutendel disentildeo particularizado) e incluso para llevar a cabo ciertos cambios en el tiempo de ejecucioacuten(por ejemplo modicar la composicioacuten del grupo agregar o quitar recursos de las actividadesetc) Todo esto a partir de disentildeos en distintos lenguajes de disentildeo de aprendizaje tales como laespecicacioacuten IMS-LD aprendizaje

Por otra parte GLUE-PS tambieacuten permite desplegar y gestionar disentildeos de aprendizaje en en-tornos virtuales de aprendizaje que integren herramientas de aprendizaje externos (tales comointegrar en Moodle herramientas como Google Docs y muchos otros) - lo que llamamos Am-bientes de Aprendizaje Distribuido (DLE Distributed Learning Enviroments) Esto se consiguegracias a la arquitectura de GLUE para la integracioacuten de los entornos virtuales de aprendizajey herramientas externas

621 Instalacioacuten

Para realizar la instalacioacuten de GLUE-PS nos hemos descargado el software necesario de la webde los desarrolladores1 descargando la opcioacuten de autenticacioacuten centralizada La instalacioacuten haconstado de tres partes que pasaremos a describir a continuacioacuten

1httpwwwgsicuvaesglue

49

Figura 61 Arquitectura de GLUE

La primera parte consiste en la instalacioacuten del GLUEletManager y los adaptadores GSIC toolAunque el sistema viene preparado para Linux o Windows siendo Windows la explicacioacuten quevamos a desarrollar por estar utilizando este sistema operativo con Xampp

1 Crear el directorio GLUE_ HOME El cual hemos creado para mayor comodidad en la raiacutezdel disco duro

2 Denir la variable del sistema GLUE_ HOME con el valor de la direccioacuten completa deldirectorio de GLUE del punto anterior Para ello hemos pulsado botoacuten derecho sobre MiPc Propiedad Opciones Avanzadas Variables de Entorno procediendo a pulsar el botoacutenNueva para crear la variable en cuestioacuten

3 Extraemos en el directorio del punto (1) el paquete descargado de la paacutegina de los desar-rolladores

4 Ejecutar la instalacioacuten del cheroGLUE_ HOMEbininstall gluebat para registar GLUElet-Manager y GSIC tool como un servicio de Windows Tambieacuten este paso crearaacute un cheroen GLUE_ HOMEtool_ adapteradapterdata para proveer de persistencia a los objetoscreados con el adaptador GSIC tool

A continuacioacuten daremos de alta en nuestro gestor de bases de datos un para de bases de datosque necesita GLUEletManager Para ellos seguimos los siguientes pasos

1 Abrimos la consola de phpMyaAdmin para cargar y ejecutar el chero create_ GLUE_databasessql que se encuentra en GLUE_ HOMEmanagerconfdb

2 Modicamos el chero GLUE_ HOMEmanagerconfMETA-INFpersistencexml paradarle los paraacutemetros necesarios para que JDBC se conecte a nuestra base de datos Losparaacutemetros modicados puede verse en la imagen 62

Figura 62 Paraacutemetros modicados en persistencexml

La segunda parte consiste en el registro interno de los adaptadores de las herramientas para seraccedido con GLUEletManager La distribucioacuten trae un chero para facilitar la conguracioacuten delos adaptadores que trae consigo y para su instalacioacuten deberemos ejecutar el chero GLUE_HOMEmanagerconfdbll _ internal_ Registrysql Alguna de las herramientas necesitanuna conguracioacuten maacutes completa como puede ser Google Docs adapter que necesita una cuentade Gmail para poder crear documentos en Google Docs por lo que deberemos modicar el nom-bre de usuario y contrasentildea

La uacuteltima parte consiste en la instalacioacuten del adaptardor de Moodle como VLE utilizado Estainstalacioacuten es como cualquier otro moacutedulo de Moodle 2 La carpeta que deberemos copiar seraacutela del adaptador correspondiente a Moodle que se encuentra en la carpeta GLUE_ HOMEvle_adpatersmoodle_ vle_ adapter Una vez entremos en nuestro Moodle como administrador nosapareceraacute un mensaje indicaacutendonos que el nuevo moacutedulo esta instalado Para congurar el nuevomoacutedulo debermos ir a Noticaciones - Modulos - Actividades como podemos ver en la gura 63para congurar los paraacutemetros la URL del GLUEletManager y el tiempo de espera

Figura 63 Paraacutemetros del moacutedulo GLUE

Cuando el profesor quiera crear una nueva actividad dependiente de los adaptadores de GLUEdeberaacute agregar una actividad maacutes pulsando para ello en esta opcioacuten dentro del bloque deseadopara seleccionar luego el tipo de actividad GLUElet como podemos ver en la gura64

622 Creando un Doodle

El adaptador Doodle permite la creacioacuten conguracioacuten y gestioacuten de instancias del Doodle Cadaencuesta Doodle es considerado un instancia diferente Ademaacutes este adaptador permite realizarademas la conguracioacuten inicial de encuestas Doodle incluyendo el nombre de la encuesta unadescripcioacuten y un conjunto de posibles respuestas

A continuacioacuten antildeadiremos Doodle en un bloque de Moodle para ellos pulsaremos la opcioacuten deAgregar actividad GLUElet lo cual nos mostraraacute la paacutegina65 donde deberemos rellenar comomiacutenimo el nombre de la actividad y el tipo de herramienta seleccionado en este caso Doodle(httpdoodle-testcom)

2httpdocsmoodleorgenInstalling_contributed_modules_or_plugins

Figura 64 Creando una actividad GLUElet

La primera vez que pulsemos sobre la nueva actividad creada apareceraacute un pantalla 66 dondepodemos congurar diferentes elementos de la encuesta desarrollada con Doodle como son eltiacutetulo una pequentildea descripcioacuten y luego las opciones posibles con un liacutemite de 10

El resultado nal seraacute la incrustacioacuten de una encuesta Doodle dentro de nuestro Moodle comopodemos ver en la gura67

Figura 65 Antildeadiendo Doodle como actividad

Figura 66 Opciones iniciales de conguracioacuten de Doodle

Figura 67 Doodel dentro de Moodle

Capiacutetulo 7

Conclusiones Finales

71 Conclusiones Finales

El proyecto actual nos ha servido para acercarnos a las diferentes tecnologiacuteas que permiten lacomunicacioacuten entre Servicios Webs Hemos desarrollado una primera labor de investigacioacuten queha requerido el aprendizaje de diferentes herramientas de control de documentacioacuten y referenciascomo Zotero y Mendeley

La documentacioacuten recabada en el proceso inicial de revisioacuten de documentos nos ha aportadoun visioacuten general de los diferentes sistemas virtuales de aprendizaje que podemos encontrarnosmuchos de ellos gratuitos y las diferentes soluciones que se plantean a la necesidad de incluirrecursos de otros fabricantes que en principio no fueron concebidos para ser utilizados dentro deuna plataforma VLE

Para poner en praacutectica la diferentes opciones encontradas se han montado diferentes maacutequinasvirtuales sobre las que se han probado las mismas Las conclusiones nales se pasan a detallar

IMS LTIEsta solucioacuten de integracioacuten mediante el cumplimiento de unos protocolos y certicacionesde las herramientas que lo cumplen es en principio la que podriacutea parecer la mejor opcioacutenpero la falta de compromiso de los diferentes fabricantes de Servicios Web y la luchapara imponer sus propios estaacutendares hace que aun quede mucho para que esta opcioacuten seacomo tal real

Si vemos el nuacutemero de aplicaciones certicadas para usar IMS LTI apenas superan las 50 yla mayoriacutea solo cumple la especicacioacuten v10 lo cual signica que la integracioacuten solo solu-ciona el problema de llamar a un recurso externo desde Moodle Pocas son las que cumplenla v11 que permite obtener en Moodle una valoracioacuten de los ejercicios desarrollados en unaactividad externa

La versioacuten v20 que daraacute maacutes opciones a la hora de interactuar con actividades externasauacuten esta en desarrollo y nada se sabe sobre posibles fechas para su presentacioacuten Luegocerticacioacuten de herramientas etc

55

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 3: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

Licencia

Copyright ccopy 2013 Joseacute Miguel Mota Maciacuteas Permission is granted to copy distributeandor modify this document under the terms of the GNU Free DocumentationLicense Version 13 or any later version published by the Free Software Foundationwith no Invariant Sections no Front-Cover Texts and no Back-Cover Texts A copyof the license is included in the section entitled GNU Free Documentation License

Resumen

En el presente documento vamos a realizar la descripcioacuten del trabajo desarrollado para el proyectonal de carrera en el mismo se han analizado los diferentes documentos respecto a la coreografiacuteay orquestacioacuten de Servicios Web en Moodle como plataforma VLE El proceso es detallado ensu integridad terminando con tres capiacutetulos donde se detallan las diferentes maneras que Moodleofrece de conexioacuten con otro Servicios Webs

Iacutendice general

1 Revisioacuten Sistemaacutetica de la Literatura 111 Objetivos del SLR 112 Estudio Inicial 1

2 Plataformas VLE e integracioacuten 721 VLE 7

211 Ejemplos de VLEs 822 Herramientas de Software 8

221 Integracioacuten de herramientas 9222 Problemas en la integracioacuten 11223 Enfoques de la integracioacuten 11

23 Servicios Web 12231 Orquestacioacuten y Coreografiacutea de Servicios Web 14232 Estaacutendares de Orquestacioacuten de Servicios Web 16233 Estaacutendares de Coreografiacutea de los Servicios Web 17

24 Moodle 17241 otras plataformas 18

3 Organizacioacuten y Sistema Inicial 2131 Lanzamiento del proyecto 2132 Denicioacuten del proyecto 2133 Anaacutelisis de requisitos 21

331 Cuestiones Realizadas 21332 Fuentes de datos y buacutesqueda 21333 Criterios de inclusioacuten y exclusioacuten 22334 Asegurar la calidad 22335 Extraccioacuten de datos y anaacutelisis 22336 Fase de revisioacuten 22337 Fase de Pruebas 22

34 Calendario de Trabajo 2335 Hitos principales 2336 Instalacioacuten base 25

4 Servicios Web de Moodle 2741 Introduccioacuten 2742 Servicios Web de Moodle 2743 REST 28

i

431 Principios de disentildeo 2944 SOAP 30

441 Principios de disentildeo 3045 AMF 3146 Conguracioacuten de Moodle Web Services 32

461 Activando los Servicios Web 32462 Pruebas cliente Servicio Web 34

5 Herramientas Externas 3751 Introduccioacuten 3752 Estaacutendares IMS 3753 Herramientas externas en Moodle 39

531 Wordpress 39532 ChemVantage 44

6 Middleware 4961 Introduccioacuten 4962 GluePS 49

621 Instalacioacuten 49622 Creando un Doodle 51

7 Conclusiones Finales 5571 Conclusiones Finales 55

8 Conceptos 57

Bibliografiacutea 59

Iacutendice de guras

11 Resultados SLR 212 Exportacioacuten en IEEE 213 Importacioacuten en Hoja de Caacutelculo 314 Exportacioacuten en SD 315 Exportacioacuten en SD 416 Resumen de resultados 417 Conguracioacuten de Google Scholar 418 Resultados en Zotero 5

21 Anaacutelisis de VLEs 922 Top 100 Tools - Abril 2013 1023 Ciclo de vida del aprendizaje colaborativo 1124 Problemas de integracioacuten 1225 Problemas de integracioacuten 1326 Enfoques de arquitectura de integracioacuten 1427 Orquestacioacuten y Coreografiacutea de Servicios Web 1628 Moodle - Abril 2013 17

31 Proceso para dirigir la revisioacuten 2332 Diagrama de Gantt 2433 Panel de control de XAMPP 2634 Gestor de bases de datos phpMyAdmin 26

41 Capas en Moodle 2842 Operaciones denidas por HTTP 2943 Operaciones denidas por HTTP 3044 Partes de SOAP 3145 Ejemplo de uso de SOAP 3146 Activacioacuten Servicios Web 3247 Activacioacuten Protoclos 3348 Creacioacuten Servicio Personalizado 3349 Agregando funciones al Servicio Personalizado 34410 Listado de Servicios Personalizados 34411 Alta de Usuarios Autorizados 35412 Creacioacuten de Tokens 35413 Lista de Tokens 36414 Web de alta de usuarios 36415 Resultado de REST en formato XML 36

iii

416 Resultado de REST en formato JSON 36

51 Esquema LTI Baacutesico 3852 Esquema utilizacioacuten LTI 3953 Listado de herramientas LTI de la UOC 3954 Informacioacuten sobre la certicacioacuten 4055 Usuario de Wordpress 4056 Servicios LTI en Wordpress 4257 Listado de claves de LTI en Wordpress 4258 Conguracioacuten LTI en Moodle 4359 Conguracioacuten Herramienta Externa 43510 Wordpress integrado en Moodle 44511 Correo de Chuck Wight 46512 Conguracioacuten de paraacutemetros LTI 47513 Opciones de inicio de la herramienta 47514 Pantalla de utilizacioacuten de la herramienta por el usuario 47

61 Arquitectura de GLUE 5062 Paraacutemetros modicados en persistencexml 5063 Paraacutemetros del moacutedulo GLUE 5164 Creando una actividad GLUElet 5265 Antildeadiendo Doodle como actividad 5366 Opciones iniciales de conguracioacuten de Doodle 5367 Doodel dentro de Moodle 54

Capiacutetulo 1

Revisioacuten Sistemaacutetica de la Literatura

11 Objetivos del SLR

Hemos partido de un SLR detallado en la PEC1 bastante ambicioso en el que se intentaronabordar la buacutesqueda de herramientas y estado actual de la coreografiacutea y orquestacioacuten de serviciosweb en la plataforma Moodle Pasaremos a detallar el estudio realizado y los resultados obtenidos

12 Estudio Inicial

La fase de planicacioacuten inicial incluiacutea el la buacutesqueda para la obtencioacuten de estudios o trabajos enlas siguiente libreriacuteas

IEEEXplore [IEEEX] httpieeexploreieeeorg

Science Direct [SD] httpwwwsciencedirectcom

SpringerLink [SL] httpwwwspringerlinkcom

Las cadenas de buacutesqueda empleadas aparecen listadas en la tabla 11 de la paacutegina 1 En la tablaTAK indican Title Abstract Keywords y A indica All Ambos casos se reeren a los campos debuacutesqueda utilizados

Cuadro 11 Fuentes de datos y cadenas de buacutesquedas reali-zadas

Libreriacutea Buacutesqueda AacutembitoIEEEX (Moodle AND Web services) TAKIEEEX (Orchestration OR Coreography) ANDWeb Ser-

vicesTAK

IEEEX (Orchestration OR Coreography) AND Moodle TAKIEEEX (Orchestration OR Coreography) AND (lms OR

Learning Management System)TAK

SD (Moodle AND Web services) TAKSD (Orchestration OR Coreography) ANDWeb Ser-

vicesTAK

continuacutea

1

Cuadro 11 continuacioacutenLibreriacutea Buacutesqueda AacutembitoSD (Orchestration OR Coreography) AND Moodle TAKSD (Orchestration OR Coreography) AND (lms OR

Learning Management System)TAK

SL (Moodle AND Web services) TAKSL (Orchestration OR Coreography) ANDWeb Ser-

vicesTAK

SL (Orchestration OR Coreography) AND Moodle TAKSL (Orchestration OR Coreography) AND (lms OR

Learning Management System)TAK

Los resultados obtenidos podemos observarlos en la gura 11

Figura 11 Resultados SLR

Los resultados de Springer Link para la consulta (Orchestration OR Coreography) ANDWeb Services fueron en principio un problema por la cantidad de artiacuteculos que arrojaba2734 en total aun asiacute empezoacute a trabajar con ello La idea de un SLR es realizar una lecturainicial de los Abstracts para ver si la informacioacuten obtenida es de nuestro intereacutes y si fuera asiacuteprofundizar en la lectura del documento

Comenzamos trabajando con la libreriacutea de IEEE Digital Library (Xplore) El portal de estalibreriacutea nos facilitoacute mucho el trabajo pues pudimos permite la opcioacuten de exportar de manerasencilla como podemos ver en la gura 12 a una hoja de calculo que hemos utilizado para irdetallando aquellos documentos que hemos considerado importantes durante el estudio

Figura 12 Exportacioacuten en IEEE

Los resultados exportados por este portal son bastante completos sobre todo porque contiene elAbstract de los documentos por lo que la lectura de los mismos no se tiene que realizar en demanera individual en la web o descargando los documentos En la gura 13 podemos ver comose importaron en nuestra hoja de calculo los datos obtenidos

Figura 13 Importacioacuten en Hoja de Caacutelculo

Despueacutes de realizar la lectura los Abstracts hemos continuado con ScienceDirect donde los re-sultados fueron menores que los obtenidos con IEEE Este portal tambieacuten permite la opcioacuten deexportar de manera sencilla como podemos ver en la gura 14 permitiendo la opcioacuten de incluirlos Abstracts

Figura 14 Exportacioacuten en SD

Para acabar este uacuteltimo bloque nos quedaba revisar SpringerLink el cual se presentaba comoel maacutes prometedor por el gran nuacutemero de resultados obtenidos La revisioacuten de tantos artiacuteculos sepresentaba ardua pero no se esperaba que fuera tanto pues el portal no permite la exportacioacutende los Abstracts de los documentos encontrados Realizar la descarga de 2924 documentos parasu revisioacuten se nos haciacutea algo inviable dentro de los plazos para entrega del presente proyectosiendo por lo tanto seguir con los paraacutemetros de buacutesqueda iniciales En la gura 15 podemosver cuales son los campos que permite la exportacioacuten de este portal

Esto hizo replantearnos el estudio por lo que hemos replanteado el mismo reduciendo los con-ceptos a buscar para ello hemos realizado la buacutesqueda solo de los artiacuteculos directamente rela-cionados con Moodle y la coreografiacutea y orquestacioacuten de servicios web es decir (OrchestrationOR Coreography) AND Moodle y hemos incluido un nuevo buscador Google Scholar

Figura 15 Exportacioacuten en SD

httpscholargooglecom para de esta manera compensar la reduccioacuten de las buacutesquedas

La buacutesqueda por lo tanto puede ser resumida en la siguiente tabla 16 donde podemos comprobarla gran cantidad de artiacuteculos encontrados gracias a la utilizacioacuten de Google Scholar

Figura 16 Resumen de resultados

Los resultados de Google Scholar eran prometedores pero tambieacuten presentaban problemas parasu exportacioacuten despueacutes de varias consultas para buscar informacioacuten al respecto se conguroacute labuacutesqueda para que permitiera la exportacioacuten de los enlaces encontrados como podemos ver enla gura 17 pero esta opcioacuten nos volviacutea a obligar a realizar una consulta individual de cadaelemento

Figura 17 Conguracioacuten de Google Scholar

Aunque podriacuteamos realizar la buacutesqueda de esta manera sobre todo por los resultados esperadosel tener que realizar la buacutesqueda desde el navegador presentando solo 20 resultados por paacutegina seantojaba bastante pesada sobre todo si se teniacutea que retomar la buacutesqueda en diversos periodos detiempo La solucioacuten que se encontroacute fue la instalacioacuten de Zotero httpwwwzoteroorg Laherramienta permite instalacioacuten de un complemento para Firefox que se utilizoacute para realizar ladescarga de todos los enlaces Este complemento tambieacuten permite la visualizacioacuten de los enlacesen la web como podemos ver en la gura 18 Aun asiacute se decidioacute realizar la instalacioacuten de laversioacuten consola de Zotero para trabajar mejor con carpetas y de esta manera reorganizar lasreferencias encontradas

Figura 18 Resultados en Zotero

Capiacutetulo 2

Plataformas VLE e integracioacuten

En esta seccioacuten describiremos el Entorno Virtual de Aprendizaje pondremos ejemplos de ellos yveremos las necesidades que generan en el desarrollo del proceso de aprendizaje por la falta deintegracioacuten de nuevas herramientas algunas de ellas utilizadas por si sola como herramientas deaprendizaje Detallaremos los problemas de la integracioacuten y expondremos las posibles solucionesa ello

21 VLE

El Entorno Virtual de Aprendizaje (VLE - Virtual Learning Enviroment) suele ser un teacuterminomuy usado en la educacioacuten a traveacutes de ordenador pero no existe una denicioacuten acordada porlo que muchas veces es confundido con otros teacuterminos anaacutelogos como Learning ManagementSystem (LMS) Sistema de Gestioacuten de Contenidos (Content Management System - CMS) o unaPlataforma de aprendizaje (Learning Plataform - LP)

Las deniciones maacutes aceptadas para VLE pues dada en el 2000 por Joint Information Sys-tems Committee (JISC) en el 2000 [Stiles 2000] indicando que son ccedilomponents in which learn-ers and tutors participate in on-line interactions of various kinds including on-line learningExisten otros autores que no estaacuten de acuerdo con la necesidad de interacciones on-line como[Dillenbourg et al 2002] que los excluyen de su denicioacuten Britain an Liber [Britain et al 2004]tambieacuten omiten la comunicacioacuten on-line de su denicioacuten indicando que las VLEs pretender darcabida a una amplia gama de estilos de aprendizaje y objetivos para fomentar el aprendizajecolaborativo y basado en recursos para permitir una mayor intercambio y reutilizacioacuten de recur-sos [Britain et al 2004]

Una de las deniciones mas formal y comuacutenmente citada fue dada en el trabajo de Dillengourgs[Dillenbourg et al 2002] el cual expone siete argumentos distintivos

1 VLEs are designed information spaces in which multiple authors can produce both struc-tured and unstructured information

2 VLEs are social spaces that promote interactions and discussions both synchronously orasynchronously

3 VLEs are explicitly represented ranging from text-based interfaces to complex 3D graphicalsystems

7

4 VLE students are also actors thus producing rather than consuming contents

5 VLEs are not restricted to distance education supporting also presential and blended learn-ing situations

6 VLEs integrate heterogenous technologies (including a variety of tools supporting diferenttasks) and multiple pedagogical approaches because integration is under the idea of envi-ronment

7 Most VLEs overlap with physical environments at some point since learning activities mayinvolve the use of non-computerized resources or interactions among participants

Por tanto el VLE conlleva un paso hacia delante por constituir un espacio virtual que utilizatecnologiacuteas heterogeacuteneas en el que los alumnos son activos usuarios siendo sistemas centrados enlos educadores que permiten el disentildeo instanciacioacuten promulgacioacuten y evaluacioacuten de situacionesde aprendizaje colaborativo a traveacutes de un conjunto de actividades de aprendizaje que puedenser siacutencronas o asiacutencronas cara a cara o a distancia individuales o de manera colaborativa

211 Ejemplos de VLEs

Existen actualmente diversos VLEs amplimente difundidos y no paran de aparecer nuevos loscuales intentan incluir nuevos teacutecnicas aplicadas al aprendizaje como puede ser el 3D [Nonis 2005]Hemos realizado el resumen por [Alario-Hoyos et al 2012] para mostrar una tabla en la gura21 de los maacutes importantes Moodle Lams LRN Sakai Blackboard Claroline Sharepoint LMSy sus caracteriacutesticas teacutecnicas y funcionales

22 Herramientas de Software

El uso de aplicaciones software como apoyo al aprendizaje ha jugado un papel muy importantesobre todo a la incorporacioacuten del ordenador a nuestra vida diaria Sin embargo no ha sido hastalos uacuteltimos antildeos con la difusioacuten de las tecnologiacuteas web y la posibilidades que ofrece de accesoraacutepido y ubicuo a los recursos e informacioacuten lo que ha provocado la proliferacioacuten de las her-ramientas de Software como Servicio (Software as Service - SaaS) siendo adoptadas en todas lasetapas del aprendizaje

La tendencia actual de los usuarios a generar y compartir contenidos a traveacutes de las herramientasde la llamada Web 20 la mayoriacutea de las cuales son aplicaciones SaaS ha cambiado la formade aprender fomentando la comunicacioacuten colaboracioacuten y ha fomentado un aprendizaje masconstructivista Algunos ejemplos de estas herramientas son

Google Drive httpsdrivegooglecom

Twitter httpstwittercom

Delicious urlhttpsdeliciouscom

Google Maps httpsmapsgooglees

Flickr httpwwwflickrcom

Doodle httpwwwdoodlecom

Figura 21 Anaacutelisis de VLEs

Miles de estas herramientas son usadas como apoyo en las actividades de aprendizaje Muchasde estas herramientas podemos encontrarlas valoradas en un ranking en webs como Tops 100Tools for Learning1 de la cual mostramos la gura 22 tambieacuten podemos encontrarlas en CcediloolsTools for Schools2

221 Integracioacuten de herramientas

Aunque hemos podido ver que existe un gran nuacutemero de herramientas software la cuales puedenapoyar el desarrollo docente son pocos los VLEs y otras plataformas similares utilizadas porlos educadores para disentildear y prestar sus actividades formativas las que incluyen un nuacutemeromuy restringido de estas herramientas de manera integrada Los educadores suelen indicar laslimitaciones que los VLEs tienen en este caso demandando maacutes alternativas para soportar susparticulares aprendizajes colaborativos Por ello ha emergido con fuerza la integracioacuten de her-ramientas externas en los VLEs sobre todo para el uso de SaaS y aplicaciones Web 20

Debemos tener en cuenta que

La integracioacuten de las herramientas actuales en los entornos VLEs actuales suele ser laopcioacuten maacutes aceptada aunque existen otras alternativas

Las SaaS y las aplicaciones Web 20 han sido ampliamente adoptadas como herramientas de

1httpc4lptcouktop100tools2httpcooltoolsforschoolswikispacescom

Figura 22 Top 100 Tools - Abril 2013

aprendizaje pero existen otras herramientas con su particularidades teacutecnicas que puedenser interesantes y tenida en cuenta como actividades de aprendizaje en los VLEs

Estas herramientas usadas durante el ciclo de vida de aprendizaje colaborativo deben poderser analizadas para estudiar sus resultados

El ciclo de vida del aprendizaje colaborativo consta de cuatro fases disentildeo despliegue pues-ta en marcha y evaluacioacuten Las herramientas de software suelen utilizarse principalmenteen dos de ellas en el despliegue donde las herramientas son seleccionadas dependiendo delos objetivos del aprendizaje la conguracioacuten social y las estructuras de las actividades arealizar y en la fase de puesta en marcha pues son utilizadas por los estudiantes para re-alizar sus actividades y de esta manera alcanzar los objetivos del aprendizaje En la fase deevaluacioacuten estas realmente no son importantes pues no nos interesa tanto la herramientacon la que se haya realizado sino el contenido de esos resultados La fase de disentildeo es dondese consideran las tareas a realizar para llevar a cabo el aprendizaje y no herramientas autilizar para ello Aunque estas cuatro fase puede ser ampliadas o reducidas es ampliamenteaceptado En la gura podemos ver graacutecamente este ciclo

Figura 23 Ciclo de vida del aprendizaje colaborativo

222 Problemas en la integracioacuten

El problema general de la integracioacuten de muacuteltiples herramientas externas en diversos VLEspodemos observarlo en la gura 24 donde podemos ver en un lado diferentes VLEs consus correspondientes APIs arquitectura y caracteriacutesticas mientras en el otro lado diferentestecnologiacuteas interfaces y desarrollos para una gran variedad de propoacutesitos Cada uno deellos puede imponer sus restricciones para la integracioacuten Estos requerimientos es lo queha sido denominado por ejemplo en LAMS como ccedilontrato de integracioacuten el cual intentadeterminar las tecnologiacuteas interfaces y modelos de datos que deben ser empleados para lacomunicacioacuten entre un sistema y el programa que intente integrarlo

Cada herramienta puede tener una o maacutes opciones de integracioacuten Algunas son especiacute-cas para una cierta herramienta (Ej comunicacioacuten basado en Rest para Delicious y paraSlidshare de manera diferente) y otras comuacuten para varias herramientas (Ej Google DataProtocol) Lo mismo ocurre en el lado de los VLEs por lo que se abre un amplio abanicode tecnologiacuteas interfaces y modelos de datos que hacen que la tarea de integracioacuten seaalgo realmente complejo En la gura 25 podemos ver un resumen de los problemas deintegracioacuten seguacuten las herramientas seleccionadas

223 Enfoques de la integracioacuten

Podemos denir dos enfoques principales a la hora de enfocar la integracioacuten de las her-ramientas de software y los VLEs siendo estos

bull Estandarizar los contratos de integracioacutenLa denicioacuten de unos estaacutendares de integracioacuten podriacutea resolver los problemas de in-tegracioacuten pero no existen hoy en diacutea los mismos o no son aceptados por la mayoriacutea

Figura 24 Problemas de integracioacuten

seguramente por intereses tecnoloacutegicos y comerciales IMS Global Learning Consor-tium siguen intentando realizar la aprobacioacuten de dicho estaacutendar siendo uno de elloIMS-LTI Integracioacuten de aplicaciones y servicios remotos y aunque la adopcioacuten de losmismo por las nuevas versiones de Moodle y Blackboard podriacutea hacer que se apos-tara por esta opcioacuten la falta de herramientas que lo utilicen (Ej Google no lo utiliza)puede hacer que no llegue a buen puerto

bull Crear una arquitecturaEste enfoque trata de adaptar los contratos de integracioacuten de los VLEs y las her-ramientas sin tener que modicar sus implementacioacuten Este mismo enfoque presentados opciones como podemos ver en la gura 26 y que pasamos a detallar

1 Un adaptador por en el lado de VLE y otro en el lado de las herramientas o inclusoun solo paquete que pueda congure toda la conexioacuten En este caso estariacuteamoshablando por ejemplo de los moacutedulo adicionales de Moodle

2 Una capa intermedia y adaptadores Este tipo de arquitectura permite la in-tegracioacuten entre muacuteltiples herramientas externas y muacuteltiple entorno virtuales deaprendizaje a traveacutes de un middleware comuacuten Dicho middleware estariacutea com-puesto de diferentes programas que pueden ser ejecutados en dominios diferentesEsta arquitectura reduce el esfuerzo para la integracioacuten de cada herramienta encada VLE ya que el coacutedigo estaacute parcialmente implementado por los elementos deintegracioacuten comunes Sin embargo el grado de integracioacuten y funcionalidad que sepuede lograr con estas arquitecturas es menor que con la primera opcioacuten

23 Servicios Web

Aunque han sido englobados dentro de integracioacuten de herramientas vamos a detallar queson y que aportan a Moodle

Figura 25 Problemas de integracioacuten

Los Servicios Web (Web Services) son la parte esencial de la interoperabilidad de Moodlecon otras aplicaciones Web 20 consisten en una pieza de software que utiliza un conjuntode protocolos y estaacutendares abiertos para intercambiar datos entre aplicaciones La idea prin-cipal es que distintas aplicaciones de software desarrolladas en lenguajes de programacioacutendiferentes y ejecutadas sobre cualquier plataforma puedan utilizar los servicios Web paraintercambiar datos en la red de ordenadores como Internet El producto resultante es unconjunto de moacutedulos con funcionalidad especiacuteca y completa que se acoplan entre siacute A suvez estos moacutedulos se conectan a una plataforma de e-learning mediante la utilizacioacuten deservicios de base descritos en una capa estaacutendar que funciona como gateway

Para ampliar un poco mejor el concepto de servicios Web citaremos una exposicioacuten delDoctor Marcos Escobar Un Web Service es un componente de software que se comunicacon otras aplicaciones codicando los mensaje en XML y enviando estos mensaje a traveacutesde protocolos estaacutendares de Internet tales como el HTTP Intuitivamente un Web Servicees similar a un sitio Web que no cuenta con un interfaz de usuario y que da servicio a lasaplicaciones en vez de a las personas Un Web Service en vez de obtener solicitudes desdeel navegador y retornar paacuteginas Web como respuesta lo que hace es recibir solicitudes atraveacutes de un mensaje formateado en XML desde una aplicacioacuten realiza una tarea y de-vuelve un mensaje de respuesta tambieacuten formateado en XML

Figura 26 Enfoques de arquitectura de integracioacuten

231 Orquestacioacuten y Coreografiacutea de Servicios Web

Seguacuten Careaga Mercadillo Ana Lilia [car ] la Orquestacioacuten (Web Service Orchestration)y Coreografiacutea (Web Service Choreography) se suelen ver como dos aproximaciones parala Composicioacuten de Servicios Web que se acercan estrechamente a los conceptos musicalespor lo cual se han importado directamente sus signicados A continuacioacuten detallaremosque son y sus posibles aplicaciones

La tarea de componer servicios Web baacutesicos o simples para brindar servicios Web maacutes com-plejos se conoce teacutecnicamente como Composicioacuten de Servicios Web Existen dos grandesaproximaciones para esta tarea la coreografiacutea con foco en la interaccioacuten entre servicios(equivalente a los bailarines) y la orquestacioacuten (equivalente a los instrumentos de la orques-ta) con foco en la implementacioacuten y ejecucioacuten de servicios La primera puede consid-erarse como una descripcioacuten formal del pasaje de mensajes obviando detalles internosde implementacioacuten Se ajusta maacutes en situaciones donde es provechoso contar con la no-cioacuten de estados y tambieacuten donde estaacuten involucradas transacciones de larga duracioacuten- Elorquestadordetermina la naturaleza y la secuencia de la interaccioacuten En cambio la segun-da aproximacioacuten describe la loacutegica y el estado de cada una de las partes involucradas Laorquestacioacuten tiene una visioacuten mas local y centralizada mientras que la coreografiacutea denela composicioacuten desde una perspectiva global sin control centralizado tal y como sucede enla danza

Existen numerosas deniciones de Servicios Web y esto demuestra en parte la gran com-plejidad de los servicios que se agrupan bajo este teacutermino y las implicaciones asociadas aellos Hasta ahora la denicioacuten maacutes general y convincente es decir que los Servicios Webson el conjunto de aplicaciones tecnoloacutegicas con capacidad para interoperar en la Web Es-tas tecnologiacuteas intercambian datos entre ellas con el n de ofrecer servicios de naturalezaremota

La World Wide Web no es soacutelo un espacio de informacioacuten tambieacuten es un espacio de inter-accioacuten Utilizando la Web como plataforma los usuarios de forma remota pueden solicitar

un servicio que alguacuten proveedor ofrezca en la red Pero para que esta interaccioacuten funcionedeben existir unos mecanismos de comunicacioacuten estaacutendares entre diferentes aplicacionesEstos mecanismos deben poder interactuar entre siacute para presentar la informacioacuten de formadinaacutemica al usuario Se precisa pues una arquitectura de referencia estaacutendar que hagaposible la interoperabilidad y extensibilidad entre las distintas aplicaciones y que permitasu combinacioacuten para realizar operaciones complejas Esta arquitectura es conocida con elnombre de SOA (Service Oriented Architecture)

Con el n de estandarizar los diferentes aspectos relacionados con los servicios Web elW3C (World Wide Web Consortium) recoge todo lo referente a ellos en (Web ServicesActivity) Asiacute pues Web Services (WS) ofrece un signicado estaacutendar para interoperarentre diferentes aplicaciones de software corriendo en diferentes plataformas yo marcosde trabajo El W3C pretende disentildear la arquitectura denirla y crear el nuacutecleo de tec-nologiacuteas que hagan posible los Servicios Web Los servicios Web se basan en un lenguajede caracteriacutesticas especiales llamado XML (Extensible Markup Language) que permite quelas aplicaciones compartan informacioacuten y que ademaacutes invoquen funciones de otras apli-caciones independientemente de coacutemo se hayan creado dichas aplicaciones y del sistemaoperativo o plataforma en que se ejecuten Por ejemplo Google utiliza un Servicio Webllamado Google Web APIs que permite que el usuario programe en diversos lenguajes ase-gurando la recuperacioacuten de informacioacuten independientemente de la plataforma que se utilice

Los Servicios Web se idearon en un principio para realizar interacciones simples e indepen-dientes pero ahora es necesario que los servicios colaboren y se coordinen A la coordinacioacutennecesaria para implementar un servicio Web se le llama Composicioacuten que puede realizarsede dos manerasorquestacioacuten y coreografiacutea La principal diferencia entre orquestacioacuten ycoreografiacutea es el alcance La orquestacioacuten trata de la descripcioacuten y ejecucioacuten de un mismoy uacutenico punto de vista global del modelo (instrumentacioacuten) La coreografiacutea trata de la de-scripcioacuten y guiacutea de un modelo global proyectado en base a cada participante (bailarines)La orquestacioacuten y coreografiacutea son teacuterminos que describen dos aspectos de los estaacutendaresemergentes para la creacioacuten de procesos de negocios de muacuteltiples servicios WebLos dosteacuterminos se superponen pero es claro que la orquestacioacuten se reere a un proceso de nego-cio ejecutable que puede interactuar tanto con servicios Web internos como externos Laorquestacioacuten representa siempre el control desde la perspectiva de una de las partes Estolo distingue de la coreografiacutea que es de mayor colaboracioacuten y permite a cada parte impli-cada describir su papel en la interaccioacuten La orquestacioacuten y coreografiacutea tratan de describiraspectos relacionados con la creacioacuten de procesos de negocio que involucran varios tipos deSoftware

Visto graacutecamente podemos ver en la gura 27 la orquestacioacuten permite disentildear proce-sos de negocio ejecutables que pueden interactuar (a nivel de mensaje) tanto con softwareinterno como externo Por otra parte la coreografiacutea es mucho maacutes colaborativa ya quepermite trazar las secuencias de mensajes que se suceden entre todas las partes partici-pantes del proceso de negocio en lugar de centrarse en los mensajes que se intercambianentre los diversos programas de software que implementan los procesos de negocio

Figura 27 Orquestacioacuten y Coreografiacutea de Servicios Web

232 Estaacutendares de Orquestacioacuten de Servicios Web

WS BPEL( Web Service Business Process Execution Language)Es un lenguaje de orquestacioacuten estandarizado porOASIS (Organisation for Advance Struc-tured Information Business Transaction Protocol) para la composicioacuten de servicios Web quepermite a los desarrolladores crear programas que automatizan las interacciones entre losservicios Web jugando un papel clave en las arquitecturas orientadas a los servicios SOAPara comprender su funcionamiento imaginemos un proceso de negocio determinado quetiene una entrada A y una salida B Dicho proceso como la mayoriacutea de ellos posee a suvez de muchos procesos internos que se van activando de acuerdo a ciertos paraacutemetros yvalores BPEL seriacutea el encargado de orquestar y por lo tanto dirigir la ejecucioacuten de unamanera ordenada La ventaja de que BPEL sea un estaacutendar radica en que puede ser imple-mentado en una gran variedad de motores de ejecucioacuten de diferentes proveedores BPELen si es un formato XML que proviene de la convergencia entre el WSFL (Web ServiceFlow Language) de IBM y XLANG de Microsoft La herramienta BPEL estaacute basada en unmodelo llamado Workow que especica las oacuterdenes de ejecucioacuten Existen actividadesbaacutesicas como iumlnvoke y receive y otras estructuradas como sequence Tambieacuten formanparte del modelo variables y participantes (partners) En las variables se deposita la nocioacutende datos y los participantes representan los elementos que interactuacutean en la composicioacutenEl modelo se completa como un motor que orquestaraacute las invocaciones

BPML (Business Process Modeling Language)Es un metalenguaje basado en XML para la descripcioacuten de procesos de negocio Inicial-mente BMPL se disentildeoacute para soportar los procesos que un sistema de gestioacuten de procesosde negocio pudiera ejecutar BPML dispone de estructuras similares a BPEL como puedenser actividades baacutesicas para el enviacuteo y la recepcioacuten de mensajes y para la invocacioacuten deservicios Adicionalmente BPML permite planicar las tareas para que se ejecuten eninstantes especiacutecos ofreciendo algunas opciones de control temporal Este lenguaje in-cluye caracteriacutesticas para dar soporte a la persistencia ya que fue disentildeado para la gestioacutende procesos de larga duracioacuten BPML ofrece soporte tambieacuten para realizar composicionesrecursivas a n de poder construir procesos de negocio que a su vez consten de otros sub-procesos Asimismo soporta transacciones de larga o corta ejecucioacuten gracias a que usa unateacutecnica similar a BPEL para controlar el alcance de las actividades y gestionar de esta

forma las reglas de compensacioacuten en caso de que las operaciones que deben realizarse deforma automaacutetica se vean interrumpidas

233 Estaacutendares de Coreografiacutea de los Servicios Web

WS-CDL (Web Services Choreography Description Language)Es un lenguaje basado en XML que describe la colaboracioacuten entre pares peer to peemediante la denicioacuten - desde un punto de vista global de los comportamientos comunes yobservables de cada participante de un proceso de negocio Eacuteste es un lenguaje utilizadopara la denicioacuten de servicios dentro de la plataforma SOA y cuyo objetivo es la descrip-cioacuten del comportamiento de cada uno de los servicios establecidos para lograr un objetivocomuacuten Sin embargo antes de WS-CDL ya existiacutea un lenguaje que permitiacutea la descripcioacutende las funcionalidades de un Servicio Web WSDL (Web Services Denition Language)el cual puede describir el conjunto de funciones ofrecidas con los posibles fallos que po-driacutean ocurrir y a pesar de que WS-CDL podriacutea expresar las coreografiacuteas de un servicioen un ambiente SOA W3C (World Wide Web Consortium) abandonoacute su desarrollo en 2009

WSCI (Web Service Choreography Interface)La especicacioacuten de WSCI fue desarrollada por diversas compantildeiacuteas como Sun SAP BEAe Intalio y representa una extensioacuten para WSDL para la colaboracioacuten La especicacioacuten de-ne la coreografiacutea global o el intercambio de mensajes entre los diferentes tipos de softwarey soporta su correlacioacuten reglas de secuenciacioacuten manejo de excepciones transacciones ycolaboracioacuten dinaacutemica WSCI soacutelo describe el comportamiento observable entre el softwareque se emplea Una coreografiacutea WSCI constaraacute de un conjunto de interfases WSCI unapor cada uno de los servicios que participen en la interaccioacuten

24 Moodle

El software de coacutedigo abierto (Open-Source Software-OSS) esta siendo ampliamente de-sarrollado ofreciendo nuevas alternativas y posibilidades hasta hace poco inimaginablesMoodle es un claro ejemplo siendo uno de los programas maacutes ampliamente adoptados porcolegios institucioacuten universidades etc Como podemos ver en la gura 28 el nuacutemero deusuarios registrados y los idiomas en los que se encuentra disponible dan muestra de sugran difusioacuten Algunas de las razones mas importante para su eleccioacuten son

Figura 28 Moodle - Abril 2013

bull Moodle es OSS lo cual signica que los usuarios pueden descargarlo libremente usarlomodicarlos e incluso redistribuirlo seguacuten los teacuterminos GNU 3

bull La losofiacutea planteada por Moodle incluye una aproximacioacuten constructiva basada enel constructivismo social de la educacioacuten enfatizando que los estudiantes (y no soacutelolos profesores) pueden contribuir a la experiencia educativa en muchas formas

bull Compatibilidad con maacutes de 70 idiomas diferentes

bull Una excelente documentacioacuten soporte para seguridad y administracioacuten

bull No requiere modicaciones en el sistema operativo pudiendo ser ejecutado en un en-torno Linux Windows Mac OS o cualquier otro siempre que soporten PHP

bull La informacioacuten esta soportada por una simple base de datos

Ademaacutes su sencilla aplicacioacuten en entorno web que utiliza tecnologiacuteas ya ampliamenteprobadas sus mecanismos de extensioacuten maacutes faacuteciles en comparacioacuten con otros VLEs y laexistencia de una gran cantidad de documentacioacuten de desarrollo han impulsado la creacioacutende una gran comunidad de personas que contribuyen a la mejora de Moodle Esta comu-nidad estaacute en constante desarrollo de nuevas caracteriacutesticas y aplicaciones a traveacutes decientos de plugins que pueden ser descargados desde su la web de Moodle y asesoran tantoa otros desarrolladores como usuarios nales

La primera versioacuten de Moodle (10) fuel lanzada en 2002 como parte de la investigacioacuten deMartin Dougiamas del uso del software de coacutedigo abierto para la ensentildeanza y el aprendizajecon las comunidades basadas en Internet[Dougiamas and Taylor 2000] Actualmente seencuentra disponible la versioacuten 243+ como estable y la beta de la versioacuten 25

En cuanto a la parte teacutecnica Moodle estaacute desarrollado en lenguaje PHP como la mayoriacuteade los VLEs utiliza una arquitectura cliente-servidor comuacuten de tres capas CORREGIRLa capa de presentacioacuten dene como la informacioacuten se presenta a los usuarios nales quetienen acceso a esa informacioacuten a traveacutes de sus navegadores web La Capa de loacutegica de ne-gocios se encarga de las relaciones con Moodle el acceso a la capa de datos por lo generala traveacutes de MySQL para almacenar y recuperar la informacioacuten cuando sea necesario

Moodle se distribuye en un solo paquete multiplataforma que incluye PHP MySQL yApache HTTP Server para facilitar los procesos de instalacioacuten y conguracioacuten La dis-tribucioacuten actual de Moodle cumple con varios estaacutendares educativos Por ejemplo Moodlepuede manejar ADL SCORM paquetes que contienen recursos aislados o cursos completosEn cuanto a los estaacutendares IMS Moodle soporta IMS Content Packaging (IMS CP) IMSCommon Cartridge (IMS CC)IMS pregunta y Test Interoperability (IMS QTI) y estaacuteconsiderado como uno de los VLEs compatible con Basic LTI

241 otras plataformas

No podemos dejar de lado otros escenarios educativos que han ido apareciendo en los uacutelti-mos antildeos a pesar del gran eacutexito de los VLEs Algunos ejemplos de estas plataforma son

3httpsmoodleorg

bull Wikis (Ej MediaWiki) Son sistemas software que permiten la creacioacuten y gestioacutende contenidos estructurados mediante paacuteginas web relacionadas entre siacute El contenidosuele estar editado por varios usuarios que trabajan de manera colaborativa pudiendoincluir enlaces a recursos externos

bull Sitios de redes sociales (Ej Facebook) Son sistema en liacutenea donde los usuariospueden crearse sus propios perles y crear una red personal que les mantendraacute conec-tado con otros usuarios Estos sistemas han proliferado en los uacuteltimos antildeos llegando amillones de usuarios No suelen necesitar un administrador pues se utilizan medianteentorno web y son alojados por el propio proveedor Su gran adopcioacuten y el enfoquea las interacciones sociales es lo que ha llevado a muchos profesor a utilizarlo comoherramienta de aprendizaje Estos sitios permiten la creacioacuten y mantenimiento degrupo mediante el perl de usuario pero no estaacuten disentildeados para seguir un enfoquepedagoacutegico

bull Personal Learning Environment - PLE (Ej Southampton) Son denidos comosistemas de software que permiten al estudiante a tomar el control y la gestioacuten de suspropio aprendizaje Se caracterizan por la por la participacioacuten directa de los alumnosen el acceso agregacioacuten conguracioacuten y manipulacioacuten de herramientas y recursos adiferencia de los VLEs done es el educador el que selecciona y gestiona los recursosque el alumno debe utilizar

Muchas de estas herramientas son de coacutedigo libre y abierto Su funcionalidad respecto ala gestioacuten de actividades grupos funciones y herramientas es limitado siendo en algunoscasos inexistente Ninguna de estas plataformas se puede considerar un VLE ya que nosson sistemas centrados en el educador sin embargo pueden apoyar la integracioacuten de apli-caciones externas en entornos de aprendizaje colaborativo

Capiacutetulo 3

Organizacioacuten y Sistema Inicial

A continuacioacuten pasamos a detallar las distintas actividades de la que consta el proyecto quehemos llevado a cabo durante estos meses

31 Lanzamiento del proyecto

Esta actividad consisten en la eleccioacuten de una de las diferentes posibles aacutereas de desarrollo deproyectos que ofrece la UOC siendo la elegida Aplicaciones Web para trabajo colaborativo

32 Denicioacuten del proyecto

El proyecto queda denido en el presente documento siendo el tiacutetulo del mismo Orchestationand Coreography of Web Services on Moodle - Revisioacuten Sistemaacutetica de la literatura

[Duracioacuten] 27-02-2013 al 03-03-2013

33 Anaacutelisis de requisitos

Nos centraremos en la fase de planicacioacuten que incluye los objetivos de la investigacioacuten y la formaen que se llevaraacute a cabo la revisioacuten

[Duracioacuten] 04-03-2013 al 03-06-2013

331 Cuestiones Realizadas

El primer paso en la fase de planicacioacuten seraacute denir los objetivos principales de esta revisioacutensistemaacutetica de la literatura Estos objetivos son analizar el estado del arte de la coreografiacutea yorquestacioacuten de los servicios web en Moodle como LMS

332 Fuentes de datos y buacutesqueda

Utilizaremos diferentes libreriacuteas o espacios digitales para realizar las buacutesquedas las mismas serealizaraacuten en ingleacutes y espantildeol Las libreriacuteas principales utilizadas son

IEEEXplore [IEEEX] httpieeexploreieeeorg

21

Science Direct [SD] httpwwwsciencedirectcom

SpringerLink [SL] httpwwwspringerlinkcom

Paralelamente a Science Direct se han realizado buacutesquedas en Scopus1 de Elsevier y GoogleScholar2 de Google

333 Criterios de inclusioacuten y exclusioacuten

Las buacutesquedas que se realicen intentaraacuten abarcar todo el aacutembito de cuestiones del SLR pero esposible (y de hecho ocurre) el resultado contenga referencias publicaciones estudios o en generalinformacioacuten que no sirve Para ello seraacute necesario denir criterios de inclusioacuten y exclusioacuten loscual haremos basaacutendonos en la guiacutea [Kitchenham 2007]

334 Asegurar la calidad

Despueacutes de obtener un numero considerable de trabajos o estudios que satisfacen los criteriosde inclusioacuten y exclusioacuten se deberaacute ser capaz de asegurar o armar cuales son los que cumplencon una miacutenima calidad y si son vaacutelidos o no para el estudio en si Es baacutesico poder analizar queacuteestudios son mejores que otros en teacuterminos de calidadSiguiente [Kitchenham 2007] se deniraacuten preguntas y cuestiones que permitan asegurar dichacalidad

335 Extraccioacuten de datos y anaacutelisis

Los criterios de inclusioacuten y exclusioacuten junto con las preguntas orientadas a asegurar la calidadnos serviraacuten para obtener todos los artiacuteculos y estudios que se analizan en este estudioDe cada artiacuteculo se recogeraacute titulo y autores abstract publicacioacuten y antildeo de publicacioacuten

336 Fase de revisioacuten

Esta fase de planicacioacuten seraacute denir el proceso de conducir o dirigir la revisioacuten Para elloutilizaremos tres fases como podemos ver en la gura 31 de la paacutegina 23

337 Fase de Pruebas

Se realizan pruebas con la informacioacuten obtenido montado maacutequinas virtuales para realizar lasmismas En estas se han probado las diferentes opciones de comunicacioacuten que nos ofrece Moodle

1httpwwwscopuscom2httpscholargooglecom

Figura 31 Proceso para dirigir la revisioacuten

34 Calendario de Trabajo

Podemos ver en el siguiente diagrama de Gantt32 la distribucioacuten de trabajos en el tiempo elmismo seraacute modicado para ajustarlo a las variaciones producidas durante el desarrollo de lastareas que contempla

35 Hitos principales

Los principales hitos seraacuten

Lanzamiento del proyecto Se dene correctamente en que va consistir el proyecto

Denicioacuten de cuestiones para la buacutesqueda Donde se detallaraacuten las cuestiones quemarcaran el desarrollo del resto del proyecto

Comprobacioacuten de resultados Se deberaacuten criba los mismo para no obtener duplicadoso informacioacuten ajena a la investigacioacuten

Revisioacuten de informacioacuten obtenida Una vez obtenida la informacioacuten y analizada deberaacuteser revisada para su presentacioacuten

Figura 32 Diagrama de Gantt

36 Instalacioacuten base

Para llevar a cabo las pruebas se ha optado por la creacioacuten de una maacutequina virtual sobre VirtualBox 3 en la cual hemos instalado Windows XP como sistema operativo Este sistema es maacutesligero a la hora de trabajar en maacutequinas virtuales pues requiere menos recursos que las versionesposteriores del mismos sistema

El siguiente paso era la instalacioacuten de Moodle Aunque se dispone de un instalador para Win-dows se ha optado por la descarga e instalacioacuten de XAMPP 4 y su y su posterior conguracioacutenen la maacutequina virtual XAMPP es un servidor independiente de plataforma software libre queconsiste principalmente en la base de datos MySQL el servidor web Apache y los inteacuterpretespara lenguajes de script PHP y Perl El nombre proviene del acroacutenimo de X (para cualquierade los diferentes sistemas operativos) Apache MySQL PHP Perl

XAMPP en su versioacuten 181 incluye

Apache 243

MySQL 5527

PHP 547

phpMyAdmin 3522

FileZilla FTP Server 0941

Tomcat 7030

Strawberry Perl 51611 Portable

XAMPP Control Panel 310

Hemos continuado con la descarga he instalacioacuten de Moodle y hemos querido probar las difer-encias que obtenemos entre las versiones 19x y 25 por lo que se han descargado ambas heinstalado en maacutequinas virtuales diferentes Con ello conseguiremos probar el resultado obtenidoseguacuten la versioacuten Moodle desde su versioacuten 22 ya soporta conexiones mediante IMS - LTI IMSLTI es un estaacutendar IMS Learning Tool Interoperability Esto signica que las herramientas deaprendizaje tienen ahora diversas maneras de conectarse entre sin problemas

En la praacutectica cuando un usuario se registra en una herramienta como Moodle se pueden conectara la otra herramienta como MediaWiki y autenticarse automaacuteticamente proporcionando unaexperiencia perfectaLas guras 33 y 34 nos muestran el panel de control de XAMPP una vez instalado y el panede phpMyAdmin donde hemos debido congurar las bases de datos y usuario necesarios parallevar todo el proceso de conguracioacuten de Moodle y el resto de herramientas

3httpswwwvirtualboxorg4httpwwwapachefriendsorgesxampphtml

Figura 33 Panel de control de XAMPP

Figura 34 Gestor de bases de datos phpMyAdmin

Capiacutetulo 4

Servicios Web de Moodle

41 Introduccioacuten

Moodle 2X incorpora la posibilidad de implementar Servicios Web para manejar sus funciona-lidades lo que nos permite poder acceder a acciones de actualizar y crear tareas para reejar elresultado de las actividades realizadas Moodle soporta varios protocolos (REST SOAP XML-RPC y AMF)

42 Servicios Web de Moodle

Los Servicios Web de Moodle se caracterizan por permitir el acceso desde cualquier aplicacioacutenimplementando para ello tres capas como podemos observar en la gura 41

Capa nuacutecleoLa capa del nuacutecleo estaacute compuesta de todas las funciones principales de Moodle sobreusuarios grupos cursos calendario etc Moodle no dispone de una API al uso sino queofrece diferentes funciones que han sido desarrolladas durante antildeos Por tanto las necesi-dades de los Servicios Web estaacuten obligando a rehacer estas funciones del nuacutecleo para quecomiencen a formar una API (Moodle 2X)

Capa externaLa capa externa estaacute compuesta por nuevos cheros llamados externalphp colocados porlas carpetas de Moodle y conteniendo manejadores para la capa inferior Estos manejadoresson los responsables de comprobar las capacidades paraacutemetros y llamadas correctas a lasfunciones de nuacutecleo

Capa de conectoresLa capa de conectores estaacute compuesta de diferentes conectores para las diferentes imple-mentaciones de los Servicios Web y contiene un conector REST un conector SOAP unconector XML-RPC y un conector AMF Esta capa admite plugins para ampliar los conec-tores disponibles de manera que se puedan integrar otros sistemas en Moodle utilizandootros protocolos

Los pasos para utilizar un Servicio Web con Moodle seriacutean los siguientes

1 El cliente enviacutea el nombre de usuario y contrasentildea al servidor que provee los ServiciosWeb

27

Figura 41 Capas en Moodle

2 El servidor de protocolo devuelve un token de sesioacuten para esa cuenta de usuario

3 El cliente llama a un Servicio Web especiacuteco incluyendo el token de sesioacuten

4 El servidor utiliza el token para comprobar que la sesioacuten del Servicio Web estaacute activa

5 El servidor llama a la funcioacuten correspondiente localizada en el chero externallibphp dentrodel moacutedulo especiacuteco

6 La funcioacuten externa comprueba que el usuario actual tenga los permisos sucientes pararealizar esta operacioacuten

7 La funcioacuten externa llama a la funcioacuten correspondiente del nuacutecleo de Moodle (libphp)

8 La funcioacuten del nuacutecleo puede retornar un resultado a la funcioacuten externa

9 La funcioacuten externa devolveraacute el resultado al servidor de protocolo

10 El servidor de protocolo devolveraacute el resultado al cliente

43 REST

REST (Representational State Transfer) es el acroacutenimo de Transferencia de Estado Representa-cional teacutermino usado por Roy Fielding (uno de los creadores de HTTP) para describir un estilode arquitectura que utilizar como modelo en los sistemas de computacioacuten Web No es un es-taacutendar sino un enfoque que muestra como desarrollar y proporcionar servicios en Internet portanto considerado como un estilo arquitectoacutenico para disentildeo de software a gran escala El propioautor lo dene de manera concisa en eacuteste paacuterrafo

REST es un intento de mostrar coacutemo debe comportarse una aplicacioacuten Web bien disentildeada unared de paacuteginas Web (una maacutequina de estados virtual) donde el usuario progresaraacute seleccionan-do enlaces (transiciones de estado) que devuelven la paacutegina siguiente (el siguiente estado de lamaacutequina) que el usuario manejaraacute a su gusto

Este enfoque no aporta realmente nada nuevo la mayor parte de la Web sigue este estilo arqui-tectoacutenico Sin embargo el autor hace eacutenfasis en las caracteriacutesticas concretas que han hecho quela Web triunfe que van a ser los objetivos buscados por REST y que son a su juicio

Escalabilidad en las interacciones entre componentes La red ha ido creciendo de maneraexponencial y se ha ido comportado de manera satisfactoria

Generalidad en las interfaces Se proporciona acceso con distintos clientes y con distintosmecanismos de acceso

Desarrollo independiente de componentes Implementaciones cliente y servidor pueden serdesarrolladas en distintos momentos

Existencia de componentes intermediarios con los cuales existe compatibilidad (comoproxys)que permiten encapsulacioacuten e integracioacuten de sistemas no Web dentro de la misma

431 Principios de disentildeo

Los objetivos citados van a ser conseguidos imponiendo una serie de restricciones

El estado y la funcionalidad de las aplicaciones se representan por forma de recursos

La identicacioacuten de recursos se realiza de forma uacutenica global mediante Uniform ResourceIdentiers Los recursos identicados con URIs son los objetos loacutegicos a los cuales se lesmandan los mensajes

Manipulacioacuten de recursos a traveacutes de representaciones luego no se manejan directamentelos recursos sino sus representaciones

Todos los recursos comparten un interfaz uniforme formado por

bull Un conjunto de operaciones limitado para transferir el estado Se van a aprovecharlas operaciones que HTTP dene mostradas en la gura 42

bull Un conjunto limitado de tipos de contenidos identicados mediante tipos MIME

Uso de un protocolo clienteservidor sin estado y basado en capas Cada mensaje HTTPcontendraacute la informacioacuten necesaria para comprender la peticioacuten luego como muestra lagura 43 no es necesario que eacutesta sea entendida tanto en el cliente como en el servidor

Uso de hipermedios para representar el estado de una aplicacioacuten permitiendo que el estadode una aplicacioacuten Web particular esteacute almacenado en uno o maacutes documentos de hipertextoque residen bien en el servidor o en el cliente Esto permite al servidor saber el estado desus recursos sin necesidad de almacenar el estado de los clientes concretos

Figura 42 Operaciones denidas por HTTP

Como ya se mencionoacute REST se trata de un estilo arquitectoacutenico no un estaacutendar Sin embargohace uso de varios estaacutendares Web

HTTP HyperText Transfer Protocol

Figura 43 Operaciones denidas por HTTP

URL Uniform Resource Locator como el mecanismo de indenticacioacuten de recursos

XML - HTML - PNG - etc Como distintos formatos de representacioacuten de recursos

Tipos MIME como text-xml text-html image-png etc

44 SOAP

SOAP (siglas de Simple Object Access Protocol) es un protocolo estaacutendar que dene coacutemo dosobjetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML Esteprotocolo deriva de un protocolo creado por David Winer en 1998 llamado XML-RPC SOAPfue creado por Microsoft IBM y otros y estaacute actualmente bajo el auspicio de la W3C

441 Principios de disentildeo

La funcionalidad que aporta SOAP es la de proporcionar un mecanismo simple y ligero de in-tercambio de informacioacuten entre dos puntos usando el lenguaje XML SOAP no es maacutes que unmecanismo sencillo de expresar la informacioacuten mediante un modelo de empaquetado de datosmodular y una serie de mecanismos de codicacioacuten de datos Esto permite que SOAP sea uti-lizado en un amplio rango de servidores de aplicaciones que trabajen mediante el modelo decomunicacioacuten RPC (Remote Procedure Call)

SOAP consta de tres partes como podemos ver en la gura 44

El SOAP envelope que dene el marco de trabajo que determina queacute se puede introduciren un mensaje quieacuten deberiacutea hacerlo y si esa operacioacuten es opcional u obligatoria

Las reglas de codicacioacuten SOAP que denen el mecanismo de serializacioacuten que seraacute usadopara encapsular en los mensajes los distintos tipos de datos

La representacioacuten SOAP RPC que dene un modo de funcionamiento a la hora de realizarllamadas a procedimientos remotos y la obtencioacuten de sus resultados

A la hora de realizar el disentildeo de SOAP se han tenido en cuenta una serie de consideracionescon el n de cumplir una serie de objetivos claros objetivos que le daraacuten el potencial que resideen SOAP y que le haraacuten tan atractivo Eacutestos son

Establecer un protocolo estaacutendar de invocacioacuten a servicios remotos que esteacute basado enprotocolos estaacutendares de uso frecuente en Internet como son HTTP (Hiper Text TransportProtocol) para la transmisioacuten y XML (eXtensible Markup Language)para la codicacioacutende los datos

Figura 44 Partes de SOAP

Independencia de plataforma hardware lenguaje de programacioacuten e implementacioacuten delservicio Web

El logro de estos objetivos ha hecho de SOAP un protocolo extremadamente uacutetil ya que elprotocolo de comunicacioacuten HTTP es el empleado para la conexioacuten sobre Internetpor lo que segarantiza que cualquier cliente con un navegador estaacutendar pueda conectarse con un servidor re-moto Ademaacutes los datos en la transmisioacuten se empaquetan o serializan con el lenguaje XML quese ha convertido en algo imprescindible en el intercambio de datos ya que es capaz de salvar lasincompatibilidades que existiacutean en el resto de protocolos de representacioacuten de datos de la red

Por otra parte los servidores Web pueden procesar las peticiones de usuario empleando tec-nologiacuteas tales como Servlets paacuteginas ASP (Active Server Pages) paacuteginas JSP (Java ServerPages) o sencillamente un servidor de aplicaciones con invocacioacuten de objetos mediante CORBACOM o EJB

Un ejemplo tiacutepico de disentildeo de un servicio Web utilizando las ventajas de SOAP podemos veren la siguiente gura 45

Figura 45 Ejemplo de uso de SOAP

45 AMF

AMF (Action Message Format) es un protocolo binario de Adobe que va por la versioacuten AMF3Aunque por el nombre de la versioacuten pueda parecer que existan 3 cabe destacar que soacutelo existendos AMF0 y AMF3 Una de las mayores diferencias o mejoras que aporta AMF3 es que soporta

datos binarios (ByteArray) y int datos no soportados por AMF0 debido a que en la eacutepoca queaparecioacute el formato Flash Player no soportaba estos tipos de datos

AMF3 no es un protocolo para transferir informacioacuten sino que representa el formato en el quese transmite la informacioacuten en este caso un formato binario

La versioacuten de Moodle 25 viene con Zend_ AMF pero podemos utilizar tambieacuten la libreriacuteaamfPHP

AMFPHP

Zend_ amf httpframeworkzendcommanual112enzendamfhtml

Maacutes informacioacuten en httpdocsmoodleorgdevAMFPHP

46 Conguracioacuten de Moodle Web Services

Los Servicios Web habilitan que otros sistemas puedan entrar a Moodle y realizar operacionesPasaremos a detallar los pasos necesarios para su conguracioacuten y explicaremos distintos pruebasllevadas a cabo sobre su funcionamiento Para poder consumir de manera correcta unWeb Servicede Moodle seriacutea necesario antildeadir a la url que vamos a formar los paraacutemetros oportunos paralograr consumir el Web Service de manera satisfactoria Una vez antildeadidos ya podriacuteamos invocarla funcioacuten seleccionada

461 Activando los Servicios Web

Lo primero que debemos hacer es activar la opcioacuten general que habilita el uso de los serviciosweb En la gura 46 podemos observar la opcioacuten para la activacioacuten de este servicio para ello nosiremos a la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Servicios Externos

Figura 46 Activacioacuten Servicios Web

Esto solo es una opcioacuten a nivel global necesitando ahora activar los protocolos de comunciacionesque vamos a utilizar para ello deberemos ir a la opcioacuten textitAdministracioacuten del Sitio - Exten-siones - Servicios Web - Administrador de protoclos donde encontraremos las diferente opcionesque nos existen En la gura 47 podemos ver la pantalla de nuestra conguracioacuten con todos losprotocolos activados

Una vez activada la opcioacuten de Servicios Externos y seleccionados los protocolos que utilizaremosnecesitamos crear un Servicio Personalizado que no es maacutes que una etiqueta que aglutina los

Figura 47 Activacioacuten Protoclos

Servicios Web que ofrece Moodle y que pueden ser utilizados por los servicios externos Para ellodeberemos darle a la opcioacuten Agregar dentro de la opcioacuten Administracioacuten del Sitio - Extensiones- Servicios Web - Servicios Externos Como prueba habilitaremos un servicio llamado Uso_Servicio_ Web cuya creacioacuten podemos ver en la gura 48

Figura 48 Creacioacuten Servicio Personalizado

Una vez creado el Servicio Personalizado deberemos agregarle las funciones que queramos lesean permitidas pudiente tener maacutes de una En la gura 49 vemos como asociamos la creacioacutende usuarios al Servicio Personalizado

Terminado esto deberemos tener en el listado que nos muestra Moodle de Servicios personaliza-dos algo como lo mostrado en la gura 410

El siguiente paso es conceder los permisos apropiados para que este Servicio Personalizado puedeser usado por los usuarios pare ello debemos primero especicar quienes son los Usuarios au-torizados para ello en la linea de la lista de Servicios Personalizados deberemos pulsar sobre laopcioacuten usuarios autorizados donde apareceraacute una pantalla como 411 donde podremos escogerlos usuarios de los que se encuentran dados de alta en nuestro sistema

Y para terminar aunque este paso podriacutea ser realizado por el propio usuario si tuviera el per-miso de moodlewebservicecreatetoken seraacute la creacioacuten de un token el cual va ser la opcioacuten quevamos a utilizar para las pruebas de los Servicios Web de Moodle Para la creacioacuten del mismodeberemos entrar en la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Admin-istrar tokens y pulsar la opcioacuten Agregar para antildeadir un token nuevo como podemos apreciar en

Figura 49 Agregando funciones al Servicio Personalizado

Figura 410 Listado de Servicios Personalizados

la gura 412 teniendo la precaucioacuten de escoger como Servicio el Servicio Personalizado creadocon anterioridad Uso_ Servicio_ Web

En esta pantalla podemos poner varios tipos de restricciones

Restriccioacuten de IP Donde podemos indicar la direccioacuten IP desde donde

Restriccioacuten de Fecha Se puede denir hasta cuando seraacute valido este token siendo unabuena manera de poder probar cosas y no dejar puertas abiertas por error

En la gura 413 podemos ver el token asignado por el sistema para nuestro Servicio Personalizadoy que procederemos a utilizar para comprobar el funcionamiento de los Servicios Web de Moodle

462 Pruebas cliente Servicio Web

Procederemos ahora a desarrollar pruebas que utilicen los Servicios Personalizados creado Sepodriacutean haber utilizado el Cliente de prueba de servicio web que incorpora Moodle dentro dela opcioacuten Administracioacuten del Sitio - Desarrollo - Cliente de prueba servicio web pero hemosdecidido implementar una Web para comprobar la facilidad del funcionamiento del sistema y losdistintos resultados obtenidos seguacuten el protocolo utilizado

Utilizaremos la libreriacutea cURL de PHP cURL es una herramienta que permite abrir conexionesen una amplia variedad de protocolos y que estaacute disponible tanto como herramienta de consola(para ejecutar directamente con comandos) como en libreriacutea (para usar en vuestro coacutedigo) y quepermite hacer praacutecticamente todo manejo de cookies descarga de cheros binarios enviacuteos de

Figura 411 Alta de Usuarios Autorizados

Figura 412 Creacioacuten de Tokens

paraacutemetros GET y POST etc

La web creada para la introduccioacuten 414 de los usuarios seraacute equivalente para todos los procesosprocesos siendo el programa que da respuesta al formulario el que implemente la funcioacuten nece-saria para la introduccioacuten de los datos en Moodle

Los resultados de REST pueden mostrar los resultados del alta de dos maneras diferentes unaen formato XML como podemos ver en la gura 415 y otro en formatox JSON tambieacuten po-dremos ver en la gura Los resultados obtenidos tambieacuten pueden verse en el la gura 416

Figura 413 Lista de Tokens

Figura 414 Web de alta de usuarios

Figura 415 Resultado de REST en formato XML

Figura 416 Resultado de REST en formato JSON

Capiacutetulo 5

Herramientas Externas

51 Introduccioacuten

Las versiones de Moodle desde la 22 vienen con IMS LTI o External Tool de manera integradaEn versiones anteriores era necesario la instalacioacuten de plugins como LTI Provider (maacutes informa-cioacuten en la web de Moodle1 IMS LTI es un estandar de IMS learing2 para la interoperabilidadde herramientas Esto signica que las herramientas de aprendizaje tienen ahora un mecanismopara jar el modo en que pueden conectarse entre ellas sin problemas

En la praacutectica cuando un usuario se registra en Moodle puede conectarse a otras herramientascomo Wikis o Blogs y autenticarse de manera automaacutetica en estas

52 Estaacutendares IMS

Actualmente se realizan esfuerzos para la integracioacuten de servicios a una plataforma virtual deaprendizaje mediante un mecanismo reutilizable independiente del tipo de plataforma El IMSGlobal Learning Consortium viene desde hace tiempo trabajando en este enfoque IMS GLCpresenta un conjunto de estaacutendares que promueven el uso de servicios de aprendizaje digitales(Digital Learning Services) dentro de las plataformas de aprendizaje tradicionales IMS DigitalLearning Services estaacute integrado por los siguientes estaacutendares principales IMS Common Car-tridge [ims a] IMS Learning Tool Interoperability [ims c] y IMS Learning Information Services[ims b]

El IMS Learning Tool Interoperability es una especicacioacuten para facilitar la inclusioacuten de her-ramientas externas dentro de un curso El administrador de la plataforma de aprendizaje ges-tiona los servicios que podraacuten ser consumidos por la plataforma el docente decide que serviciosutilizaraacute en su curso y el estudiante hace uso de los mismos IMS LTI permite que distintos LMSconsuman un mismo servicio el cual no fue implementado teniendo en cuenta el tipo de LMSsino la implementacioacuten del estaacutendar desde el lado del proveedor

El enfoque del IMS LTI estaacute dirigido a la creciente demanda de un mecanismo reutilizable para laintegracioacuten de herramientas de terceros en el nuacutecleo de las plataformas LMS Estas herramientas

1httpsmoodleorgpluginsviewphpplugin=local_ltiprovider2httpwwwimsglobalorgtoolsinteroperability2cfm

37

pueden agregar funcionalidad especializada a los LMS El enfoque ofrece una solucioacuten basada enWeb Services igualmente aplicable a distintos lenguajes de programacioacuten

Las versiones del LTI son

LTI v10 ( LTI Basic ) ( publicado en mayo de 2010 ) proporciona un meacutetodo sencillopero estaacutendar para establecer una conexioacuten segura a una herramienta desde el interior deun consumidor de herramientas El lanzamiento de este enlace permite una experienciade aprendizaje sin problemas para los estudiantes que acceden a las aplicaciones ricas queparecen tener lugar dentro del ambiente de aprendizaje Versioacuten 10 es el primer paso en eldesarrollo continuo de LTI Figura 51

LTI v11 ( publicado en marzo 2012 ) antildeade la posibilidad de pasar de nuevo un resultadode la herramienta al Consumidor de herramientas Esto permite que los estudiantes recibenuna calicacioacuten o puntuacioacuten de su interaccioacuten con la aplicacioacuten de aprendizaje

LTI v111 ( publicado en julio de 2012 ) incluye soporte para el papel Mentor que se puedeutilizar para representar a un padre tutor o auditor

LTI v20 Aun en estado de desarrollo y proporciona una plataforma maacutes sosticado y ex-tensible para permitir integraciones maacutes profundas y un mayor apoyo para los serviciosy eventos LTI 2 se basa en LTI 1 mediante la incorporacioacuten de maacutes sosticada resulta-dos de informes y una rica arquitectura de extensiones que permite servicios adicionalesque se antildeadiraacuten gradualmente LTI 2 utiliza REST y JSON-LD para ofrecer esta nuevafuncionalidad

Figura 51 Esquema LTI Baacutesico

En la gura 52 podemos observar como se podriacutean utilizar las ventajas de LTI por parte decada unos de los actores a lo largo de la vida de la aplicacioacuten de servicios externos dentro de unaplataforma de aprendizaje

En la paacutegina web de IMS3 podemos encontrar una relacioacuten de aplicaciones certicadas comocompatibles con el estaacutendar LTI indicando la versioacuten del LTI que cumplen En la gura 53podemos ver las aplicaciones certicadas por UOC y en la gura 54 la informacioacuten sobre una deestas herramientas

3httpwwwimsglobalorgccalltoolscfm

Figura 52 Esquema utilizacioacuten LTI

Figura 53 Listado de herramientas LTI de la UOC

53 Herramientas externas en Moodle

La siguiente seccioacuten consiste en la aplicacioacuten de alguno de esto servicios externos en Moodlepara comprobar su funcionamiento Nos decantaremos para la primera prueba por WordPresspues aunque existen manuales al respecto la documentacioacuten en castellano es escasa

531 Wordpress

La versioacuten estaacutendar de Wordpress a la cual accedemos cuando nos abrimos cuenta en Wordpressno viene con las herramientas necesarias para la iteracioacuten mediante LTI por lo que procedere-mos a la instalacioacuten en nuestro servidor de Wordpress para pasar a la instalacioacuten de los pluginsnecesarios

La instalacioacuten ha consistido en la descarga de la web ocial 4 de la versioacuten 351 la cual hemoscopiado dentro del directorio htdocs de nuestra instalacioacuten de Xampp Hemos dado de alta unnuevo usuario en nuestra base de datos llamado username como podemos ver en la imagen 55 yposteriormente hemos seguido los pasos que el instalador nos iba ofreciendo para tener instalado

4httpwordpressorgdownload

Figura 54 Informacioacuten sobre la certicacioacuten

Wordpress bajo la url httplocalhostwordpress

Figura 55 Usuario de Wordpress

Deberemos congurar Wordpress para que trabaje como multisitio para lo que deberemos seguirlos pasos de conguracioacuten que podemos encontrar en la web ocial de Wordpress5 bajo el nombreCreate A Network consistente en los siguientes pasos

1 Realizar una copia de seguridad por si acaso

2 Modicar el chero wp-congphp incluyendo la siguiente linea encima de Thats allstop editing Happy blogging Multisite dene (WP_ ALLOW_ MULTISITE true)

Multisite dene (WP_ ALLOW_ MULTISITE true)

3 Installar un Network Para ello hemos de entra en la opcioacuten Administration -gtTools -gtNetwork Setup donde podremos congurar opciones sobre el nombre que queremos declararpara el nuevo sitio

4 Activar el Network para ello debemos modicar los cheros wp-congphp y htaccess porlo que seriacutea bueno que realizaacuteramos primero un copia de seguridad de los mismos Loscambios que debemos realizar son los siguientes

5httpcodexwordpressorgCreate_A_Network

En wp-congphp dene(MULTISITE true)dene(SUBDOMAIN_ INSTALL false)dene(DOMAIN_ CURRENT_ SITE localhost)dene(PATH_ CURRENT_ SITE wordpress)dene(SITE_ ID_ CURRENT_ SITE 1)dene(BLOG_ ID_ CURRENT_ SITE 1)

El chero htaccess debe quedar asiacute BEGIN WordPressltIfModule mod_ rewritecgtRewriteEngine OnRewriteBase wordpressRewriteRule icircndexphp$ - [L]

add a trailing slash to wp-adminRewriteRule ([_ 0-9a-zA-Z-]+)wp-admin1wp-admin [R=301L]

RewriteCondREQUEST_ FILENAME -f [OR]RewriteCondREQUEST_ FILENAME -dRewriteRule - [L]RewriteRule ([_ 0-9a-zA-Z-]+)(wp-(content|admin|includes)) $2 [L]RewriteRule ([_ 0-9a-zA-Z-]+)( php)$ $2 [L]RewriteRule indexphp [L]ltIfModulegt

END WordPress

5 Esto nos habraacute creado en la parte izquierda de la barra de herramientas de Wordpressuna nueva opcioacuten llamada My Sites que contendraacute un listado de los sitios de nuestroWordpress

El siguiente paso seraacute la descarga del plugin los cual podremos hacerlos desde la web de sour-forgenet 6 En esta web se detalla informacioacuten sobre el plugin y como se debe instalar Siguiendolos pasos que tenemos en el mismo procederemos a la descarga y el desplegado del mismo en lacarpeta wp-contentmu-plugins Salimos de Wordpress y volvemos a entrar como superusuariosi entramos dentro de la nueva red realizada podremos ver que dentro de LTI Consumers Keystendremos la opcioacuten LTI Consumers Keys como podemos ver en la imagen 56

Aquiacute deberemos crear la clave del consumidor del servicio y la clave secreta que nos permitiraacute aMoodle conectarse a Wordpress

Una vez que tenemos la clave secreta y del consumidor deberemos volver a Moodle entrandocomo administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

6httpsourceforgenetappsmediawikilearningappsindexphptitle=LTI4Wordpress

Figura 56 Servicios LTI en Wordpress

Figura 57 Listado de claves de LTI en Wordpress

-LTI En esta paacutegina podremos rellenar nuestras opciones

Tool Name Seraacute el nombre que tendraacute la herramienta y deberemos poner alguno indicativode la herramienta que estemos utilizando

Tool Base URL Es la direccioacuten de la herramienta en nuestro caso httplocalhostwordpress

Deberemos rellenar con los datos obtenidos en Wordpress la clave de consumidor y la clavesecreta

Es importante marcar Show tool type when creating tool instances para que aparezcaposteriormente al crear los recursos en nuestros cursos

Para poder probar el sistema hemos creado un curso dentro de Moodle llamada WordpressLTIdonde daremos de la siguiente manera de alta 59

Dentro de nuestro curso seleccionamos la opcioacuten de Edicioacuten

Pulsamos sobre Antildeadir una actividad o un recurso

Seleccionamos External Tool

Rellenamos las opciones

bull Nombre de la Actividad Cualquiera de nuestra eleccioacuten

Figura 58 Conguracioacuten LTI en Moodle

bull Tipo de herramienta externa El nombre que le pusimos a la herramienta externa enla conguracioacuten LTI de Moodle

bull Launch Container Hemos elegido la opcioacuten Incrustar para ver el resultado

Figura 59 Conguracioacuten Herramienta Externa

Una vez congurado podemos lanzar la herramienta externa teniendo como resultado la gura510

Figura 510 Wordpress integrado en Moodle

532 ChemVantage

ChemVantage es un recurso gratuito para la educacioacuten cientiacuteca que incluye ejercicios de gradoejercicios de preparacioacuten exaacutemenes de la praacutectica conferencias de video y libros de texto enliacutenea gratis Fue creado por ChemVantage LLC que fue fundada por el Prof Chuck Wight queha ensentildeado Quiacutemica General en la Universidad de Utah desde 1984 (ChemVantage 2011)

Nos hemos puesto en contacto con Chuck Wight (adminchemvantageorg) para solicitarle unaclave de consumidor y secreta para poder probar este recurso desde moodle Las opciones y elcorreo puede verse en la gura 511

Una de las cosas maacutes importantes de ChemVantage y por lo que nos hemos decidido a probar esque permite la devolucioacuten de las notas obtenidas en los ejercicios realizados en las herramientasexternas a Moodle El alumno podraacute realizar las tareas en esta herramienta externa y luego sercalicadas en Moodle

ChemVantage estaacute certicada por IMS 7 como un proveedor de herramientas LTI v11 y comotal funciona desde nuestro propio LMS para llevar a cabo la autenticacioacuten de sitios provee decuentas y devuelve resultados de asignacioacuten de estudiantes con el libro LMS grado automaacutetica-mente

Los recursos disponible son ChemVantage son principalmente los siguientes

1 QuizzesLos ejercicios presentados aquiacute estaacuten disentildeados para animar a los estudiantes a leer y en-tender los libros de texto utilizados en el curso Las preguntas se basan en material que sepresente en su mayor parte en los textos de introduccioacuten de quiacutemica Los iacutetems de preguntastienen respuestas straighforward no requieren caacutelculos detallados Las preguntas se presen-tan en varios formatos diferentes incluyendo opcioacuten muacuteltiple verdadero falso casilla devericacioacuten ll-in-the-blanco y numeacutericas Cada cuestionario se compone de 10 preguntasextraiacutedas al azar de una base de datos con muchas maacutes preguntas En el proceso de tomarvarias pruebas para mejorar sus calicaciones los estudiantes probablemente encuentran

7httpdevelopersimsglobalorgcoursechemvantagehtml

algunas preguntas repetidas de concursos anteriores sin embargo es poco probable quecualquiera de los dos cuestionarios contendraacute exactamente el mismo conjunto de preguntasen el mismo orden Asignando pruebas para ser completado antes de la conferencia losprofesores pueden estar seguros de que sus estudiantes tengan un poco de exposicioacuten almaterial Esto permite una mayor discusioacuten el diaacutelogo y la participacioacuten en el aula y haceel aprendizaje maacutes divertido (de verdad)

2 Video LecturesUna serie de conferencias de viacutedeo de 10 minutos sobre una variedad de temas de QuiacutemicaGeneral es accesible desde la paacutegina principal Los videos estaacuten disentildeados para reforzar lospuntos principales que se presentan en muchos libros de texto

3 HoweworksLas tareas estaacuten disentildeadas para dar a los estudiantes la praacutectica en la resolucioacuten de proble-mas cuantitativos que tienen respuestas numeacutericas Cada alumno puede descargar la tareatrabajar los problemas y presentar las respuestas en liacutenea Respuestas son juzgados a sercorrecta si la solucioacuten numeacuterica de acuerdo con la solucioacuten que se encuentra en la base dedatos dentro de una tolerancia especicada (indicado para cada problema) El sitio informaa los estudiantes que las respuestas son correctas para que puedan rehacer problemas malresueltos y volver a presentar las respuestas Cada problema se basa en una plantilla queatrae paraacutemetros al azar por lo que la respuesta correcta es diferente para cada estudianteEsto hace que sean adecuadas para la colaboracioacuten y el trabajo en grupo porque a pesarde que el grupo puede trabajar para encontrar un algoritmo correcto para resolver un prob-lema cada estudiante tendraacute que usar el algoritmo para encontrar la solucioacuten detallada asu propio problema

4 Practice ExamsLos estudiantes pueden realizaar exaacutemenes de praacutectica cronometrados que muestran laspreguntas de un grupo de 3 o maacutes temas Cada examen estaacute disentildeado para tardar unos60 minutos o menos e incluye una seleccioacuten de 10 preguntas Las praacutecticas de exaacutemenespueden repetirse cuantas veces se desee Las preguntas numeacutericas son parametrizadas loque es muy poco probable que un estudiante realice alguna vez dos exaacutemenes de praacutecticaideacutenticos

5 Portofolio PageCada estudiante puede acceder a una paacutegina que le da la puntuacioacuten obtenida en cada prue-ba y la asignacioacuten de tareas Los estudiantes que son miembros de un grupo tienen unapaacutegina de resultados asociados a las tareas de grupo Hay una paacutegina de carpeta separadaque contiene un resumen de todas las actividades realizadas en ChemVantage incluyendovideos vistos cuestionarios completados resolver problemas con la tarea y la praacutectica deexaacutemenes completados Las puntuaciones en los exaacutemenes de praacutectica son desagregadospara revelar fortalezas y debilidades estudiantes por temas

Hemos procedido a darlo de alta en LTI como hicimos con Wordpress Entramos en Moodle co-mo Administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

Figura 511 Correo de Chuck Wight

-LTI quedando como resultado la siguiente hoja de paraacutemetros gura 512

El siguiente paso seraacute antildeadir la herramienta dentro de nuestro curso para ello pulsaremos sobreAntildeadir una actividad o un recurso Deberemos seleccionar External Tool y rellenamos las op-ciones de la herramienta seleccionando como Tipo de herramienta externa la opcioacuten creada enel apartado de LTI de Moodle

Una vez congurado la herramienta en Moodle podemos entrar para realizar una personalizacioacutende la herramienta gura 513 esta consiste en indicar si el alumno cuando se conecta realiza undeterminado tarea o puede elegir navegar por la web de ChemVantage para poder disfrutar dela cantidad de recursos que se encuentran disponibles

Cuando el usuario pulsa sobre la opcioacuten de esta herramienta externa en Moodle lo primero quese le muestra es la informacioacuten sobre su perl en Chemvantage 514Como hemos visto en los paraacutemetros de conguracioacuten existe la posibilidad de llamar a unaherramienta externa incrustaacutendola dentro de Moodle o abrieacutendolo en una paacutegina web nuevaCon esta segunda opcioacuten no hemos conseguido que funcione correctamente la importacioacuten de lasnotas En cambio si la herramienta externa estaacute incrustada permite esa vinculacioacuten

Figura 512 Conguracioacuten de paraacutemetros LTI

Figura 513 Opciones de inicio de la herramienta

Figura 514 Pantalla de utilizacioacuten de la herramienta por el usuario

Capiacutetulo 6

Middleware

61 Introduccioacuten

La uacuteltima opcioacuten seriacutea utilizar una arquitectura middleware de integracioacuten que permita la inte-gracioacuten ligera de muacuteltiples herramientas existentes en el Moodle

62 GluePS

GLUE-PS es una arquitectura de middleware que permite una interoperabilidad ligera entrelos diferentes lenguajes de disentildeo de aprendizaje y diferentes entornos de aprendizaje virtualEsta interoperabilidad permite a los maestros y otros profesionales que particularicen (es decirpara personalizar el disentildeo de aprendizaje abstractoa la clase particular los participantes y laeleccioacuten de los instrumentos en los que va a ser promulgada) desplieguen (es decir para crearde forma semiautomaacutetica las actividades necesarias en el VLE recursos etc para la aprobacioacutendel disentildeo particularizado) e incluso para llevar a cabo ciertos cambios en el tiempo de ejecucioacuten(por ejemplo modicar la composicioacuten del grupo agregar o quitar recursos de las actividadesetc) Todo esto a partir de disentildeos en distintos lenguajes de disentildeo de aprendizaje tales como laespecicacioacuten IMS-LD aprendizaje

Por otra parte GLUE-PS tambieacuten permite desplegar y gestionar disentildeos de aprendizaje en en-tornos virtuales de aprendizaje que integren herramientas de aprendizaje externos (tales comointegrar en Moodle herramientas como Google Docs y muchos otros) - lo que llamamos Am-bientes de Aprendizaje Distribuido (DLE Distributed Learning Enviroments) Esto se consiguegracias a la arquitectura de GLUE para la integracioacuten de los entornos virtuales de aprendizajey herramientas externas

621 Instalacioacuten

Para realizar la instalacioacuten de GLUE-PS nos hemos descargado el software necesario de la webde los desarrolladores1 descargando la opcioacuten de autenticacioacuten centralizada La instalacioacuten haconstado de tres partes que pasaremos a describir a continuacioacuten

1httpwwwgsicuvaesglue

49

Figura 61 Arquitectura de GLUE

La primera parte consiste en la instalacioacuten del GLUEletManager y los adaptadores GSIC toolAunque el sistema viene preparado para Linux o Windows siendo Windows la explicacioacuten quevamos a desarrollar por estar utilizando este sistema operativo con Xampp

1 Crear el directorio GLUE_ HOME El cual hemos creado para mayor comodidad en la raiacutezdel disco duro

2 Denir la variable del sistema GLUE_ HOME con el valor de la direccioacuten completa deldirectorio de GLUE del punto anterior Para ello hemos pulsado botoacuten derecho sobre MiPc Propiedad Opciones Avanzadas Variables de Entorno procediendo a pulsar el botoacutenNueva para crear la variable en cuestioacuten

3 Extraemos en el directorio del punto (1) el paquete descargado de la paacutegina de los desar-rolladores

4 Ejecutar la instalacioacuten del cheroGLUE_ HOMEbininstall gluebat para registar GLUElet-Manager y GSIC tool como un servicio de Windows Tambieacuten este paso crearaacute un cheroen GLUE_ HOMEtool_ adapteradapterdata para proveer de persistencia a los objetoscreados con el adaptador GSIC tool

A continuacioacuten daremos de alta en nuestro gestor de bases de datos un para de bases de datosque necesita GLUEletManager Para ellos seguimos los siguientes pasos

1 Abrimos la consola de phpMyaAdmin para cargar y ejecutar el chero create_ GLUE_databasessql que se encuentra en GLUE_ HOMEmanagerconfdb

2 Modicamos el chero GLUE_ HOMEmanagerconfMETA-INFpersistencexml paradarle los paraacutemetros necesarios para que JDBC se conecte a nuestra base de datos Losparaacutemetros modicados puede verse en la imagen 62

Figura 62 Paraacutemetros modicados en persistencexml

La segunda parte consiste en el registro interno de los adaptadores de las herramientas para seraccedido con GLUEletManager La distribucioacuten trae un chero para facilitar la conguracioacuten delos adaptadores que trae consigo y para su instalacioacuten deberemos ejecutar el chero GLUE_HOMEmanagerconfdbll _ internal_ Registrysql Alguna de las herramientas necesitanuna conguracioacuten maacutes completa como puede ser Google Docs adapter que necesita una cuentade Gmail para poder crear documentos en Google Docs por lo que deberemos modicar el nom-bre de usuario y contrasentildea

La uacuteltima parte consiste en la instalacioacuten del adaptardor de Moodle como VLE utilizado Estainstalacioacuten es como cualquier otro moacutedulo de Moodle 2 La carpeta que deberemos copiar seraacutela del adaptador correspondiente a Moodle que se encuentra en la carpeta GLUE_ HOMEvle_adpatersmoodle_ vle_ adapter Una vez entremos en nuestro Moodle como administrador nosapareceraacute un mensaje indicaacutendonos que el nuevo moacutedulo esta instalado Para congurar el nuevomoacutedulo debermos ir a Noticaciones - Modulos - Actividades como podemos ver en la gura 63para congurar los paraacutemetros la URL del GLUEletManager y el tiempo de espera

Figura 63 Paraacutemetros del moacutedulo GLUE

Cuando el profesor quiera crear una nueva actividad dependiente de los adaptadores de GLUEdeberaacute agregar una actividad maacutes pulsando para ello en esta opcioacuten dentro del bloque deseadopara seleccionar luego el tipo de actividad GLUElet como podemos ver en la gura64

622 Creando un Doodle

El adaptador Doodle permite la creacioacuten conguracioacuten y gestioacuten de instancias del Doodle Cadaencuesta Doodle es considerado un instancia diferente Ademaacutes este adaptador permite realizarademas la conguracioacuten inicial de encuestas Doodle incluyendo el nombre de la encuesta unadescripcioacuten y un conjunto de posibles respuestas

A continuacioacuten antildeadiremos Doodle en un bloque de Moodle para ellos pulsaremos la opcioacuten deAgregar actividad GLUElet lo cual nos mostraraacute la paacutegina65 donde deberemos rellenar comomiacutenimo el nombre de la actividad y el tipo de herramienta seleccionado en este caso Doodle(httpdoodle-testcom)

2httpdocsmoodleorgenInstalling_contributed_modules_or_plugins

Figura 64 Creando una actividad GLUElet

La primera vez que pulsemos sobre la nueva actividad creada apareceraacute un pantalla 66 dondepodemos congurar diferentes elementos de la encuesta desarrollada con Doodle como son eltiacutetulo una pequentildea descripcioacuten y luego las opciones posibles con un liacutemite de 10

El resultado nal seraacute la incrustacioacuten de una encuesta Doodle dentro de nuestro Moodle comopodemos ver en la gura67

Figura 65 Antildeadiendo Doodle como actividad

Figura 66 Opciones iniciales de conguracioacuten de Doodle

Figura 67 Doodel dentro de Moodle

Capiacutetulo 7

Conclusiones Finales

71 Conclusiones Finales

El proyecto actual nos ha servido para acercarnos a las diferentes tecnologiacuteas que permiten lacomunicacioacuten entre Servicios Webs Hemos desarrollado una primera labor de investigacioacuten queha requerido el aprendizaje de diferentes herramientas de control de documentacioacuten y referenciascomo Zotero y Mendeley

La documentacioacuten recabada en el proceso inicial de revisioacuten de documentos nos ha aportadoun visioacuten general de los diferentes sistemas virtuales de aprendizaje que podemos encontrarnosmuchos de ellos gratuitos y las diferentes soluciones que se plantean a la necesidad de incluirrecursos de otros fabricantes que en principio no fueron concebidos para ser utilizados dentro deuna plataforma VLE

Para poner en praacutectica la diferentes opciones encontradas se han montado diferentes maacutequinasvirtuales sobre las que se han probado las mismas Las conclusiones nales se pasan a detallar

IMS LTIEsta solucioacuten de integracioacuten mediante el cumplimiento de unos protocolos y certicacionesde las herramientas que lo cumplen es en principio la que podriacutea parecer la mejor opcioacutenpero la falta de compromiso de los diferentes fabricantes de Servicios Web y la luchapara imponer sus propios estaacutendares hace que aun quede mucho para que esta opcioacuten seacomo tal real

Si vemos el nuacutemero de aplicaciones certicadas para usar IMS LTI apenas superan las 50 yla mayoriacutea solo cumple la especicacioacuten v10 lo cual signica que la integracioacuten solo solu-ciona el problema de llamar a un recurso externo desde Moodle Pocas son las que cumplenla v11 que permite obtener en Moodle una valoracioacuten de los ejercicios desarrollados en unaactividad externa

La versioacuten v20 que daraacute maacutes opciones a la hora de interactuar con actividades externasauacuten esta en desarrollo y nada se sabe sobre posibles fechas para su presentacioacuten Luegocerticacioacuten de herramientas etc

55

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 4: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

Resumen

En el presente documento vamos a realizar la descripcioacuten del trabajo desarrollado para el proyectonal de carrera en el mismo se han analizado los diferentes documentos respecto a la coreografiacuteay orquestacioacuten de Servicios Web en Moodle como plataforma VLE El proceso es detallado ensu integridad terminando con tres capiacutetulos donde se detallan las diferentes maneras que Moodleofrece de conexioacuten con otro Servicios Webs

Iacutendice general

1 Revisioacuten Sistemaacutetica de la Literatura 111 Objetivos del SLR 112 Estudio Inicial 1

2 Plataformas VLE e integracioacuten 721 VLE 7

211 Ejemplos de VLEs 822 Herramientas de Software 8

221 Integracioacuten de herramientas 9222 Problemas en la integracioacuten 11223 Enfoques de la integracioacuten 11

23 Servicios Web 12231 Orquestacioacuten y Coreografiacutea de Servicios Web 14232 Estaacutendares de Orquestacioacuten de Servicios Web 16233 Estaacutendares de Coreografiacutea de los Servicios Web 17

24 Moodle 17241 otras plataformas 18

3 Organizacioacuten y Sistema Inicial 2131 Lanzamiento del proyecto 2132 Denicioacuten del proyecto 2133 Anaacutelisis de requisitos 21

331 Cuestiones Realizadas 21332 Fuentes de datos y buacutesqueda 21333 Criterios de inclusioacuten y exclusioacuten 22334 Asegurar la calidad 22335 Extraccioacuten de datos y anaacutelisis 22336 Fase de revisioacuten 22337 Fase de Pruebas 22

34 Calendario de Trabajo 2335 Hitos principales 2336 Instalacioacuten base 25

4 Servicios Web de Moodle 2741 Introduccioacuten 2742 Servicios Web de Moodle 2743 REST 28

i

431 Principios de disentildeo 2944 SOAP 30

441 Principios de disentildeo 3045 AMF 3146 Conguracioacuten de Moodle Web Services 32

461 Activando los Servicios Web 32462 Pruebas cliente Servicio Web 34

5 Herramientas Externas 3751 Introduccioacuten 3752 Estaacutendares IMS 3753 Herramientas externas en Moodle 39

531 Wordpress 39532 ChemVantage 44

6 Middleware 4961 Introduccioacuten 4962 GluePS 49

621 Instalacioacuten 49622 Creando un Doodle 51

7 Conclusiones Finales 5571 Conclusiones Finales 55

8 Conceptos 57

Bibliografiacutea 59

Iacutendice de guras

11 Resultados SLR 212 Exportacioacuten en IEEE 213 Importacioacuten en Hoja de Caacutelculo 314 Exportacioacuten en SD 315 Exportacioacuten en SD 416 Resumen de resultados 417 Conguracioacuten de Google Scholar 418 Resultados en Zotero 5

21 Anaacutelisis de VLEs 922 Top 100 Tools - Abril 2013 1023 Ciclo de vida del aprendizaje colaborativo 1124 Problemas de integracioacuten 1225 Problemas de integracioacuten 1326 Enfoques de arquitectura de integracioacuten 1427 Orquestacioacuten y Coreografiacutea de Servicios Web 1628 Moodle - Abril 2013 17

31 Proceso para dirigir la revisioacuten 2332 Diagrama de Gantt 2433 Panel de control de XAMPP 2634 Gestor de bases de datos phpMyAdmin 26

41 Capas en Moodle 2842 Operaciones denidas por HTTP 2943 Operaciones denidas por HTTP 3044 Partes de SOAP 3145 Ejemplo de uso de SOAP 3146 Activacioacuten Servicios Web 3247 Activacioacuten Protoclos 3348 Creacioacuten Servicio Personalizado 3349 Agregando funciones al Servicio Personalizado 34410 Listado de Servicios Personalizados 34411 Alta de Usuarios Autorizados 35412 Creacioacuten de Tokens 35413 Lista de Tokens 36414 Web de alta de usuarios 36415 Resultado de REST en formato XML 36

iii

416 Resultado de REST en formato JSON 36

51 Esquema LTI Baacutesico 3852 Esquema utilizacioacuten LTI 3953 Listado de herramientas LTI de la UOC 3954 Informacioacuten sobre la certicacioacuten 4055 Usuario de Wordpress 4056 Servicios LTI en Wordpress 4257 Listado de claves de LTI en Wordpress 4258 Conguracioacuten LTI en Moodle 4359 Conguracioacuten Herramienta Externa 43510 Wordpress integrado en Moodle 44511 Correo de Chuck Wight 46512 Conguracioacuten de paraacutemetros LTI 47513 Opciones de inicio de la herramienta 47514 Pantalla de utilizacioacuten de la herramienta por el usuario 47

61 Arquitectura de GLUE 5062 Paraacutemetros modicados en persistencexml 5063 Paraacutemetros del moacutedulo GLUE 5164 Creando una actividad GLUElet 5265 Antildeadiendo Doodle como actividad 5366 Opciones iniciales de conguracioacuten de Doodle 5367 Doodel dentro de Moodle 54

Capiacutetulo 1

Revisioacuten Sistemaacutetica de la Literatura

11 Objetivos del SLR

Hemos partido de un SLR detallado en la PEC1 bastante ambicioso en el que se intentaronabordar la buacutesqueda de herramientas y estado actual de la coreografiacutea y orquestacioacuten de serviciosweb en la plataforma Moodle Pasaremos a detallar el estudio realizado y los resultados obtenidos

12 Estudio Inicial

La fase de planicacioacuten inicial incluiacutea el la buacutesqueda para la obtencioacuten de estudios o trabajos enlas siguiente libreriacuteas

IEEEXplore [IEEEX] httpieeexploreieeeorg

Science Direct [SD] httpwwwsciencedirectcom

SpringerLink [SL] httpwwwspringerlinkcom

Las cadenas de buacutesqueda empleadas aparecen listadas en la tabla 11 de la paacutegina 1 En la tablaTAK indican Title Abstract Keywords y A indica All Ambos casos se reeren a los campos debuacutesqueda utilizados

Cuadro 11 Fuentes de datos y cadenas de buacutesquedas reali-zadas

Libreriacutea Buacutesqueda AacutembitoIEEEX (Moodle AND Web services) TAKIEEEX (Orchestration OR Coreography) ANDWeb Ser-

vicesTAK

IEEEX (Orchestration OR Coreography) AND Moodle TAKIEEEX (Orchestration OR Coreography) AND (lms OR

Learning Management System)TAK

SD (Moodle AND Web services) TAKSD (Orchestration OR Coreography) ANDWeb Ser-

vicesTAK

continuacutea

1

Cuadro 11 continuacioacutenLibreriacutea Buacutesqueda AacutembitoSD (Orchestration OR Coreography) AND Moodle TAKSD (Orchestration OR Coreography) AND (lms OR

Learning Management System)TAK

SL (Moodle AND Web services) TAKSL (Orchestration OR Coreography) ANDWeb Ser-

vicesTAK

SL (Orchestration OR Coreography) AND Moodle TAKSL (Orchestration OR Coreography) AND (lms OR

Learning Management System)TAK

Los resultados obtenidos podemos observarlos en la gura 11

Figura 11 Resultados SLR

Los resultados de Springer Link para la consulta (Orchestration OR Coreography) ANDWeb Services fueron en principio un problema por la cantidad de artiacuteculos que arrojaba2734 en total aun asiacute empezoacute a trabajar con ello La idea de un SLR es realizar una lecturainicial de los Abstracts para ver si la informacioacuten obtenida es de nuestro intereacutes y si fuera asiacuteprofundizar en la lectura del documento

Comenzamos trabajando con la libreriacutea de IEEE Digital Library (Xplore) El portal de estalibreriacutea nos facilitoacute mucho el trabajo pues pudimos permite la opcioacuten de exportar de manerasencilla como podemos ver en la gura 12 a una hoja de calculo que hemos utilizado para irdetallando aquellos documentos que hemos considerado importantes durante el estudio

Figura 12 Exportacioacuten en IEEE

Los resultados exportados por este portal son bastante completos sobre todo porque contiene elAbstract de los documentos por lo que la lectura de los mismos no se tiene que realizar en demanera individual en la web o descargando los documentos En la gura 13 podemos ver comose importaron en nuestra hoja de calculo los datos obtenidos

Figura 13 Importacioacuten en Hoja de Caacutelculo

Despueacutes de realizar la lectura los Abstracts hemos continuado con ScienceDirect donde los re-sultados fueron menores que los obtenidos con IEEE Este portal tambieacuten permite la opcioacuten deexportar de manera sencilla como podemos ver en la gura 14 permitiendo la opcioacuten de incluirlos Abstracts

Figura 14 Exportacioacuten en SD

Para acabar este uacuteltimo bloque nos quedaba revisar SpringerLink el cual se presentaba comoel maacutes prometedor por el gran nuacutemero de resultados obtenidos La revisioacuten de tantos artiacuteculos sepresentaba ardua pero no se esperaba que fuera tanto pues el portal no permite la exportacioacutende los Abstracts de los documentos encontrados Realizar la descarga de 2924 documentos parasu revisioacuten se nos haciacutea algo inviable dentro de los plazos para entrega del presente proyectosiendo por lo tanto seguir con los paraacutemetros de buacutesqueda iniciales En la gura 15 podemosver cuales son los campos que permite la exportacioacuten de este portal

Esto hizo replantearnos el estudio por lo que hemos replanteado el mismo reduciendo los con-ceptos a buscar para ello hemos realizado la buacutesqueda solo de los artiacuteculos directamente rela-cionados con Moodle y la coreografiacutea y orquestacioacuten de servicios web es decir (OrchestrationOR Coreography) AND Moodle y hemos incluido un nuevo buscador Google Scholar

Figura 15 Exportacioacuten en SD

httpscholargooglecom para de esta manera compensar la reduccioacuten de las buacutesquedas

La buacutesqueda por lo tanto puede ser resumida en la siguiente tabla 16 donde podemos comprobarla gran cantidad de artiacuteculos encontrados gracias a la utilizacioacuten de Google Scholar

Figura 16 Resumen de resultados

Los resultados de Google Scholar eran prometedores pero tambieacuten presentaban problemas parasu exportacioacuten despueacutes de varias consultas para buscar informacioacuten al respecto se conguroacute labuacutesqueda para que permitiera la exportacioacuten de los enlaces encontrados como podemos ver enla gura 17 pero esta opcioacuten nos volviacutea a obligar a realizar una consulta individual de cadaelemento

Figura 17 Conguracioacuten de Google Scholar

Aunque podriacuteamos realizar la buacutesqueda de esta manera sobre todo por los resultados esperadosel tener que realizar la buacutesqueda desde el navegador presentando solo 20 resultados por paacutegina seantojaba bastante pesada sobre todo si se teniacutea que retomar la buacutesqueda en diversos periodos detiempo La solucioacuten que se encontroacute fue la instalacioacuten de Zotero httpwwwzoteroorg Laherramienta permite instalacioacuten de un complemento para Firefox que se utilizoacute para realizar ladescarga de todos los enlaces Este complemento tambieacuten permite la visualizacioacuten de los enlacesen la web como podemos ver en la gura 18 Aun asiacute se decidioacute realizar la instalacioacuten de laversioacuten consola de Zotero para trabajar mejor con carpetas y de esta manera reorganizar lasreferencias encontradas

Figura 18 Resultados en Zotero

Capiacutetulo 2

Plataformas VLE e integracioacuten

En esta seccioacuten describiremos el Entorno Virtual de Aprendizaje pondremos ejemplos de ellos yveremos las necesidades que generan en el desarrollo del proceso de aprendizaje por la falta deintegracioacuten de nuevas herramientas algunas de ellas utilizadas por si sola como herramientas deaprendizaje Detallaremos los problemas de la integracioacuten y expondremos las posibles solucionesa ello

21 VLE

El Entorno Virtual de Aprendizaje (VLE - Virtual Learning Enviroment) suele ser un teacuterminomuy usado en la educacioacuten a traveacutes de ordenador pero no existe una denicioacuten acordada porlo que muchas veces es confundido con otros teacuterminos anaacutelogos como Learning ManagementSystem (LMS) Sistema de Gestioacuten de Contenidos (Content Management System - CMS) o unaPlataforma de aprendizaje (Learning Plataform - LP)

Las deniciones maacutes aceptadas para VLE pues dada en el 2000 por Joint Information Sys-tems Committee (JISC) en el 2000 [Stiles 2000] indicando que son ccedilomponents in which learn-ers and tutors participate in on-line interactions of various kinds including on-line learningExisten otros autores que no estaacuten de acuerdo con la necesidad de interacciones on-line como[Dillenbourg et al 2002] que los excluyen de su denicioacuten Britain an Liber [Britain et al 2004]tambieacuten omiten la comunicacioacuten on-line de su denicioacuten indicando que las VLEs pretender darcabida a una amplia gama de estilos de aprendizaje y objetivos para fomentar el aprendizajecolaborativo y basado en recursos para permitir una mayor intercambio y reutilizacioacuten de recur-sos [Britain et al 2004]

Una de las deniciones mas formal y comuacutenmente citada fue dada en el trabajo de Dillengourgs[Dillenbourg et al 2002] el cual expone siete argumentos distintivos

1 VLEs are designed information spaces in which multiple authors can produce both struc-tured and unstructured information

2 VLEs are social spaces that promote interactions and discussions both synchronously orasynchronously

3 VLEs are explicitly represented ranging from text-based interfaces to complex 3D graphicalsystems

7

4 VLE students are also actors thus producing rather than consuming contents

5 VLEs are not restricted to distance education supporting also presential and blended learn-ing situations

6 VLEs integrate heterogenous technologies (including a variety of tools supporting diferenttasks) and multiple pedagogical approaches because integration is under the idea of envi-ronment

7 Most VLEs overlap with physical environments at some point since learning activities mayinvolve the use of non-computerized resources or interactions among participants

Por tanto el VLE conlleva un paso hacia delante por constituir un espacio virtual que utilizatecnologiacuteas heterogeacuteneas en el que los alumnos son activos usuarios siendo sistemas centrados enlos educadores que permiten el disentildeo instanciacioacuten promulgacioacuten y evaluacioacuten de situacionesde aprendizaje colaborativo a traveacutes de un conjunto de actividades de aprendizaje que puedenser siacutencronas o asiacutencronas cara a cara o a distancia individuales o de manera colaborativa

211 Ejemplos de VLEs

Existen actualmente diversos VLEs amplimente difundidos y no paran de aparecer nuevos loscuales intentan incluir nuevos teacutecnicas aplicadas al aprendizaje como puede ser el 3D [Nonis 2005]Hemos realizado el resumen por [Alario-Hoyos et al 2012] para mostrar una tabla en la gura21 de los maacutes importantes Moodle Lams LRN Sakai Blackboard Claroline Sharepoint LMSy sus caracteriacutesticas teacutecnicas y funcionales

22 Herramientas de Software

El uso de aplicaciones software como apoyo al aprendizaje ha jugado un papel muy importantesobre todo a la incorporacioacuten del ordenador a nuestra vida diaria Sin embargo no ha sido hastalos uacuteltimos antildeos con la difusioacuten de las tecnologiacuteas web y la posibilidades que ofrece de accesoraacutepido y ubicuo a los recursos e informacioacuten lo que ha provocado la proliferacioacuten de las her-ramientas de Software como Servicio (Software as Service - SaaS) siendo adoptadas en todas lasetapas del aprendizaje

La tendencia actual de los usuarios a generar y compartir contenidos a traveacutes de las herramientasde la llamada Web 20 la mayoriacutea de las cuales son aplicaciones SaaS ha cambiado la formade aprender fomentando la comunicacioacuten colaboracioacuten y ha fomentado un aprendizaje masconstructivista Algunos ejemplos de estas herramientas son

Google Drive httpsdrivegooglecom

Twitter httpstwittercom

Delicious urlhttpsdeliciouscom

Google Maps httpsmapsgooglees

Flickr httpwwwflickrcom

Doodle httpwwwdoodlecom

Figura 21 Anaacutelisis de VLEs

Miles de estas herramientas son usadas como apoyo en las actividades de aprendizaje Muchasde estas herramientas podemos encontrarlas valoradas en un ranking en webs como Tops 100Tools for Learning1 de la cual mostramos la gura 22 tambieacuten podemos encontrarlas en CcediloolsTools for Schools2

221 Integracioacuten de herramientas

Aunque hemos podido ver que existe un gran nuacutemero de herramientas software la cuales puedenapoyar el desarrollo docente son pocos los VLEs y otras plataformas similares utilizadas porlos educadores para disentildear y prestar sus actividades formativas las que incluyen un nuacutemeromuy restringido de estas herramientas de manera integrada Los educadores suelen indicar laslimitaciones que los VLEs tienen en este caso demandando maacutes alternativas para soportar susparticulares aprendizajes colaborativos Por ello ha emergido con fuerza la integracioacuten de her-ramientas externas en los VLEs sobre todo para el uso de SaaS y aplicaciones Web 20

Debemos tener en cuenta que

La integracioacuten de las herramientas actuales en los entornos VLEs actuales suele ser laopcioacuten maacutes aceptada aunque existen otras alternativas

Las SaaS y las aplicaciones Web 20 han sido ampliamente adoptadas como herramientas de

1httpc4lptcouktop100tools2httpcooltoolsforschoolswikispacescom

Figura 22 Top 100 Tools - Abril 2013

aprendizaje pero existen otras herramientas con su particularidades teacutecnicas que puedenser interesantes y tenida en cuenta como actividades de aprendizaje en los VLEs

Estas herramientas usadas durante el ciclo de vida de aprendizaje colaborativo deben poderser analizadas para estudiar sus resultados

El ciclo de vida del aprendizaje colaborativo consta de cuatro fases disentildeo despliegue pues-ta en marcha y evaluacioacuten Las herramientas de software suelen utilizarse principalmenteen dos de ellas en el despliegue donde las herramientas son seleccionadas dependiendo delos objetivos del aprendizaje la conguracioacuten social y las estructuras de las actividades arealizar y en la fase de puesta en marcha pues son utilizadas por los estudiantes para re-alizar sus actividades y de esta manera alcanzar los objetivos del aprendizaje En la fase deevaluacioacuten estas realmente no son importantes pues no nos interesa tanto la herramientacon la que se haya realizado sino el contenido de esos resultados La fase de disentildeo es dondese consideran las tareas a realizar para llevar a cabo el aprendizaje y no herramientas autilizar para ello Aunque estas cuatro fase puede ser ampliadas o reducidas es ampliamenteaceptado En la gura podemos ver graacutecamente este ciclo

Figura 23 Ciclo de vida del aprendizaje colaborativo

222 Problemas en la integracioacuten

El problema general de la integracioacuten de muacuteltiples herramientas externas en diversos VLEspodemos observarlo en la gura 24 donde podemos ver en un lado diferentes VLEs consus correspondientes APIs arquitectura y caracteriacutesticas mientras en el otro lado diferentestecnologiacuteas interfaces y desarrollos para una gran variedad de propoacutesitos Cada uno deellos puede imponer sus restricciones para la integracioacuten Estos requerimientos es lo queha sido denominado por ejemplo en LAMS como ccedilontrato de integracioacuten el cual intentadeterminar las tecnologiacuteas interfaces y modelos de datos que deben ser empleados para lacomunicacioacuten entre un sistema y el programa que intente integrarlo

Cada herramienta puede tener una o maacutes opciones de integracioacuten Algunas son especiacute-cas para una cierta herramienta (Ej comunicacioacuten basado en Rest para Delicious y paraSlidshare de manera diferente) y otras comuacuten para varias herramientas (Ej Google DataProtocol) Lo mismo ocurre en el lado de los VLEs por lo que se abre un amplio abanicode tecnologiacuteas interfaces y modelos de datos que hacen que la tarea de integracioacuten seaalgo realmente complejo En la gura 25 podemos ver un resumen de los problemas deintegracioacuten seguacuten las herramientas seleccionadas

223 Enfoques de la integracioacuten

Podemos denir dos enfoques principales a la hora de enfocar la integracioacuten de las her-ramientas de software y los VLEs siendo estos

bull Estandarizar los contratos de integracioacutenLa denicioacuten de unos estaacutendares de integracioacuten podriacutea resolver los problemas de in-tegracioacuten pero no existen hoy en diacutea los mismos o no son aceptados por la mayoriacutea

Figura 24 Problemas de integracioacuten

seguramente por intereses tecnoloacutegicos y comerciales IMS Global Learning Consor-tium siguen intentando realizar la aprobacioacuten de dicho estaacutendar siendo uno de elloIMS-LTI Integracioacuten de aplicaciones y servicios remotos y aunque la adopcioacuten de losmismo por las nuevas versiones de Moodle y Blackboard podriacutea hacer que se apos-tara por esta opcioacuten la falta de herramientas que lo utilicen (Ej Google no lo utiliza)puede hacer que no llegue a buen puerto

bull Crear una arquitecturaEste enfoque trata de adaptar los contratos de integracioacuten de los VLEs y las her-ramientas sin tener que modicar sus implementacioacuten Este mismo enfoque presentados opciones como podemos ver en la gura 26 y que pasamos a detallar

1 Un adaptador por en el lado de VLE y otro en el lado de las herramientas o inclusoun solo paquete que pueda congure toda la conexioacuten En este caso estariacuteamoshablando por ejemplo de los moacutedulo adicionales de Moodle

2 Una capa intermedia y adaptadores Este tipo de arquitectura permite la in-tegracioacuten entre muacuteltiples herramientas externas y muacuteltiple entorno virtuales deaprendizaje a traveacutes de un middleware comuacuten Dicho middleware estariacutea com-puesto de diferentes programas que pueden ser ejecutados en dominios diferentesEsta arquitectura reduce el esfuerzo para la integracioacuten de cada herramienta encada VLE ya que el coacutedigo estaacute parcialmente implementado por los elementos deintegracioacuten comunes Sin embargo el grado de integracioacuten y funcionalidad que sepuede lograr con estas arquitecturas es menor que con la primera opcioacuten

23 Servicios Web

Aunque han sido englobados dentro de integracioacuten de herramientas vamos a detallar queson y que aportan a Moodle

Figura 25 Problemas de integracioacuten

Los Servicios Web (Web Services) son la parte esencial de la interoperabilidad de Moodlecon otras aplicaciones Web 20 consisten en una pieza de software que utiliza un conjuntode protocolos y estaacutendares abiertos para intercambiar datos entre aplicaciones La idea prin-cipal es que distintas aplicaciones de software desarrolladas en lenguajes de programacioacutendiferentes y ejecutadas sobre cualquier plataforma puedan utilizar los servicios Web paraintercambiar datos en la red de ordenadores como Internet El producto resultante es unconjunto de moacutedulos con funcionalidad especiacuteca y completa que se acoplan entre siacute A suvez estos moacutedulos se conectan a una plataforma de e-learning mediante la utilizacioacuten deservicios de base descritos en una capa estaacutendar que funciona como gateway

Para ampliar un poco mejor el concepto de servicios Web citaremos una exposicioacuten delDoctor Marcos Escobar Un Web Service es un componente de software que se comunicacon otras aplicaciones codicando los mensaje en XML y enviando estos mensaje a traveacutesde protocolos estaacutendares de Internet tales como el HTTP Intuitivamente un Web Servicees similar a un sitio Web que no cuenta con un interfaz de usuario y que da servicio a lasaplicaciones en vez de a las personas Un Web Service en vez de obtener solicitudes desdeel navegador y retornar paacuteginas Web como respuesta lo que hace es recibir solicitudes atraveacutes de un mensaje formateado en XML desde una aplicacioacuten realiza una tarea y de-vuelve un mensaje de respuesta tambieacuten formateado en XML

Figura 26 Enfoques de arquitectura de integracioacuten

231 Orquestacioacuten y Coreografiacutea de Servicios Web

Seguacuten Careaga Mercadillo Ana Lilia [car ] la Orquestacioacuten (Web Service Orchestration)y Coreografiacutea (Web Service Choreography) se suelen ver como dos aproximaciones parala Composicioacuten de Servicios Web que se acercan estrechamente a los conceptos musicalespor lo cual se han importado directamente sus signicados A continuacioacuten detallaremosque son y sus posibles aplicaciones

La tarea de componer servicios Web baacutesicos o simples para brindar servicios Web maacutes com-plejos se conoce teacutecnicamente como Composicioacuten de Servicios Web Existen dos grandesaproximaciones para esta tarea la coreografiacutea con foco en la interaccioacuten entre servicios(equivalente a los bailarines) y la orquestacioacuten (equivalente a los instrumentos de la orques-ta) con foco en la implementacioacuten y ejecucioacuten de servicios La primera puede consid-erarse como una descripcioacuten formal del pasaje de mensajes obviando detalles internosde implementacioacuten Se ajusta maacutes en situaciones donde es provechoso contar con la no-cioacuten de estados y tambieacuten donde estaacuten involucradas transacciones de larga duracioacuten- Elorquestadordetermina la naturaleza y la secuencia de la interaccioacuten En cambio la segun-da aproximacioacuten describe la loacutegica y el estado de cada una de las partes involucradas Laorquestacioacuten tiene una visioacuten mas local y centralizada mientras que la coreografiacutea denela composicioacuten desde una perspectiva global sin control centralizado tal y como sucede enla danza

Existen numerosas deniciones de Servicios Web y esto demuestra en parte la gran com-plejidad de los servicios que se agrupan bajo este teacutermino y las implicaciones asociadas aellos Hasta ahora la denicioacuten maacutes general y convincente es decir que los Servicios Webson el conjunto de aplicaciones tecnoloacutegicas con capacidad para interoperar en la Web Es-tas tecnologiacuteas intercambian datos entre ellas con el n de ofrecer servicios de naturalezaremota

La World Wide Web no es soacutelo un espacio de informacioacuten tambieacuten es un espacio de inter-accioacuten Utilizando la Web como plataforma los usuarios de forma remota pueden solicitar

un servicio que alguacuten proveedor ofrezca en la red Pero para que esta interaccioacuten funcionedeben existir unos mecanismos de comunicacioacuten estaacutendares entre diferentes aplicacionesEstos mecanismos deben poder interactuar entre siacute para presentar la informacioacuten de formadinaacutemica al usuario Se precisa pues una arquitectura de referencia estaacutendar que hagaposible la interoperabilidad y extensibilidad entre las distintas aplicaciones y que permitasu combinacioacuten para realizar operaciones complejas Esta arquitectura es conocida con elnombre de SOA (Service Oriented Architecture)

Con el n de estandarizar los diferentes aspectos relacionados con los servicios Web elW3C (World Wide Web Consortium) recoge todo lo referente a ellos en (Web ServicesActivity) Asiacute pues Web Services (WS) ofrece un signicado estaacutendar para interoperarentre diferentes aplicaciones de software corriendo en diferentes plataformas yo marcosde trabajo El W3C pretende disentildear la arquitectura denirla y crear el nuacutecleo de tec-nologiacuteas que hagan posible los Servicios Web Los servicios Web se basan en un lenguajede caracteriacutesticas especiales llamado XML (Extensible Markup Language) que permite quelas aplicaciones compartan informacioacuten y que ademaacutes invoquen funciones de otras apli-caciones independientemente de coacutemo se hayan creado dichas aplicaciones y del sistemaoperativo o plataforma en que se ejecuten Por ejemplo Google utiliza un Servicio Webllamado Google Web APIs que permite que el usuario programe en diversos lenguajes ase-gurando la recuperacioacuten de informacioacuten independientemente de la plataforma que se utilice

Los Servicios Web se idearon en un principio para realizar interacciones simples e indepen-dientes pero ahora es necesario que los servicios colaboren y se coordinen A la coordinacioacutennecesaria para implementar un servicio Web se le llama Composicioacuten que puede realizarsede dos manerasorquestacioacuten y coreografiacutea La principal diferencia entre orquestacioacuten ycoreografiacutea es el alcance La orquestacioacuten trata de la descripcioacuten y ejecucioacuten de un mismoy uacutenico punto de vista global del modelo (instrumentacioacuten) La coreografiacutea trata de la de-scripcioacuten y guiacutea de un modelo global proyectado en base a cada participante (bailarines)La orquestacioacuten y coreografiacutea son teacuterminos que describen dos aspectos de los estaacutendaresemergentes para la creacioacuten de procesos de negocios de muacuteltiples servicios WebLos dosteacuterminos se superponen pero es claro que la orquestacioacuten se reere a un proceso de nego-cio ejecutable que puede interactuar tanto con servicios Web internos como externos Laorquestacioacuten representa siempre el control desde la perspectiva de una de las partes Estolo distingue de la coreografiacutea que es de mayor colaboracioacuten y permite a cada parte impli-cada describir su papel en la interaccioacuten La orquestacioacuten y coreografiacutea tratan de describiraspectos relacionados con la creacioacuten de procesos de negocio que involucran varios tipos deSoftware

Visto graacutecamente podemos ver en la gura 27 la orquestacioacuten permite disentildear proce-sos de negocio ejecutables que pueden interactuar (a nivel de mensaje) tanto con softwareinterno como externo Por otra parte la coreografiacutea es mucho maacutes colaborativa ya quepermite trazar las secuencias de mensajes que se suceden entre todas las partes partici-pantes del proceso de negocio en lugar de centrarse en los mensajes que se intercambianentre los diversos programas de software que implementan los procesos de negocio

Figura 27 Orquestacioacuten y Coreografiacutea de Servicios Web

232 Estaacutendares de Orquestacioacuten de Servicios Web

WS BPEL( Web Service Business Process Execution Language)Es un lenguaje de orquestacioacuten estandarizado porOASIS (Organisation for Advance Struc-tured Information Business Transaction Protocol) para la composicioacuten de servicios Web quepermite a los desarrolladores crear programas que automatizan las interacciones entre losservicios Web jugando un papel clave en las arquitecturas orientadas a los servicios SOAPara comprender su funcionamiento imaginemos un proceso de negocio determinado quetiene una entrada A y una salida B Dicho proceso como la mayoriacutea de ellos posee a suvez de muchos procesos internos que se van activando de acuerdo a ciertos paraacutemetros yvalores BPEL seriacutea el encargado de orquestar y por lo tanto dirigir la ejecucioacuten de unamanera ordenada La ventaja de que BPEL sea un estaacutendar radica en que puede ser imple-mentado en una gran variedad de motores de ejecucioacuten de diferentes proveedores BPELen si es un formato XML que proviene de la convergencia entre el WSFL (Web ServiceFlow Language) de IBM y XLANG de Microsoft La herramienta BPEL estaacute basada en unmodelo llamado Workow que especica las oacuterdenes de ejecucioacuten Existen actividadesbaacutesicas como iumlnvoke y receive y otras estructuradas como sequence Tambieacuten formanparte del modelo variables y participantes (partners) En las variables se deposita la nocioacutende datos y los participantes representan los elementos que interactuacutean en la composicioacutenEl modelo se completa como un motor que orquestaraacute las invocaciones

BPML (Business Process Modeling Language)Es un metalenguaje basado en XML para la descripcioacuten de procesos de negocio Inicial-mente BMPL se disentildeoacute para soportar los procesos que un sistema de gestioacuten de procesosde negocio pudiera ejecutar BPML dispone de estructuras similares a BPEL como puedenser actividades baacutesicas para el enviacuteo y la recepcioacuten de mensajes y para la invocacioacuten deservicios Adicionalmente BPML permite planicar las tareas para que se ejecuten eninstantes especiacutecos ofreciendo algunas opciones de control temporal Este lenguaje in-cluye caracteriacutesticas para dar soporte a la persistencia ya que fue disentildeado para la gestioacutende procesos de larga duracioacuten BPML ofrece soporte tambieacuten para realizar composicionesrecursivas a n de poder construir procesos de negocio que a su vez consten de otros sub-procesos Asimismo soporta transacciones de larga o corta ejecucioacuten gracias a que usa unateacutecnica similar a BPEL para controlar el alcance de las actividades y gestionar de esta

forma las reglas de compensacioacuten en caso de que las operaciones que deben realizarse deforma automaacutetica se vean interrumpidas

233 Estaacutendares de Coreografiacutea de los Servicios Web

WS-CDL (Web Services Choreography Description Language)Es un lenguaje basado en XML que describe la colaboracioacuten entre pares peer to peemediante la denicioacuten - desde un punto de vista global de los comportamientos comunes yobservables de cada participante de un proceso de negocio Eacuteste es un lenguaje utilizadopara la denicioacuten de servicios dentro de la plataforma SOA y cuyo objetivo es la descrip-cioacuten del comportamiento de cada uno de los servicios establecidos para lograr un objetivocomuacuten Sin embargo antes de WS-CDL ya existiacutea un lenguaje que permitiacutea la descripcioacutende las funcionalidades de un Servicio Web WSDL (Web Services Denition Language)el cual puede describir el conjunto de funciones ofrecidas con los posibles fallos que po-driacutean ocurrir y a pesar de que WS-CDL podriacutea expresar las coreografiacuteas de un servicioen un ambiente SOA W3C (World Wide Web Consortium) abandonoacute su desarrollo en 2009

WSCI (Web Service Choreography Interface)La especicacioacuten de WSCI fue desarrollada por diversas compantildeiacuteas como Sun SAP BEAe Intalio y representa una extensioacuten para WSDL para la colaboracioacuten La especicacioacuten de-ne la coreografiacutea global o el intercambio de mensajes entre los diferentes tipos de softwarey soporta su correlacioacuten reglas de secuenciacioacuten manejo de excepciones transacciones ycolaboracioacuten dinaacutemica WSCI soacutelo describe el comportamiento observable entre el softwareque se emplea Una coreografiacutea WSCI constaraacute de un conjunto de interfases WSCI unapor cada uno de los servicios que participen en la interaccioacuten

24 Moodle

El software de coacutedigo abierto (Open-Source Software-OSS) esta siendo ampliamente de-sarrollado ofreciendo nuevas alternativas y posibilidades hasta hace poco inimaginablesMoodle es un claro ejemplo siendo uno de los programas maacutes ampliamente adoptados porcolegios institucioacuten universidades etc Como podemos ver en la gura 28 el nuacutemero deusuarios registrados y los idiomas en los que se encuentra disponible dan muestra de sugran difusioacuten Algunas de las razones mas importante para su eleccioacuten son

Figura 28 Moodle - Abril 2013

bull Moodle es OSS lo cual signica que los usuarios pueden descargarlo libremente usarlomodicarlos e incluso redistribuirlo seguacuten los teacuterminos GNU 3

bull La losofiacutea planteada por Moodle incluye una aproximacioacuten constructiva basada enel constructivismo social de la educacioacuten enfatizando que los estudiantes (y no soacutelolos profesores) pueden contribuir a la experiencia educativa en muchas formas

bull Compatibilidad con maacutes de 70 idiomas diferentes

bull Una excelente documentacioacuten soporte para seguridad y administracioacuten

bull No requiere modicaciones en el sistema operativo pudiendo ser ejecutado en un en-torno Linux Windows Mac OS o cualquier otro siempre que soporten PHP

bull La informacioacuten esta soportada por una simple base de datos

Ademaacutes su sencilla aplicacioacuten en entorno web que utiliza tecnologiacuteas ya ampliamenteprobadas sus mecanismos de extensioacuten maacutes faacuteciles en comparacioacuten con otros VLEs y laexistencia de una gran cantidad de documentacioacuten de desarrollo han impulsado la creacioacutende una gran comunidad de personas que contribuyen a la mejora de Moodle Esta comu-nidad estaacute en constante desarrollo de nuevas caracteriacutesticas y aplicaciones a traveacutes decientos de plugins que pueden ser descargados desde su la web de Moodle y asesoran tantoa otros desarrolladores como usuarios nales

La primera versioacuten de Moodle (10) fuel lanzada en 2002 como parte de la investigacioacuten deMartin Dougiamas del uso del software de coacutedigo abierto para la ensentildeanza y el aprendizajecon las comunidades basadas en Internet[Dougiamas and Taylor 2000] Actualmente seencuentra disponible la versioacuten 243+ como estable y la beta de la versioacuten 25

En cuanto a la parte teacutecnica Moodle estaacute desarrollado en lenguaje PHP como la mayoriacuteade los VLEs utiliza una arquitectura cliente-servidor comuacuten de tres capas CORREGIRLa capa de presentacioacuten dene como la informacioacuten se presenta a los usuarios nales quetienen acceso a esa informacioacuten a traveacutes de sus navegadores web La Capa de loacutegica de ne-gocios se encarga de las relaciones con Moodle el acceso a la capa de datos por lo generala traveacutes de MySQL para almacenar y recuperar la informacioacuten cuando sea necesario

Moodle se distribuye en un solo paquete multiplataforma que incluye PHP MySQL yApache HTTP Server para facilitar los procesos de instalacioacuten y conguracioacuten La dis-tribucioacuten actual de Moodle cumple con varios estaacutendares educativos Por ejemplo Moodlepuede manejar ADL SCORM paquetes que contienen recursos aislados o cursos completosEn cuanto a los estaacutendares IMS Moodle soporta IMS Content Packaging (IMS CP) IMSCommon Cartridge (IMS CC)IMS pregunta y Test Interoperability (IMS QTI) y estaacuteconsiderado como uno de los VLEs compatible con Basic LTI

241 otras plataformas

No podemos dejar de lado otros escenarios educativos que han ido apareciendo en los uacutelti-mos antildeos a pesar del gran eacutexito de los VLEs Algunos ejemplos de estas plataforma son

3httpsmoodleorg

bull Wikis (Ej MediaWiki) Son sistemas software que permiten la creacioacuten y gestioacutende contenidos estructurados mediante paacuteginas web relacionadas entre siacute El contenidosuele estar editado por varios usuarios que trabajan de manera colaborativa pudiendoincluir enlaces a recursos externos

bull Sitios de redes sociales (Ej Facebook) Son sistema en liacutenea donde los usuariospueden crearse sus propios perles y crear una red personal que les mantendraacute conec-tado con otros usuarios Estos sistemas han proliferado en los uacuteltimos antildeos llegando amillones de usuarios No suelen necesitar un administrador pues se utilizan medianteentorno web y son alojados por el propio proveedor Su gran adopcioacuten y el enfoquea las interacciones sociales es lo que ha llevado a muchos profesor a utilizarlo comoherramienta de aprendizaje Estos sitios permiten la creacioacuten y mantenimiento degrupo mediante el perl de usuario pero no estaacuten disentildeados para seguir un enfoquepedagoacutegico

bull Personal Learning Environment - PLE (Ej Southampton) Son denidos comosistemas de software que permiten al estudiante a tomar el control y la gestioacuten de suspropio aprendizaje Se caracterizan por la por la participacioacuten directa de los alumnosen el acceso agregacioacuten conguracioacuten y manipulacioacuten de herramientas y recursos adiferencia de los VLEs done es el educador el que selecciona y gestiona los recursosque el alumno debe utilizar

Muchas de estas herramientas son de coacutedigo libre y abierto Su funcionalidad respecto ala gestioacuten de actividades grupos funciones y herramientas es limitado siendo en algunoscasos inexistente Ninguna de estas plataformas se puede considerar un VLE ya que nosson sistemas centrados en el educador sin embargo pueden apoyar la integracioacuten de apli-caciones externas en entornos de aprendizaje colaborativo

Capiacutetulo 3

Organizacioacuten y Sistema Inicial

A continuacioacuten pasamos a detallar las distintas actividades de la que consta el proyecto quehemos llevado a cabo durante estos meses

31 Lanzamiento del proyecto

Esta actividad consisten en la eleccioacuten de una de las diferentes posibles aacutereas de desarrollo deproyectos que ofrece la UOC siendo la elegida Aplicaciones Web para trabajo colaborativo

32 Denicioacuten del proyecto

El proyecto queda denido en el presente documento siendo el tiacutetulo del mismo Orchestationand Coreography of Web Services on Moodle - Revisioacuten Sistemaacutetica de la literatura

[Duracioacuten] 27-02-2013 al 03-03-2013

33 Anaacutelisis de requisitos

Nos centraremos en la fase de planicacioacuten que incluye los objetivos de la investigacioacuten y la formaen que se llevaraacute a cabo la revisioacuten

[Duracioacuten] 04-03-2013 al 03-06-2013

331 Cuestiones Realizadas

El primer paso en la fase de planicacioacuten seraacute denir los objetivos principales de esta revisioacutensistemaacutetica de la literatura Estos objetivos son analizar el estado del arte de la coreografiacutea yorquestacioacuten de los servicios web en Moodle como LMS

332 Fuentes de datos y buacutesqueda

Utilizaremos diferentes libreriacuteas o espacios digitales para realizar las buacutesquedas las mismas serealizaraacuten en ingleacutes y espantildeol Las libreriacuteas principales utilizadas son

IEEEXplore [IEEEX] httpieeexploreieeeorg

21

Science Direct [SD] httpwwwsciencedirectcom

SpringerLink [SL] httpwwwspringerlinkcom

Paralelamente a Science Direct se han realizado buacutesquedas en Scopus1 de Elsevier y GoogleScholar2 de Google

333 Criterios de inclusioacuten y exclusioacuten

Las buacutesquedas que se realicen intentaraacuten abarcar todo el aacutembito de cuestiones del SLR pero esposible (y de hecho ocurre) el resultado contenga referencias publicaciones estudios o en generalinformacioacuten que no sirve Para ello seraacute necesario denir criterios de inclusioacuten y exclusioacuten loscual haremos basaacutendonos en la guiacutea [Kitchenham 2007]

334 Asegurar la calidad

Despueacutes de obtener un numero considerable de trabajos o estudios que satisfacen los criteriosde inclusioacuten y exclusioacuten se deberaacute ser capaz de asegurar o armar cuales son los que cumplencon una miacutenima calidad y si son vaacutelidos o no para el estudio en si Es baacutesico poder analizar queacuteestudios son mejores que otros en teacuterminos de calidadSiguiente [Kitchenham 2007] se deniraacuten preguntas y cuestiones que permitan asegurar dichacalidad

335 Extraccioacuten de datos y anaacutelisis

Los criterios de inclusioacuten y exclusioacuten junto con las preguntas orientadas a asegurar la calidadnos serviraacuten para obtener todos los artiacuteculos y estudios que se analizan en este estudioDe cada artiacuteculo se recogeraacute titulo y autores abstract publicacioacuten y antildeo de publicacioacuten

336 Fase de revisioacuten

Esta fase de planicacioacuten seraacute denir el proceso de conducir o dirigir la revisioacuten Para elloutilizaremos tres fases como podemos ver en la gura 31 de la paacutegina 23

337 Fase de Pruebas

Se realizan pruebas con la informacioacuten obtenido montado maacutequinas virtuales para realizar lasmismas En estas se han probado las diferentes opciones de comunicacioacuten que nos ofrece Moodle

1httpwwwscopuscom2httpscholargooglecom

Figura 31 Proceso para dirigir la revisioacuten

34 Calendario de Trabajo

Podemos ver en el siguiente diagrama de Gantt32 la distribucioacuten de trabajos en el tiempo elmismo seraacute modicado para ajustarlo a las variaciones producidas durante el desarrollo de lastareas que contempla

35 Hitos principales

Los principales hitos seraacuten

Lanzamiento del proyecto Se dene correctamente en que va consistir el proyecto

Denicioacuten de cuestiones para la buacutesqueda Donde se detallaraacuten las cuestiones quemarcaran el desarrollo del resto del proyecto

Comprobacioacuten de resultados Se deberaacuten criba los mismo para no obtener duplicadoso informacioacuten ajena a la investigacioacuten

Revisioacuten de informacioacuten obtenida Una vez obtenida la informacioacuten y analizada deberaacuteser revisada para su presentacioacuten

Figura 32 Diagrama de Gantt

36 Instalacioacuten base

Para llevar a cabo las pruebas se ha optado por la creacioacuten de una maacutequina virtual sobre VirtualBox 3 en la cual hemos instalado Windows XP como sistema operativo Este sistema es maacutesligero a la hora de trabajar en maacutequinas virtuales pues requiere menos recursos que las versionesposteriores del mismos sistema

El siguiente paso era la instalacioacuten de Moodle Aunque se dispone de un instalador para Win-dows se ha optado por la descarga e instalacioacuten de XAMPP 4 y su y su posterior conguracioacutenen la maacutequina virtual XAMPP es un servidor independiente de plataforma software libre queconsiste principalmente en la base de datos MySQL el servidor web Apache y los inteacuterpretespara lenguajes de script PHP y Perl El nombre proviene del acroacutenimo de X (para cualquierade los diferentes sistemas operativos) Apache MySQL PHP Perl

XAMPP en su versioacuten 181 incluye

Apache 243

MySQL 5527

PHP 547

phpMyAdmin 3522

FileZilla FTP Server 0941

Tomcat 7030

Strawberry Perl 51611 Portable

XAMPP Control Panel 310

Hemos continuado con la descarga he instalacioacuten de Moodle y hemos querido probar las difer-encias que obtenemos entre las versiones 19x y 25 por lo que se han descargado ambas heinstalado en maacutequinas virtuales diferentes Con ello conseguiremos probar el resultado obtenidoseguacuten la versioacuten Moodle desde su versioacuten 22 ya soporta conexiones mediante IMS - LTI IMSLTI es un estaacutendar IMS Learning Tool Interoperability Esto signica que las herramientas deaprendizaje tienen ahora diversas maneras de conectarse entre sin problemas

En la praacutectica cuando un usuario se registra en una herramienta como Moodle se pueden conectara la otra herramienta como MediaWiki y autenticarse automaacuteticamente proporcionando unaexperiencia perfectaLas guras 33 y 34 nos muestran el panel de control de XAMPP una vez instalado y el panede phpMyAdmin donde hemos debido congurar las bases de datos y usuario necesarios parallevar todo el proceso de conguracioacuten de Moodle y el resto de herramientas

3httpswwwvirtualboxorg4httpwwwapachefriendsorgesxampphtml

Figura 33 Panel de control de XAMPP

Figura 34 Gestor de bases de datos phpMyAdmin

Capiacutetulo 4

Servicios Web de Moodle

41 Introduccioacuten

Moodle 2X incorpora la posibilidad de implementar Servicios Web para manejar sus funciona-lidades lo que nos permite poder acceder a acciones de actualizar y crear tareas para reejar elresultado de las actividades realizadas Moodle soporta varios protocolos (REST SOAP XML-RPC y AMF)

42 Servicios Web de Moodle

Los Servicios Web de Moodle se caracterizan por permitir el acceso desde cualquier aplicacioacutenimplementando para ello tres capas como podemos observar en la gura 41

Capa nuacutecleoLa capa del nuacutecleo estaacute compuesta de todas las funciones principales de Moodle sobreusuarios grupos cursos calendario etc Moodle no dispone de una API al uso sino queofrece diferentes funciones que han sido desarrolladas durante antildeos Por tanto las necesi-dades de los Servicios Web estaacuten obligando a rehacer estas funciones del nuacutecleo para quecomiencen a formar una API (Moodle 2X)

Capa externaLa capa externa estaacute compuesta por nuevos cheros llamados externalphp colocados porlas carpetas de Moodle y conteniendo manejadores para la capa inferior Estos manejadoresson los responsables de comprobar las capacidades paraacutemetros y llamadas correctas a lasfunciones de nuacutecleo

Capa de conectoresLa capa de conectores estaacute compuesta de diferentes conectores para las diferentes imple-mentaciones de los Servicios Web y contiene un conector REST un conector SOAP unconector XML-RPC y un conector AMF Esta capa admite plugins para ampliar los conec-tores disponibles de manera que se puedan integrar otros sistemas en Moodle utilizandootros protocolos

Los pasos para utilizar un Servicio Web con Moodle seriacutean los siguientes

1 El cliente enviacutea el nombre de usuario y contrasentildea al servidor que provee los ServiciosWeb

27

Figura 41 Capas en Moodle

2 El servidor de protocolo devuelve un token de sesioacuten para esa cuenta de usuario

3 El cliente llama a un Servicio Web especiacuteco incluyendo el token de sesioacuten

4 El servidor utiliza el token para comprobar que la sesioacuten del Servicio Web estaacute activa

5 El servidor llama a la funcioacuten correspondiente localizada en el chero externallibphp dentrodel moacutedulo especiacuteco

6 La funcioacuten externa comprueba que el usuario actual tenga los permisos sucientes pararealizar esta operacioacuten

7 La funcioacuten externa llama a la funcioacuten correspondiente del nuacutecleo de Moodle (libphp)

8 La funcioacuten del nuacutecleo puede retornar un resultado a la funcioacuten externa

9 La funcioacuten externa devolveraacute el resultado al servidor de protocolo

10 El servidor de protocolo devolveraacute el resultado al cliente

43 REST

REST (Representational State Transfer) es el acroacutenimo de Transferencia de Estado Representa-cional teacutermino usado por Roy Fielding (uno de los creadores de HTTP) para describir un estilode arquitectura que utilizar como modelo en los sistemas de computacioacuten Web No es un es-taacutendar sino un enfoque que muestra como desarrollar y proporcionar servicios en Internet portanto considerado como un estilo arquitectoacutenico para disentildeo de software a gran escala El propioautor lo dene de manera concisa en eacuteste paacuterrafo

REST es un intento de mostrar coacutemo debe comportarse una aplicacioacuten Web bien disentildeada unared de paacuteginas Web (una maacutequina de estados virtual) donde el usuario progresaraacute seleccionan-do enlaces (transiciones de estado) que devuelven la paacutegina siguiente (el siguiente estado de lamaacutequina) que el usuario manejaraacute a su gusto

Este enfoque no aporta realmente nada nuevo la mayor parte de la Web sigue este estilo arqui-tectoacutenico Sin embargo el autor hace eacutenfasis en las caracteriacutesticas concretas que han hecho quela Web triunfe que van a ser los objetivos buscados por REST y que son a su juicio

Escalabilidad en las interacciones entre componentes La red ha ido creciendo de maneraexponencial y se ha ido comportado de manera satisfactoria

Generalidad en las interfaces Se proporciona acceso con distintos clientes y con distintosmecanismos de acceso

Desarrollo independiente de componentes Implementaciones cliente y servidor pueden serdesarrolladas en distintos momentos

Existencia de componentes intermediarios con los cuales existe compatibilidad (comoproxys)que permiten encapsulacioacuten e integracioacuten de sistemas no Web dentro de la misma

431 Principios de disentildeo

Los objetivos citados van a ser conseguidos imponiendo una serie de restricciones

El estado y la funcionalidad de las aplicaciones se representan por forma de recursos

La identicacioacuten de recursos se realiza de forma uacutenica global mediante Uniform ResourceIdentiers Los recursos identicados con URIs son los objetos loacutegicos a los cuales se lesmandan los mensajes

Manipulacioacuten de recursos a traveacutes de representaciones luego no se manejan directamentelos recursos sino sus representaciones

Todos los recursos comparten un interfaz uniforme formado por

bull Un conjunto de operaciones limitado para transferir el estado Se van a aprovecharlas operaciones que HTTP dene mostradas en la gura 42

bull Un conjunto limitado de tipos de contenidos identicados mediante tipos MIME

Uso de un protocolo clienteservidor sin estado y basado en capas Cada mensaje HTTPcontendraacute la informacioacuten necesaria para comprender la peticioacuten luego como muestra lagura 43 no es necesario que eacutesta sea entendida tanto en el cliente como en el servidor

Uso de hipermedios para representar el estado de una aplicacioacuten permitiendo que el estadode una aplicacioacuten Web particular esteacute almacenado en uno o maacutes documentos de hipertextoque residen bien en el servidor o en el cliente Esto permite al servidor saber el estado desus recursos sin necesidad de almacenar el estado de los clientes concretos

Figura 42 Operaciones denidas por HTTP

Como ya se mencionoacute REST se trata de un estilo arquitectoacutenico no un estaacutendar Sin embargohace uso de varios estaacutendares Web

HTTP HyperText Transfer Protocol

Figura 43 Operaciones denidas por HTTP

URL Uniform Resource Locator como el mecanismo de indenticacioacuten de recursos

XML - HTML - PNG - etc Como distintos formatos de representacioacuten de recursos

Tipos MIME como text-xml text-html image-png etc

44 SOAP

SOAP (siglas de Simple Object Access Protocol) es un protocolo estaacutendar que dene coacutemo dosobjetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML Esteprotocolo deriva de un protocolo creado por David Winer en 1998 llamado XML-RPC SOAPfue creado por Microsoft IBM y otros y estaacute actualmente bajo el auspicio de la W3C

441 Principios de disentildeo

La funcionalidad que aporta SOAP es la de proporcionar un mecanismo simple y ligero de in-tercambio de informacioacuten entre dos puntos usando el lenguaje XML SOAP no es maacutes que unmecanismo sencillo de expresar la informacioacuten mediante un modelo de empaquetado de datosmodular y una serie de mecanismos de codicacioacuten de datos Esto permite que SOAP sea uti-lizado en un amplio rango de servidores de aplicaciones que trabajen mediante el modelo decomunicacioacuten RPC (Remote Procedure Call)

SOAP consta de tres partes como podemos ver en la gura 44

El SOAP envelope que dene el marco de trabajo que determina queacute se puede introduciren un mensaje quieacuten deberiacutea hacerlo y si esa operacioacuten es opcional u obligatoria

Las reglas de codicacioacuten SOAP que denen el mecanismo de serializacioacuten que seraacute usadopara encapsular en los mensajes los distintos tipos de datos

La representacioacuten SOAP RPC que dene un modo de funcionamiento a la hora de realizarllamadas a procedimientos remotos y la obtencioacuten de sus resultados

A la hora de realizar el disentildeo de SOAP se han tenido en cuenta una serie de consideracionescon el n de cumplir una serie de objetivos claros objetivos que le daraacuten el potencial que resideen SOAP y que le haraacuten tan atractivo Eacutestos son

Establecer un protocolo estaacutendar de invocacioacuten a servicios remotos que esteacute basado enprotocolos estaacutendares de uso frecuente en Internet como son HTTP (Hiper Text TransportProtocol) para la transmisioacuten y XML (eXtensible Markup Language)para la codicacioacutende los datos

Figura 44 Partes de SOAP

Independencia de plataforma hardware lenguaje de programacioacuten e implementacioacuten delservicio Web

El logro de estos objetivos ha hecho de SOAP un protocolo extremadamente uacutetil ya que elprotocolo de comunicacioacuten HTTP es el empleado para la conexioacuten sobre Internetpor lo que segarantiza que cualquier cliente con un navegador estaacutendar pueda conectarse con un servidor re-moto Ademaacutes los datos en la transmisioacuten se empaquetan o serializan con el lenguaje XML quese ha convertido en algo imprescindible en el intercambio de datos ya que es capaz de salvar lasincompatibilidades que existiacutean en el resto de protocolos de representacioacuten de datos de la red

Por otra parte los servidores Web pueden procesar las peticiones de usuario empleando tec-nologiacuteas tales como Servlets paacuteginas ASP (Active Server Pages) paacuteginas JSP (Java ServerPages) o sencillamente un servidor de aplicaciones con invocacioacuten de objetos mediante CORBACOM o EJB

Un ejemplo tiacutepico de disentildeo de un servicio Web utilizando las ventajas de SOAP podemos veren la siguiente gura 45

Figura 45 Ejemplo de uso de SOAP

45 AMF

AMF (Action Message Format) es un protocolo binario de Adobe que va por la versioacuten AMF3Aunque por el nombre de la versioacuten pueda parecer que existan 3 cabe destacar que soacutelo existendos AMF0 y AMF3 Una de las mayores diferencias o mejoras que aporta AMF3 es que soporta

datos binarios (ByteArray) y int datos no soportados por AMF0 debido a que en la eacutepoca queaparecioacute el formato Flash Player no soportaba estos tipos de datos

AMF3 no es un protocolo para transferir informacioacuten sino que representa el formato en el quese transmite la informacioacuten en este caso un formato binario

La versioacuten de Moodle 25 viene con Zend_ AMF pero podemos utilizar tambieacuten la libreriacuteaamfPHP

AMFPHP

Zend_ amf httpframeworkzendcommanual112enzendamfhtml

Maacutes informacioacuten en httpdocsmoodleorgdevAMFPHP

46 Conguracioacuten de Moodle Web Services

Los Servicios Web habilitan que otros sistemas puedan entrar a Moodle y realizar operacionesPasaremos a detallar los pasos necesarios para su conguracioacuten y explicaremos distintos pruebasllevadas a cabo sobre su funcionamiento Para poder consumir de manera correcta unWeb Servicede Moodle seriacutea necesario antildeadir a la url que vamos a formar los paraacutemetros oportunos paralograr consumir el Web Service de manera satisfactoria Una vez antildeadidos ya podriacuteamos invocarla funcioacuten seleccionada

461 Activando los Servicios Web

Lo primero que debemos hacer es activar la opcioacuten general que habilita el uso de los serviciosweb En la gura 46 podemos observar la opcioacuten para la activacioacuten de este servicio para ello nosiremos a la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Servicios Externos

Figura 46 Activacioacuten Servicios Web

Esto solo es una opcioacuten a nivel global necesitando ahora activar los protocolos de comunciacionesque vamos a utilizar para ello deberemos ir a la opcioacuten textitAdministracioacuten del Sitio - Exten-siones - Servicios Web - Administrador de protoclos donde encontraremos las diferente opcionesque nos existen En la gura 47 podemos ver la pantalla de nuestra conguracioacuten con todos losprotocolos activados

Una vez activada la opcioacuten de Servicios Externos y seleccionados los protocolos que utilizaremosnecesitamos crear un Servicio Personalizado que no es maacutes que una etiqueta que aglutina los

Figura 47 Activacioacuten Protoclos

Servicios Web que ofrece Moodle y que pueden ser utilizados por los servicios externos Para ellodeberemos darle a la opcioacuten Agregar dentro de la opcioacuten Administracioacuten del Sitio - Extensiones- Servicios Web - Servicios Externos Como prueba habilitaremos un servicio llamado Uso_Servicio_ Web cuya creacioacuten podemos ver en la gura 48

Figura 48 Creacioacuten Servicio Personalizado

Una vez creado el Servicio Personalizado deberemos agregarle las funciones que queramos lesean permitidas pudiente tener maacutes de una En la gura 49 vemos como asociamos la creacioacutende usuarios al Servicio Personalizado

Terminado esto deberemos tener en el listado que nos muestra Moodle de Servicios personaliza-dos algo como lo mostrado en la gura 410

El siguiente paso es conceder los permisos apropiados para que este Servicio Personalizado puedeser usado por los usuarios pare ello debemos primero especicar quienes son los Usuarios au-torizados para ello en la linea de la lista de Servicios Personalizados deberemos pulsar sobre laopcioacuten usuarios autorizados donde apareceraacute una pantalla como 411 donde podremos escogerlos usuarios de los que se encuentran dados de alta en nuestro sistema

Y para terminar aunque este paso podriacutea ser realizado por el propio usuario si tuviera el per-miso de moodlewebservicecreatetoken seraacute la creacioacuten de un token el cual va ser la opcioacuten quevamos a utilizar para las pruebas de los Servicios Web de Moodle Para la creacioacuten del mismodeberemos entrar en la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Admin-istrar tokens y pulsar la opcioacuten Agregar para antildeadir un token nuevo como podemos apreciar en

Figura 49 Agregando funciones al Servicio Personalizado

Figura 410 Listado de Servicios Personalizados

la gura 412 teniendo la precaucioacuten de escoger como Servicio el Servicio Personalizado creadocon anterioridad Uso_ Servicio_ Web

En esta pantalla podemos poner varios tipos de restricciones

Restriccioacuten de IP Donde podemos indicar la direccioacuten IP desde donde

Restriccioacuten de Fecha Se puede denir hasta cuando seraacute valido este token siendo unabuena manera de poder probar cosas y no dejar puertas abiertas por error

En la gura 413 podemos ver el token asignado por el sistema para nuestro Servicio Personalizadoy que procederemos a utilizar para comprobar el funcionamiento de los Servicios Web de Moodle

462 Pruebas cliente Servicio Web

Procederemos ahora a desarrollar pruebas que utilicen los Servicios Personalizados creado Sepodriacutean haber utilizado el Cliente de prueba de servicio web que incorpora Moodle dentro dela opcioacuten Administracioacuten del Sitio - Desarrollo - Cliente de prueba servicio web pero hemosdecidido implementar una Web para comprobar la facilidad del funcionamiento del sistema y losdistintos resultados obtenidos seguacuten el protocolo utilizado

Utilizaremos la libreriacutea cURL de PHP cURL es una herramienta que permite abrir conexionesen una amplia variedad de protocolos y que estaacute disponible tanto como herramienta de consola(para ejecutar directamente con comandos) como en libreriacutea (para usar en vuestro coacutedigo) y quepermite hacer praacutecticamente todo manejo de cookies descarga de cheros binarios enviacuteos de

Figura 411 Alta de Usuarios Autorizados

Figura 412 Creacioacuten de Tokens

paraacutemetros GET y POST etc

La web creada para la introduccioacuten 414 de los usuarios seraacute equivalente para todos los procesosprocesos siendo el programa que da respuesta al formulario el que implemente la funcioacuten nece-saria para la introduccioacuten de los datos en Moodle

Los resultados de REST pueden mostrar los resultados del alta de dos maneras diferentes unaen formato XML como podemos ver en la gura 415 y otro en formatox JSON tambieacuten po-dremos ver en la gura Los resultados obtenidos tambieacuten pueden verse en el la gura 416

Figura 413 Lista de Tokens

Figura 414 Web de alta de usuarios

Figura 415 Resultado de REST en formato XML

Figura 416 Resultado de REST en formato JSON

Capiacutetulo 5

Herramientas Externas

51 Introduccioacuten

Las versiones de Moodle desde la 22 vienen con IMS LTI o External Tool de manera integradaEn versiones anteriores era necesario la instalacioacuten de plugins como LTI Provider (maacutes informa-cioacuten en la web de Moodle1 IMS LTI es un estandar de IMS learing2 para la interoperabilidadde herramientas Esto signica que las herramientas de aprendizaje tienen ahora un mecanismopara jar el modo en que pueden conectarse entre ellas sin problemas

En la praacutectica cuando un usuario se registra en Moodle puede conectarse a otras herramientascomo Wikis o Blogs y autenticarse de manera automaacutetica en estas

52 Estaacutendares IMS

Actualmente se realizan esfuerzos para la integracioacuten de servicios a una plataforma virtual deaprendizaje mediante un mecanismo reutilizable independiente del tipo de plataforma El IMSGlobal Learning Consortium viene desde hace tiempo trabajando en este enfoque IMS GLCpresenta un conjunto de estaacutendares que promueven el uso de servicios de aprendizaje digitales(Digital Learning Services) dentro de las plataformas de aprendizaje tradicionales IMS DigitalLearning Services estaacute integrado por los siguientes estaacutendares principales IMS Common Car-tridge [ims a] IMS Learning Tool Interoperability [ims c] y IMS Learning Information Services[ims b]

El IMS Learning Tool Interoperability es una especicacioacuten para facilitar la inclusioacuten de her-ramientas externas dentro de un curso El administrador de la plataforma de aprendizaje ges-tiona los servicios que podraacuten ser consumidos por la plataforma el docente decide que serviciosutilizaraacute en su curso y el estudiante hace uso de los mismos IMS LTI permite que distintos LMSconsuman un mismo servicio el cual no fue implementado teniendo en cuenta el tipo de LMSsino la implementacioacuten del estaacutendar desde el lado del proveedor

El enfoque del IMS LTI estaacute dirigido a la creciente demanda de un mecanismo reutilizable para laintegracioacuten de herramientas de terceros en el nuacutecleo de las plataformas LMS Estas herramientas

1httpsmoodleorgpluginsviewphpplugin=local_ltiprovider2httpwwwimsglobalorgtoolsinteroperability2cfm

37

pueden agregar funcionalidad especializada a los LMS El enfoque ofrece una solucioacuten basada enWeb Services igualmente aplicable a distintos lenguajes de programacioacuten

Las versiones del LTI son

LTI v10 ( LTI Basic ) ( publicado en mayo de 2010 ) proporciona un meacutetodo sencillopero estaacutendar para establecer una conexioacuten segura a una herramienta desde el interior deun consumidor de herramientas El lanzamiento de este enlace permite una experienciade aprendizaje sin problemas para los estudiantes que acceden a las aplicaciones ricas queparecen tener lugar dentro del ambiente de aprendizaje Versioacuten 10 es el primer paso en eldesarrollo continuo de LTI Figura 51

LTI v11 ( publicado en marzo 2012 ) antildeade la posibilidad de pasar de nuevo un resultadode la herramienta al Consumidor de herramientas Esto permite que los estudiantes recibenuna calicacioacuten o puntuacioacuten de su interaccioacuten con la aplicacioacuten de aprendizaje

LTI v111 ( publicado en julio de 2012 ) incluye soporte para el papel Mentor que se puedeutilizar para representar a un padre tutor o auditor

LTI v20 Aun en estado de desarrollo y proporciona una plataforma maacutes sosticado y ex-tensible para permitir integraciones maacutes profundas y un mayor apoyo para los serviciosy eventos LTI 2 se basa en LTI 1 mediante la incorporacioacuten de maacutes sosticada resulta-dos de informes y una rica arquitectura de extensiones que permite servicios adicionalesque se antildeadiraacuten gradualmente LTI 2 utiliza REST y JSON-LD para ofrecer esta nuevafuncionalidad

Figura 51 Esquema LTI Baacutesico

En la gura 52 podemos observar como se podriacutean utilizar las ventajas de LTI por parte decada unos de los actores a lo largo de la vida de la aplicacioacuten de servicios externos dentro de unaplataforma de aprendizaje

En la paacutegina web de IMS3 podemos encontrar una relacioacuten de aplicaciones certicadas comocompatibles con el estaacutendar LTI indicando la versioacuten del LTI que cumplen En la gura 53podemos ver las aplicaciones certicadas por UOC y en la gura 54 la informacioacuten sobre una deestas herramientas

3httpwwwimsglobalorgccalltoolscfm

Figura 52 Esquema utilizacioacuten LTI

Figura 53 Listado de herramientas LTI de la UOC

53 Herramientas externas en Moodle

La siguiente seccioacuten consiste en la aplicacioacuten de alguno de esto servicios externos en Moodlepara comprobar su funcionamiento Nos decantaremos para la primera prueba por WordPresspues aunque existen manuales al respecto la documentacioacuten en castellano es escasa

531 Wordpress

La versioacuten estaacutendar de Wordpress a la cual accedemos cuando nos abrimos cuenta en Wordpressno viene con las herramientas necesarias para la iteracioacuten mediante LTI por lo que procedere-mos a la instalacioacuten en nuestro servidor de Wordpress para pasar a la instalacioacuten de los pluginsnecesarios

La instalacioacuten ha consistido en la descarga de la web ocial 4 de la versioacuten 351 la cual hemoscopiado dentro del directorio htdocs de nuestra instalacioacuten de Xampp Hemos dado de alta unnuevo usuario en nuestra base de datos llamado username como podemos ver en la imagen 55 yposteriormente hemos seguido los pasos que el instalador nos iba ofreciendo para tener instalado

4httpwordpressorgdownload

Figura 54 Informacioacuten sobre la certicacioacuten

Wordpress bajo la url httplocalhostwordpress

Figura 55 Usuario de Wordpress

Deberemos congurar Wordpress para que trabaje como multisitio para lo que deberemos seguirlos pasos de conguracioacuten que podemos encontrar en la web ocial de Wordpress5 bajo el nombreCreate A Network consistente en los siguientes pasos

1 Realizar una copia de seguridad por si acaso

2 Modicar el chero wp-congphp incluyendo la siguiente linea encima de Thats allstop editing Happy blogging Multisite dene (WP_ ALLOW_ MULTISITE true)

Multisite dene (WP_ ALLOW_ MULTISITE true)

3 Installar un Network Para ello hemos de entra en la opcioacuten Administration -gtTools -gtNetwork Setup donde podremos congurar opciones sobre el nombre que queremos declararpara el nuevo sitio

4 Activar el Network para ello debemos modicar los cheros wp-congphp y htaccess porlo que seriacutea bueno que realizaacuteramos primero un copia de seguridad de los mismos Loscambios que debemos realizar son los siguientes

5httpcodexwordpressorgCreate_A_Network

En wp-congphp dene(MULTISITE true)dene(SUBDOMAIN_ INSTALL false)dene(DOMAIN_ CURRENT_ SITE localhost)dene(PATH_ CURRENT_ SITE wordpress)dene(SITE_ ID_ CURRENT_ SITE 1)dene(BLOG_ ID_ CURRENT_ SITE 1)

El chero htaccess debe quedar asiacute BEGIN WordPressltIfModule mod_ rewritecgtRewriteEngine OnRewriteBase wordpressRewriteRule icircndexphp$ - [L]

add a trailing slash to wp-adminRewriteRule ([_ 0-9a-zA-Z-]+)wp-admin1wp-admin [R=301L]

RewriteCondREQUEST_ FILENAME -f [OR]RewriteCondREQUEST_ FILENAME -dRewriteRule - [L]RewriteRule ([_ 0-9a-zA-Z-]+)(wp-(content|admin|includes)) $2 [L]RewriteRule ([_ 0-9a-zA-Z-]+)( php)$ $2 [L]RewriteRule indexphp [L]ltIfModulegt

END WordPress

5 Esto nos habraacute creado en la parte izquierda de la barra de herramientas de Wordpressuna nueva opcioacuten llamada My Sites que contendraacute un listado de los sitios de nuestroWordpress

El siguiente paso seraacute la descarga del plugin los cual podremos hacerlos desde la web de sour-forgenet 6 En esta web se detalla informacioacuten sobre el plugin y como se debe instalar Siguiendolos pasos que tenemos en el mismo procederemos a la descarga y el desplegado del mismo en lacarpeta wp-contentmu-plugins Salimos de Wordpress y volvemos a entrar como superusuariosi entramos dentro de la nueva red realizada podremos ver que dentro de LTI Consumers Keystendremos la opcioacuten LTI Consumers Keys como podemos ver en la imagen 56

Aquiacute deberemos crear la clave del consumidor del servicio y la clave secreta que nos permitiraacute aMoodle conectarse a Wordpress

Una vez que tenemos la clave secreta y del consumidor deberemos volver a Moodle entrandocomo administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

6httpsourceforgenetappsmediawikilearningappsindexphptitle=LTI4Wordpress

Figura 56 Servicios LTI en Wordpress

Figura 57 Listado de claves de LTI en Wordpress

-LTI En esta paacutegina podremos rellenar nuestras opciones

Tool Name Seraacute el nombre que tendraacute la herramienta y deberemos poner alguno indicativode la herramienta que estemos utilizando

Tool Base URL Es la direccioacuten de la herramienta en nuestro caso httplocalhostwordpress

Deberemos rellenar con los datos obtenidos en Wordpress la clave de consumidor y la clavesecreta

Es importante marcar Show tool type when creating tool instances para que aparezcaposteriormente al crear los recursos en nuestros cursos

Para poder probar el sistema hemos creado un curso dentro de Moodle llamada WordpressLTIdonde daremos de la siguiente manera de alta 59

Dentro de nuestro curso seleccionamos la opcioacuten de Edicioacuten

Pulsamos sobre Antildeadir una actividad o un recurso

Seleccionamos External Tool

Rellenamos las opciones

bull Nombre de la Actividad Cualquiera de nuestra eleccioacuten

Figura 58 Conguracioacuten LTI en Moodle

bull Tipo de herramienta externa El nombre que le pusimos a la herramienta externa enla conguracioacuten LTI de Moodle

bull Launch Container Hemos elegido la opcioacuten Incrustar para ver el resultado

Figura 59 Conguracioacuten Herramienta Externa

Una vez congurado podemos lanzar la herramienta externa teniendo como resultado la gura510

Figura 510 Wordpress integrado en Moodle

532 ChemVantage

ChemVantage es un recurso gratuito para la educacioacuten cientiacuteca que incluye ejercicios de gradoejercicios de preparacioacuten exaacutemenes de la praacutectica conferencias de video y libros de texto enliacutenea gratis Fue creado por ChemVantage LLC que fue fundada por el Prof Chuck Wight queha ensentildeado Quiacutemica General en la Universidad de Utah desde 1984 (ChemVantage 2011)

Nos hemos puesto en contacto con Chuck Wight (adminchemvantageorg) para solicitarle unaclave de consumidor y secreta para poder probar este recurso desde moodle Las opciones y elcorreo puede verse en la gura 511

Una de las cosas maacutes importantes de ChemVantage y por lo que nos hemos decidido a probar esque permite la devolucioacuten de las notas obtenidas en los ejercicios realizados en las herramientasexternas a Moodle El alumno podraacute realizar las tareas en esta herramienta externa y luego sercalicadas en Moodle

ChemVantage estaacute certicada por IMS 7 como un proveedor de herramientas LTI v11 y comotal funciona desde nuestro propio LMS para llevar a cabo la autenticacioacuten de sitios provee decuentas y devuelve resultados de asignacioacuten de estudiantes con el libro LMS grado automaacutetica-mente

Los recursos disponible son ChemVantage son principalmente los siguientes

1 QuizzesLos ejercicios presentados aquiacute estaacuten disentildeados para animar a los estudiantes a leer y en-tender los libros de texto utilizados en el curso Las preguntas se basan en material que sepresente en su mayor parte en los textos de introduccioacuten de quiacutemica Los iacutetems de preguntastienen respuestas straighforward no requieren caacutelculos detallados Las preguntas se presen-tan en varios formatos diferentes incluyendo opcioacuten muacuteltiple verdadero falso casilla devericacioacuten ll-in-the-blanco y numeacutericas Cada cuestionario se compone de 10 preguntasextraiacutedas al azar de una base de datos con muchas maacutes preguntas En el proceso de tomarvarias pruebas para mejorar sus calicaciones los estudiantes probablemente encuentran

7httpdevelopersimsglobalorgcoursechemvantagehtml

algunas preguntas repetidas de concursos anteriores sin embargo es poco probable quecualquiera de los dos cuestionarios contendraacute exactamente el mismo conjunto de preguntasen el mismo orden Asignando pruebas para ser completado antes de la conferencia losprofesores pueden estar seguros de que sus estudiantes tengan un poco de exposicioacuten almaterial Esto permite una mayor discusioacuten el diaacutelogo y la participacioacuten en el aula y haceel aprendizaje maacutes divertido (de verdad)

2 Video LecturesUna serie de conferencias de viacutedeo de 10 minutos sobre una variedad de temas de QuiacutemicaGeneral es accesible desde la paacutegina principal Los videos estaacuten disentildeados para reforzar lospuntos principales que se presentan en muchos libros de texto

3 HoweworksLas tareas estaacuten disentildeadas para dar a los estudiantes la praacutectica en la resolucioacuten de proble-mas cuantitativos que tienen respuestas numeacutericas Cada alumno puede descargar la tareatrabajar los problemas y presentar las respuestas en liacutenea Respuestas son juzgados a sercorrecta si la solucioacuten numeacuterica de acuerdo con la solucioacuten que se encuentra en la base dedatos dentro de una tolerancia especicada (indicado para cada problema) El sitio informaa los estudiantes que las respuestas son correctas para que puedan rehacer problemas malresueltos y volver a presentar las respuestas Cada problema se basa en una plantilla queatrae paraacutemetros al azar por lo que la respuesta correcta es diferente para cada estudianteEsto hace que sean adecuadas para la colaboracioacuten y el trabajo en grupo porque a pesarde que el grupo puede trabajar para encontrar un algoritmo correcto para resolver un prob-lema cada estudiante tendraacute que usar el algoritmo para encontrar la solucioacuten detallada asu propio problema

4 Practice ExamsLos estudiantes pueden realizaar exaacutemenes de praacutectica cronometrados que muestran laspreguntas de un grupo de 3 o maacutes temas Cada examen estaacute disentildeado para tardar unos60 minutos o menos e incluye una seleccioacuten de 10 preguntas Las praacutecticas de exaacutemenespueden repetirse cuantas veces se desee Las preguntas numeacutericas son parametrizadas loque es muy poco probable que un estudiante realice alguna vez dos exaacutemenes de praacutecticaideacutenticos

5 Portofolio PageCada estudiante puede acceder a una paacutegina que le da la puntuacioacuten obtenida en cada prue-ba y la asignacioacuten de tareas Los estudiantes que son miembros de un grupo tienen unapaacutegina de resultados asociados a las tareas de grupo Hay una paacutegina de carpeta separadaque contiene un resumen de todas las actividades realizadas en ChemVantage incluyendovideos vistos cuestionarios completados resolver problemas con la tarea y la praacutectica deexaacutemenes completados Las puntuaciones en los exaacutemenes de praacutectica son desagregadospara revelar fortalezas y debilidades estudiantes por temas

Hemos procedido a darlo de alta en LTI como hicimos con Wordpress Entramos en Moodle co-mo Administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

Figura 511 Correo de Chuck Wight

-LTI quedando como resultado la siguiente hoja de paraacutemetros gura 512

El siguiente paso seraacute antildeadir la herramienta dentro de nuestro curso para ello pulsaremos sobreAntildeadir una actividad o un recurso Deberemos seleccionar External Tool y rellenamos las op-ciones de la herramienta seleccionando como Tipo de herramienta externa la opcioacuten creada enel apartado de LTI de Moodle

Una vez congurado la herramienta en Moodle podemos entrar para realizar una personalizacioacutende la herramienta gura 513 esta consiste en indicar si el alumno cuando se conecta realiza undeterminado tarea o puede elegir navegar por la web de ChemVantage para poder disfrutar dela cantidad de recursos que se encuentran disponibles

Cuando el usuario pulsa sobre la opcioacuten de esta herramienta externa en Moodle lo primero quese le muestra es la informacioacuten sobre su perl en Chemvantage 514Como hemos visto en los paraacutemetros de conguracioacuten existe la posibilidad de llamar a unaherramienta externa incrustaacutendola dentro de Moodle o abrieacutendolo en una paacutegina web nuevaCon esta segunda opcioacuten no hemos conseguido que funcione correctamente la importacioacuten de lasnotas En cambio si la herramienta externa estaacute incrustada permite esa vinculacioacuten

Figura 512 Conguracioacuten de paraacutemetros LTI

Figura 513 Opciones de inicio de la herramienta

Figura 514 Pantalla de utilizacioacuten de la herramienta por el usuario

Capiacutetulo 6

Middleware

61 Introduccioacuten

La uacuteltima opcioacuten seriacutea utilizar una arquitectura middleware de integracioacuten que permita la inte-gracioacuten ligera de muacuteltiples herramientas existentes en el Moodle

62 GluePS

GLUE-PS es una arquitectura de middleware que permite una interoperabilidad ligera entrelos diferentes lenguajes de disentildeo de aprendizaje y diferentes entornos de aprendizaje virtualEsta interoperabilidad permite a los maestros y otros profesionales que particularicen (es decirpara personalizar el disentildeo de aprendizaje abstractoa la clase particular los participantes y laeleccioacuten de los instrumentos en los que va a ser promulgada) desplieguen (es decir para crearde forma semiautomaacutetica las actividades necesarias en el VLE recursos etc para la aprobacioacutendel disentildeo particularizado) e incluso para llevar a cabo ciertos cambios en el tiempo de ejecucioacuten(por ejemplo modicar la composicioacuten del grupo agregar o quitar recursos de las actividadesetc) Todo esto a partir de disentildeos en distintos lenguajes de disentildeo de aprendizaje tales como laespecicacioacuten IMS-LD aprendizaje

Por otra parte GLUE-PS tambieacuten permite desplegar y gestionar disentildeos de aprendizaje en en-tornos virtuales de aprendizaje que integren herramientas de aprendizaje externos (tales comointegrar en Moodle herramientas como Google Docs y muchos otros) - lo que llamamos Am-bientes de Aprendizaje Distribuido (DLE Distributed Learning Enviroments) Esto se consiguegracias a la arquitectura de GLUE para la integracioacuten de los entornos virtuales de aprendizajey herramientas externas

621 Instalacioacuten

Para realizar la instalacioacuten de GLUE-PS nos hemos descargado el software necesario de la webde los desarrolladores1 descargando la opcioacuten de autenticacioacuten centralizada La instalacioacuten haconstado de tres partes que pasaremos a describir a continuacioacuten

1httpwwwgsicuvaesglue

49

Figura 61 Arquitectura de GLUE

La primera parte consiste en la instalacioacuten del GLUEletManager y los adaptadores GSIC toolAunque el sistema viene preparado para Linux o Windows siendo Windows la explicacioacuten quevamos a desarrollar por estar utilizando este sistema operativo con Xampp

1 Crear el directorio GLUE_ HOME El cual hemos creado para mayor comodidad en la raiacutezdel disco duro

2 Denir la variable del sistema GLUE_ HOME con el valor de la direccioacuten completa deldirectorio de GLUE del punto anterior Para ello hemos pulsado botoacuten derecho sobre MiPc Propiedad Opciones Avanzadas Variables de Entorno procediendo a pulsar el botoacutenNueva para crear la variable en cuestioacuten

3 Extraemos en el directorio del punto (1) el paquete descargado de la paacutegina de los desar-rolladores

4 Ejecutar la instalacioacuten del cheroGLUE_ HOMEbininstall gluebat para registar GLUElet-Manager y GSIC tool como un servicio de Windows Tambieacuten este paso crearaacute un cheroen GLUE_ HOMEtool_ adapteradapterdata para proveer de persistencia a los objetoscreados con el adaptador GSIC tool

A continuacioacuten daremos de alta en nuestro gestor de bases de datos un para de bases de datosque necesita GLUEletManager Para ellos seguimos los siguientes pasos

1 Abrimos la consola de phpMyaAdmin para cargar y ejecutar el chero create_ GLUE_databasessql que se encuentra en GLUE_ HOMEmanagerconfdb

2 Modicamos el chero GLUE_ HOMEmanagerconfMETA-INFpersistencexml paradarle los paraacutemetros necesarios para que JDBC se conecte a nuestra base de datos Losparaacutemetros modicados puede verse en la imagen 62

Figura 62 Paraacutemetros modicados en persistencexml

La segunda parte consiste en el registro interno de los adaptadores de las herramientas para seraccedido con GLUEletManager La distribucioacuten trae un chero para facilitar la conguracioacuten delos adaptadores que trae consigo y para su instalacioacuten deberemos ejecutar el chero GLUE_HOMEmanagerconfdbll _ internal_ Registrysql Alguna de las herramientas necesitanuna conguracioacuten maacutes completa como puede ser Google Docs adapter que necesita una cuentade Gmail para poder crear documentos en Google Docs por lo que deberemos modicar el nom-bre de usuario y contrasentildea

La uacuteltima parte consiste en la instalacioacuten del adaptardor de Moodle como VLE utilizado Estainstalacioacuten es como cualquier otro moacutedulo de Moodle 2 La carpeta que deberemos copiar seraacutela del adaptador correspondiente a Moodle que se encuentra en la carpeta GLUE_ HOMEvle_adpatersmoodle_ vle_ adapter Una vez entremos en nuestro Moodle como administrador nosapareceraacute un mensaje indicaacutendonos que el nuevo moacutedulo esta instalado Para congurar el nuevomoacutedulo debermos ir a Noticaciones - Modulos - Actividades como podemos ver en la gura 63para congurar los paraacutemetros la URL del GLUEletManager y el tiempo de espera

Figura 63 Paraacutemetros del moacutedulo GLUE

Cuando el profesor quiera crear una nueva actividad dependiente de los adaptadores de GLUEdeberaacute agregar una actividad maacutes pulsando para ello en esta opcioacuten dentro del bloque deseadopara seleccionar luego el tipo de actividad GLUElet como podemos ver en la gura64

622 Creando un Doodle

El adaptador Doodle permite la creacioacuten conguracioacuten y gestioacuten de instancias del Doodle Cadaencuesta Doodle es considerado un instancia diferente Ademaacutes este adaptador permite realizarademas la conguracioacuten inicial de encuestas Doodle incluyendo el nombre de la encuesta unadescripcioacuten y un conjunto de posibles respuestas

A continuacioacuten antildeadiremos Doodle en un bloque de Moodle para ellos pulsaremos la opcioacuten deAgregar actividad GLUElet lo cual nos mostraraacute la paacutegina65 donde deberemos rellenar comomiacutenimo el nombre de la actividad y el tipo de herramienta seleccionado en este caso Doodle(httpdoodle-testcom)

2httpdocsmoodleorgenInstalling_contributed_modules_or_plugins

Figura 64 Creando una actividad GLUElet

La primera vez que pulsemos sobre la nueva actividad creada apareceraacute un pantalla 66 dondepodemos congurar diferentes elementos de la encuesta desarrollada con Doodle como son eltiacutetulo una pequentildea descripcioacuten y luego las opciones posibles con un liacutemite de 10

El resultado nal seraacute la incrustacioacuten de una encuesta Doodle dentro de nuestro Moodle comopodemos ver en la gura67

Figura 65 Antildeadiendo Doodle como actividad

Figura 66 Opciones iniciales de conguracioacuten de Doodle

Figura 67 Doodel dentro de Moodle

Capiacutetulo 7

Conclusiones Finales

71 Conclusiones Finales

El proyecto actual nos ha servido para acercarnos a las diferentes tecnologiacuteas que permiten lacomunicacioacuten entre Servicios Webs Hemos desarrollado una primera labor de investigacioacuten queha requerido el aprendizaje de diferentes herramientas de control de documentacioacuten y referenciascomo Zotero y Mendeley

La documentacioacuten recabada en el proceso inicial de revisioacuten de documentos nos ha aportadoun visioacuten general de los diferentes sistemas virtuales de aprendizaje que podemos encontrarnosmuchos de ellos gratuitos y las diferentes soluciones que se plantean a la necesidad de incluirrecursos de otros fabricantes que en principio no fueron concebidos para ser utilizados dentro deuna plataforma VLE

Para poner en praacutectica la diferentes opciones encontradas se han montado diferentes maacutequinasvirtuales sobre las que se han probado las mismas Las conclusiones nales se pasan a detallar

IMS LTIEsta solucioacuten de integracioacuten mediante el cumplimiento de unos protocolos y certicacionesde las herramientas que lo cumplen es en principio la que podriacutea parecer la mejor opcioacutenpero la falta de compromiso de los diferentes fabricantes de Servicios Web y la luchapara imponer sus propios estaacutendares hace que aun quede mucho para que esta opcioacuten seacomo tal real

Si vemos el nuacutemero de aplicaciones certicadas para usar IMS LTI apenas superan las 50 yla mayoriacutea solo cumple la especicacioacuten v10 lo cual signica que la integracioacuten solo solu-ciona el problema de llamar a un recurso externo desde Moodle Pocas son las que cumplenla v11 que permite obtener en Moodle una valoracioacuten de los ejercicios desarrollados en unaactividad externa

La versioacuten v20 que daraacute maacutes opciones a la hora de interactuar con actividades externasauacuten esta en desarrollo y nada se sabe sobre posibles fechas para su presentacioacuten Luegocerticacioacuten de herramientas etc

55

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 5: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

Iacutendice general

1 Revisioacuten Sistemaacutetica de la Literatura 111 Objetivos del SLR 112 Estudio Inicial 1

2 Plataformas VLE e integracioacuten 721 VLE 7

211 Ejemplos de VLEs 822 Herramientas de Software 8

221 Integracioacuten de herramientas 9222 Problemas en la integracioacuten 11223 Enfoques de la integracioacuten 11

23 Servicios Web 12231 Orquestacioacuten y Coreografiacutea de Servicios Web 14232 Estaacutendares de Orquestacioacuten de Servicios Web 16233 Estaacutendares de Coreografiacutea de los Servicios Web 17

24 Moodle 17241 otras plataformas 18

3 Organizacioacuten y Sistema Inicial 2131 Lanzamiento del proyecto 2132 Denicioacuten del proyecto 2133 Anaacutelisis de requisitos 21

331 Cuestiones Realizadas 21332 Fuentes de datos y buacutesqueda 21333 Criterios de inclusioacuten y exclusioacuten 22334 Asegurar la calidad 22335 Extraccioacuten de datos y anaacutelisis 22336 Fase de revisioacuten 22337 Fase de Pruebas 22

34 Calendario de Trabajo 2335 Hitos principales 2336 Instalacioacuten base 25

4 Servicios Web de Moodle 2741 Introduccioacuten 2742 Servicios Web de Moodle 2743 REST 28

i

431 Principios de disentildeo 2944 SOAP 30

441 Principios de disentildeo 3045 AMF 3146 Conguracioacuten de Moodle Web Services 32

461 Activando los Servicios Web 32462 Pruebas cliente Servicio Web 34

5 Herramientas Externas 3751 Introduccioacuten 3752 Estaacutendares IMS 3753 Herramientas externas en Moodle 39

531 Wordpress 39532 ChemVantage 44

6 Middleware 4961 Introduccioacuten 4962 GluePS 49

621 Instalacioacuten 49622 Creando un Doodle 51

7 Conclusiones Finales 5571 Conclusiones Finales 55

8 Conceptos 57

Bibliografiacutea 59

Iacutendice de guras

11 Resultados SLR 212 Exportacioacuten en IEEE 213 Importacioacuten en Hoja de Caacutelculo 314 Exportacioacuten en SD 315 Exportacioacuten en SD 416 Resumen de resultados 417 Conguracioacuten de Google Scholar 418 Resultados en Zotero 5

21 Anaacutelisis de VLEs 922 Top 100 Tools - Abril 2013 1023 Ciclo de vida del aprendizaje colaborativo 1124 Problemas de integracioacuten 1225 Problemas de integracioacuten 1326 Enfoques de arquitectura de integracioacuten 1427 Orquestacioacuten y Coreografiacutea de Servicios Web 1628 Moodle - Abril 2013 17

31 Proceso para dirigir la revisioacuten 2332 Diagrama de Gantt 2433 Panel de control de XAMPP 2634 Gestor de bases de datos phpMyAdmin 26

41 Capas en Moodle 2842 Operaciones denidas por HTTP 2943 Operaciones denidas por HTTP 3044 Partes de SOAP 3145 Ejemplo de uso de SOAP 3146 Activacioacuten Servicios Web 3247 Activacioacuten Protoclos 3348 Creacioacuten Servicio Personalizado 3349 Agregando funciones al Servicio Personalizado 34410 Listado de Servicios Personalizados 34411 Alta de Usuarios Autorizados 35412 Creacioacuten de Tokens 35413 Lista de Tokens 36414 Web de alta de usuarios 36415 Resultado de REST en formato XML 36

iii

416 Resultado de REST en formato JSON 36

51 Esquema LTI Baacutesico 3852 Esquema utilizacioacuten LTI 3953 Listado de herramientas LTI de la UOC 3954 Informacioacuten sobre la certicacioacuten 4055 Usuario de Wordpress 4056 Servicios LTI en Wordpress 4257 Listado de claves de LTI en Wordpress 4258 Conguracioacuten LTI en Moodle 4359 Conguracioacuten Herramienta Externa 43510 Wordpress integrado en Moodle 44511 Correo de Chuck Wight 46512 Conguracioacuten de paraacutemetros LTI 47513 Opciones de inicio de la herramienta 47514 Pantalla de utilizacioacuten de la herramienta por el usuario 47

61 Arquitectura de GLUE 5062 Paraacutemetros modicados en persistencexml 5063 Paraacutemetros del moacutedulo GLUE 5164 Creando una actividad GLUElet 5265 Antildeadiendo Doodle como actividad 5366 Opciones iniciales de conguracioacuten de Doodle 5367 Doodel dentro de Moodle 54

Capiacutetulo 1

Revisioacuten Sistemaacutetica de la Literatura

11 Objetivos del SLR

Hemos partido de un SLR detallado en la PEC1 bastante ambicioso en el que se intentaronabordar la buacutesqueda de herramientas y estado actual de la coreografiacutea y orquestacioacuten de serviciosweb en la plataforma Moodle Pasaremos a detallar el estudio realizado y los resultados obtenidos

12 Estudio Inicial

La fase de planicacioacuten inicial incluiacutea el la buacutesqueda para la obtencioacuten de estudios o trabajos enlas siguiente libreriacuteas

IEEEXplore [IEEEX] httpieeexploreieeeorg

Science Direct [SD] httpwwwsciencedirectcom

SpringerLink [SL] httpwwwspringerlinkcom

Las cadenas de buacutesqueda empleadas aparecen listadas en la tabla 11 de la paacutegina 1 En la tablaTAK indican Title Abstract Keywords y A indica All Ambos casos se reeren a los campos debuacutesqueda utilizados

Cuadro 11 Fuentes de datos y cadenas de buacutesquedas reali-zadas

Libreriacutea Buacutesqueda AacutembitoIEEEX (Moodle AND Web services) TAKIEEEX (Orchestration OR Coreography) ANDWeb Ser-

vicesTAK

IEEEX (Orchestration OR Coreography) AND Moodle TAKIEEEX (Orchestration OR Coreography) AND (lms OR

Learning Management System)TAK

SD (Moodle AND Web services) TAKSD (Orchestration OR Coreography) ANDWeb Ser-

vicesTAK

continuacutea

1

Cuadro 11 continuacioacutenLibreriacutea Buacutesqueda AacutembitoSD (Orchestration OR Coreography) AND Moodle TAKSD (Orchestration OR Coreography) AND (lms OR

Learning Management System)TAK

SL (Moodle AND Web services) TAKSL (Orchestration OR Coreography) ANDWeb Ser-

vicesTAK

SL (Orchestration OR Coreography) AND Moodle TAKSL (Orchestration OR Coreography) AND (lms OR

Learning Management System)TAK

Los resultados obtenidos podemos observarlos en la gura 11

Figura 11 Resultados SLR

Los resultados de Springer Link para la consulta (Orchestration OR Coreography) ANDWeb Services fueron en principio un problema por la cantidad de artiacuteculos que arrojaba2734 en total aun asiacute empezoacute a trabajar con ello La idea de un SLR es realizar una lecturainicial de los Abstracts para ver si la informacioacuten obtenida es de nuestro intereacutes y si fuera asiacuteprofundizar en la lectura del documento

Comenzamos trabajando con la libreriacutea de IEEE Digital Library (Xplore) El portal de estalibreriacutea nos facilitoacute mucho el trabajo pues pudimos permite la opcioacuten de exportar de manerasencilla como podemos ver en la gura 12 a una hoja de calculo que hemos utilizado para irdetallando aquellos documentos que hemos considerado importantes durante el estudio

Figura 12 Exportacioacuten en IEEE

Los resultados exportados por este portal son bastante completos sobre todo porque contiene elAbstract de los documentos por lo que la lectura de los mismos no se tiene que realizar en demanera individual en la web o descargando los documentos En la gura 13 podemos ver comose importaron en nuestra hoja de calculo los datos obtenidos

Figura 13 Importacioacuten en Hoja de Caacutelculo

Despueacutes de realizar la lectura los Abstracts hemos continuado con ScienceDirect donde los re-sultados fueron menores que los obtenidos con IEEE Este portal tambieacuten permite la opcioacuten deexportar de manera sencilla como podemos ver en la gura 14 permitiendo la opcioacuten de incluirlos Abstracts

Figura 14 Exportacioacuten en SD

Para acabar este uacuteltimo bloque nos quedaba revisar SpringerLink el cual se presentaba comoel maacutes prometedor por el gran nuacutemero de resultados obtenidos La revisioacuten de tantos artiacuteculos sepresentaba ardua pero no se esperaba que fuera tanto pues el portal no permite la exportacioacutende los Abstracts de los documentos encontrados Realizar la descarga de 2924 documentos parasu revisioacuten se nos haciacutea algo inviable dentro de los plazos para entrega del presente proyectosiendo por lo tanto seguir con los paraacutemetros de buacutesqueda iniciales En la gura 15 podemosver cuales son los campos que permite la exportacioacuten de este portal

Esto hizo replantearnos el estudio por lo que hemos replanteado el mismo reduciendo los con-ceptos a buscar para ello hemos realizado la buacutesqueda solo de los artiacuteculos directamente rela-cionados con Moodle y la coreografiacutea y orquestacioacuten de servicios web es decir (OrchestrationOR Coreography) AND Moodle y hemos incluido un nuevo buscador Google Scholar

Figura 15 Exportacioacuten en SD

httpscholargooglecom para de esta manera compensar la reduccioacuten de las buacutesquedas

La buacutesqueda por lo tanto puede ser resumida en la siguiente tabla 16 donde podemos comprobarla gran cantidad de artiacuteculos encontrados gracias a la utilizacioacuten de Google Scholar

Figura 16 Resumen de resultados

Los resultados de Google Scholar eran prometedores pero tambieacuten presentaban problemas parasu exportacioacuten despueacutes de varias consultas para buscar informacioacuten al respecto se conguroacute labuacutesqueda para que permitiera la exportacioacuten de los enlaces encontrados como podemos ver enla gura 17 pero esta opcioacuten nos volviacutea a obligar a realizar una consulta individual de cadaelemento

Figura 17 Conguracioacuten de Google Scholar

Aunque podriacuteamos realizar la buacutesqueda de esta manera sobre todo por los resultados esperadosel tener que realizar la buacutesqueda desde el navegador presentando solo 20 resultados por paacutegina seantojaba bastante pesada sobre todo si se teniacutea que retomar la buacutesqueda en diversos periodos detiempo La solucioacuten que se encontroacute fue la instalacioacuten de Zotero httpwwwzoteroorg Laherramienta permite instalacioacuten de un complemento para Firefox que se utilizoacute para realizar ladescarga de todos los enlaces Este complemento tambieacuten permite la visualizacioacuten de los enlacesen la web como podemos ver en la gura 18 Aun asiacute se decidioacute realizar la instalacioacuten de laversioacuten consola de Zotero para trabajar mejor con carpetas y de esta manera reorganizar lasreferencias encontradas

Figura 18 Resultados en Zotero

Capiacutetulo 2

Plataformas VLE e integracioacuten

En esta seccioacuten describiremos el Entorno Virtual de Aprendizaje pondremos ejemplos de ellos yveremos las necesidades que generan en el desarrollo del proceso de aprendizaje por la falta deintegracioacuten de nuevas herramientas algunas de ellas utilizadas por si sola como herramientas deaprendizaje Detallaremos los problemas de la integracioacuten y expondremos las posibles solucionesa ello

21 VLE

El Entorno Virtual de Aprendizaje (VLE - Virtual Learning Enviroment) suele ser un teacuterminomuy usado en la educacioacuten a traveacutes de ordenador pero no existe una denicioacuten acordada porlo que muchas veces es confundido con otros teacuterminos anaacutelogos como Learning ManagementSystem (LMS) Sistema de Gestioacuten de Contenidos (Content Management System - CMS) o unaPlataforma de aprendizaje (Learning Plataform - LP)

Las deniciones maacutes aceptadas para VLE pues dada en el 2000 por Joint Information Sys-tems Committee (JISC) en el 2000 [Stiles 2000] indicando que son ccedilomponents in which learn-ers and tutors participate in on-line interactions of various kinds including on-line learningExisten otros autores que no estaacuten de acuerdo con la necesidad de interacciones on-line como[Dillenbourg et al 2002] que los excluyen de su denicioacuten Britain an Liber [Britain et al 2004]tambieacuten omiten la comunicacioacuten on-line de su denicioacuten indicando que las VLEs pretender darcabida a una amplia gama de estilos de aprendizaje y objetivos para fomentar el aprendizajecolaborativo y basado en recursos para permitir una mayor intercambio y reutilizacioacuten de recur-sos [Britain et al 2004]

Una de las deniciones mas formal y comuacutenmente citada fue dada en el trabajo de Dillengourgs[Dillenbourg et al 2002] el cual expone siete argumentos distintivos

1 VLEs are designed information spaces in which multiple authors can produce both struc-tured and unstructured information

2 VLEs are social spaces that promote interactions and discussions both synchronously orasynchronously

3 VLEs are explicitly represented ranging from text-based interfaces to complex 3D graphicalsystems

7

4 VLE students are also actors thus producing rather than consuming contents

5 VLEs are not restricted to distance education supporting also presential and blended learn-ing situations

6 VLEs integrate heterogenous technologies (including a variety of tools supporting diferenttasks) and multiple pedagogical approaches because integration is under the idea of envi-ronment

7 Most VLEs overlap with physical environments at some point since learning activities mayinvolve the use of non-computerized resources or interactions among participants

Por tanto el VLE conlleva un paso hacia delante por constituir un espacio virtual que utilizatecnologiacuteas heterogeacuteneas en el que los alumnos son activos usuarios siendo sistemas centrados enlos educadores que permiten el disentildeo instanciacioacuten promulgacioacuten y evaluacioacuten de situacionesde aprendizaje colaborativo a traveacutes de un conjunto de actividades de aprendizaje que puedenser siacutencronas o asiacutencronas cara a cara o a distancia individuales o de manera colaborativa

211 Ejemplos de VLEs

Existen actualmente diversos VLEs amplimente difundidos y no paran de aparecer nuevos loscuales intentan incluir nuevos teacutecnicas aplicadas al aprendizaje como puede ser el 3D [Nonis 2005]Hemos realizado el resumen por [Alario-Hoyos et al 2012] para mostrar una tabla en la gura21 de los maacutes importantes Moodle Lams LRN Sakai Blackboard Claroline Sharepoint LMSy sus caracteriacutesticas teacutecnicas y funcionales

22 Herramientas de Software

El uso de aplicaciones software como apoyo al aprendizaje ha jugado un papel muy importantesobre todo a la incorporacioacuten del ordenador a nuestra vida diaria Sin embargo no ha sido hastalos uacuteltimos antildeos con la difusioacuten de las tecnologiacuteas web y la posibilidades que ofrece de accesoraacutepido y ubicuo a los recursos e informacioacuten lo que ha provocado la proliferacioacuten de las her-ramientas de Software como Servicio (Software as Service - SaaS) siendo adoptadas en todas lasetapas del aprendizaje

La tendencia actual de los usuarios a generar y compartir contenidos a traveacutes de las herramientasde la llamada Web 20 la mayoriacutea de las cuales son aplicaciones SaaS ha cambiado la formade aprender fomentando la comunicacioacuten colaboracioacuten y ha fomentado un aprendizaje masconstructivista Algunos ejemplos de estas herramientas son

Google Drive httpsdrivegooglecom

Twitter httpstwittercom

Delicious urlhttpsdeliciouscom

Google Maps httpsmapsgooglees

Flickr httpwwwflickrcom

Doodle httpwwwdoodlecom

Figura 21 Anaacutelisis de VLEs

Miles de estas herramientas son usadas como apoyo en las actividades de aprendizaje Muchasde estas herramientas podemos encontrarlas valoradas en un ranking en webs como Tops 100Tools for Learning1 de la cual mostramos la gura 22 tambieacuten podemos encontrarlas en CcediloolsTools for Schools2

221 Integracioacuten de herramientas

Aunque hemos podido ver que existe un gran nuacutemero de herramientas software la cuales puedenapoyar el desarrollo docente son pocos los VLEs y otras plataformas similares utilizadas porlos educadores para disentildear y prestar sus actividades formativas las que incluyen un nuacutemeromuy restringido de estas herramientas de manera integrada Los educadores suelen indicar laslimitaciones que los VLEs tienen en este caso demandando maacutes alternativas para soportar susparticulares aprendizajes colaborativos Por ello ha emergido con fuerza la integracioacuten de her-ramientas externas en los VLEs sobre todo para el uso de SaaS y aplicaciones Web 20

Debemos tener en cuenta que

La integracioacuten de las herramientas actuales en los entornos VLEs actuales suele ser laopcioacuten maacutes aceptada aunque existen otras alternativas

Las SaaS y las aplicaciones Web 20 han sido ampliamente adoptadas como herramientas de

1httpc4lptcouktop100tools2httpcooltoolsforschoolswikispacescom

Figura 22 Top 100 Tools - Abril 2013

aprendizaje pero existen otras herramientas con su particularidades teacutecnicas que puedenser interesantes y tenida en cuenta como actividades de aprendizaje en los VLEs

Estas herramientas usadas durante el ciclo de vida de aprendizaje colaborativo deben poderser analizadas para estudiar sus resultados

El ciclo de vida del aprendizaje colaborativo consta de cuatro fases disentildeo despliegue pues-ta en marcha y evaluacioacuten Las herramientas de software suelen utilizarse principalmenteen dos de ellas en el despliegue donde las herramientas son seleccionadas dependiendo delos objetivos del aprendizaje la conguracioacuten social y las estructuras de las actividades arealizar y en la fase de puesta en marcha pues son utilizadas por los estudiantes para re-alizar sus actividades y de esta manera alcanzar los objetivos del aprendizaje En la fase deevaluacioacuten estas realmente no son importantes pues no nos interesa tanto la herramientacon la que se haya realizado sino el contenido de esos resultados La fase de disentildeo es dondese consideran las tareas a realizar para llevar a cabo el aprendizaje y no herramientas autilizar para ello Aunque estas cuatro fase puede ser ampliadas o reducidas es ampliamenteaceptado En la gura podemos ver graacutecamente este ciclo

Figura 23 Ciclo de vida del aprendizaje colaborativo

222 Problemas en la integracioacuten

El problema general de la integracioacuten de muacuteltiples herramientas externas en diversos VLEspodemos observarlo en la gura 24 donde podemos ver en un lado diferentes VLEs consus correspondientes APIs arquitectura y caracteriacutesticas mientras en el otro lado diferentestecnologiacuteas interfaces y desarrollos para una gran variedad de propoacutesitos Cada uno deellos puede imponer sus restricciones para la integracioacuten Estos requerimientos es lo queha sido denominado por ejemplo en LAMS como ccedilontrato de integracioacuten el cual intentadeterminar las tecnologiacuteas interfaces y modelos de datos que deben ser empleados para lacomunicacioacuten entre un sistema y el programa que intente integrarlo

Cada herramienta puede tener una o maacutes opciones de integracioacuten Algunas son especiacute-cas para una cierta herramienta (Ej comunicacioacuten basado en Rest para Delicious y paraSlidshare de manera diferente) y otras comuacuten para varias herramientas (Ej Google DataProtocol) Lo mismo ocurre en el lado de los VLEs por lo que se abre un amplio abanicode tecnologiacuteas interfaces y modelos de datos que hacen que la tarea de integracioacuten seaalgo realmente complejo En la gura 25 podemos ver un resumen de los problemas deintegracioacuten seguacuten las herramientas seleccionadas

223 Enfoques de la integracioacuten

Podemos denir dos enfoques principales a la hora de enfocar la integracioacuten de las her-ramientas de software y los VLEs siendo estos

bull Estandarizar los contratos de integracioacutenLa denicioacuten de unos estaacutendares de integracioacuten podriacutea resolver los problemas de in-tegracioacuten pero no existen hoy en diacutea los mismos o no son aceptados por la mayoriacutea

Figura 24 Problemas de integracioacuten

seguramente por intereses tecnoloacutegicos y comerciales IMS Global Learning Consor-tium siguen intentando realizar la aprobacioacuten de dicho estaacutendar siendo uno de elloIMS-LTI Integracioacuten de aplicaciones y servicios remotos y aunque la adopcioacuten de losmismo por las nuevas versiones de Moodle y Blackboard podriacutea hacer que se apos-tara por esta opcioacuten la falta de herramientas que lo utilicen (Ej Google no lo utiliza)puede hacer que no llegue a buen puerto

bull Crear una arquitecturaEste enfoque trata de adaptar los contratos de integracioacuten de los VLEs y las her-ramientas sin tener que modicar sus implementacioacuten Este mismo enfoque presentados opciones como podemos ver en la gura 26 y que pasamos a detallar

1 Un adaptador por en el lado de VLE y otro en el lado de las herramientas o inclusoun solo paquete que pueda congure toda la conexioacuten En este caso estariacuteamoshablando por ejemplo de los moacutedulo adicionales de Moodle

2 Una capa intermedia y adaptadores Este tipo de arquitectura permite la in-tegracioacuten entre muacuteltiples herramientas externas y muacuteltiple entorno virtuales deaprendizaje a traveacutes de un middleware comuacuten Dicho middleware estariacutea com-puesto de diferentes programas que pueden ser ejecutados en dominios diferentesEsta arquitectura reduce el esfuerzo para la integracioacuten de cada herramienta encada VLE ya que el coacutedigo estaacute parcialmente implementado por los elementos deintegracioacuten comunes Sin embargo el grado de integracioacuten y funcionalidad que sepuede lograr con estas arquitecturas es menor que con la primera opcioacuten

23 Servicios Web

Aunque han sido englobados dentro de integracioacuten de herramientas vamos a detallar queson y que aportan a Moodle

Figura 25 Problemas de integracioacuten

Los Servicios Web (Web Services) son la parte esencial de la interoperabilidad de Moodlecon otras aplicaciones Web 20 consisten en una pieza de software que utiliza un conjuntode protocolos y estaacutendares abiertos para intercambiar datos entre aplicaciones La idea prin-cipal es que distintas aplicaciones de software desarrolladas en lenguajes de programacioacutendiferentes y ejecutadas sobre cualquier plataforma puedan utilizar los servicios Web paraintercambiar datos en la red de ordenadores como Internet El producto resultante es unconjunto de moacutedulos con funcionalidad especiacuteca y completa que se acoplan entre siacute A suvez estos moacutedulos se conectan a una plataforma de e-learning mediante la utilizacioacuten deservicios de base descritos en una capa estaacutendar que funciona como gateway

Para ampliar un poco mejor el concepto de servicios Web citaremos una exposicioacuten delDoctor Marcos Escobar Un Web Service es un componente de software que se comunicacon otras aplicaciones codicando los mensaje en XML y enviando estos mensaje a traveacutesde protocolos estaacutendares de Internet tales como el HTTP Intuitivamente un Web Servicees similar a un sitio Web que no cuenta con un interfaz de usuario y que da servicio a lasaplicaciones en vez de a las personas Un Web Service en vez de obtener solicitudes desdeel navegador y retornar paacuteginas Web como respuesta lo que hace es recibir solicitudes atraveacutes de un mensaje formateado en XML desde una aplicacioacuten realiza una tarea y de-vuelve un mensaje de respuesta tambieacuten formateado en XML

Figura 26 Enfoques de arquitectura de integracioacuten

231 Orquestacioacuten y Coreografiacutea de Servicios Web

Seguacuten Careaga Mercadillo Ana Lilia [car ] la Orquestacioacuten (Web Service Orchestration)y Coreografiacutea (Web Service Choreography) se suelen ver como dos aproximaciones parala Composicioacuten de Servicios Web que se acercan estrechamente a los conceptos musicalespor lo cual se han importado directamente sus signicados A continuacioacuten detallaremosque son y sus posibles aplicaciones

La tarea de componer servicios Web baacutesicos o simples para brindar servicios Web maacutes com-plejos se conoce teacutecnicamente como Composicioacuten de Servicios Web Existen dos grandesaproximaciones para esta tarea la coreografiacutea con foco en la interaccioacuten entre servicios(equivalente a los bailarines) y la orquestacioacuten (equivalente a los instrumentos de la orques-ta) con foco en la implementacioacuten y ejecucioacuten de servicios La primera puede consid-erarse como una descripcioacuten formal del pasaje de mensajes obviando detalles internosde implementacioacuten Se ajusta maacutes en situaciones donde es provechoso contar con la no-cioacuten de estados y tambieacuten donde estaacuten involucradas transacciones de larga duracioacuten- Elorquestadordetermina la naturaleza y la secuencia de la interaccioacuten En cambio la segun-da aproximacioacuten describe la loacutegica y el estado de cada una de las partes involucradas Laorquestacioacuten tiene una visioacuten mas local y centralizada mientras que la coreografiacutea denela composicioacuten desde una perspectiva global sin control centralizado tal y como sucede enla danza

Existen numerosas deniciones de Servicios Web y esto demuestra en parte la gran com-plejidad de los servicios que se agrupan bajo este teacutermino y las implicaciones asociadas aellos Hasta ahora la denicioacuten maacutes general y convincente es decir que los Servicios Webson el conjunto de aplicaciones tecnoloacutegicas con capacidad para interoperar en la Web Es-tas tecnologiacuteas intercambian datos entre ellas con el n de ofrecer servicios de naturalezaremota

La World Wide Web no es soacutelo un espacio de informacioacuten tambieacuten es un espacio de inter-accioacuten Utilizando la Web como plataforma los usuarios de forma remota pueden solicitar

un servicio que alguacuten proveedor ofrezca en la red Pero para que esta interaccioacuten funcionedeben existir unos mecanismos de comunicacioacuten estaacutendares entre diferentes aplicacionesEstos mecanismos deben poder interactuar entre siacute para presentar la informacioacuten de formadinaacutemica al usuario Se precisa pues una arquitectura de referencia estaacutendar que hagaposible la interoperabilidad y extensibilidad entre las distintas aplicaciones y que permitasu combinacioacuten para realizar operaciones complejas Esta arquitectura es conocida con elnombre de SOA (Service Oriented Architecture)

Con el n de estandarizar los diferentes aspectos relacionados con los servicios Web elW3C (World Wide Web Consortium) recoge todo lo referente a ellos en (Web ServicesActivity) Asiacute pues Web Services (WS) ofrece un signicado estaacutendar para interoperarentre diferentes aplicaciones de software corriendo en diferentes plataformas yo marcosde trabajo El W3C pretende disentildear la arquitectura denirla y crear el nuacutecleo de tec-nologiacuteas que hagan posible los Servicios Web Los servicios Web se basan en un lenguajede caracteriacutesticas especiales llamado XML (Extensible Markup Language) que permite quelas aplicaciones compartan informacioacuten y que ademaacutes invoquen funciones de otras apli-caciones independientemente de coacutemo se hayan creado dichas aplicaciones y del sistemaoperativo o plataforma en que se ejecuten Por ejemplo Google utiliza un Servicio Webllamado Google Web APIs que permite que el usuario programe en diversos lenguajes ase-gurando la recuperacioacuten de informacioacuten independientemente de la plataforma que se utilice

Los Servicios Web se idearon en un principio para realizar interacciones simples e indepen-dientes pero ahora es necesario que los servicios colaboren y se coordinen A la coordinacioacutennecesaria para implementar un servicio Web se le llama Composicioacuten que puede realizarsede dos manerasorquestacioacuten y coreografiacutea La principal diferencia entre orquestacioacuten ycoreografiacutea es el alcance La orquestacioacuten trata de la descripcioacuten y ejecucioacuten de un mismoy uacutenico punto de vista global del modelo (instrumentacioacuten) La coreografiacutea trata de la de-scripcioacuten y guiacutea de un modelo global proyectado en base a cada participante (bailarines)La orquestacioacuten y coreografiacutea son teacuterminos que describen dos aspectos de los estaacutendaresemergentes para la creacioacuten de procesos de negocios de muacuteltiples servicios WebLos dosteacuterminos se superponen pero es claro que la orquestacioacuten se reere a un proceso de nego-cio ejecutable que puede interactuar tanto con servicios Web internos como externos Laorquestacioacuten representa siempre el control desde la perspectiva de una de las partes Estolo distingue de la coreografiacutea que es de mayor colaboracioacuten y permite a cada parte impli-cada describir su papel en la interaccioacuten La orquestacioacuten y coreografiacutea tratan de describiraspectos relacionados con la creacioacuten de procesos de negocio que involucran varios tipos deSoftware

Visto graacutecamente podemos ver en la gura 27 la orquestacioacuten permite disentildear proce-sos de negocio ejecutables que pueden interactuar (a nivel de mensaje) tanto con softwareinterno como externo Por otra parte la coreografiacutea es mucho maacutes colaborativa ya quepermite trazar las secuencias de mensajes que se suceden entre todas las partes partici-pantes del proceso de negocio en lugar de centrarse en los mensajes que se intercambianentre los diversos programas de software que implementan los procesos de negocio

Figura 27 Orquestacioacuten y Coreografiacutea de Servicios Web

232 Estaacutendares de Orquestacioacuten de Servicios Web

WS BPEL( Web Service Business Process Execution Language)Es un lenguaje de orquestacioacuten estandarizado porOASIS (Organisation for Advance Struc-tured Information Business Transaction Protocol) para la composicioacuten de servicios Web quepermite a los desarrolladores crear programas que automatizan las interacciones entre losservicios Web jugando un papel clave en las arquitecturas orientadas a los servicios SOAPara comprender su funcionamiento imaginemos un proceso de negocio determinado quetiene una entrada A y una salida B Dicho proceso como la mayoriacutea de ellos posee a suvez de muchos procesos internos que se van activando de acuerdo a ciertos paraacutemetros yvalores BPEL seriacutea el encargado de orquestar y por lo tanto dirigir la ejecucioacuten de unamanera ordenada La ventaja de que BPEL sea un estaacutendar radica en que puede ser imple-mentado en una gran variedad de motores de ejecucioacuten de diferentes proveedores BPELen si es un formato XML que proviene de la convergencia entre el WSFL (Web ServiceFlow Language) de IBM y XLANG de Microsoft La herramienta BPEL estaacute basada en unmodelo llamado Workow que especica las oacuterdenes de ejecucioacuten Existen actividadesbaacutesicas como iumlnvoke y receive y otras estructuradas como sequence Tambieacuten formanparte del modelo variables y participantes (partners) En las variables se deposita la nocioacutende datos y los participantes representan los elementos que interactuacutean en la composicioacutenEl modelo se completa como un motor que orquestaraacute las invocaciones

BPML (Business Process Modeling Language)Es un metalenguaje basado en XML para la descripcioacuten de procesos de negocio Inicial-mente BMPL se disentildeoacute para soportar los procesos que un sistema de gestioacuten de procesosde negocio pudiera ejecutar BPML dispone de estructuras similares a BPEL como puedenser actividades baacutesicas para el enviacuteo y la recepcioacuten de mensajes y para la invocacioacuten deservicios Adicionalmente BPML permite planicar las tareas para que se ejecuten eninstantes especiacutecos ofreciendo algunas opciones de control temporal Este lenguaje in-cluye caracteriacutesticas para dar soporte a la persistencia ya que fue disentildeado para la gestioacutende procesos de larga duracioacuten BPML ofrece soporte tambieacuten para realizar composicionesrecursivas a n de poder construir procesos de negocio que a su vez consten de otros sub-procesos Asimismo soporta transacciones de larga o corta ejecucioacuten gracias a que usa unateacutecnica similar a BPEL para controlar el alcance de las actividades y gestionar de esta

forma las reglas de compensacioacuten en caso de que las operaciones que deben realizarse deforma automaacutetica se vean interrumpidas

233 Estaacutendares de Coreografiacutea de los Servicios Web

WS-CDL (Web Services Choreography Description Language)Es un lenguaje basado en XML que describe la colaboracioacuten entre pares peer to peemediante la denicioacuten - desde un punto de vista global de los comportamientos comunes yobservables de cada participante de un proceso de negocio Eacuteste es un lenguaje utilizadopara la denicioacuten de servicios dentro de la plataforma SOA y cuyo objetivo es la descrip-cioacuten del comportamiento de cada uno de los servicios establecidos para lograr un objetivocomuacuten Sin embargo antes de WS-CDL ya existiacutea un lenguaje que permitiacutea la descripcioacutende las funcionalidades de un Servicio Web WSDL (Web Services Denition Language)el cual puede describir el conjunto de funciones ofrecidas con los posibles fallos que po-driacutean ocurrir y a pesar de que WS-CDL podriacutea expresar las coreografiacuteas de un servicioen un ambiente SOA W3C (World Wide Web Consortium) abandonoacute su desarrollo en 2009

WSCI (Web Service Choreography Interface)La especicacioacuten de WSCI fue desarrollada por diversas compantildeiacuteas como Sun SAP BEAe Intalio y representa una extensioacuten para WSDL para la colaboracioacuten La especicacioacuten de-ne la coreografiacutea global o el intercambio de mensajes entre los diferentes tipos de softwarey soporta su correlacioacuten reglas de secuenciacioacuten manejo de excepciones transacciones ycolaboracioacuten dinaacutemica WSCI soacutelo describe el comportamiento observable entre el softwareque se emplea Una coreografiacutea WSCI constaraacute de un conjunto de interfases WSCI unapor cada uno de los servicios que participen en la interaccioacuten

24 Moodle

El software de coacutedigo abierto (Open-Source Software-OSS) esta siendo ampliamente de-sarrollado ofreciendo nuevas alternativas y posibilidades hasta hace poco inimaginablesMoodle es un claro ejemplo siendo uno de los programas maacutes ampliamente adoptados porcolegios institucioacuten universidades etc Como podemos ver en la gura 28 el nuacutemero deusuarios registrados y los idiomas en los que se encuentra disponible dan muestra de sugran difusioacuten Algunas de las razones mas importante para su eleccioacuten son

Figura 28 Moodle - Abril 2013

bull Moodle es OSS lo cual signica que los usuarios pueden descargarlo libremente usarlomodicarlos e incluso redistribuirlo seguacuten los teacuterminos GNU 3

bull La losofiacutea planteada por Moodle incluye una aproximacioacuten constructiva basada enel constructivismo social de la educacioacuten enfatizando que los estudiantes (y no soacutelolos profesores) pueden contribuir a la experiencia educativa en muchas formas

bull Compatibilidad con maacutes de 70 idiomas diferentes

bull Una excelente documentacioacuten soporte para seguridad y administracioacuten

bull No requiere modicaciones en el sistema operativo pudiendo ser ejecutado en un en-torno Linux Windows Mac OS o cualquier otro siempre que soporten PHP

bull La informacioacuten esta soportada por una simple base de datos

Ademaacutes su sencilla aplicacioacuten en entorno web que utiliza tecnologiacuteas ya ampliamenteprobadas sus mecanismos de extensioacuten maacutes faacuteciles en comparacioacuten con otros VLEs y laexistencia de una gran cantidad de documentacioacuten de desarrollo han impulsado la creacioacutende una gran comunidad de personas que contribuyen a la mejora de Moodle Esta comu-nidad estaacute en constante desarrollo de nuevas caracteriacutesticas y aplicaciones a traveacutes decientos de plugins que pueden ser descargados desde su la web de Moodle y asesoran tantoa otros desarrolladores como usuarios nales

La primera versioacuten de Moodle (10) fuel lanzada en 2002 como parte de la investigacioacuten deMartin Dougiamas del uso del software de coacutedigo abierto para la ensentildeanza y el aprendizajecon las comunidades basadas en Internet[Dougiamas and Taylor 2000] Actualmente seencuentra disponible la versioacuten 243+ como estable y la beta de la versioacuten 25

En cuanto a la parte teacutecnica Moodle estaacute desarrollado en lenguaje PHP como la mayoriacuteade los VLEs utiliza una arquitectura cliente-servidor comuacuten de tres capas CORREGIRLa capa de presentacioacuten dene como la informacioacuten se presenta a los usuarios nales quetienen acceso a esa informacioacuten a traveacutes de sus navegadores web La Capa de loacutegica de ne-gocios se encarga de las relaciones con Moodle el acceso a la capa de datos por lo generala traveacutes de MySQL para almacenar y recuperar la informacioacuten cuando sea necesario

Moodle se distribuye en un solo paquete multiplataforma que incluye PHP MySQL yApache HTTP Server para facilitar los procesos de instalacioacuten y conguracioacuten La dis-tribucioacuten actual de Moodle cumple con varios estaacutendares educativos Por ejemplo Moodlepuede manejar ADL SCORM paquetes que contienen recursos aislados o cursos completosEn cuanto a los estaacutendares IMS Moodle soporta IMS Content Packaging (IMS CP) IMSCommon Cartridge (IMS CC)IMS pregunta y Test Interoperability (IMS QTI) y estaacuteconsiderado como uno de los VLEs compatible con Basic LTI

241 otras plataformas

No podemos dejar de lado otros escenarios educativos que han ido apareciendo en los uacutelti-mos antildeos a pesar del gran eacutexito de los VLEs Algunos ejemplos de estas plataforma son

3httpsmoodleorg

bull Wikis (Ej MediaWiki) Son sistemas software que permiten la creacioacuten y gestioacutende contenidos estructurados mediante paacuteginas web relacionadas entre siacute El contenidosuele estar editado por varios usuarios que trabajan de manera colaborativa pudiendoincluir enlaces a recursos externos

bull Sitios de redes sociales (Ej Facebook) Son sistema en liacutenea donde los usuariospueden crearse sus propios perles y crear una red personal que les mantendraacute conec-tado con otros usuarios Estos sistemas han proliferado en los uacuteltimos antildeos llegando amillones de usuarios No suelen necesitar un administrador pues se utilizan medianteentorno web y son alojados por el propio proveedor Su gran adopcioacuten y el enfoquea las interacciones sociales es lo que ha llevado a muchos profesor a utilizarlo comoherramienta de aprendizaje Estos sitios permiten la creacioacuten y mantenimiento degrupo mediante el perl de usuario pero no estaacuten disentildeados para seguir un enfoquepedagoacutegico

bull Personal Learning Environment - PLE (Ej Southampton) Son denidos comosistemas de software que permiten al estudiante a tomar el control y la gestioacuten de suspropio aprendizaje Se caracterizan por la por la participacioacuten directa de los alumnosen el acceso agregacioacuten conguracioacuten y manipulacioacuten de herramientas y recursos adiferencia de los VLEs done es el educador el que selecciona y gestiona los recursosque el alumno debe utilizar

Muchas de estas herramientas son de coacutedigo libre y abierto Su funcionalidad respecto ala gestioacuten de actividades grupos funciones y herramientas es limitado siendo en algunoscasos inexistente Ninguna de estas plataformas se puede considerar un VLE ya que nosson sistemas centrados en el educador sin embargo pueden apoyar la integracioacuten de apli-caciones externas en entornos de aprendizaje colaborativo

Capiacutetulo 3

Organizacioacuten y Sistema Inicial

A continuacioacuten pasamos a detallar las distintas actividades de la que consta el proyecto quehemos llevado a cabo durante estos meses

31 Lanzamiento del proyecto

Esta actividad consisten en la eleccioacuten de una de las diferentes posibles aacutereas de desarrollo deproyectos que ofrece la UOC siendo la elegida Aplicaciones Web para trabajo colaborativo

32 Denicioacuten del proyecto

El proyecto queda denido en el presente documento siendo el tiacutetulo del mismo Orchestationand Coreography of Web Services on Moodle - Revisioacuten Sistemaacutetica de la literatura

[Duracioacuten] 27-02-2013 al 03-03-2013

33 Anaacutelisis de requisitos

Nos centraremos en la fase de planicacioacuten que incluye los objetivos de la investigacioacuten y la formaen que se llevaraacute a cabo la revisioacuten

[Duracioacuten] 04-03-2013 al 03-06-2013

331 Cuestiones Realizadas

El primer paso en la fase de planicacioacuten seraacute denir los objetivos principales de esta revisioacutensistemaacutetica de la literatura Estos objetivos son analizar el estado del arte de la coreografiacutea yorquestacioacuten de los servicios web en Moodle como LMS

332 Fuentes de datos y buacutesqueda

Utilizaremos diferentes libreriacuteas o espacios digitales para realizar las buacutesquedas las mismas serealizaraacuten en ingleacutes y espantildeol Las libreriacuteas principales utilizadas son

IEEEXplore [IEEEX] httpieeexploreieeeorg

21

Science Direct [SD] httpwwwsciencedirectcom

SpringerLink [SL] httpwwwspringerlinkcom

Paralelamente a Science Direct se han realizado buacutesquedas en Scopus1 de Elsevier y GoogleScholar2 de Google

333 Criterios de inclusioacuten y exclusioacuten

Las buacutesquedas que se realicen intentaraacuten abarcar todo el aacutembito de cuestiones del SLR pero esposible (y de hecho ocurre) el resultado contenga referencias publicaciones estudios o en generalinformacioacuten que no sirve Para ello seraacute necesario denir criterios de inclusioacuten y exclusioacuten loscual haremos basaacutendonos en la guiacutea [Kitchenham 2007]

334 Asegurar la calidad

Despueacutes de obtener un numero considerable de trabajos o estudios que satisfacen los criteriosde inclusioacuten y exclusioacuten se deberaacute ser capaz de asegurar o armar cuales son los que cumplencon una miacutenima calidad y si son vaacutelidos o no para el estudio en si Es baacutesico poder analizar queacuteestudios son mejores que otros en teacuterminos de calidadSiguiente [Kitchenham 2007] se deniraacuten preguntas y cuestiones que permitan asegurar dichacalidad

335 Extraccioacuten de datos y anaacutelisis

Los criterios de inclusioacuten y exclusioacuten junto con las preguntas orientadas a asegurar la calidadnos serviraacuten para obtener todos los artiacuteculos y estudios que se analizan en este estudioDe cada artiacuteculo se recogeraacute titulo y autores abstract publicacioacuten y antildeo de publicacioacuten

336 Fase de revisioacuten

Esta fase de planicacioacuten seraacute denir el proceso de conducir o dirigir la revisioacuten Para elloutilizaremos tres fases como podemos ver en la gura 31 de la paacutegina 23

337 Fase de Pruebas

Se realizan pruebas con la informacioacuten obtenido montado maacutequinas virtuales para realizar lasmismas En estas se han probado las diferentes opciones de comunicacioacuten que nos ofrece Moodle

1httpwwwscopuscom2httpscholargooglecom

Figura 31 Proceso para dirigir la revisioacuten

34 Calendario de Trabajo

Podemos ver en el siguiente diagrama de Gantt32 la distribucioacuten de trabajos en el tiempo elmismo seraacute modicado para ajustarlo a las variaciones producidas durante el desarrollo de lastareas que contempla

35 Hitos principales

Los principales hitos seraacuten

Lanzamiento del proyecto Se dene correctamente en que va consistir el proyecto

Denicioacuten de cuestiones para la buacutesqueda Donde se detallaraacuten las cuestiones quemarcaran el desarrollo del resto del proyecto

Comprobacioacuten de resultados Se deberaacuten criba los mismo para no obtener duplicadoso informacioacuten ajena a la investigacioacuten

Revisioacuten de informacioacuten obtenida Una vez obtenida la informacioacuten y analizada deberaacuteser revisada para su presentacioacuten

Figura 32 Diagrama de Gantt

36 Instalacioacuten base

Para llevar a cabo las pruebas se ha optado por la creacioacuten de una maacutequina virtual sobre VirtualBox 3 en la cual hemos instalado Windows XP como sistema operativo Este sistema es maacutesligero a la hora de trabajar en maacutequinas virtuales pues requiere menos recursos que las versionesposteriores del mismos sistema

El siguiente paso era la instalacioacuten de Moodle Aunque se dispone de un instalador para Win-dows se ha optado por la descarga e instalacioacuten de XAMPP 4 y su y su posterior conguracioacutenen la maacutequina virtual XAMPP es un servidor independiente de plataforma software libre queconsiste principalmente en la base de datos MySQL el servidor web Apache y los inteacuterpretespara lenguajes de script PHP y Perl El nombre proviene del acroacutenimo de X (para cualquierade los diferentes sistemas operativos) Apache MySQL PHP Perl

XAMPP en su versioacuten 181 incluye

Apache 243

MySQL 5527

PHP 547

phpMyAdmin 3522

FileZilla FTP Server 0941

Tomcat 7030

Strawberry Perl 51611 Portable

XAMPP Control Panel 310

Hemos continuado con la descarga he instalacioacuten de Moodle y hemos querido probar las difer-encias que obtenemos entre las versiones 19x y 25 por lo que se han descargado ambas heinstalado en maacutequinas virtuales diferentes Con ello conseguiremos probar el resultado obtenidoseguacuten la versioacuten Moodle desde su versioacuten 22 ya soporta conexiones mediante IMS - LTI IMSLTI es un estaacutendar IMS Learning Tool Interoperability Esto signica que las herramientas deaprendizaje tienen ahora diversas maneras de conectarse entre sin problemas

En la praacutectica cuando un usuario se registra en una herramienta como Moodle se pueden conectara la otra herramienta como MediaWiki y autenticarse automaacuteticamente proporcionando unaexperiencia perfectaLas guras 33 y 34 nos muestran el panel de control de XAMPP una vez instalado y el panede phpMyAdmin donde hemos debido congurar las bases de datos y usuario necesarios parallevar todo el proceso de conguracioacuten de Moodle y el resto de herramientas

3httpswwwvirtualboxorg4httpwwwapachefriendsorgesxampphtml

Figura 33 Panel de control de XAMPP

Figura 34 Gestor de bases de datos phpMyAdmin

Capiacutetulo 4

Servicios Web de Moodle

41 Introduccioacuten

Moodle 2X incorpora la posibilidad de implementar Servicios Web para manejar sus funciona-lidades lo que nos permite poder acceder a acciones de actualizar y crear tareas para reejar elresultado de las actividades realizadas Moodle soporta varios protocolos (REST SOAP XML-RPC y AMF)

42 Servicios Web de Moodle

Los Servicios Web de Moodle se caracterizan por permitir el acceso desde cualquier aplicacioacutenimplementando para ello tres capas como podemos observar en la gura 41

Capa nuacutecleoLa capa del nuacutecleo estaacute compuesta de todas las funciones principales de Moodle sobreusuarios grupos cursos calendario etc Moodle no dispone de una API al uso sino queofrece diferentes funciones que han sido desarrolladas durante antildeos Por tanto las necesi-dades de los Servicios Web estaacuten obligando a rehacer estas funciones del nuacutecleo para quecomiencen a formar una API (Moodle 2X)

Capa externaLa capa externa estaacute compuesta por nuevos cheros llamados externalphp colocados porlas carpetas de Moodle y conteniendo manejadores para la capa inferior Estos manejadoresson los responsables de comprobar las capacidades paraacutemetros y llamadas correctas a lasfunciones de nuacutecleo

Capa de conectoresLa capa de conectores estaacute compuesta de diferentes conectores para las diferentes imple-mentaciones de los Servicios Web y contiene un conector REST un conector SOAP unconector XML-RPC y un conector AMF Esta capa admite plugins para ampliar los conec-tores disponibles de manera que se puedan integrar otros sistemas en Moodle utilizandootros protocolos

Los pasos para utilizar un Servicio Web con Moodle seriacutean los siguientes

1 El cliente enviacutea el nombre de usuario y contrasentildea al servidor que provee los ServiciosWeb

27

Figura 41 Capas en Moodle

2 El servidor de protocolo devuelve un token de sesioacuten para esa cuenta de usuario

3 El cliente llama a un Servicio Web especiacuteco incluyendo el token de sesioacuten

4 El servidor utiliza el token para comprobar que la sesioacuten del Servicio Web estaacute activa

5 El servidor llama a la funcioacuten correspondiente localizada en el chero externallibphp dentrodel moacutedulo especiacuteco

6 La funcioacuten externa comprueba que el usuario actual tenga los permisos sucientes pararealizar esta operacioacuten

7 La funcioacuten externa llama a la funcioacuten correspondiente del nuacutecleo de Moodle (libphp)

8 La funcioacuten del nuacutecleo puede retornar un resultado a la funcioacuten externa

9 La funcioacuten externa devolveraacute el resultado al servidor de protocolo

10 El servidor de protocolo devolveraacute el resultado al cliente

43 REST

REST (Representational State Transfer) es el acroacutenimo de Transferencia de Estado Representa-cional teacutermino usado por Roy Fielding (uno de los creadores de HTTP) para describir un estilode arquitectura que utilizar como modelo en los sistemas de computacioacuten Web No es un es-taacutendar sino un enfoque que muestra como desarrollar y proporcionar servicios en Internet portanto considerado como un estilo arquitectoacutenico para disentildeo de software a gran escala El propioautor lo dene de manera concisa en eacuteste paacuterrafo

REST es un intento de mostrar coacutemo debe comportarse una aplicacioacuten Web bien disentildeada unared de paacuteginas Web (una maacutequina de estados virtual) donde el usuario progresaraacute seleccionan-do enlaces (transiciones de estado) que devuelven la paacutegina siguiente (el siguiente estado de lamaacutequina) que el usuario manejaraacute a su gusto

Este enfoque no aporta realmente nada nuevo la mayor parte de la Web sigue este estilo arqui-tectoacutenico Sin embargo el autor hace eacutenfasis en las caracteriacutesticas concretas que han hecho quela Web triunfe que van a ser los objetivos buscados por REST y que son a su juicio

Escalabilidad en las interacciones entre componentes La red ha ido creciendo de maneraexponencial y se ha ido comportado de manera satisfactoria

Generalidad en las interfaces Se proporciona acceso con distintos clientes y con distintosmecanismos de acceso

Desarrollo independiente de componentes Implementaciones cliente y servidor pueden serdesarrolladas en distintos momentos

Existencia de componentes intermediarios con los cuales existe compatibilidad (comoproxys)que permiten encapsulacioacuten e integracioacuten de sistemas no Web dentro de la misma

431 Principios de disentildeo

Los objetivos citados van a ser conseguidos imponiendo una serie de restricciones

El estado y la funcionalidad de las aplicaciones se representan por forma de recursos

La identicacioacuten de recursos se realiza de forma uacutenica global mediante Uniform ResourceIdentiers Los recursos identicados con URIs son los objetos loacutegicos a los cuales se lesmandan los mensajes

Manipulacioacuten de recursos a traveacutes de representaciones luego no se manejan directamentelos recursos sino sus representaciones

Todos los recursos comparten un interfaz uniforme formado por

bull Un conjunto de operaciones limitado para transferir el estado Se van a aprovecharlas operaciones que HTTP dene mostradas en la gura 42

bull Un conjunto limitado de tipos de contenidos identicados mediante tipos MIME

Uso de un protocolo clienteservidor sin estado y basado en capas Cada mensaje HTTPcontendraacute la informacioacuten necesaria para comprender la peticioacuten luego como muestra lagura 43 no es necesario que eacutesta sea entendida tanto en el cliente como en el servidor

Uso de hipermedios para representar el estado de una aplicacioacuten permitiendo que el estadode una aplicacioacuten Web particular esteacute almacenado en uno o maacutes documentos de hipertextoque residen bien en el servidor o en el cliente Esto permite al servidor saber el estado desus recursos sin necesidad de almacenar el estado de los clientes concretos

Figura 42 Operaciones denidas por HTTP

Como ya se mencionoacute REST se trata de un estilo arquitectoacutenico no un estaacutendar Sin embargohace uso de varios estaacutendares Web

HTTP HyperText Transfer Protocol

Figura 43 Operaciones denidas por HTTP

URL Uniform Resource Locator como el mecanismo de indenticacioacuten de recursos

XML - HTML - PNG - etc Como distintos formatos de representacioacuten de recursos

Tipos MIME como text-xml text-html image-png etc

44 SOAP

SOAP (siglas de Simple Object Access Protocol) es un protocolo estaacutendar que dene coacutemo dosobjetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML Esteprotocolo deriva de un protocolo creado por David Winer en 1998 llamado XML-RPC SOAPfue creado por Microsoft IBM y otros y estaacute actualmente bajo el auspicio de la W3C

441 Principios de disentildeo

La funcionalidad que aporta SOAP es la de proporcionar un mecanismo simple y ligero de in-tercambio de informacioacuten entre dos puntos usando el lenguaje XML SOAP no es maacutes que unmecanismo sencillo de expresar la informacioacuten mediante un modelo de empaquetado de datosmodular y una serie de mecanismos de codicacioacuten de datos Esto permite que SOAP sea uti-lizado en un amplio rango de servidores de aplicaciones que trabajen mediante el modelo decomunicacioacuten RPC (Remote Procedure Call)

SOAP consta de tres partes como podemos ver en la gura 44

El SOAP envelope que dene el marco de trabajo que determina queacute se puede introduciren un mensaje quieacuten deberiacutea hacerlo y si esa operacioacuten es opcional u obligatoria

Las reglas de codicacioacuten SOAP que denen el mecanismo de serializacioacuten que seraacute usadopara encapsular en los mensajes los distintos tipos de datos

La representacioacuten SOAP RPC que dene un modo de funcionamiento a la hora de realizarllamadas a procedimientos remotos y la obtencioacuten de sus resultados

A la hora de realizar el disentildeo de SOAP se han tenido en cuenta una serie de consideracionescon el n de cumplir una serie de objetivos claros objetivos que le daraacuten el potencial que resideen SOAP y que le haraacuten tan atractivo Eacutestos son

Establecer un protocolo estaacutendar de invocacioacuten a servicios remotos que esteacute basado enprotocolos estaacutendares de uso frecuente en Internet como son HTTP (Hiper Text TransportProtocol) para la transmisioacuten y XML (eXtensible Markup Language)para la codicacioacutende los datos

Figura 44 Partes de SOAP

Independencia de plataforma hardware lenguaje de programacioacuten e implementacioacuten delservicio Web

El logro de estos objetivos ha hecho de SOAP un protocolo extremadamente uacutetil ya que elprotocolo de comunicacioacuten HTTP es el empleado para la conexioacuten sobre Internetpor lo que segarantiza que cualquier cliente con un navegador estaacutendar pueda conectarse con un servidor re-moto Ademaacutes los datos en la transmisioacuten se empaquetan o serializan con el lenguaje XML quese ha convertido en algo imprescindible en el intercambio de datos ya que es capaz de salvar lasincompatibilidades que existiacutean en el resto de protocolos de representacioacuten de datos de la red

Por otra parte los servidores Web pueden procesar las peticiones de usuario empleando tec-nologiacuteas tales como Servlets paacuteginas ASP (Active Server Pages) paacuteginas JSP (Java ServerPages) o sencillamente un servidor de aplicaciones con invocacioacuten de objetos mediante CORBACOM o EJB

Un ejemplo tiacutepico de disentildeo de un servicio Web utilizando las ventajas de SOAP podemos veren la siguiente gura 45

Figura 45 Ejemplo de uso de SOAP

45 AMF

AMF (Action Message Format) es un protocolo binario de Adobe que va por la versioacuten AMF3Aunque por el nombre de la versioacuten pueda parecer que existan 3 cabe destacar que soacutelo existendos AMF0 y AMF3 Una de las mayores diferencias o mejoras que aporta AMF3 es que soporta

datos binarios (ByteArray) y int datos no soportados por AMF0 debido a que en la eacutepoca queaparecioacute el formato Flash Player no soportaba estos tipos de datos

AMF3 no es un protocolo para transferir informacioacuten sino que representa el formato en el quese transmite la informacioacuten en este caso un formato binario

La versioacuten de Moodle 25 viene con Zend_ AMF pero podemos utilizar tambieacuten la libreriacuteaamfPHP

AMFPHP

Zend_ amf httpframeworkzendcommanual112enzendamfhtml

Maacutes informacioacuten en httpdocsmoodleorgdevAMFPHP

46 Conguracioacuten de Moodle Web Services

Los Servicios Web habilitan que otros sistemas puedan entrar a Moodle y realizar operacionesPasaremos a detallar los pasos necesarios para su conguracioacuten y explicaremos distintos pruebasllevadas a cabo sobre su funcionamiento Para poder consumir de manera correcta unWeb Servicede Moodle seriacutea necesario antildeadir a la url que vamos a formar los paraacutemetros oportunos paralograr consumir el Web Service de manera satisfactoria Una vez antildeadidos ya podriacuteamos invocarla funcioacuten seleccionada

461 Activando los Servicios Web

Lo primero que debemos hacer es activar la opcioacuten general que habilita el uso de los serviciosweb En la gura 46 podemos observar la opcioacuten para la activacioacuten de este servicio para ello nosiremos a la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Servicios Externos

Figura 46 Activacioacuten Servicios Web

Esto solo es una opcioacuten a nivel global necesitando ahora activar los protocolos de comunciacionesque vamos a utilizar para ello deberemos ir a la opcioacuten textitAdministracioacuten del Sitio - Exten-siones - Servicios Web - Administrador de protoclos donde encontraremos las diferente opcionesque nos existen En la gura 47 podemos ver la pantalla de nuestra conguracioacuten con todos losprotocolos activados

Una vez activada la opcioacuten de Servicios Externos y seleccionados los protocolos que utilizaremosnecesitamos crear un Servicio Personalizado que no es maacutes que una etiqueta que aglutina los

Figura 47 Activacioacuten Protoclos

Servicios Web que ofrece Moodle y que pueden ser utilizados por los servicios externos Para ellodeberemos darle a la opcioacuten Agregar dentro de la opcioacuten Administracioacuten del Sitio - Extensiones- Servicios Web - Servicios Externos Como prueba habilitaremos un servicio llamado Uso_Servicio_ Web cuya creacioacuten podemos ver en la gura 48

Figura 48 Creacioacuten Servicio Personalizado

Una vez creado el Servicio Personalizado deberemos agregarle las funciones que queramos lesean permitidas pudiente tener maacutes de una En la gura 49 vemos como asociamos la creacioacutende usuarios al Servicio Personalizado

Terminado esto deberemos tener en el listado que nos muestra Moodle de Servicios personaliza-dos algo como lo mostrado en la gura 410

El siguiente paso es conceder los permisos apropiados para que este Servicio Personalizado puedeser usado por los usuarios pare ello debemos primero especicar quienes son los Usuarios au-torizados para ello en la linea de la lista de Servicios Personalizados deberemos pulsar sobre laopcioacuten usuarios autorizados donde apareceraacute una pantalla como 411 donde podremos escogerlos usuarios de los que se encuentran dados de alta en nuestro sistema

Y para terminar aunque este paso podriacutea ser realizado por el propio usuario si tuviera el per-miso de moodlewebservicecreatetoken seraacute la creacioacuten de un token el cual va ser la opcioacuten quevamos a utilizar para las pruebas de los Servicios Web de Moodle Para la creacioacuten del mismodeberemos entrar en la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Admin-istrar tokens y pulsar la opcioacuten Agregar para antildeadir un token nuevo como podemos apreciar en

Figura 49 Agregando funciones al Servicio Personalizado

Figura 410 Listado de Servicios Personalizados

la gura 412 teniendo la precaucioacuten de escoger como Servicio el Servicio Personalizado creadocon anterioridad Uso_ Servicio_ Web

En esta pantalla podemos poner varios tipos de restricciones

Restriccioacuten de IP Donde podemos indicar la direccioacuten IP desde donde

Restriccioacuten de Fecha Se puede denir hasta cuando seraacute valido este token siendo unabuena manera de poder probar cosas y no dejar puertas abiertas por error

En la gura 413 podemos ver el token asignado por el sistema para nuestro Servicio Personalizadoy que procederemos a utilizar para comprobar el funcionamiento de los Servicios Web de Moodle

462 Pruebas cliente Servicio Web

Procederemos ahora a desarrollar pruebas que utilicen los Servicios Personalizados creado Sepodriacutean haber utilizado el Cliente de prueba de servicio web que incorpora Moodle dentro dela opcioacuten Administracioacuten del Sitio - Desarrollo - Cliente de prueba servicio web pero hemosdecidido implementar una Web para comprobar la facilidad del funcionamiento del sistema y losdistintos resultados obtenidos seguacuten el protocolo utilizado

Utilizaremos la libreriacutea cURL de PHP cURL es una herramienta que permite abrir conexionesen una amplia variedad de protocolos y que estaacute disponible tanto como herramienta de consola(para ejecutar directamente con comandos) como en libreriacutea (para usar en vuestro coacutedigo) y quepermite hacer praacutecticamente todo manejo de cookies descarga de cheros binarios enviacuteos de

Figura 411 Alta de Usuarios Autorizados

Figura 412 Creacioacuten de Tokens

paraacutemetros GET y POST etc

La web creada para la introduccioacuten 414 de los usuarios seraacute equivalente para todos los procesosprocesos siendo el programa que da respuesta al formulario el que implemente la funcioacuten nece-saria para la introduccioacuten de los datos en Moodle

Los resultados de REST pueden mostrar los resultados del alta de dos maneras diferentes unaen formato XML como podemos ver en la gura 415 y otro en formatox JSON tambieacuten po-dremos ver en la gura Los resultados obtenidos tambieacuten pueden verse en el la gura 416

Figura 413 Lista de Tokens

Figura 414 Web de alta de usuarios

Figura 415 Resultado de REST en formato XML

Figura 416 Resultado de REST en formato JSON

Capiacutetulo 5

Herramientas Externas

51 Introduccioacuten

Las versiones de Moodle desde la 22 vienen con IMS LTI o External Tool de manera integradaEn versiones anteriores era necesario la instalacioacuten de plugins como LTI Provider (maacutes informa-cioacuten en la web de Moodle1 IMS LTI es un estandar de IMS learing2 para la interoperabilidadde herramientas Esto signica que las herramientas de aprendizaje tienen ahora un mecanismopara jar el modo en que pueden conectarse entre ellas sin problemas

En la praacutectica cuando un usuario se registra en Moodle puede conectarse a otras herramientascomo Wikis o Blogs y autenticarse de manera automaacutetica en estas

52 Estaacutendares IMS

Actualmente se realizan esfuerzos para la integracioacuten de servicios a una plataforma virtual deaprendizaje mediante un mecanismo reutilizable independiente del tipo de plataforma El IMSGlobal Learning Consortium viene desde hace tiempo trabajando en este enfoque IMS GLCpresenta un conjunto de estaacutendares que promueven el uso de servicios de aprendizaje digitales(Digital Learning Services) dentro de las plataformas de aprendizaje tradicionales IMS DigitalLearning Services estaacute integrado por los siguientes estaacutendares principales IMS Common Car-tridge [ims a] IMS Learning Tool Interoperability [ims c] y IMS Learning Information Services[ims b]

El IMS Learning Tool Interoperability es una especicacioacuten para facilitar la inclusioacuten de her-ramientas externas dentro de un curso El administrador de la plataforma de aprendizaje ges-tiona los servicios que podraacuten ser consumidos por la plataforma el docente decide que serviciosutilizaraacute en su curso y el estudiante hace uso de los mismos IMS LTI permite que distintos LMSconsuman un mismo servicio el cual no fue implementado teniendo en cuenta el tipo de LMSsino la implementacioacuten del estaacutendar desde el lado del proveedor

El enfoque del IMS LTI estaacute dirigido a la creciente demanda de un mecanismo reutilizable para laintegracioacuten de herramientas de terceros en el nuacutecleo de las plataformas LMS Estas herramientas

1httpsmoodleorgpluginsviewphpplugin=local_ltiprovider2httpwwwimsglobalorgtoolsinteroperability2cfm

37

pueden agregar funcionalidad especializada a los LMS El enfoque ofrece una solucioacuten basada enWeb Services igualmente aplicable a distintos lenguajes de programacioacuten

Las versiones del LTI son

LTI v10 ( LTI Basic ) ( publicado en mayo de 2010 ) proporciona un meacutetodo sencillopero estaacutendar para establecer una conexioacuten segura a una herramienta desde el interior deun consumidor de herramientas El lanzamiento de este enlace permite una experienciade aprendizaje sin problemas para los estudiantes que acceden a las aplicaciones ricas queparecen tener lugar dentro del ambiente de aprendizaje Versioacuten 10 es el primer paso en eldesarrollo continuo de LTI Figura 51

LTI v11 ( publicado en marzo 2012 ) antildeade la posibilidad de pasar de nuevo un resultadode la herramienta al Consumidor de herramientas Esto permite que los estudiantes recibenuna calicacioacuten o puntuacioacuten de su interaccioacuten con la aplicacioacuten de aprendizaje

LTI v111 ( publicado en julio de 2012 ) incluye soporte para el papel Mentor que se puedeutilizar para representar a un padre tutor o auditor

LTI v20 Aun en estado de desarrollo y proporciona una plataforma maacutes sosticado y ex-tensible para permitir integraciones maacutes profundas y un mayor apoyo para los serviciosy eventos LTI 2 se basa en LTI 1 mediante la incorporacioacuten de maacutes sosticada resulta-dos de informes y una rica arquitectura de extensiones que permite servicios adicionalesque se antildeadiraacuten gradualmente LTI 2 utiliza REST y JSON-LD para ofrecer esta nuevafuncionalidad

Figura 51 Esquema LTI Baacutesico

En la gura 52 podemos observar como se podriacutean utilizar las ventajas de LTI por parte decada unos de los actores a lo largo de la vida de la aplicacioacuten de servicios externos dentro de unaplataforma de aprendizaje

En la paacutegina web de IMS3 podemos encontrar una relacioacuten de aplicaciones certicadas comocompatibles con el estaacutendar LTI indicando la versioacuten del LTI que cumplen En la gura 53podemos ver las aplicaciones certicadas por UOC y en la gura 54 la informacioacuten sobre una deestas herramientas

3httpwwwimsglobalorgccalltoolscfm

Figura 52 Esquema utilizacioacuten LTI

Figura 53 Listado de herramientas LTI de la UOC

53 Herramientas externas en Moodle

La siguiente seccioacuten consiste en la aplicacioacuten de alguno de esto servicios externos en Moodlepara comprobar su funcionamiento Nos decantaremos para la primera prueba por WordPresspues aunque existen manuales al respecto la documentacioacuten en castellano es escasa

531 Wordpress

La versioacuten estaacutendar de Wordpress a la cual accedemos cuando nos abrimos cuenta en Wordpressno viene con las herramientas necesarias para la iteracioacuten mediante LTI por lo que procedere-mos a la instalacioacuten en nuestro servidor de Wordpress para pasar a la instalacioacuten de los pluginsnecesarios

La instalacioacuten ha consistido en la descarga de la web ocial 4 de la versioacuten 351 la cual hemoscopiado dentro del directorio htdocs de nuestra instalacioacuten de Xampp Hemos dado de alta unnuevo usuario en nuestra base de datos llamado username como podemos ver en la imagen 55 yposteriormente hemos seguido los pasos que el instalador nos iba ofreciendo para tener instalado

4httpwordpressorgdownload

Figura 54 Informacioacuten sobre la certicacioacuten

Wordpress bajo la url httplocalhostwordpress

Figura 55 Usuario de Wordpress

Deberemos congurar Wordpress para que trabaje como multisitio para lo que deberemos seguirlos pasos de conguracioacuten que podemos encontrar en la web ocial de Wordpress5 bajo el nombreCreate A Network consistente en los siguientes pasos

1 Realizar una copia de seguridad por si acaso

2 Modicar el chero wp-congphp incluyendo la siguiente linea encima de Thats allstop editing Happy blogging Multisite dene (WP_ ALLOW_ MULTISITE true)

Multisite dene (WP_ ALLOW_ MULTISITE true)

3 Installar un Network Para ello hemos de entra en la opcioacuten Administration -gtTools -gtNetwork Setup donde podremos congurar opciones sobre el nombre que queremos declararpara el nuevo sitio

4 Activar el Network para ello debemos modicar los cheros wp-congphp y htaccess porlo que seriacutea bueno que realizaacuteramos primero un copia de seguridad de los mismos Loscambios que debemos realizar son los siguientes

5httpcodexwordpressorgCreate_A_Network

En wp-congphp dene(MULTISITE true)dene(SUBDOMAIN_ INSTALL false)dene(DOMAIN_ CURRENT_ SITE localhost)dene(PATH_ CURRENT_ SITE wordpress)dene(SITE_ ID_ CURRENT_ SITE 1)dene(BLOG_ ID_ CURRENT_ SITE 1)

El chero htaccess debe quedar asiacute BEGIN WordPressltIfModule mod_ rewritecgtRewriteEngine OnRewriteBase wordpressRewriteRule icircndexphp$ - [L]

add a trailing slash to wp-adminRewriteRule ([_ 0-9a-zA-Z-]+)wp-admin1wp-admin [R=301L]

RewriteCondREQUEST_ FILENAME -f [OR]RewriteCondREQUEST_ FILENAME -dRewriteRule - [L]RewriteRule ([_ 0-9a-zA-Z-]+)(wp-(content|admin|includes)) $2 [L]RewriteRule ([_ 0-9a-zA-Z-]+)( php)$ $2 [L]RewriteRule indexphp [L]ltIfModulegt

END WordPress

5 Esto nos habraacute creado en la parte izquierda de la barra de herramientas de Wordpressuna nueva opcioacuten llamada My Sites que contendraacute un listado de los sitios de nuestroWordpress

El siguiente paso seraacute la descarga del plugin los cual podremos hacerlos desde la web de sour-forgenet 6 En esta web se detalla informacioacuten sobre el plugin y como se debe instalar Siguiendolos pasos que tenemos en el mismo procederemos a la descarga y el desplegado del mismo en lacarpeta wp-contentmu-plugins Salimos de Wordpress y volvemos a entrar como superusuariosi entramos dentro de la nueva red realizada podremos ver que dentro de LTI Consumers Keystendremos la opcioacuten LTI Consumers Keys como podemos ver en la imagen 56

Aquiacute deberemos crear la clave del consumidor del servicio y la clave secreta que nos permitiraacute aMoodle conectarse a Wordpress

Una vez que tenemos la clave secreta y del consumidor deberemos volver a Moodle entrandocomo administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

6httpsourceforgenetappsmediawikilearningappsindexphptitle=LTI4Wordpress

Figura 56 Servicios LTI en Wordpress

Figura 57 Listado de claves de LTI en Wordpress

-LTI En esta paacutegina podremos rellenar nuestras opciones

Tool Name Seraacute el nombre que tendraacute la herramienta y deberemos poner alguno indicativode la herramienta que estemos utilizando

Tool Base URL Es la direccioacuten de la herramienta en nuestro caso httplocalhostwordpress

Deberemos rellenar con los datos obtenidos en Wordpress la clave de consumidor y la clavesecreta

Es importante marcar Show tool type when creating tool instances para que aparezcaposteriormente al crear los recursos en nuestros cursos

Para poder probar el sistema hemos creado un curso dentro de Moodle llamada WordpressLTIdonde daremos de la siguiente manera de alta 59

Dentro de nuestro curso seleccionamos la opcioacuten de Edicioacuten

Pulsamos sobre Antildeadir una actividad o un recurso

Seleccionamos External Tool

Rellenamos las opciones

bull Nombre de la Actividad Cualquiera de nuestra eleccioacuten

Figura 58 Conguracioacuten LTI en Moodle

bull Tipo de herramienta externa El nombre que le pusimos a la herramienta externa enla conguracioacuten LTI de Moodle

bull Launch Container Hemos elegido la opcioacuten Incrustar para ver el resultado

Figura 59 Conguracioacuten Herramienta Externa

Una vez congurado podemos lanzar la herramienta externa teniendo como resultado la gura510

Figura 510 Wordpress integrado en Moodle

532 ChemVantage

ChemVantage es un recurso gratuito para la educacioacuten cientiacuteca que incluye ejercicios de gradoejercicios de preparacioacuten exaacutemenes de la praacutectica conferencias de video y libros de texto enliacutenea gratis Fue creado por ChemVantage LLC que fue fundada por el Prof Chuck Wight queha ensentildeado Quiacutemica General en la Universidad de Utah desde 1984 (ChemVantage 2011)

Nos hemos puesto en contacto con Chuck Wight (adminchemvantageorg) para solicitarle unaclave de consumidor y secreta para poder probar este recurso desde moodle Las opciones y elcorreo puede verse en la gura 511

Una de las cosas maacutes importantes de ChemVantage y por lo que nos hemos decidido a probar esque permite la devolucioacuten de las notas obtenidas en los ejercicios realizados en las herramientasexternas a Moodle El alumno podraacute realizar las tareas en esta herramienta externa y luego sercalicadas en Moodle

ChemVantage estaacute certicada por IMS 7 como un proveedor de herramientas LTI v11 y comotal funciona desde nuestro propio LMS para llevar a cabo la autenticacioacuten de sitios provee decuentas y devuelve resultados de asignacioacuten de estudiantes con el libro LMS grado automaacutetica-mente

Los recursos disponible son ChemVantage son principalmente los siguientes

1 QuizzesLos ejercicios presentados aquiacute estaacuten disentildeados para animar a los estudiantes a leer y en-tender los libros de texto utilizados en el curso Las preguntas se basan en material que sepresente en su mayor parte en los textos de introduccioacuten de quiacutemica Los iacutetems de preguntastienen respuestas straighforward no requieren caacutelculos detallados Las preguntas se presen-tan en varios formatos diferentes incluyendo opcioacuten muacuteltiple verdadero falso casilla devericacioacuten ll-in-the-blanco y numeacutericas Cada cuestionario se compone de 10 preguntasextraiacutedas al azar de una base de datos con muchas maacutes preguntas En el proceso de tomarvarias pruebas para mejorar sus calicaciones los estudiantes probablemente encuentran

7httpdevelopersimsglobalorgcoursechemvantagehtml

algunas preguntas repetidas de concursos anteriores sin embargo es poco probable quecualquiera de los dos cuestionarios contendraacute exactamente el mismo conjunto de preguntasen el mismo orden Asignando pruebas para ser completado antes de la conferencia losprofesores pueden estar seguros de que sus estudiantes tengan un poco de exposicioacuten almaterial Esto permite una mayor discusioacuten el diaacutelogo y la participacioacuten en el aula y haceel aprendizaje maacutes divertido (de verdad)

2 Video LecturesUna serie de conferencias de viacutedeo de 10 minutos sobre una variedad de temas de QuiacutemicaGeneral es accesible desde la paacutegina principal Los videos estaacuten disentildeados para reforzar lospuntos principales que se presentan en muchos libros de texto

3 HoweworksLas tareas estaacuten disentildeadas para dar a los estudiantes la praacutectica en la resolucioacuten de proble-mas cuantitativos que tienen respuestas numeacutericas Cada alumno puede descargar la tareatrabajar los problemas y presentar las respuestas en liacutenea Respuestas son juzgados a sercorrecta si la solucioacuten numeacuterica de acuerdo con la solucioacuten que se encuentra en la base dedatos dentro de una tolerancia especicada (indicado para cada problema) El sitio informaa los estudiantes que las respuestas son correctas para que puedan rehacer problemas malresueltos y volver a presentar las respuestas Cada problema se basa en una plantilla queatrae paraacutemetros al azar por lo que la respuesta correcta es diferente para cada estudianteEsto hace que sean adecuadas para la colaboracioacuten y el trabajo en grupo porque a pesarde que el grupo puede trabajar para encontrar un algoritmo correcto para resolver un prob-lema cada estudiante tendraacute que usar el algoritmo para encontrar la solucioacuten detallada asu propio problema

4 Practice ExamsLos estudiantes pueden realizaar exaacutemenes de praacutectica cronometrados que muestran laspreguntas de un grupo de 3 o maacutes temas Cada examen estaacute disentildeado para tardar unos60 minutos o menos e incluye una seleccioacuten de 10 preguntas Las praacutecticas de exaacutemenespueden repetirse cuantas veces se desee Las preguntas numeacutericas son parametrizadas loque es muy poco probable que un estudiante realice alguna vez dos exaacutemenes de praacutecticaideacutenticos

5 Portofolio PageCada estudiante puede acceder a una paacutegina que le da la puntuacioacuten obtenida en cada prue-ba y la asignacioacuten de tareas Los estudiantes que son miembros de un grupo tienen unapaacutegina de resultados asociados a las tareas de grupo Hay una paacutegina de carpeta separadaque contiene un resumen de todas las actividades realizadas en ChemVantage incluyendovideos vistos cuestionarios completados resolver problemas con la tarea y la praacutectica deexaacutemenes completados Las puntuaciones en los exaacutemenes de praacutectica son desagregadospara revelar fortalezas y debilidades estudiantes por temas

Hemos procedido a darlo de alta en LTI como hicimos con Wordpress Entramos en Moodle co-mo Administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

Figura 511 Correo de Chuck Wight

-LTI quedando como resultado la siguiente hoja de paraacutemetros gura 512

El siguiente paso seraacute antildeadir la herramienta dentro de nuestro curso para ello pulsaremos sobreAntildeadir una actividad o un recurso Deberemos seleccionar External Tool y rellenamos las op-ciones de la herramienta seleccionando como Tipo de herramienta externa la opcioacuten creada enel apartado de LTI de Moodle

Una vez congurado la herramienta en Moodle podemos entrar para realizar una personalizacioacutende la herramienta gura 513 esta consiste en indicar si el alumno cuando se conecta realiza undeterminado tarea o puede elegir navegar por la web de ChemVantage para poder disfrutar dela cantidad de recursos que se encuentran disponibles

Cuando el usuario pulsa sobre la opcioacuten de esta herramienta externa en Moodle lo primero quese le muestra es la informacioacuten sobre su perl en Chemvantage 514Como hemos visto en los paraacutemetros de conguracioacuten existe la posibilidad de llamar a unaherramienta externa incrustaacutendola dentro de Moodle o abrieacutendolo en una paacutegina web nuevaCon esta segunda opcioacuten no hemos conseguido que funcione correctamente la importacioacuten de lasnotas En cambio si la herramienta externa estaacute incrustada permite esa vinculacioacuten

Figura 512 Conguracioacuten de paraacutemetros LTI

Figura 513 Opciones de inicio de la herramienta

Figura 514 Pantalla de utilizacioacuten de la herramienta por el usuario

Capiacutetulo 6

Middleware

61 Introduccioacuten

La uacuteltima opcioacuten seriacutea utilizar una arquitectura middleware de integracioacuten que permita la inte-gracioacuten ligera de muacuteltiples herramientas existentes en el Moodle

62 GluePS

GLUE-PS es una arquitectura de middleware que permite una interoperabilidad ligera entrelos diferentes lenguajes de disentildeo de aprendizaje y diferentes entornos de aprendizaje virtualEsta interoperabilidad permite a los maestros y otros profesionales que particularicen (es decirpara personalizar el disentildeo de aprendizaje abstractoa la clase particular los participantes y laeleccioacuten de los instrumentos en los que va a ser promulgada) desplieguen (es decir para crearde forma semiautomaacutetica las actividades necesarias en el VLE recursos etc para la aprobacioacutendel disentildeo particularizado) e incluso para llevar a cabo ciertos cambios en el tiempo de ejecucioacuten(por ejemplo modicar la composicioacuten del grupo agregar o quitar recursos de las actividadesetc) Todo esto a partir de disentildeos en distintos lenguajes de disentildeo de aprendizaje tales como laespecicacioacuten IMS-LD aprendizaje

Por otra parte GLUE-PS tambieacuten permite desplegar y gestionar disentildeos de aprendizaje en en-tornos virtuales de aprendizaje que integren herramientas de aprendizaje externos (tales comointegrar en Moodle herramientas como Google Docs y muchos otros) - lo que llamamos Am-bientes de Aprendizaje Distribuido (DLE Distributed Learning Enviroments) Esto se consiguegracias a la arquitectura de GLUE para la integracioacuten de los entornos virtuales de aprendizajey herramientas externas

621 Instalacioacuten

Para realizar la instalacioacuten de GLUE-PS nos hemos descargado el software necesario de la webde los desarrolladores1 descargando la opcioacuten de autenticacioacuten centralizada La instalacioacuten haconstado de tres partes que pasaremos a describir a continuacioacuten

1httpwwwgsicuvaesglue

49

Figura 61 Arquitectura de GLUE

La primera parte consiste en la instalacioacuten del GLUEletManager y los adaptadores GSIC toolAunque el sistema viene preparado para Linux o Windows siendo Windows la explicacioacuten quevamos a desarrollar por estar utilizando este sistema operativo con Xampp

1 Crear el directorio GLUE_ HOME El cual hemos creado para mayor comodidad en la raiacutezdel disco duro

2 Denir la variable del sistema GLUE_ HOME con el valor de la direccioacuten completa deldirectorio de GLUE del punto anterior Para ello hemos pulsado botoacuten derecho sobre MiPc Propiedad Opciones Avanzadas Variables de Entorno procediendo a pulsar el botoacutenNueva para crear la variable en cuestioacuten

3 Extraemos en el directorio del punto (1) el paquete descargado de la paacutegina de los desar-rolladores

4 Ejecutar la instalacioacuten del cheroGLUE_ HOMEbininstall gluebat para registar GLUElet-Manager y GSIC tool como un servicio de Windows Tambieacuten este paso crearaacute un cheroen GLUE_ HOMEtool_ adapteradapterdata para proveer de persistencia a los objetoscreados con el adaptador GSIC tool

A continuacioacuten daremos de alta en nuestro gestor de bases de datos un para de bases de datosque necesita GLUEletManager Para ellos seguimos los siguientes pasos

1 Abrimos la consola de phpMyaAdmin para cargar y ejecutar el chero create_ GLUE_databasessql que se encuentra en GLUE_ HOMEmanagerconfdb

2 Modicamos el chero GLUE_ HOMEmanagerconfMETA-INFpersistencexml paradarle los paraacutemetros necesarios para que JDBC se conecte a nuestra base de datos Losparaacutemetros modicados puede verse en la imagen 62

Figura 62 Paraacutemetros modicados en persistencexml

La segunda parte consiste en el registro interno de los adaptadores de las herramientas para seraccedido con GLUEletManager La distribucioacuten trae un chero para facilitar la conguracioacuten delos adaptadores que trae consigo y para su instalacioacuten deberemos ejecutar el chero GLUE_HOMEmanagerconfdbll _ internal_ Registrysql Alguna de las herramientas necesitanuna conguracioacuten maacutes completa como puede ser Google Docs adapter que necesita una cuentade Gmail para poder crear documentos en Google Docs por lo que deberemos modicar el nom-bre de usuario y contrasentildea

La uacuteltima parte consiste en la instalacioacuten del adaptardor de Moodle como VLE utilizado Estainstalacioacuten es como cualquier otro moacutedulo de Moodle 2 La carpeta que deberemos copiar seraacutela del adaptador correspondiente a Moodle que se encuentra en la carpeta GLUE_ HOMEvle_adpatersmoodle_ vle_ adapter Una vez entremos en nuestro Moodle como administrador nosapareceraacute un mensaje indicaacutendonos que el nuevo moacutedulo esta instalado Para congurar el nuevomoacutedulo debermos ir a Noticaciones - Modulos - Actividades como podemos ver en la gura 63para congurar los paraacutemetros la URL del GLUEletManager y el tiempo de espera

Figura 63 Paraacutemetros del moacutedulo GLUE

Cuando el profesor quiera crear una nueva actividad dependiente de los adaptadores de GLUEdeberaacute agregar una actividad maacutes pulsando para ello en esta opcioacuten dentro del bloque deseadopara seleccionar luego el tipo de actividad GLUElet como podemos ver en la gura64

622 Creando un Doodle

El adaptador Doodle permite la creacioacuten conguracioacuten y gestioacuten de instancias del Doodle Cadaencuesta Doodle es considerado un instancia diferente Ademaacutes este adaptador permite realizarademas la conguracioacuten inicial de encuestas Doodle incluyendo el nombre de la encuesta unadescripcioacuten y un conjunto de posibles respuestas

A continuacioacuten antildeadiremos Doodle en un bloque de Moodle para ellos pulsaremos la opcioacuten deAgregar actividad GLUElet lo cual nos mostraraacute la paacutegina65 donde deberemos rellenar comomiacutenimo el nombre de la actividad y el tipo de herramienta seleccionado en este caso Doodle(httpdoodle-testcom)

2httpdocsmoodleorgenInstalling_contributed_modules_or_plugins

Figura 64 Creando una actividad GLUElet

La primera vez que pulsemos sobre la nueva actividad creada apareceraacute un pantalla 66 dondepodemos congurar diferentes elementos de la encuesta desarrollada con Doodle como son eltiacutetulo una pequentildea descripcioacuten y luego las opciones posibles con un liacutemite de 10

El resultado nal seraacute la incrustacioacuten de una encuesta Doodle dentro de nuestro Moodle comopodemos ver en la gura67

Figura 65 Antildeadiendo Doodle como actividad

Figura 66 Opciones iniciales de conguracioacuten de Doodle

Figura 67 Doodel dentro de Moodle

Capiacutetulo 7

Conclusiones Finales

71 Conclusiones Finales

El proyecto actual nos ha servido para acercarnos a las diferentes tecnologiacuteas que permiten lacomunicacioacuten entre Servicios Webs Hemos desarrollado una primera labor de investigacioacuten queha requerido el aprendizaje de diferentes herramientas de control de documentacioacuten y referenciascomo Zotero y Mendeley

La documentacioacuten recabada en el proceso inicial de revisioacuten de documentos nos ha aportadoun visioacuten general de los diferentes sistemas virtuales de aprendizaje que podemos encontrarnosmuchos de ellos gratuitos y las diferentes soluciones que se plantean a la necesidad de incluirrecursos de otros fabricantes que en principio no fueron concebidos para ser utilizados dentro deuna plataforma VLE

Para poner en praacutectica la diferentes opciones encontradas se han montado diferentes maacutequinasvirtuales sobre las que se han probado las mismas Las conclusiones nales se pasan a detallar

IMS LTIEsta solucioacuten de integracioacuten mediante el cumplimiento de unos protocolos y certicacionesde las herramientas que lo cumplen es en principio la que podriacutea parecer la mejor opcioacutenpero la falta de compromiso de los diferentes fabricantes de Servicios Web y la luchapara imponer sus propios estaacutendares hace que aun quede mucho para que esta opcioacuten seacomo tal real

Si vemos el nuacutemero de aplicaciones certicadas para usar IMS LTI apenas superan las 50 yla mayoriacutea solo cumple la especicacioacuten v10 lo cual signica que la integracioacuten solo solu-ciona el problema de llamar a un recurso externo desde Moodle Pocas son las que cumplenla v11 que permite obtener en Moodle una valoracioacuten de los ejercicios desarrollados en unaactividad externa

La versioacuten v20 que daraacute maacutes opciones a la hora de interactuar con actividades externasauacuten esta en desarrollo y nada se sabe sobre posibles fechas para su presentacioacuten Luegocerticacioacuten de herramientas etc

55

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 6: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

431 Principios de disentildeo 2944 SOAP 30

441 Principios de disentildeo 3045 AMF 3146 Conguracioacuten de Moodle Web Services 32

461 Activando los Servicios Web 32462 Pruebas cliente Servicio Web 34

5 Herramientas Externas 3751 Introduccioacuten 3752 Estaacutendares IMS 3753 Herramientas externas en Moodle 39

531 Wordpress 39532 ChemVantage 44

6 Middleware 4961 Introduccioacuten 4962 GluePS 49

621 Instalacioacuten 49622 Creando un Doodle 51

7 Conclusiones Finales 5571 Conclusiones Finales 55

8 Conceptos 57

Bibliografiacutea 59

Iacutendice de guras

11 Resultados SLR 212 Exportacioacuten en IEEE 213 Importacioacuten en Hoja de Caacutelculo 314 Exportacioacuten en SD 315 Exportacioacuten en SD 416 Resumen de resultados 417 Conguracioacuten de Google Scholar 418 Resultados en Zotero 5

21 Anaacutelisis de VLEs 922 Top 100 Tools - Abril 2013 1023 Ciclo de vida del aprendizaje colaborativo 1124 Problemas de integracioacuten 1225 Problemas de integracioacuten 1326 Enfoques de arquitectura de integracioacuten 1427 Orquestacioacuten y Coreografiacutea de Servicios Web 1628 Moodle - Abril 2013 17

31 Proceso para dirigir la revisioacuten 2332 Diagrama de Gantt 2433 Panel de control de XAMPP 2634 Gestor de bases de datos phpMyAdmin 26

41 Capas en Moodle 2842 Operaciones denidas por HTTP 2943 Operaciones denidas por HTTP 3044 Partes de SOAP 3145 Ejemplo de uso de SOAP 3146 Activacioacuten Servicios Web 3247 Activacioacuten Protoclos 3348 Creacioacuten Servicio Personalizado 3349 Agregando funciones al Servicio Personalizado 34410 Listado de Servicios Personalizados 34411 Alta de Usuarios Autorizados 35412 Creacioacuten de Tokens 35413 Lista de Tokens 36414 Web de alta de usuarios 36415 Resultado de REST en formato XML 36

iii

416 Resultado de REST en formato JSON 36

51 Esquema LTI Baacutesico 3852 Esquema utilizacioacuten LTI 3953 Listado de herramientas LTI de la UOC 3954 Informacioacuten sobre la certicacioacuten 4055 Usuario de Wordpress 4056 Servicios LTI en Wordpress 4257 Listado de claves de LTI en Wordpress 4258 Conguracioacuten LTI en Moodle 4359 Conguracioacuten Herramienta Externa 43510 Wordpress integrado en Moodle 44511 Correo de Chuck Wight 46512 Conguracioacuten de paraacutemetros LTI 47513 Opciones de inicio de la herramienta 47514 Pantalla de utilizacioacuten de la herramienta por el usuario 47

61 Arquitectura de GLUE 5062 Paraacutemetros modicados en persistencexml 5063 Paraacutemetros del moacutedulo GLUE 5164 Creando una actividad GLUElet 5265 Antildeadiendo Doodle como actividad 5366 Opciones iniciales de conguracioacuten de Doodle 5367 Doodel dentro de Moodle 54

Capiacutetulo 1

Revisioacuten Sistemaacutetica de la Literatura

11 Objetivos del SLR

Hemos partido de un SLR detallado en la PEC1 bastante ambicioso en el que se intentaronabordar la buacutesqueda de herramientas y estado actual de la coreografiacutea y orquestacioacuten de serviciosweb en la plataforma Moodle Pasaremos a detallar el estudio realizado y los resultados obtenidos

12 Estudio Inicial

La fase de planicacioacuten inicial incluiacutea el la buacutesqueda para la obtencioacuten de estudios o trabajos enlas siguiente libreriacuteas

IEEEXplore [IEEEX] httpieeexploreieeeorg

Science Direct [SD] httpwwwsciencedirectcom

SpringerLink [SL] httpwwwspringerlinkcom

Las cadenas de buacutesqueda empleadas aparecen listadas en la tabla 11 de la paacutegina 1 En la tablaTAK indican Title Abstract Keywords y A indica All Ambos casos se reeren a los campos debuacutesqueda utilizados

Cuadro 11 Fuentes de datos y cadenas de buacutesquedas reali-zadas

Libreriacutea Buacutesqueda AacutembitoIEEEX (Moodle AND Web services) TAKIEEEX (Orchestration OR Coreography) ANDWeb Ser-

vicesTAK

IEEEX (Orchestration OR Coreography) AND Moodle TAKIEEEX (Orchestration OR Coreography) AND (lms OR

Learning Management System)TAK

SD (Moodle AND Web services) TAKSD (Orchestration OR Coreography) ANDWeb Ser-

vicesTAK

continuacutea

1

Cuadro 11 continuacioacutenLibreriacutea Buacutesqueda AacutembitoSD (Orchestration OR Coreography) AND Moodle TAKSD (Orchestration OR Coreography) AND (lms OR

Learning Management System)TAK

SL (Moodle AND Web services) TAKSL (Orchestration OR Coreography) ANDWeb Ser-

vicesTAK

SL (Orchestration OR Coreography) AND Moodle TAKSL (Orchestration OR Coreography) AND (lms OR

Learning Management System)TAK

Los resultados obtenidos podemos observarlos en la gura 11

Figura 11 Resultados SLR

Los resultados de Springer Link para la consulta (Orchestration OR Coreography) ANDWeb Services fueron en principio un problema por la cantidad de artiacuteculos que arrojaba2734 en total aun asiacute empezoacute a trabajar con ello La idea de un SLR es realizar una lecturainicial de los Abstracts para ver si la informacioacuten obtenida es de nuestro intereacutes y si fuera asiacuteprofundizar en la lectura del documento

Comenzamos trabajando con la libreriacutea de IEEE Digital Library (Xplore) El portal de estalibreriacutea nos facilitoacute mucho el trabajo pues pudimos permite la opcioacuten de exportar de manerasencilla como podemos ver en la gura 12 a una hoja de calculo que hemos utilizado para irdetallando aquellos documentos que hemos considerado importantes durante el estudio

Figura 12 Exportacioacuten en IEEE

Los resultados exportados por este portal son bastante completos sobre todo porque contiene elAbstract de los documentos por lo que la lectura de los mismos no se tiene que realizar en demanera individual en la web o descargando los documentos En la gura 13 podemos ver comose importaron en nuestra hoja de calculo los datos obtenidos

Figura 13 Importacioacuten en Hoja de Caacutelculo

Despueacutes de realizar la lectura los Abstracts hemos continuado con ScienceDirect donde los re-sultados fueron menores que los obtenidos con IEEE Este portal tambieacuten permite la opcioacuten deexportar de manera sencilla como podemos ver en la gura 14 permitiendo la opcioacuten de incluirlos Abstracts

Figura 14 Exportacioacuten en SD

Para acabar este uacuteltimo bloque nos quedaba revisar SpringerLink el cual se presentaba comoel maacutes prometedor por el gran nuacutemero de resultados obtenidos La revisioacuten de tantos artiacuteculos sepresentaba ardua pero no se esperaba que fuera tanto pues el portal no permite la exportacioacutende los Abstracts de los documentos encontrados Realizar la descarga de 2924 documentos parasu revisioacuten se nos haciacutea algo inviable dentro de los plazos para entrega del presente proyectosiendo por lo tanto seguir con los paraacutemetros de buacutesqueda iniciales En la gura 15 podemosver cuales son los campos que permite la exportacioacuten de este portal

Esto hizo replantearnos el estudio por lo que hemos replanteado el mismo reduciendo los con-ceptos a buscar para ello hemos realizado la buacutesqueda solo de los artiacuteculos directamente rela-cionados con Moodle y la coreografiacutea y orquestacioacuten de servicios web es decir (OrchestrationOR Coreography) AND Moodle y hemos incluido un nuevo buscador Google Scholar

Figura 15 Exportacioacuten en SD

httpscholargooglecom para de esta manera compensar la reduccioacuten de las buacutesquedas

La buacutesqueda por lo tanto puede ser resumida en la siguiente tabla 16 donde podemos comprobarla gran cantidad de artiacuteculos encontrados gracias a la utilizacioacuten de Google Scholar

Figura 16 Resumen de resultados

Los resultados de Google Scholar eran prometedores pero tambieacuten presentaban problemas parasu exportacioacuten despueacutes de varias consultas para buscar informacioacuten al respecto se conguroacute labuacutesqueda para que permitiera la exportacioacuten de los enlaces encontrados como podemos ver enla gura 17 pero esta opcioacuten nos volviacutea a obligar a realizar una consulta individual de cadaelemento

Figura 17 Conguracioacuten de Google Scholar

Aunque podriacuteamos realizar la buacutesqueda de esta manera sobre todo por los resultados esperadosel tener que realizar la buacutesqueda desde el navegador presentando solo 20 resultados por paacutegina seantojaba bastante pesada sobre todo si se teniacutea que retomar la buacutesqueda en diversos periodos detiempo La solucioacuten que se encontroacute fue la instalacioacuten de Zotero httpwwwzoteroorg Laherramienta permite instalacioacuten de un complemento para Firefox que se utilizoacute para realizar ladescarga de todos los enlaces Este complemento tambieacuten permite la visualizacioacuten de los enlacesen la web como podemos ver en la gura 18 Aun asiacute se decidioacute realizar la instalacioacuten de laversioacuten consola de Zotero para trabajar mejor con carpetas y de esta manera reorganizar lasreferencias encontradas

Figura 18 Resultados en Zotero

Capiacutetulo 2

Plataformas VLE e integracioacuten

En esta seccioacuten describiremos el Entorno Virtual de Aprendizaje pondremos ejemplos de ellos yveremos las necesidades que generan en el desarrollo del proceso de aprendizaje por la falta deintegracioacuten de nuevas herramientas algunas de ellas utilizadas por si sola como herramientas deaprendizaje Detallaremos los problemas de la integracioacuten y expondremos las posibles solucionesa ello

21 VLE

El Entorno Virtual de Aprendizaje (VLE - Virtual Learning Enviroment) suele ser un teacuterminomuy usado en la educacioacuten a traveacutes de ordenador pero no existe una denicioacuten acordada porlo que muchas veces es confundido con otros teacuterminos anaacutelogos como Learning ManagementSystem (LMS) Sistema de Gestioacuten de Contenidos (Content Management System - CMS) o unaPlataforma de aprendizaje (Learning Plataform - LP)

Las deniciones maacutes aceptadas para VLE pues dada en el 2000 por Joint Information Sys-tems Committee (JISC) en el 2000 [Stiles 2000] indicando que son ccedilomponents in which learn-ers and tutors participate in on-line interactions of various kinds including on-line learningExisten otros autores que no estaacuten de acuerdo con la necesidad de interacciones on-line como[Dillenbourg et al 2002] que los excluyen de su denicioacuten Britain an Liber [Britain et al 2004]tambieacuten omiten la comunicacioacuten on-line de su denicioacuten indicando que las VLEs pretender darcabida a una amplia gama de estilos de aprendizaje y objetivos para fomentar el aprendizajecolaborativo y basado en recursos para permitir una mayor intercambio y reutilizacioacuten de recur-sos [Britain et al 2004]

Una de las deniciones mas formal y comuacutenmente citada fue dada en el trabajo de Dillengourgs[Dillenbourg et al 2002] el cual expone siete argumentos distintivos

1 VLEs are designed information spaces in which multiple authors can produce both struc-tured and unstructured information

2 VLEs are social spaces that promote interactions and discussions both synchronously orasynchronously

3 VLEs are explicitly represented ranging from text-based interfaces to complex 3D graphicalsystems

7

4 VLE students are also actors thus producing rather than consuming contents

5 VLEs are not restricted to distance education supporting also presential and blended learn-ing situations

6 VLEs integrate heterogenous technologies (including a variety of tools supporting diferenttasks) and multiple pedagogical approaches because integration is under the idea of envi-ronment

7 Most VLEs overlap with physical environments at some point since learning activities mayinvolve the use of non-computerized resources or interactions among participants

Por tanto el VLE conlleva un paso hacia delante por constituir un espacio virtual que utilizatecnologiacuteas heterogeacuteneas en el que los alumnos son activos usuarios siendo sistemas centrados enlos educadores que permiten el disentildeo instanciacioacuten promulgacioacuten y evaluacioacuten de situacionesde aprendizaje colaborativo a traveacutes de un conjunto de actividades de aprendizaje que puedenser siacutencronas o asiacutencronas cara a cara o a distancia individuales o de manera colaborativa

211 Ejemplos de VLEs

Existen actualmente diversos VLEs amplimente difundidos y no paran de aparecer nuevos loscuales intentan incluir nuevos teacutecnicas aplicadas al aprendizaje como puede ser el 3D [Nonis 2005]Hemos realizado el resumen por [Alario-Hoyos et al 2012] para mostrar una tabla en la gura21 de los maacutes importantes Moodle Lams LRN Sakai Blackboard Claroline Sharepoint LMSy sus caracteriacutesticas teacutecnicas y funcionales

22 Herramientas de Software

El uso de aplicaciones software como apoyo al aprendizaje ha jugado un papel muy importantesobre todo a la incorporacioacuten del ordenador a nuestra vida diaria Sin embargo no ha sido hastalos uacuteltimos antildeos con la difusioacuten de las tecnologiacuteas web y la posibilidades que ofrece de accesoraacutepido y ubicuo a los recursos e informacioacuten lo que ha provocado la proliferacioacuten de las her-ramientas de Software como Servicio (Software as Service - SaaS) siendo adoptadas en todas lasetapas del aprendizaje

La tendencia actual de los usuarios a generar y compartir contenidos a traveacutes de las herramientasde la llamada Web 20 la mayoriacutea de las cuales son aplicaciones SaaS ha cambiado la formade aprender fomentando la comunicacioacuten colaboracioacuten y ha fomentado un aprendizaje masconstructivista Algunos ejemplos de estas herramientas son

Google Drive httpsdrivegooglecom

Twitter httpstwittercom

Delicious urlhttpsdeliciouscom

Google Maps httpsmapsgooglees

Flickr httpwwwflickrcom

Doodle httpwwwdoodlecom

Figura 21 Anaacutelisis de VLEs

Miles de estas herramientas son usadas como apoyo en las actividades de aprendizaje Muchasde estas herramientas podemos encontrarlas valoradas en un ranking en webs como Tops 100Tools for Learning1 de la cual mostramos la gura 22 tambieacuten podemos encontrarlas en CcediloolsTools for Schools2

221 Integracioacuten de herramientas

Aunque hemos podido ver que existe un gran nuacutemero de herramientas software la cuales puedenapoyar el desarrollo docente son pocos los VLEs y otras plataformas similares utilizadas porlos educadores para disentildear y prestar sus actividades formativas las que incluyen un nuacutemeromuy restringido de estas herramientas de manera integrada Los educadores suelen indicar laslimitaciones que los VLEs tienen en este caso demandando maacutes alternativas para soportar susparticulares aprendizajes colaborativos Por ello ha emergido con fuerza la integracioacuten de her-ramientas externas en los VLEs sobre todo para el uso de SaaS y aplicaciones Web 20

Debemos tener en cuenta que

La integracioacuten de las herramientas actuales en los entornos VLEs actuales suele ser laopcioacuten maacutes aceptada aunque existen otras alternativas

Las SaaS y las aplicaciones Web 20 han sido ampliamente adoptadas como herramientas de

1httpc4lptcouktop100tools2httpcooltoolsforschoolswikispacescom

Figura 22 Top 100 Tools - Abril 2013

aprendizaje pero existen otras herramientas con su particularidades teacutecnicas que puedenser interesantes y tenida en cuenta como actividades de aprendizaje en los VLEs

Estas herramientas usadas durante el ciclo de vida de aprendizaje colaborativo deben poderser analizadas para estudiar sus resultados

El ciclo de vida del aprendizaje colaborativo consta de cuatro fases disentildeo despliegue pues-ta en marcha y evaluacioacuten Las herramientas de software suelen utilizarse principalmenteen dos de ellas en el despliegue donde las herramientas son seleccionadas dependiendo delos objetivos del aprendizaje la conguracioacuten social y las estructuras de las actividades arealizar y en la fase de puesta en marcha pues son utilizadas por los estudiantes para re-alizar sus actividades y de esta manera alcanzar los objetivos del aprendizaje En la fase deevaluacioacuten estas realmente no son importantes pues no nos interesa tanto la herramientacon la que se haya realizado sino el contenido de esos resultados La fase de disentildeo es dondese consideran las tareas a realizar para llevar a cabo el aprendizaje y no herramientas autilizar para ello Aunque estas cuatro fase puede ser ampliadas o reducidas es ampliamenteaceptado En la gura podemos ver graacutecamente este ciclo

Figura 23 Ciclo de vida del aprendizaje colaborativo

222 Problemas en la integracioacuten

El problema general de la integracioacuten de muacuteltiples herramientas externas en diversos VLEspodemos observarlo en la gura 24 donde podemos ver en un lado diferentes VLEs consus correspondientes APIs arquitectura y caracteriacutesticas mientras en el otro lado diferentestecnologiacuteas interfaces y desarrollos para una gran variedad de propoacutesitos Cada uno deellos puede imponer sus restricciones para la integracioacuten Estos requerimientos es lo queha sido denominado por ejemplo en LAMS como ccedilontrato de integracioacuten el cual intentadeterminar las tecnologiacuteas interfaces y modelos de datos que deben ser empleados para lacomunicacioacuten entre un sistema y el programa que intente integrarlo

Cada herramienta puede tener una o maacutes opciones de integracioacuten Algunas son especiacute-cas para una cierta herramienta (Ej comunicacioacuten basado en Rest para Delicious y paraSlidshare de manera diferente) y otras comuacuten para varias herramientas (Ej Google DataProtocol) Lo mismo ocurre en el lado de los VLEs por lo que se abre un amplio abanicode tecnologiacuteas interfaces y modelos de datos que hacen que la tarea de integracioacuten seaalgo realmente complejo En la gura 25 podemos ver un resumen de los problemas deintegracioacuten seguacuten las herramientas seleccionadas

223 Enfoques de la integracioacuten

Podemos denir dos enfoques principales a la hora de enfocar la integracioacuten de las her-ramientas de software y los VLEs siendo estos

bull Estandarizar los contratos de integracioacutenLa denicioacuten de unos estaacutendares de integracioacuten podriacutea resolver los problemas de in-tegracioacuten pero no existen hoy en diacutea los mismos o no son aceptados por la mayoriacutea

Figura 24 Problemas de integracioacuten

seguramente por intereses tecnoloacutegicos y comerciales IMS Global Learning Consor-tium siguen intentando realizar la aprobacioacuten de dicho estaacutendar siendo uno de elloIMS-LTI Integracioacuten de aplicaciones y servicios remotos y aunque la adopcioacuten de losmismo por las nuevas versiones de Moodle y Blackboard podriacutea hacer que se apos-tara por esta opcioacuten la falta de herramientas que lo utilicen (Ej Google no lo utiliza)puede hacer que no llegue a buen puerto

bull Crear una arquitecturaEste enfoque trata de adaptar los contratos de integracioacuten de los VLEs y las her-ramientas sin tener que modicar sus implementacioacuten Este mismo enfoque presentados opciones como podemos ver en la gura 26 y que pasamos a detallar

1 Un adaptador por en el lado de VLE y otro en el lado de las herramientas o inclusoun solo paquete que pueda congure toda la conexioacuten En este caso estariacuteamoshablando por ejemplo de los moacutedulo adicionales de Moodle

2 Una capa intermedia y adaptadores Este tipo de arquitectura permite la in-tegracioacuten entre muacuteltiples herramientas externas y muacuteltiple entorno virtuales deaprendizaje a traveacutes de un middleware comuacuten Dicho middleware estariacutea com-puesto de diferentes programas que pueden ser ejecutados en dominios diferentesEsta arquitectura reduce el esfuerzo para la integracioacuten de cada herramienta encada VLE ya que el coacutedigo estaacute parcialmente implementado por los elementos deintegracioacuten comunes Sin embargo el grado de integracioacuten y funcionalidad que sepuede lograr con estas arquitecturas es menor que con la primera opcioacuten

23 Servicios Web

Aunque han sido englobados dentro de integracioacuten de herramientas vamos a detallar queson y que aportan a Moodle

Figura 25 Problemas de integracioacuten

Los Servicios Web (Web Services) son la parte esencial de la interoperabilidad de Moodlecon otras aplicaciones Web 20 consisten en una pieza de software que utiliza un conjuntode protocolos y estaacutendares abiertos para intercambiar datos entre aplicaciones La idea prin-cipal es que distintas aplicaciones de software desarrolladas en lenguajes de programacioacutendiferentes y ejecutadas sobre cualquier plataforma puedan utilizar los servicios Web paraintercambiar datos en la red de ordenadores como Internet El producto resultante es unconjunto de moacutedulos con funcionalidad especiacuteca y completa que se acoplan entre siacute A suvez estos moacutedulos se conectan a una plataforma de e-learning mediante la utilizacioacuten deservicios de base descritos en una capa estaacutendar que funciona como gateway

Para ampliar un poco mejor el concepto de servicios Web citaremos una exposicioacuten delDoctor Marcos Escobar Un Web Service es un componente de software que se comunicacon otras aplicaciones codicando los mensaje en XML y enviando estos mensaje a traveacutesde protocolos estaacutendares de Internet tales como el HTTP Intuitivamente un Web Servicees similar a un sitio Web que no cuenta con un interfaz de usuario y que da servicio a lasaplicaciones en vez de a las personas Un Web Service en vez de obtener solicitudes desdeel navegador y retornar paacuteginas Web como respuesta lo que hace es recibir solicitudes atraveacutes de un mensaje formateado en XML desde una aplicacioacuten realiza una tarea y de-vuelve un mensaje de respuesta tambieacuten formateado en XML

Figura 26 Enfoques de arquitectura de integracioacuten

231 Orquestacioacuten y Coreografiacutea de Servicios Web

Seguacuten Careaga Mercadillo Ana Lilia [car ] la Orquestacioacuten (Web Service Orchestration)y Coreografiacutea (Web Service Choreography) se suelen ver como dos aproximaciones parala Composicioacuten de Servicios Web que se acercan estrechamente a los conceptos musicalespor lo cual se han importado directamente sus signicados A continuacioacuten detallaremosque son y sus posibles aplicaciones

La tarea de componer servicios Web baacutesicos o simples para brindar servicios Web maacutes com-plejos se conoce teacutecnicamente como Composicioacuten de Servicios Web Existen dos grandesaproximaciones para esta tarea la coreografiacutea con foco en la interaccioacuten entre servicios(equivalente a los bailarines) y la orquestacioacuten (equivalente a los instrumentos de la orques-ta) con foco en la implementacioacuten y ejecucioacuten de servicios La primera puede consid-erarse como una descripcioacuten formal del pasaje de mensajes obviando detalles internosde implementacioacuten Se ajusta maacutes en situaciones donde es provechoso contar con la no-cioacuten de estados y tambieacuten donde estaacuten involucradas transacciones de larga duracioacuten- Elorquestadordetermina la naturaleza y la secuencia de la interaccioacuten En cambio la segun-da aproximacioacuten describe la loacutegica y el estado de cada una de las partes involucradas Laorquestacioacuten tiene una visioacuten mas local y centralizada mientras que la coreografiacutea denela composicioacuten desde una perspectiva global sin control centralizado tal y como sucede enla danza

Existen numerosas deniciones de Servicios Web y esto demuestra en parte la gran com-plejidad de los servicios que se agrupan bajo este teacutermino y las implicaciones asociadas aellos Hasta ahora la denicioacuten maacutes general y convincente es decir que los Servicios Webson el conjunto de aplicaciones tecnoloacutegicas con capacidad para interoperar en la Web Es-tas tecnologiacuteas intercambian datos entre ellas con el n de ofrecer servicios de naturalezaremota

La World Wide Web no es soacutelo un espacio de informacioacuten tambieacuten es un espacio de inter-accioacuten Utilizando la Web como plataforma los usuarios de forma remota pueden solicitar

un servicio que alguacuten proveedor ofrezca en la red Pero para que esta interaccioacuten funcionedeben existir unos mecanismos de comunicacioacuten estaacutendares entre diferentes aplicacionesEstos mecanismos deben poder interactuar entre siacute para presentar la informacioacuten de formadinaacutemica al usuario Se precisa pues una arquitectura de referencia estaacutendar que hagaposible la interoperabilidad y extensibilidad entre las distintas aplicaciones y que permitasu combinacioacuten para realizar operaciones complejas Esta arquitectura es conocida con elnombre de SOA (Service Oriented Architecture)

Con el n de estandarizar los diferentes aspectos relacionados con los servicios Web elW3C (World Wide Web Consortium) recoge todo lo referente a ellos en (Web ServicesActivity) Asiacute pues Web Services (WS) ofrece un signicado estaacutendar para interoperarentre diferentes aplicaciones de software corriendo en diferentes plataformas yo marcosde trabajo El W3C pretende disentildear la arquitectura denirla y crear el nuacutecleo de tec-nologiacuteas que hagan posible los Servicios Web Los servicios Web se basan en un lenguajede caracteriacutesticas especiales llamado XML (Extensible Markup Language) que permite quelas aplicaciones compartan informacioacuten y que ademaacutes invoquen funciones de otras apli-caciones independientemente de coacutemo se hayan creado dichas aplicaciones y del sistemaoperativo o plataforma en que se ejecuten Por ejemplo Google utiliza un Servicio Webllamado Google Web APIs que permite que el usuario programe en diversos lenguajes ase-gurando la recuperacioacuten de informacioacuten independientemente de la plataforma que se utilice

Los Servicios Web se idearon en un principio para realizar interacciones simples e indepen-dientes pero ahora es necesario que los servicios colaboren y se coordinen A la coordinacioacutennecesaria para implementar un servicio Web se le llama Composicioacuten que puede realizarsede dos manerasorquestacioacuten y coreografiacutea La principal diferencia entre orquestacioacuten ycoreografiacutea es el alcance La orquestacioacuten trata de la descripcioacuten y ejecucioacuten de un mismoy uacutenico punto de vista global del modelo (instrumentacioacuten) La coreografiacutea trata de la de-scripcioacuten y guiacutea de un modelo global proyectado en base a cada participante (bailarines)La orquestacioacuten y coreografiacutea son teacuterminos que describen dos aspectos de los estaacutendaresemergentes para la creacioacuten de procesos de negocios de muacuteltiples servicios WebLos dosteacuterminos se superponen pero es claro que la orquestacioacuten se reere a un proceso de nego-cio ejecutable que puede interactuar tanto con servicios Web internos como externos Laorquestacioacuten representa siempre el control desde la perspectiva de una de las partes Estolo distingue de la coreografiacutea que es de mayor colaboracioacuten y permite a cada parte impli-cada describir su papel en la interaccioacuten La orquestacioacuten y coreografiacutea tratan de describiraspectos relacionados con la creacioacuten de procesos de negocio que involucran varios tipos deSoftware

Visto graacutecamente podemos ver en la gura 27 la orquestacioacuten permite disentildear proce-sos de negocio ejecutables que pueden interactuar (a nivel de mensaje) tanto con softwareinterno como externo Por otra parte la coreografiacutea es mucho maacutes colaborativa ya quepermite trazar las secuencias de mensajes que se suceden entre todas las partes partici-pantes del proceso de negocio en lugar de centrarse en los mensajes que se intercambianentre los diversos programas de software que implementan los procesos de negocio

Figura 27 Orquestacioacuten y Coreografiacutea de Servicios Web

232 Estaacutendares de Orquestacioacuten de Servicios Web

WS BPEL( Web Service Business Process Execution Language)Es un lenguaje de orquestacioacuten estandarizado porOASIS (Organisation for Advance Struc-tured Information Business Transaction Protocol) para la composicioacuten de servicios Web quepermite a los desarrolladores crear programas que automatizan las interacciones entre losservicios Web jugando un papel clave en las arquitecturas orientadas a los servicios SOAPara comprender su funcionamiento imaginemos un proceso de negocio determinado quetiene una entrada A y una salida B Dicho proceso como la mayoriacutea de ellos posee a suvez de muchos procesos internos que se van activando de acuerdo a ciertos paraacutemetros yvalores BPEL seriacutea el encargado de orquestar y por lo tanto dirigir la ejecucioacuten de unamanera ordenada La ventaja de que BPEL sea un estaacutendar radica en que puede ser imple-mentado en una gran variedad de motores de ejecucioacuten de diferentes proveedores BPELen si es un formato XML que proviene de la convergencia entre el WSFL (Web ServiceFlow Language) de IBM y XLANG de Microsoft La herramienta BPEL estaacute basada en unmodelo llamado Workow que especica las oacuterdenes de ejecucioacuten Existen actividadesbaacutesicas como iumlnvoke y receive y otras estructuradas como sequence Tambieacuten formanparte del modelo variables y participantes (partners) En las variables se deposita la nocioacutende datos y los participantes representan los elementos que interactuacutean en la composicioacutenEl modelo se completa como un motor que orquestaraacute las invocaciones

BPML (Business Process Modeling Language)Es un metalenguaje basado en XML para la descripcioacuten de procesos de negocio Inicial-mente BMPL se disentildeoacute para soportar los procesos que un sistema de gestioacuten de procesosde negocio pudiera ejecutar BPML dispone de estructuras similares a BPEL como puedenser actividades baacutesicas para el enviacuteo y la recepcioacuten de mensajes y para la invocacioacuten deservicios Adicionalmente BPML permite planicar las tareas para que se ejecuten eninstantes especiacutecos ofreciendo algunas opciones de control temporal Este lenguaje in-cluye caracteriacutesticas para dar soporte a la persistencia ya que fue disentildeado para la gestioacutende procesos de larga duracioacuten BPML ofrece soporte tambieacuten para realizar composicionesrecursivas a n de poder construir procesos de negocio que a su vez consten de otros sub-procesos Asimismo soporta transacciones de larga o corta ejecucioacuten gracias a que usa unateacutecnica similar a BPEL para controlar el alcance de las actividades y gestionar de esta

forma las reglas de compensacioacuten en caso de que las operaciones que deben realizarse deforma automaacutetica se vean interrumpidas

233 Estaacutendares de Coreografiacutea de los Servicios Web

WS-CDL (Web Services Choreography Description Language)Es un lenguaje basado en XML que describe la colaboracioacuten entre pares peer to peemediante la denicioacuten - desde un punto de vista global de los comportamientos comunes yobservables de cada participante de un proceso de negocio Eacuteste es un lenguaje utilizadopara la denicioacuten de servicios dentro de la plataforma SOA y cuyo objetivo es la descrip-cioacuten del comportamiento de cada uno de los servicios establecidos para lograr un objetivocomuacuten Sin embargo antes de WS-CDL ya existiacutea un lenguaje que permitiacutea la descripcioacutende las funcionalidades de un Servicio Web WSDL (Web Services Denition Language)el cual puede describir el conjunto de funciones ofrecidas con los posibles fallos que po-driacutean ocurrir y a pesar de que WS-CDL podriacutea expresar las coreografiacuteas de un servicioen un ambiente SOA W3C (World Wide Web Consortium) abandonoacute su desarrollo en 2009

WSCI (Web Service Choreography Interface)La especicacioacuten de WSCI fue desarrollada por diversas compantildeiacuteas como Sun SAP BEAe Intalio y representa una extensioacuten para WSDL para la colaboracioacuten La especicacioacuten de-ne la coreografiacutea global o el intercambio de mensajes entre los diferentes tipos de softwarey soporta su correlacioacuten reglas de secuenciacioacuten manejo de excepciones transacciones ycolaboracioacuten dinaacutemica WSCI soacutelo describe el comportamiento observable entre el softwareque se emplea Una coreografiacutea WSCI constaraacute de un conjunto de interfases WSCI unapor cada uno de los servicios que participen en la interaccioacuten

24 Moodle

El software de coacutedigo abierto (Open-Source Software-OSS) esta siendo ampliamente de-sarrollado ofreciendo nuevas alternativas y posibilidades hasta hace poco inimaginablesMoodle es un claro ejemplo siendo uno de los programas maacutes ampliamente adoptados porcolegios institucioacuten universidades etc Como podemos ver en la gura 28 el nuacutemero deusuarios registrados y los idiomas en los que se encuentra disponible dan muestra de sugran difusioacuten Algunas de las razones mas importante para su eleccioacuten son

Figura 28 Moodle - Abril 2013

bull Moodle es OSS lo cual signica que los usuarios pueden descargarlo libremente usarlomodicarlos e incluso redistribuirlo seguacuten los teacuterminos GNU 3

bull La losofiacutea planteada por Moodle incluye una aproximacioacuten constructiva basada enel constructivismo social de la educacioacuten enfatizando que los estudiantes (y no soacutelolos profesores) pueden contribuir a la experiencia educativa en muchas formas

bull Compatibilidad con maacutes de 70 idiomas diferentes

bull Una excelente documentacioacuten soporte para seguridad y administracioacuten

bull No requiere modicaciones en el sistema operativo pudiendo ser ejecutado en un en-torno Linux Windows Mac OS o cualquier otro siempre que soporten PHP

bull La informacioacuten esta soportada por una simple base de datos

Ademaacutes su sencilla aplicacioacuten en entorno web que utiliza tecnologiacuteas ya ampliamenteprobadas sus mecanismos de extensioacuten maacutes faacuteciles en comparacioacuten con otros VLEs y laexistencia de una gran cantidad de documentacioacuten de desarrollo han impulsado la creacioacutende una gran comunidad de personas que contribuyen a la mejora de Moodle Esta comu-nidad estaacute en constante desarrollo de nuevas caracteriacutesticas y aplicaciones a traveacutes decientos de plugins que pueden ser descargados desde su la web de Moodle y asesoran tantoa otros desarrolladores como usuarios nales

La primera versioacuten de Moodle (10) fuel lanzada en 2002 como parte de la investigacioacuten deMartin Dougiamas del uso del software de coacutedigo abierto para la ensentildeanza y el aprendizajecon las comunidades basadas en Internet[Dougiamas and Taylor 2000] Actualmente seencuentra disponible la versioacuten 243+ como estable y la beta de la versioacuten 25

En cuanto a la parte teacutecnica Moodle estaacute desarrollado en lenguaje PHP como la mayoriacuteade los VLEs utiliza una arquitectura cliente-servidor comuacuten de tres capas CORREGIRLa capa de presentacioacuten dene como la informacioacuten se presenta a los usuarios nales quetienen acceso a esa informacioacuten a traveacutes de sus navegadores web La Capa de loacutegica de ne-gocios se encarga de las relaciones con Moodle el acceso a la capa de datos por lo generala traveacutes de MySQL para almacenar y recuperar la informacioacuten cuando sea necesario

Moodle se distribuye en un solo paquete multiplataforma que incluye PHP MySQL yApache HTTP Server para facilitar los procesos de instalacioacuten y conguracioacuten La dis-tribucioacuten actual de Moodle cumple con varios estaacutendares educativos Por ejemplo Moodlepuede manejar ADL SCORM paquetes que contienen recursos aislados o cursos completosEn cuanto a los estaacutendares IMS Moodle soporta IMS Content Packaging (IMS CP) IMSCommon Cartridge (IMS CC)IMS pregunta y Test Interoperability (IMS QTI) y estaacuteconsiderado como uno de los VLEs compatible con Basic LTI

241 otras plataformas

No podemos dejar de lado otros escenarios educativos que han ido apareciendo en los uacutelti-mos antildeos a pesar del gran eacutexito de los VLEs Algunos ejemplos de estas plataforma son

3httpsmoodleorg

bull Wikis (Ej MediaWiki) Son sistemas software que permiten la creacioacuten y gestioacutende contenidos estructurados mediante paacuteginas web relacionadas entre siacute El contenidosuele estar editado por varios usuarios que trabajan de manera colaborativa pudiendoincluir enlaces a recursos externos

bull Sitios de redes sociales (Ej Facebook) Son sistema en liacutenea donde los usuariospueden crearse sus propios perles y crear una red personal que les mantendraacute conec-tado con otros usuarios Estos sistemas han proliferado en los uacuteltimos antildeos llegando amillones de usuarios No suelen necesitar un administrador pues se utilizan medianteentorno web y son alojados por el propio proveedor Su gran adopcioacuten y el enfoquea las interacciones sociales es lo que ha llevado a muchos profesor a utilizarlo comoherramienta de aprendizaje Estos sitios permiten la creacioacuten y mantenimiento degrupo mediante el perl de usuario pero no estaacuten disentildeados para seguir un enfoquepedagoacutegico

bull Personal Learning Environment - PLE (Ej Southampton) Son denidos comosistemas de software que permiten al estudiante a tomar el control y la gestioacuten de suspropio aprendizaje Se caracterizan por la por la participacioacuten directa de los alumnosen el acceso agregacioacuten conguracioacuten y manipulacioacuten de herramientas y recursos adiferencia de los VLEs done es el educador el que selecciona y gestiona los recursosque el alumno debe utilizar

Muchas de estas herramientas son de coacutedigo libre y abierto Su funcionalidad respecto ala gestioacuten de actividades grupos funciones y herramientas es limitado siendo en algunoscasos inexistente Ninguna de estas plataformas se puede considerar un VLE ya que nosson sistemas centrados en el educador sin embargo pueden apoyar la integracioacuten de apli-caciones externas en entornos de aprendizaje colaborativo

Capiacutetulo 3

Organizacioacuten y Sistema Inicial

A continuacioacuten pasamos a detallar las distintas actividades de la que consta el proyecto quehemos llevado a cabo durante estos meses

31 Lanzamiento del proyecto

Esta actividad consisten en la eleccioacuten de una de las diferentes posibles aacutereas de desarrollo deproyectos que ofrece la UOC siendo la elegida Aplicaciones Web para trabajo colaborativo

32 Denicioacuten del proyecto

El proyecto queda denido en el presente documento siendo el tiacutetulo del mismo Orchestationand Coreography of Web Services on Moodle - Revisioacuten Sistemaacutetica de la literatura

[Duracioacuten] 27-02-2013 al 03-03-2013

33 Anaacutelisis de requisitos

Nos centraremos en la fase de planicacioacuten que incluye los objetivos de la investigacioacuten y la formaen que se llevaraacute a cabo la revisioacuten

[Duracioacuten] 04-03-2013 al 03-06-2013

331 Cuestiones Realizadas

El primer paso en la fase de planicacioacuten seraacute denir los objetivos principales de esta revisioacutensistemaacutetica de la literatura Estos objetivos son analizar el estado del arte de la coreografiacutea yorquestacioacuten de los servicios web en Moodle como LMS

332 Fuentes de datos y buacutesqueda

Utilizaremos diferentes libreriacuteas o espacios digitales para realizar las buacutesquedas las mismas serealizaraacuten en ingleacutes y espantildeol Las libreriacuteas principales utilizadas son

IEEEXplore [IEEEX] httpieeexploreieeeorg

21

Science Direct [SD] httpwwwsciencedirectcom

SpringerLink [SL] httpwwwspringerlinkcom

Paralelamente a Science Direct se han realizado buacutesquedas en Scopus1 de Elsevier y GoogleScholar2 de Google

333 Criterios de inclusioacuten y exclusioacuten

Las buacutesquedas que se realicen intentaraacuten abarcar todo el aacutembito de cuestiones del SLR pero esposible (y de hecho ocurre) el resultado contenga referencias publicaciones estudios o en generalinformacioacuten que no sirve Para ello seraacute necesario denir criterios de inclusioacuten y exclusioacuten loscual haremos basaacutendonos en la guiacutea [Kitchenham 2007]

334 Asegurar la calidad

Despueacutes de obtener un numero considerable de trabajos o estudios que satisfacen los criteriosde inclusioacuten y exclusioacuten se deberaacute ser capaz de asegurar o armar cuales son los que cumplencon una miacutenima calidad y si son vaacutelidos o no para el estudio en si Es baacutesico poder analizar queacuteestudios son mejores que otros en teacuterminos de calidadSiguiente [Kitchenham 2007] se deniraacuten preguntas y cuestiones que permitan asegurar dichacalidad

335 Extraccioacuten de datos y anaacutelisis

Los criterios de inclusioacuten y exclusioacuten junto con las preguntas orientadas a asegurar la calidadnos serviraacuten para obtener todos los artiacuteculos y estudios que se analizan en este estudioDe cada artiacuteculo se recogeraacute titulo y autores abstract publicacioacuten y antildeo de publicacioacuten

336 Fase de revisioacuten

Esta fase de planicacioacuten seraacute denir el proceso de conducir o dirigir la revisioacuten Para elloutilizaremos tres fases como podemos ver en la gura 31 de la paacutegina 23

337 Fase de Pruebas

Se realizan pruebas con la informacioacuten obtenido montado maacutequinas virtuales para realizar lasmismas En estas se han probado las diferentes opciones de comunicacioacuten que nos ofrece Moodle

1httpwwwscopuscom2httpscholargooglecom

Figura 31 Proceso para dirigir la revisioacuten

34 Calendario de Trabajo

Podemos ver en el siguiente diagrama de Gantt32 la distribucioacuten de trabajos en el tiempo elmismo seraacute modicado para ajustarlo a las variaciones producidas durante el desarrollo de lastareas que contempla

35 Hitos principales

Los principales hitos seraacuten

Lanzamiento del proyecto Se dene correctamente en que va consistir el proyecto

Denicioacuten de cuestiones para la buacutesqueda Donde se detallaraacuten las cuestiones quemarcaran el desarrollo del resto del proyecto

Comprobacioacuten de resultados Se deberaacuten criba los mismo para no obtener duplicadoso informacioacuten ajena a la investigacioacuten

Revisioacuten de informacioacuten obtenida Una vez obtenida la informacioacuten y analizada deberaacuteser revisada para su presentacioacuten

Figura 32 Diagrama de Gantt

36 Instalacioacuten base

Para llevar a cabo las pruebas se ha optado por la creacioacuten de una maacutequina virtual sobre VirtualBox 3 en la cual hemos instalado Windows XP como sistema operativo Este sistema es maacutesligero a la hora de trabajar en maacutequinas virtuales pues requiere menos recursos que las versionesposteriores del mismos sistema

El siguiente paso era la instalacioacuten de Moodle Aunque se dispone de un instalador para Win-dows se ha optado por la descarga e instalacioacuten de XAMPP 4 y su y su posterior conguracioacutenen la maacutequina virtual XAMPP es un servidor independiente de plataforma software libre queconsiste principalmente en la base de datos MySQL el servidor web Apache y los inteacuterpretespara lenguajes de script PHP y Perl El nombre proviene del acroacutenimo de X (para cualquierade los diferentes sistemas operativos) Apache MySQL PHP Perl

XAMPP en su versioacuten 181 incluye

Apache 243

MySQL 5527

PHP 547

phpMyAdmin 3522

FileZilla FTP Server 0941

Tomcat 7030

Strawberry Perl 51611 Portable

XAMPP Control Panel 310

Hemos continuado con la descarga he instalacioacuten de Moodle y hemos querido probar las difer-encias que obtenemos entre las versiones 19x y 25 por lo que se han descargado ambas heinstalado en maacutequinas virtuales diferentes Con ello conseguiremos probar el resultado obtenidoseguacuten la versioacuten Moodle desde su versioacuten 22 ya soporta conexiones mediante IMS - LTI IMSLTI es un estaacutendar IMS Learning Tool Interoperability Esto signica que las herramientas deaprendizaje tienen ahora diversas maneras de conectarse entre sin problemas

En la praacutectica cuando un usuario se registra en una herramienta como Moodle se pueden conectara la otra herramienta como MediaWiki y autenticarse automaacuteticamente proporcionando unaexperiencia perfectaLas guras 33 y 34 nos muestran el panel de control de XAMPP una vez instalado y el panede phpMyAdmin donde hemos debido congurar las bases de datos y usuario necesarios parallevar todo el proceso de conguracioacuten de Moodle y el resto de herramientas

3httpswwwvirtualboxorg4httpwwwapachefriendsorgesxampphtml

Figura 33 Panel de control de XAMPP

Figura 34 Gestor de bases de datos phpMyAdmin

Capiacutetulo 4

Servicios Web de Moodle

41 Introduccioacuten

Moodle 2X incorpora la posibilidad de implementar Servicios Web para manejar sus funciona-lidades lo que nos permite poder acceder a acciones de actualizar y crear tareas para reejar elresultado de las actividades realizadas Moodle soporta varios protocolos (REST SOAP XML-RPC y AMF)

42 Servicios Web de Moodle

Los Servicios Web de Moodle se caracterizan por permitir el acceso desde cualquier aplicacioacutenimplementando para ello tres capas como podemos observar en la gura 41

Capa nuacutecleoLa capa del nuacutecleo estaacute compuesta de todas las funciones principales de Moodle sobreusuarios grupos cursos calendario etc Moodle no dispone de una API al uso sino queofrece diferentes funciones que han sido desarrolladas durante antildeos Por tanto las necesi-dades de los Servicios Web estaacuten obligando a rehacer estas funciones del nuacutecleo para quecomiencen a formar una API (Moodle 2X)

Capa externaLa capa externa estaacute compuesta por nuevos cheros llamados externalphp colocados porlas carpetas de Moodle y conteniendo manejadores para la capa inferior Estos manejadoresson los responsables de comprobar las capacidades paraacutemetros y llamadas correctas a lasfunciones de nuacutecleo

Capa de conectoresLa capa de conectores estaacute compuesta de diferentes conectores para las diferentes imple-mentaciones de los Servicios Web y contiene un conector REST un conector SOAP unconector XML-RPC y un conector AMF Esta capa admite plugins para ampliar los conec-tores disponibles de manera que se puedan integrar otros sistemas en Moodle utilizandootros protocolos

Los pasos para utilizar un Servicio Web con Moodle seriacutean los siguientes

1 El cliente enviacutea el nombre de usuario y contrasentildea al servidor que provee los ServiciosWeb

27

Figura 41 Capas en Moodle

2 El servidor de protocolo devuelve un token de sesioacuten para esa cuenta de usuario

3 El cliente llama a un Servicio Web especiacuteco incluyendo el token de sesioacuten

4 El servidor utiliza el token para comprobar que la sesioacuten del Servicio Web estaacute activa

5 El servidor llama a la funcioacuten correspondiente localizada en el chero externallibphp dentrodel moacutedulo especiacuteco

6 La funcioacuten externa comprueba que el usuario actual tenga los permisos sucientes pararealizar esta operacioacuten

7 La funcioacuten externa llama a la funcioacuten correspondiente del nuacutecleo de Moodle (libphp)

8 La funcioacuten del nuacutecleo puede retornar un resultado a la funcioacuten externa

9 La funcioacuten externa devolveraacute el resultado al servidor de protocolo

10 El servidor de protocolo devolveraacute el resultado al cliente

43 REST

REST (Representational State Transfer) es el acroacutenimo de Transferencia de Estado Representa-cional teacutermino usado por Roy Fielding (uno de los creadores de HTTP) para describir un estilode arquitectura que utilizar como modelo en los sistemas de computacioacuten Web No es un es-taacutendar sino un enfoque que muestra como desarrollar y proporcionar servicios en Internet portanto considerado como un estilo arquitectoacutenico para disentildeo de software a gran escala El propioautor lo dene de manera concisa en eacuteste paacuterrafo

REST es un intento de mostrar coacutemo debe comportarse una aplicacioacuten Web bien disentildeada unared de paacuteginas Web (una maacutequina de estados virtual) donde el usuario progresaraacute seleccionan-do enlaces (transiciones de estado) que devuelven la paacutegina siguiente (el siguiente estado de lamaacutequina) que el usuario manejaraacute a su gusto

Este enfoque no aporta realmente nada nuevo la mayor parte de la Web sigue este estilo arqui-tectoacutenico Sin embargo el autor hace eacutenfasis en las caracteriacutesticas concretas que han hecho quela Web triunfe que van a ser los objetivos buscados por REST y que son a su juicio

Escalabilidad en las interacciones entre componentes La red ha ido creciendo de maneraexponencial y se ha ido comportado de manera satisfactoria

Generalidad en las interfaces Se proporciona acceso con distintos clientes y con distintosmecanismos de acceso

Desarrollo independiente de componentes Implementaciones cliente y servidor pueden serdesarrolladas en distintos momentos

Existencia de componentes intermediarios con los cuales existe compatibilidad (comoproxys)que permiten encapsulacioacuten e integracioacuten de sistemas no Web dentro de la misma

431 Principios de disentildeo

Los objetivos citados van a ser conseguidos imponiendo una serie de restricciones

El estado y la funcionalidad de las aplicaciones se representan por forma de recursos

La identicacioacuten de recursos se realiza de forma uacutenica global mediante Uniform ResourceIdentiers Los recursos identicados con URIs son los objetos loacutegicos a los cuales se lesmandan los mensajes

Manipulacioacuten de recursos a traveacutes de representaciones luego no se manejan directamentelos recursos sino sus representaciones

Todos los recursos comparten un interfaz uniforme formado por

bull Un conjunto de operaciones limitado para transferir el estado Se van a aprovecharlas operaciones que HTTP dene mostradas en la gura 42

bull Un conjunto limitado de tipos de contenidos identicados mediante tipos MIME

Uso de un protocolo clienteservidor sin estado y basado en capas Cada mensaje HTTPcontendraacute la informacioacuten necesaria para comprender la peticioacuten luego como muestra lagura 43 no es necesario que eacutesta sea entendida tanto en el cliente como en el servidor

Uso de hipermedios para representar el estado de una aplicacioacuten permitiendo que el estadode una aplicacioacuten Web particular esteacute almacenado en uno o maacutes documentos de hipertextoque residen bien en el servidor o en el cliente Esto permite al servidor saber el estado desus recursos sin necesidad de almacenar el estado de los clientes concretos

Figura 42 Operaciones denidas por HTTP

Como ya se mencionoacute REST se trata de un estilo arquitectoacutenico no un estaacutendar Sin embargohace uso de varios estaacutendares Web

HTTP HyperText Transfer Protocol

Figura 43 Operaciones denidas por HTTP

URL Uniform Resource Locator como el mecanismo de indenticacioacuten de recursos

XML - HTML - PNG - etc Como distintos formatos de representacioacuten de recursos

Tipos MIME como text-xml text-html image-png etc

44 SOAP

SOAP (siglas de Simple Object Access Protocol) es un protocolo estaacutendar que dene coacutemo dosobjetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML Esteprotocolo deriva de un protocolo creado por David Winer en 1998 llamado XML-RPC SOAPfue creado por Microsoft IBM y otros y estaacute actualmente bajo el auspicio de la W3C

441 Principios de disentildeo

La funcionalidad que aporta SOAP es la de proporcionar un mecanismo simple y ligero de in-tercambio de informacioacuten entre dos puntos usando el lenguaje XML SOAP no es maacutes que unmecanismo sencillo de expresar la informacioacuten mediante un modelo de empaquetado de datosmodular y una serie de mecanismos de codicacioacuten de datos Esto permite que SOAP sea uti-lizado en un amplio rango de servidores de aplicaciones que trabajen mediante el modelo decomunicacioacuten RPC (Remote Procedure Call)

SOAP consta de tres partes como podemos ver en la gura 44

El SOAP envelope que dene el marco de trabajo que determina queacute se puede introduciren un mensaje quieacuten deberiacutea hacerlo y si esa operacioacuten es opcional u obligatoria

Las reglas de codicacioacuten SOAP que denen el mecanismo de serializacioacuten que seraacute usadopara encapsular en los mensajes los distintos tipos de datos

La representacioacuten SOAP RPC que dene un modo de funcionamiento a la hora de realizarllamadas a procedimientos remotos y la obtencioacuten de sus resultados

A la hora de realizar el disentildeo de SOAP se han tenido en cuenta una serie de consideracionescon el n de cumplir una serie de objetivos claros objetivos que le daraacuten el potencial que resideen SOAP y que le haraacuten tan atractivo Eacutestos son

Establecer un protocolo estaacutendar de invocacioacuten a servicios remotos que esteacute basado enprotocolos estaacutendares de uso frecuente en Internet como son HTTP (Hiper Text TransportProtocol) para la transmisioacuten y XML (eXtensible Markup Language)para la codicacioacutende los datos

Figura 44 Partes de SOAP

Independencia de plataforma hardware lenguaje de programacioacuten e implementacioacuten delservicio Web

El logro de estos objetivos ha hecho de SOAP un protocolo extremadamente uacutetil ya que elprotocolo de comunicacioacuten HTTP es el empleado para la conexioacuten sobre Internetpor lo que segarantiza que cualquier cliente con un navegador estaacutendar pueda conectarse con un servidor re-moto Ademaacutes los datos en la transmisioacuten se empaquetan o serializan con el lenguaje XML quese ha convertido en algo imprescindible en el intercambio de datos ya que es capaz de salvar lasincompatibilidades que existiacutean en el resto de protocolos de representacioacuten de datos de la red

Por otra parte los servidores Web pueden procesar las peticiones de usuario empleando tec-nologiacuteas tales como Servlets paacuteginas ASP (Active Server Pages) paacuteginas JSP (Java ServerPages) o sencillamente un servidor de aplicaciones con invocacioacuten de objetos mediante CORBACOM o EJB

Un ejemplo tiacutepico de disentildeo de un servicio Web utilizando las ventajas de SOAP podemos veren la siguiente gura 45

Figura 45 Ejemplo de uso de SOAP

45 AMF

AMF (Action Message Format) es un protocolo binario de Adobe que va por la versioacuten AMF3Aunque por el nombre de la versioacuten pueda parecer que existan 3 cabe destacar que soacutelo existendos AMF0 y AMF3 Una de las mayores diferencias o mejoras que aporta AMF3 es que soporta

datos binarios (ByteArray) y int datos no soportados por AMF0 debido a que en la eacutepoca queaparecioacute el formato Flash Player no soportaba estos tipos de datos

AMF3 no es un protocolo para transferir informacioacuten sino que representa el formato en el quese transmite la informacioacuten en este caso un formato binario

La versioacuten de Moodle 25 viene con Zend_ AMF pero podemos utilizar tambieacuten la libreriacuteaamfPHP

AMFPHP

Zend_ amf httpframeworkzendcommanual112enzendamfhtml

Maacutes informacioacuten en httpdocsmoodleorgdevAMFPHP

46 Conguracioacuten de Moodle Web Services

Los Servicios Web habilitan que otros sistemas puedan entrar a Moodle y realizar operacionesPasaremos a detallar los pasos necesarios para su conguracioacuten y explicaremos distintos pruebasllevadas a cabo sobre su funcionamiento Para poder consumir de manera correcta unWeb Servicede Moodle seriacutea necesario antildeadir a la url que vamos a formar los paraacutemetros oportunos paralograr consumir el Web Service de manera satisfactoria Una vez antildeadidos ya podriacuteamos invocarla funcioacuten seleccionada

461 Activando los Servicios Web

Lo primero que debemos hacer es activar la opcioacuten general que habilita el uso de los serviciosweb En la gura 46 podemos observar la opcioacuten para la activacioacuten de este servicio para ello nosiremos a la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Servicios Externos

Figura 46 Activacioacuten Servicios Web

Esto solo es una opcioacuten a nivel global necesitando ahora activar los protocolos de comunciacionesque vamos a utilizar para ello deberemos ir a la opcioacuten textitAdministracioacuten del Sitio - Exten-siones - Servicios Web - Administrador de protoclos donde encontraremos las diferente opcionesque nos existen En la gura 47 podemos ver la pantalla de nuestra conguracioacuten con todos losprotocolos activados

Una vez activada la opcioacuten de Servicios Externos y seleccionados los protocolos que utilizaremosnecesitamos crear un Servicio Personalizado que no es maacutes que una etiqueta que aglutina los

Figura 47 Activacioacuten Protoclos

Servicios Web que ofrece Moodle y que pueden ser utilizados por los servicios externos Para ellodeberemos darle a la opcioacuten Agregar dentro de la opcioacuten Administracioacuten del Sitio - Extensiones- Servicios Web - Servicios Externos Como prueba habilitaremos un servicio llamado Uso_Servicio_ Web cuya creacioacuten podemos ver en la gura 48

Figura 48 Creacioacuten Servicio Personalizado

Una vez creado el Servicio Personalizado deberemos agregarle las funciones que queramos lesean permitidas pudiente tener maacutes de una En la gura 49 vemos como asociamos la creacioacutende usuarios al Servicio Personalizado

Terminado esto deberemos tener en el listado que nos muestra Moodle de Servicios personaliza-dos algo como lo mostrado en la gura 410

El siguiente paso es conceder los permisos apropiados para que este Servicio Personalizado puedeser usado por los usuarios pare ello debemos primero especicar quienes son los Usuarios au-torizados para ello en la linea de la lista de Servicios Personalizados deberemos pulsar sobre laopcioacuten usuarios autorizados donde apareceraacute una pantalla como 411 donde podremos escogerlos usuarios de los que se encuentran dados de alta en nuestro sistema

Y para terminar aunque este paso podriacutea ser realizado por el propio usuario si tuviera el per-miso de moodlewebservicecreatetoken seraacute la creacioacuten de un token el cual va ser la opcioacuten quevamos a utilizar para las pruebas de los Servicios Web de Moodle Para la creacioacuten del mismodeberemos entrar en la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Admin-istrar tokens y pulsar la opcioacuten Agregar para antildeadir un token nuevo como podemos apreciar en

Figura 49 Agregando funciones al Servicio Personalizado

Figura 410 Listado de Servicios Personalizados

la gura 412 teniendo la precaucioacuten de escoger como Servicio el Servicio Personalizado creadocon anterioridad Uso_ Servicio_ Web

En esta pantalla podemos poner varios tipos de restricciones

Restriccioacuten de IP Donde podemos indicar la direccioacuten IP desde donde

Restriccioacuten de Fecha Se puede denir hasta cuando seraacute valido este token siendo unabuena manera de poder probar cosas y no dejar puertas abiertas por error

En la gura 413 podemos ver el token asignado por el sistema para nuestro Servicio Personalizadoy que procederemos a utilizar para comprobar el funcionamiento de los Servicios Web de Moodle

462 Pruebas cliente Servicio Web

Procederemos ahora a desarrollar pruebas que utilicen los Servicios Personalizados creado Sepodriacutean haber utilizado el Cliente de prueba de servicio web que incorpora Moodle dentro dela opcioacuten Administracioacuten del Sitio - Desarrollo - Cliente de prueba servicio web pero hemosdecidido implementar una Web para comprobar la facilidad del funcionamiento del sistema y losdistintos resultados obtenidos seguacuten el protocolo utilizado

Utilizaremos la libreriacutea cURL de PHP cURL es una herramienta que permite abrir conexionesen una amplia variedad de protocolos y que estaacute disponible tanto como herramienta de consola(para ejecutar directamente con comandos) como en libreriacutea (para usar en vuestro coacutedigo) y quepermite hacer praacutecticamente todo manejo de cookies descarga de cheros binarios enviacuteos de

Figura 411 Alta de Usuarios Autorizados

Figura 412 Creacioacuten de Tokens

paraacutemetros GET y POST etc

La web creada para la introduccioacuten 414 de los usuarios seraacute equivalente para todos los procesosprocesos siendo el programa que da respuesta al formulario el que implemente la funcioacuten nece-saria para la introduccioacuten de los datos en Moodle

Los resultados de REST pueden mostrar los resultados del alta de dos maneras diferentes unaen formato XML como podemos ver en la gura 415 y otro en formatox JSON tambieacuten po-dremos ver en la gura Los resultados obtenidos tambieacuten pueden verse en el la gura 416

Figura 413 Lista de Tokens

Figura 414 Web de alta de usuarios

Figura 415 Resultado de REST en formato XML

Figura 416 Resultado de REST en formato JSON

Capiacutetulo 5

Herramientas Externas

51 Introduccioacuten

Las versiones de Moodle desde la 22 vienen con IMS LTI o External Tool de manera integradaEn versiones anteriores era necesario la instalacioacuten de plugins como LTI Provider (maacutes informa-cioacuten en la web de Moodle1 IMS LTI es un estandar de IMS learing2 para la interoperabilidadde herramientas Esto signica que las herramientas de aprendizaje tienen ahora un mecanismopara jar el modo en que pueden conectarse entre ellas sin problemas

En la praacutectica cuando un usuario se registra en Moodle puede conectarse a otras herramientascomo Wikis o Blogs y autenticarse de manera automaacutetica en estas

52 Estaacutendares IMS

Actualmente se realizan esfuerzos para la integracioacuten de servicios a una plataforma virtual deaprendizaje mediante un mecanismo reutilizable independiente del tipo de plataforma El IMSGlobal Learning Consortium viene desde hace tiempo trabajando en este enfoque IMS GLCpresenta un conjunto de estaacutendares que promueven el uso de servicios de aprendizaje digitales(Digital Learning Services) dentro de las plataformas de aprendizaje tradicionales IMS DigitalLearning Services estaacute integrado por los siguientes estaacutendares principales IMS Common Car-tridge [ims a] IMS Learning Tool Interoperability [ims c] y IMS Learning Information Services[ims b]

El IMS Learning Tool Interoperability es una especicacioacuten para facilitar la inclusioacuten de her-ramientas externas dentro de un curso El administrador de la plataforma de aprendizaje ges-tiona los servicios que podraacuten ser consumidos por la plataforma el docente decide que serviciosutilizaraacute en su curso y el estudiante hace uso de los mismos IMS LTI permite que distintos LMSconsuman un mismo servicio el cual no fue implementado teniendo en cuenta el tipo de LMSsino la implementacioacuten del estaacutendar desde el lado del proveedor

El enfoque del IMS LTI estaacute dirigido a la creciente demanda de un mecanismo reutilizable para laintegracioacuten de herramientas de terceros en el nuacutecleo de las plataformas LMS Estas herramientas

1httpsmoodleorgpluginsviewphpplugin=local_ltiprovider2httpwwwimsglobalorgtoolsinteroperability2cfm

37

pueden agregar funcionalidad especializada a los LMS El enfoque ofrece una solucioacuten basada enWeb Services igualmente aplicable a distintos lenguajes de programacioacuten

Las versiones del LTI son

LTI v10 ( LTI Basic ) ( publicado en mayo de 2010 ) proporciona un meacutetodo sencillopero estaacutendar para establecer una conexioacuten segura a una herramienta desde el interior deun consumidor de herramientas El lanzamiento de este enlace permite una experienciade aprendizaje sin problemas para los estudiantes que acceden a las aplicaciones ricas queparecen tener lugar dentro del ambiente de aprendizaje Versioacuten 10 es el primer paso en eldesarrollo continuo de LTI Figura 51

LTI v11 ( publicado en marzo 2012 ) antildeade la posibilidad de pasar de nuevo un resultadode la herramienta al Consumidor de herramientas Esto permite que los estudiantes recibenuna calicacioacuten o puntuacioacuten de su interaccioacuten con la aplicacioacuten de aprendizaje

LTI v111 ( publicado en julio de 2012 ) incluye soporte para el papel Mentor que se puedeutilizar para representar a un padre tutor o auditor

LTI v20 Aun en estado de desarrollo y proporciona una plataforma maacutes sosticado y ex-tensible para permitir integraciones maacutes profundas y un mayor apoyo para los serviciosy eventos LTI 2 se basa en LTI 1 mediante la incorporacioacuten de maacutes sosticada resulta-dos de informes y una rica arquitectura de extensiones que permite servicios adicionalesque se antildeadiraacuten gradualmente LTI 2 utiliza REST y JSON-LD para ofrecer esta nuevafuncionalidad

Figura 51 Esquema LTI Baacutesico

En la gura 52 podemos observar como se podriacutean utilizar las ventajas de LTI por parte decada unos de los actores a lo largo de la vida de la aplicacioacuten de servicios externos dentro de unaplataforma de aprendizaje

En la paacutegina web de IMS3 podemos encontrar una relacioacuten de aplicaciones certicadas comocompatibles con el estaacutendar LTI indicando la versioacuten del LTI que cumplen En la gura 53podemos ver las aplicaciones certicadas por UOC y en la gura 54 la informacioacuten sobre una deestas herramientas

3httpwwwimsglobalorgccalltoolscfm

Figura 52 Esquema utilizacioacuten LTI

Figura 53 Listado de herramientas LTI de la UOC

53 Herramientas externas en Moodle

La siguiente seccioacuten consiste en la aplicacioacuten de alguno de esto servicios externos en Moodlepara comprobar su funcionamiento Nos decantaremos para la primera prueba por WordPresspues aunque existen manuales al respecto la documentacioacuten en castellano es escasa

531 Wordpress

La versioacuten estaacutendar de Wordpress a la cual accedemos cuando nos abrimos cuenta en Wordpressno viene con las herramientas necesarias para la iteracioacuten mediante LTI por lo que procedere-mos a la instalacioacuten en nuestro servidor de Wordpress para pasar a la instalacioacuten de los pluginsnecesarios

La instalacioacuten ha consistido en la descarga de la web ocial 4 de la versioacuten 351 la cual hemoscopiado dentro del directorio htdocs de nuestra instalacioacuten de Xampp Hemos dado de alta unnuevo usuario en nuestra base de datos llamado username como podemos ver en la imagen 55 yposteriormente hemos seguido los pasos que el instalador nos iba ofreciendo para tener instalado

4httpwordpressorgdownload

Figura 54 Informacioacuten sobre la certicacioacuten

Wordpress bajo la url httplocalhostwordpress

Figura 55 Usuario de Wordpress

Deberemos congurar Wordpress para que trabaje como multisitio para lo que deberemos seguirlos pasos de conguracioacuten que podemos encontrar en la web ocial de Wordpress5 bajo el nombreCreate A Network consistente en los siguientes pasos

1 Realizar una copia de seguridad por si acaso

2 Modicar el chero wp-congphp incluyendo la siguiente linea encima de Thats allstop editing Happy blogging Multisite dene (WP_ ALLOW_ MULTISITE true)

Multisite dene (WP_ ALLOW_ MULTISITE true)

3 Installar un Network Para ello hemos de entra en la opcioacuten Administration -gtTools -gtNetwork Setup donde podremos congurar opciones sobre el nombre que queremos declararpara el nuevo sitio

4 Activar el Network para ello debemos modicar los cheros wp-congphp y htaccess porlo que seriacutea bueno que realizaacuteramos primero un copia de seguridad de los mismos Loscambios que debemos realizar son los siguientes

5httpcodexwordpressorgCreate_A_Network

En wp-congphp dene(MULTISITE true)dene(SUBDOMAIN_ INSTALL false)dene(DOMAIN_ CURRENT_ SITE localhost)dene(PATH_ CURRENT_ SITE wordpress)dene(SITE_ ID_ CURRENT_ SITE 1)dene(BLOG_ ID_ CURRENT_ SITE 1)

El chero htaccess debe quedar asiacute BEGIN WordPressltIfModule mod_ rewritecgtRewriteEngine OnRewriteBase wordpressRewriteRule icircndexphp$ - [L]

add a trailing slash to wp-adminRewriteRule ([_ 0-9a-zA-Z-]+)wp-admin1wp-admin [R=301L]

RewriteCondREQUEST_ FILENAME -f [OR]RewriteCondREQUEST_ FILENAME -dRewriteRule - [L]RewriteRule ([_ 0-9a-zA-Z-]+)(wp-(content|admin|includes)) $2 [L]RewriteRule ([_ 0-9a-zA-Z-]+)( php)$ $2 [L]RewriteRule indexphp [L]ltIfModulegt

END WordPress

5 Esto nos habraacute creado en la parte izquierda de la barra de herramientas de Wordpressuna nueva opcioacuten llamada My Sites que contendraacute un listado de los sitios de nuestroWordpress

El siguiente paso seraacute la descarga del plugin los cual podremos hacerlos desde la web de sour-forgenet 6 En esta web se detalla informacioacuten sobre el plugin y como se debe instalar Siguiendolos pasos que tenemos en el mismo procederemos a la descarga y el desplegado del mismo en lacarpeta wp-contentmu-plugins Salimos de Wordpress y volvemos a entrar como superusuariosi entramos dentro de la nueva red realizada podremos ver que dentro de LTI Consumers Keystendremos la opcioacuten LTI Consumers Keys como podemos ver en la imagen 56

Aquiacute deberemos crear la clave del consumidor del servicio y la clave secreta que nos permitiraacute aMoodle conectarse a Wordpress

Una vez que tenemos la clave secreta y del consumidor deberemos volver a Moodle entrandocomo administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

6httpsourceforgenetappsmediawikilearningappsindexphptitle=LTI4Wordpress

Figura 56 Servicios LTI en Wordpress

Figura 57 Listado de claves de LTI en Wordpress

-LTI En esta paacutegina podremos rellenar nuestras opciones

Tool Name Seraacute el nombre que tendraacute la herramienta y deberemos poner alguno indicativode la herramienta que estemos utilizando

Tool Base URL Es la direccioacuten de la herramienta en nuestro caso httplocalhostwordpress

Deberemos rellenar con los datos obtenidos en Wordpress la clave de consumidor y la clavesecreta

Es importante marcar Show tool type when creating tool instances para que aparezcaposteriormente al crear los recursos en nuestros cursos

Para poder probar el sistema hemos creado un curso dentro de Moodle llamada WordpressLTIdonde daremos de la siguiente manera de alta 59

Dentro de nuestro curso seleccionamos la opcioacuten de Edicioacuten

Pulsamos sobre Antildeadir una actividad o un recurso

Seleccionamos External Tool

Rellenamos las opciones

bull Nombre de la Actividad Cualquiera de nuestra eleccioacuten

Figura 58 Conguracioacuten LTI en Moodle

bull Tipo de herramienta externa El nombre que le pusimos a la herramienta externa enla conguracioacuten LTI de Moodle

bull Launch Container Hemos elegido la opcioacuten Incrustar para ver el resultado

Figura 59 Conguracioacuten Herramienta Externa

Una vez congurado podemos lanzar la herramienta externa teniendo como resultado la gura510

Figura 510 Wordpress integrado en Moodle

532 ChemVantage

ChemVantage es un recurso gratuito para la educacioacuten cientiacuteca que incluye ejercicios de gradoejercicios de preparacioacuten exaacutemenes de la praacutectica conferencias de video y libros de texto enliacutenea gratis Fue creado por ChemVantage LLC que fue fundada por el Prof Chuck Wight queha ensentildeado Quiacutemica General en la Universidad de Utah desde 1984 (ChemVantage 2011)

Nos hemos puesto en contacto con Chuck Wight (adminchemvantageorg) para solicitarle unaclave de consumidor y secreta para poder probar este recurso desde moodle Las opciones y elcorreo puede verse en la gura 511

Una de las cosas maacutes importantes de ChemVantage y por lo que nos hemos decidido a probar esque permite la devolucioacuten de las notas obtenidas en los ejercicios realizados en las herramientasexternas a Moodle El alumno podraacute realizar las tareas en esta herramienta externa y luego sercalicadas en Moodle

ChemVantage estaacute certicada por IMS 7 como un proveedor de herramientas LTI v11 y comotal funciona desde nuestro propio LMS para llevar a cabo la autenticacioacuten de sitios provee decuentas y devuelve resultados de asignacioacuten de estudiantes con el libro LMS grado automaacutetica-mente

Los recursos disponible son ChemVantage son principalmente los siguientes

1 QuizzesLos ejercicios presentados aquiacute estaacuten disentildeados para animar a los estudiantes a leer y en-tender los libros de texto utilizados en el curso Las preguntas se basan en material que sepresente en su mayor parte en los textos de introduccioacuten de quiacutemica Los iacutetems de preguntastienen respuestas straighforward no requieren caacutelculos detallados Las preguntas se presen-tan en varios formatos diferentes incluyendo opcioacuten muacuteltiple verdadero falso casilla devericacioacuten ll-in-the-blanco y numeacutericas Cada cuestionario se compone de 10 preguntasextraiacutedas al azar de una base de datos con muchas maacutes preguntas En el proceso de tomarvarias pruebas para mejorar sus calicaciones los estudiantes probablemente encuentran

7httpdevelopersimsglobalorgcoursechemvantagehtml

algunas preguntas repetidas de concursos anteriores sin embargo es poco probable quecualquiera de los dos cuestionarios contendraacute exactamente el mismo conjunto de preguntasen el mismo orden Asignando pruebas para ser completado antes de la conferencia losprofesores pueden estar seguros de que sus estudiantes tengan un poco de exposicioacuten almaterial Esto permite una mayor discusioacuten el diaacutelogo y la participacioacuten en el aula y haceel aprendizaje maacutes divertido (de verdad)

2 Video LecturesUna serie de conferencias de viacutedeo de 10 minutos sobre una variedad de temas de QuiacutemicaGeneral es accesible desde la paacutegina principal Los videos estaacuten disentildeados para reforzar lospuntos principales que se presentan en muchos libros de texto

3 HoweworksLas tareas estaacuten disentildeadas para dar a los estudiantes la praacutectica en la resolucioacuten de proble-mas cuantitativos que tienen respuestas numeacutericas Cada alumno puede descargar la tareatrabajar los problemas y presentar las respuestas en liacutenea Respuestas son juzgados a sercorrecta si la solucioacuten numeacuterica de acuerdo con la solucioacuten que se encuentra en la base dedatos dentro de una tolerancia especicada (indicado para cada problema) El sitio informaa los estudiantes que las respuestas son correctas para que puedan rehacer problemas malresueltos y volver a presentar las respuestas Cada problema se basa en una plantilla queatrae paraacutemetros al azar por lo que la respuesta correcta es diferente para cada estudianteEsto hace que sean adecuadas para la colaboracioacuten y el trabajo en grupo porque a pesarde que el grupo puede trabajar para encontrar un algoritmo correcto para resolver un prob-lema cada estudiante tendraacute que usar el algoritmo para encontrar la solucioacuten detallada asu propio problema

4 Practice ExamsLos estudiantes pueden realizaar exaacutemenes de praacutectica cronometrados que muestran laspreguntas de un grupo de 3 o maacutes temas Cada examen estaacute disentildeado para tardar unos60 minutos o menos e incluye una seleccioacuten de 10 preguntas Las praacutecticas de exaacutemenespueden repetirse cuantas veces se desee Las preguntas numeacutericas son parametrizadas loque es muy poco probable que un estudiante realice alguna vez dos exaacutemenes de praacutecticaideacutenticos

5 Portofolio PageCada estudiante puede acceder a una paacutegina que le da la puntuacioacuten obtenida en cada prue-ba y la asignacioacuten de tareas Los estudiantes que son miembros de un grupo tienen unapaacutegina de resultados asociados a las tareas de grupo Hay una paacutegina de carpeta separadaque contiene un resumen de todas las actividades realizadas en ChemVantage incluyendovideos vistos cuestionarios completados resolver problemas con la tarea y la praacutectica deexaacutemenes completados Las puntuaciones en los exaacutemenes de praacutectica son desagregadospara revelar fortalezas y debilidades estudiantes por temas

Hemos procedido a darlo de alta en LTI como hicimos con Wordpress Entramos en Moodle co-mo Administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

Figura 511 Correo de Chuck Wight

-LTI quedando como resultado la siguiente hoja de paraacutemetros gura 512

El siguiente paso seraacute antildeadir la herramienta dentro de nuestro curso para ello pulsaremos sobreAntildeadir una actividad o un recurso Deberemos seleccionar External Tool y rellenamos las op-ciones de la herramienta seleccionando como Tipo de herramienta externa la opcioacuten creada enel apartado de LTI de Moodle

Una vez congurado la herramienta en Moodle podemos entrar para realizar una personalizacioacutende la herramienta gura 513 esta consiste en indicar si el alumno cuando se conecta realiza undeterminado tarea o puede elegir navegar por la web de ChemVantage para poder disfrutar dela cantidad de recursos que se encuentran disponibles

Cuando el usuario pulsa sobre la opcioacuten de esta herramienta externa en Moodle lo primero quese le muestra es la informacioacuten sobre su perl en Chemvantage 514Como hemos visto en los paraacutemetros de conguracioacuten existe la posibilidad de llamar a unaherramienta externa incrustaacutendola dentro de Moodle o abrieacutendolo en una paacutegina web nuevaCon esta segunda opcioacuten no hemos conseguido que funcione correctamente la importacioacuten de lasnotas En cambio si la herramienta externa estaacute incrustada permite esa vinculacioacuten

Figura 512 Conguracioacuten de paraacutemetros LTI

Figura 513 Opciones de inicio de la herramienta

Figura 514 Pantalla de utilizacioacuten de la herramienta por el usuario

Capiacutetulo 6

Middleware

61 Introduccioacuten

La uacuteltima opcioacuten seriacutea utilizar una arquitectura middleware de integracioacuten que permita la inte-gracioacuten ligera de muacuteltiples herramientas existentes en el Moodle

62 GluePS

GLUE-PS es una arquitectura de middleware que permite una interoperabilidad ligera entrelos diferentes lenguajes de disentildeo de aprendizaje y diferentes entornos de aprendizaje virtualEsta interoperabilidad permite a los maestros y otros profesionales que particularicen (es decirpara personalizar el disentildeo de aprendizaje abstractoa la clase particular los participantes y laeleccioacuten de los instrumentos en los que va a ser promulgada) desplieguen (es decir para crearde forma semiautomaacutetica las actividades necesarias en el VLE recursos etc para la aprobacioacutendel disentildeo particularizado) e incluso para llevar a cabo ciertos cambios en el tiempo de ejecucioacuten(por ejemplo modicar la composicioacuten del grupo agregar o quitar recursos de las actividadesetc) Todo esto a partir de disentildeos en distintos lenguajes de disentildeo de aprendizaje tales como laespecicacioacuten IMS-LD aprendizaje

Por otra parte GLUE-PS tambieacuten permite desplegar y gestionar disentildeos de aprendizaje en en-tornos virtuales de aprendizaje que integren herramientas de aprendizaje externos (tales comointegrar en Moodle herramientas como Google Docs y muchos otros) - lo que llamamos Am-bientes de Aprendizaje Distribuido (DLE Distributed Learning Enviroments) Esto se consiguegracias a la arquitectura de GLUE para la integracioacuten de los entornos virtuales de aprendizajey herramientas externas

621 Instalacioacuten

Para realizar la instalacioacuten de GLUE-PS nos hemos descargado el software necesario de la webde los desarrolladores1 descargando la opcioacuten de autenticacioacuten centralizada La instalacioacuten haconstado de tres partes que pasaremos a describir a continuacioacuten

1httpwwwgsicuvaesglue

49

Figura 61 Arquitectura de GLUE

La primera parte consiste en la instalacioacuten del GLUEletManager y los adaptadores GSIC toolAunque el sistema viene preparado para Linux o Windows siendo Windows la explicacioacuten quevamos a desarrollar por estar utilizando este sistema operativo con Xampp

1 Crear el directorio GLUE_ HOME El cual hemos creado para mayor comodidad en la raiacutezdel disco duro

2 Denir la variable del sistema GLUE_ HOME con el valor de la direccioacuten completa deldirectorio de GLUE del punto anterior Para ello hemos pulsado botoacuten derecho sobre MiPc Propiedad Opciones Avanzadas Variables de Entorno procediendo a pulsar el botoacutenNueva para crear la variable en cuestioacuten

3 Extraemos en el directorio del punto (1) el paquete descargado de la paacutegina de los desar-rolladores

4 Ejecutar la instalacioacuten del cheroGLUE_ HOMEbininstall gluebat para registar GLUElet-Manager y GSIC tool como un servicio de Windows Tambieacuten este paso crearaacute un cheroen GLUE_ HOMEtool_ adapteradapterdata para proveer de persistencia a los objetoscreados con el adaptador GSIC tool

A continuacioacuten daremos de alta en nuestro gestor de bases de datos un para de bases de datosque necesita GLUEletManager Para ellos seguimos los siguientes pasos

1 Abrimos la consola de phpMyaAdmin para cargar y ejecutar el chero create_ GLUE_databasessql que se encuentra en GLUE_ HOMEmanagerconfdb

2 Modicamos el chero GLUE_ HOMEmanagerconfMETA-INFpersistencexml paradarle los paraacutemetros necesarios para que JDBC se conecte a nuestra base de datos Losparaacutemetros modicados puede verse en la imagen 62

Figura 62 Paraacutemetros modicados en persistencexml

La segunda parte consiste en el registro interno de los adaptadores de las herramientas para seraccedido con GLUEletManager La distribucioacuten trae un chero para facilitar la conguracioacuten delos adaptadores que trae consigo y para su instalacioacuten deberemos ejecutar el chero GLUE_HOMEmanagerconfdbll _ internal_ Registrysql Alguna de las herramientas necesitanuna conguracioacuten maacutes completa como puede ser Google Docs adapter que necesita una cuentade Gmail para poder crear documentos en Google Docs por lo que deberemos modicar el nom-bre de usuario y contrasentildea

La uacuteltima parte consiste en la instalacioacuten del adaptardor de Moodle como VLE utilizado Estainstalacioacuten es como cualquier otro moacutedulo de Moodle 2 La carpeta que deberemos copiar seraacutela del adaptador correspondiente a Moodle que se encuentra en la carpeta GLUE_ HOMEvle_adpatersmoodle_ vle_ adapter Una vez entremos en nuestro Moodle como administrador nosapareceraacute un mensaje indicaacutendonos que el nuevo moacutedulo esta instalado Para congurar el nuevomoacutedulo debermos ir a Noticaciones - Modulos - Actividades como podemos ver en la gura 63para congurar los paraacutemetros la URL del GLUEletManager y el tiempo de espera

Figura 63 Paraacutemetros del moacutedulo GLUE

Cuando el profesor quiera crear una nueva actividad dependiente de los adaptadores de GLUEdeberaacute agregar una actividad maacutes pulsando para ello en esta opcioacuten dentro del bloque deseadopara seleccionar luego el tipo de actividad GLUElet como podemos ver en la gura64

622 Creando un Doodle

El adaptador Doodle permite la creacioacuten conguracioacuten y gestioacuten de instancias del Doodle Cadaencuesta Doodle es considerado un instancia diferente Ademaacutes este adaptador permite realizarademas la conguracioacuten inicial de encuestas Doodle incluyendo el nombre de la encuesta unadescripcioacuten y un conjunto de posibles respuestas

A continuacioacuten antildeadiremos Doodle en un bloque de Moodle para ellos pulsaremos la opcioacuten deAgregar actividad GLUElet lo cual nos mostraraacute la paacutegina65 donde deberemos rellenar comomiacutenimo el nombre de la actividad y el tipo de herramienta seleccionado en este caso Doodle(httpdoodle-testcom)

2httpdocsmoodleorgenInstalling_contributed_modules_or_plugins

Figura 64 Creando una actividad GLUElet

La primera vez que pulsemos sobre la nueva actividad creada apareceraacute un pantalla 66 dondepodemos congurar diferentes elementos de la encuesta desarrollada con Doodle como son eltiacutetulo una pequentildea descripcioacuten y luego las opciones posibles con un liacutemite de 10

El resultado nal seraacute la incrustacioacuten de una encuesta Doodle dentro de nuestro Moodle comopodemos ver en la gura67

Figura 65 Antildeadiendo Doodle como actividad

Figura 66 Opciones iniciales de conguracioacuten de Doodle

Figura 67 Doodel dentro de Moodle

Capiacutetulo 7

Conclusiones Finales

71 Conclusiones Finales

El proyecto actual nos ha servido para acercarnos a las diferentes tecnologiacuteas que permiten lacomunicacioacuten entre Servicios Webs Hemos desarrollado una primera labor de investigacioacuten queha requerido el aprendizaje de diferentes herramientas de control de documentacioacuten y referenciascomo Zotero y Mendeley

La documentacioacuten recabada en el proceso inicial de revisioacuten de documentos nos ha aportadoun visioacuten general de los diferentes sistemas virtuales de aprendizaje que podemos encontrarnosmuchos de ellos gratuitos y las diferentes soluciones que se plantean a la necesidad de incluirrecursos de otros fabricantes que en principio no fueron concebidos para ser utilizados dentro deuna plataforma VLE

Para poner en praacutectica la diferentes opciones encontradas se han montado diferentes maacutequinasvirtuales sobre las que se han probado las mismas Las conclusiones nales se pasan a detallar

IMS LTIEsta solucioacuten de integracioacuten mediante el cumplimiento de unos protocolos y certicacionesde las herramientas que lo cumplen es en principio la que podriacutea parecer la mejor opcioacutenpero la falta de compromiso de los diferentes fabricantes de Servicios Web y la luchapara imponer sus propios estaacutendares hace que aun quede mucho para que esta opcioacuten seacomo tal real

Si vemos el nuacutemero de aplicaciones certicadas para usar IMS LTI apenas superan las 50 yla mayoriacutea solo cumple la especicacioacuten v10 lo cual signica que la integracioacuten solo solu-ciona el problema de llamar a un recurso externo desde Moodle Pocas son las que cumplenla v11 que permite obtener en Moodle una valoracioacuten de los ejercicios desarrollados en unaactividad externa

La versioacuten v20 que daraacute maacutes opciones a la hora de interactuar con actividades externasauacuten esta en desarrollo y nada se sabe sobre posibles fechas para su presentacioacuten Luegocerticacioacuten de herramientas etc

55

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 7: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

Iacutendice de guras

11 Resultados SLR 212 Exportacioacuten en IEEE 213 Importacioacuten en Hoja de Caacutelculo 314 Exportacioacuten en SD 315 Exportacioacuten en SD 416 Resumen de resultados 417 Conguracioacuten de Google Scholar 418 Resultados en Zotero 5

21 Anaacutelisis de VLEs 922 Top 100 Tools - Abril 2013 1023 Ciclo de vida del aprendizaje colaborativo 1124 Problemas de integracioacuten 1225 Problemas de integracioacuten 1326 Enfoques de arquitectura de integracioacuten 1427 Orquestacioacuten y Coreografiacutea de Servicios Web 1628 Moodle - Abril 2013 17

31 Proceso para dirigir la revisioacuten 2332 Diagrama de Gantt 2433 Panel de control de XAMPP 2634 Gestor de bases de datos phpMyAdmin 26

41 Capas en Moodle 2842 Operaciones denidas por HTTP 2943 Operaciones denidas por HTTP 3044 Partes de SOAP 3145 Ejemplo de uso de SOAP 3146 Activacioacuten Servicios Web 3247 Activacioacuten Protoclos 3348 Creacioacuten Servicio Personalizado 3349 Agregando funciones al Servicio Personalizado 34410 Listado de Servicios Personalizados 34411 Alta de Usuarios Autorizados 35412 Creacioacuten de Tokens 35413 Lista de Tokens 36414 Web de alta de usuarios 36415 Resultado de REST en formato XML 36

iii

416 Resultado de REST en formato JSON 36

51 Esquema LTI Baacutesico 3852 Esquema utilizacioacuten LTI 3953 Listado de herramientas LTI de la UOC 3954 Informacioacuten sobre la certicacioacuten 4055 Usuario de Wordpress 4056 Servicios LTI en Wordpress 4257 Listado de claves de LTI en Wordpress 4258 Conguracioacuten LTI en Moodle 4359 Conguracioacuten Herramienta Externa 43510 Wordpress integrado en Moodle 44511 Correo de Chuck Wight 46512 Conguracioacuten de paraacutemetros LTI 47513 Opciones de inicio de la herramienta 47514 Pantalla de utilizacioacuten de la herramienta por el usuario 47

61 Arquitectura de GLUE 5062 Paraacutemetros modicados en persistencexml 5063 Paraacutemetros del moacutedulo GLUE 5164 Creando una actividad GLUElet 5265 Antildeadiendo Doodle como actividad 5366 Opciones iniciales de conguracioacuten de Doodle 5367 Doodel dentro de Moodle 54

Capiacutetulo 1

Revisioacuten Sistemaacutetica de la Literatura

11 Objetivos del SLR

Hemos partido de un SLR detallado en la PEC1 bastante ambicioso en el que se intentaronabordar la buacutesqueda de herramientas y estado actual de la coreografiacutea y orquestacioacuten de serviciosweb en la plataforma Moodle Pasaremos a detallar el estudio realizado y los resultados obtenidos

12 Estudio Inicial

La fase de planicacioacuten inicial incluiacutea el la buacutesqueda para la obtencioacuten de estudios o trabajos enlas siguiente libreriacuteas

IEEEXplore [IEEEX] httpieeexploreieeeorg

Science Direct [SD] httpwwwsciencedirectcom

SpringerLink [SL] httpwwwspringerlinkcom

Las cadenas de buacutesqueda empleadas aparecen listadas en la tabla 11 de la paacutegina 1 En la tablaTAK indican Title Abstract Keywords y A indica All Ambos casos se reeren a los campos debuacutesqueda utilizados

Cuadro 11 Fuentes de datos y cadenas de buacutesquedas reali-zadas

Libreriacutea Buacutesqueda AacutembitoIEEEX (Moodle AND Web services) TAKIEEEX (Orchestration OR Coreography) ANDWeb Ser-

vicesTAK

IEEEX (Orchestration OR Coreography) AND Moodle TAKIEEEX (Orchestration OR Coreography) AND (lms OR

Learning Management System)TAK

SD (Moodle AND Web services) TAKSD (Orchestration OR Coreography) ANDWeb Ser-

vicesTAK

continuacutea

1

Cuadro 11 continuacioacutenLibreriacutea Buacutesqueda AacutembitoSD (Orchestration OR Coreography) AND Moodle TAKSD (Orchestration OR Coreography) AND (lms OR

Learning Management System)TAK

SL (Moodle AND Web services) TAKSL (Orchestration OR Coreography) ANDWeb Ser-

vicesTAK

SL (Orchestration OR Coreography) AND Moodle TAKSL (Orchestration OR Coreography) AND (lms OR

Learning Management System)TAK

Los resultados obtenidos podemos observarlos en la gura 11

Figura 11 Resultados SLR

Los resultados de Springer Link para la consulta (Orchestration OR Coreography) ANDWeb Services fueron en principio un problema por la cantidad de artiacuteculos que arrojaba2734 en total aun asiacute empezoacute a trabajar con ello La idea de un SLR es realizar una lecturainicial de los Abstracts para ver si la informacioacuten obtenida es de nuestro intereacutes y si fuera asiacuteprofundizar en la lectura del documento

Comenzamos trabajando con la libreriacutea de IEEE Digital Library (Xplore) El portal de estalibreriacutea nos facilitoacute mucho el trabajo pues pudimos permite la opcioacuten de exportar de manerasencilla como podemos ver en la gura 12 a una hoja de calculo que hemos utilizado para irdetallando aquellos documentos que hemos considerado importantes durante el estudio

Figura 12 Exportacioacuten en IEEE

Los resultados exportados por este portal son bastante completos sobre todo porque contiene elAbstract de los documentos por lo que la lectura de los mismos no se tiene que realizar en demanera individual en la web o descargando los documentos En la gura 13 podemos ver comose importaron en nuestra hoja de calculo los datos obtenidos

Figura 13 Importacioacuten en Hoja de Caacutelculo

Despueacutes de realizar la lectura los Abstracts hemos continuado con ScienceDirect donde los re-sultados fueron menores que los obtenidos con IEEE Este portal tambieacuten permite la opcioacuten deexportar de manera sencilla como podemos ver en la gura 14 permitiendo la opcioacuten de incluirlos Abstracts

Figura 14 Exportacioacuten en SD

Para acabar este uacuteltimo bloque nos quedaba revisar SpringerLink el cual se presentaba comoel maacutes prometedor por el gran nuacutemero de resultados obtenidos La revisioacuten de tantos artiacuteculos sepresentaba ardua pero no se esperaba que fuera tanto pues el portal no permite la exportacioacutende los Abstracts de los documentos encontrados Realizar la descarga de 2924 documentos parasu revisioacuten se nos haciacutea algo inviable dentro de los plazos para entrega del presente proyectosiendo por lo tanto seguir con los paraacutemetros de buacutesqueda iniciales En la gura 15 podemosver cuales son los campos que permite la exportacioacuten de este portal

Esto hizo replantearnos el estudio por lo que hemos replanteado el mismo reduciendo los con-ceptos a buscar para ello hemos realizado la buacutesqueda solo de los artiacuteculos directamente rela-cionados con Moodle y la coreografiacutea y orquestacioacuten de servicios web es decir (OrchestrationOR Coreography) AND Moodle y hemos incluido un nuevo buscador Google Scholar

Figura 15 Exportacioacuten en SD

httpscholargooglecom para de esta manera compensar la reduccioacuten de las buacutesquedas

La buacutesqueda por lo tanto puede ser resumida en la siguiente tabla 16 donde podemos comprobarla gran cantidad de artiacuteculos encontrados gracias a la utilizacioacuten de Google Scholar

Figura 16 Resumen de resultados

Los resultados de Google Scholar eran prometedores pero tambieacuten presentaban problemas parasu exportacioacuten despueacutes de varias consultas para buscar informacioacuten al respecto se conguroacute labuacutesqueda para que permitiera la exportacioacuten de los enlaces encontrados como podemos ver enla gura 17 pero esta opcioacuten nos volviacutea a obligar a realizar una consulta individual de cadaelemento

Figura 17 Conguracioacuten de Google Scholar

Aunque podriacuteamos realizar la buacutesqueda de esta manera sobre todo por los resultados esperadosel tener que realizar la buacutesqueda desde el navegador presentando solo 20 resultados por paacutegina seantojaba bastante pesada sobre todo si se teniacutea que retomar la buacutesqueda en diversos periodos detiempo La solucioacuten que se encontroacute fue la instalacioacuten de Zotero httpwwwzoteroorg Laherramienta permite instalacioacuten de un complemento para Firefox que se utilizoacute para realizar ladescarga de todos los enlaces Este complemento tambieacuten permite la visualizacioacuten de los enlacesen la web como podemos ver en la gura 18 Aun asiacute se decidioacute realizar la instalacioacuten de laversioacuten consola de Zotero para trabajar mejor con carpetas y de esta manera reorganizar lasreferencias encontradas

Figura 18 Resultados en Zotero

Capiacutetulo 2

Plataformas VLE e integracioacuten

En esta seccioacuten describiremos el Entorno Virtual de Aprendizaje pondremos ejemplos de ellos yveremos las necesidades que generan en el desarrollo del proceso de aprendizaje por la falta deintegracioacuten de nuevas herramientas algunas de ellas utilizadas por si sola como herramientas deaprendizaje Detallaremos los problemas de la integracioacuten y expondremos las posibles solucionesa ello

21 VLE

El Entorno Virtual de Aprendizaje (VLE - Virtual Learning Enviroment) suele ser un teacuterminomuy usado en la educacioacuten a traveacutes de ordenador pero no existe una denicioacuten acordada porlo que muchas veces es confundido con otros teacuterminos anaacutelogos como Learning ManagementSystem (LMS) Sistema de Gestioacuten de Contenidos (Content Management System - CMS) o unaPlataforma de aprendizaje (Learning Plataform - LP)

Las deniciones maacutes aceptadas para VLE pues dada en el 2000 por Joint Information Sys-tems Committee (JISC) en el 2000 [Stiles 2000] indicando que son ccedilomponents in which learn-ers and tutors participate in on-line interactions of various kinds including on-line learningExisten otros autores que no estaacuten de acuerdo con la necesidad de interacciones on-line como[Dillenbourg et al 2002] que los excluyen de su denicioacuten Britain an Liber [Britain et al 2004]tambieacuten omiten la comunicacioacuten on-line de su denicioacuten indicando que las VLEs pretender darcabida a una amplia gama de estilos de aprendizaje y objetivos para fomentar el aprendizajecolaborativo y basado en recursos para permitir una mayor intercambio y reutilizacioacuten de recur-sos [Britain et al 2004]

Una de las deniciones mas formal y comuacutenmente citada fue dada en el trabajo de Dillengourgs[Dillenbourg et al 2002] el cual expone siete argumentos distintivos

1 VLEs are designed information spaces in which multiple authors can produce both struc-tured and unstructured information

2 VLEs are social spaces that promote interactions and discussions both synchronously orasynchronously

3 VLEs are explicitly represented ranging from text-based interfaces to complex 3D graphicalsystems

7

4 VLE students are also actors thus producing rather than consuming contents

5 VLEs are not restricted to distance education supporting also presential and blended learn-ing situations

6 VLEs integrate heterogenous technologies (including a variety of tools supporting diferenttasks) and multiple pedagogical approaches because integration is under the idea of envi-ronment

7 Most VLEs overlap with physical environments at some point since learning activities mayinvolve the use of non-computerized resources or interactions among participants

Por tanto el VLE conlleva un paso hacia delante por constituir un espacio virtual que utilizatecnologiacuteas heterogeacuteneas en el que los alumnos son activos usuarios siendo sistemas centrados enlos educadores que permiten el disentildeo instanciacioacuten promulgacioacuten y evaluacioacuten de situacionesde aprendizaje colaborativo a traveacutes de un conjunto de actividades de aprendizaje que puedenser siacutencronas o asiacutencronas cara a cara o a distancia individuales o de manera colaborativa

211 Ejemplos de VLEs

Existen actualmente diversos VLEs amplimente difundidos y no paran de aparecer nuevos loscuales intentan incluir nuevos teacutecnicas aplicadas al aprendizaje como puede ser el 3D [Nonis 2005]Hemos realizado el resumen por [Alario-Hoyos et al 2012] para mostrar una tabla en la gura21 de los maacutes importantes Moodle Lams LRN Sakai Blackboard Claroline Sharepoint LMSy sus caracteriacutesticas teacutecnicas y funcionales

22 Herramientas de Software

El uso de aplicaciones software como apoyo al aprendizaje ha jugado un papel muy importantesobre todo a la incorporacioacuten del ordenador a nuestra vida diaria Sin embargo no ha sido hastalos uacuteltimos antildeos con la difusioacuten de las tecnologiacuteas web y la posibilidades que ofrece de accesoraacutepido y ubicuo a los recursos e informacioacuten lo que ha provocado la proliferacioacuten de las her-ramientas de Software como Servicio (Software as Service - SaaS) siendo adoptadas en todas lasetapas del aprendizaje

La tendencia actual de los usuarios a generar y compartir contenidos a traveacutes de las herramientasde la llamada Web 20 la mayoriacutea de las cuales son aplicaciones SaaS ha cambiado la formade aprender fomentando la comunicacioacuten colaboracioacuten y ha fomentado un aprendizaje masconstructivista Algunos ejemplos de estas herramientas son

Google Drive httpsdrivegooglecom

Twitter httpstwittercom

Delicious urlhttpsdeliciouscom

Google Maps httpsmapsgooglees

Flickr httpwwwflickrcom

Doodle httpwwwdoodlecom

Figura 21 Anaacutelisis de VLEs

Miles de estas herramientas son usadas como apoyo en las actividades de aprendizaje Muchasde estas herramientas podemos encontrarlas valoradas en un ranking en webs como Tops 100Tools for Learning1 de la cual mostramos la gura 22 tambieacuten podemos encontrarlas en CcediloolsTools for Schools2

221 Integracioacuten de herramientas

Aunque hemos podido ver que existe un gran nuacutemero de herramientas software la cuales puedenapoyar el desarrollo docente son pocos los VLEs y otras plataformas similares utilizadas porlos educadores para disentildear y prestar sus actividades formativas las que incluyen un nuacutemeromuy restringido de estas herramientas de manera integrada Los educadores suelen indicar laslimitaciones que los VLEs tienen en este caso demandando maacutes alternativas para soportar susparticulares aprendizajes colaborativos Por ello ha emergido con fuerza la integracioacuten de her-ramientas externas en los VLEs sobre todo para el uso de SaaS y aplicaciones Web 20

Debemos tener en cuenta que

La integracioacuten de las herramientas actuales en los entornos VLEs actuales suele ser laopcioacuten maacutes aceptada aunque existen otras alternativas

Las SaaS y las aplicaciones Web 20 han sido ampliamente adoptadas como herramientas de

1httpc4lptcouktop100tools2httpcooltoolsforschoolswikispacescom

Figura 22 Top 100 Tools - Abril 2013

aprendizaje pero existen otras herramientas con su particularidades teacutecnicas que puedenser interesantes y tenida en cuenta como actividades de aprendizaje en los VLEs

Estas herramientas usadas durante el ciclo de vida de aprendizaje colaborativo deben poderser analizadas para estudiar sus resultados

El ciclo de vida del aprendizaje colaborativo consta de cuatro fases disentildeo despliegue pues-ta en marcha y evaluacioacuten Las herramientas de software suelen utilizarse principalmenteen dos de ellas en el despliegue donde las herramientas son seleccionadas dependiendo delos objetivos del aprendizaje la conguracioacuten social y las estructuras de las actividades arealizar y en la fase de puesta en marcha pues son utilizadas por los estudiantes para re-alizar sus actividades y de esta manera alcanzar los objetivos del aprendizaje En la fase deevaluacioacuten estas realmente no son importantes pues no nos interesa tanto la herramientacon la que se haya realizado sino el contenido de esos resultados La fase de disentildeo es dondese consideran las tareas a realizar para llevar a cabo el aprendizaje y no herramientas autilizar para ello Aunque estas cuatro fase puede ser ampliadas o reducidas es ampliamenteaceptado En la gura podemos ver graacutecamente este ciclo

Figura 23 Ciclo de vida del aprendizaje colaborativo

222 Problemas en la integracioacuten

El problema general de la integracioacuten de muacuteltiples herramientas externas en diversos VLEspodemos observarlo en la gura 24 donde podemos ver en un lado diferentes VLEs consus correspondientes APIs arquitectura y caracteriacutesticas mientras en el otro lado diferentestecnologiacuteas interfaces y desarrollos para una gran variedad de propoacutesitos Cada uno deellos puede imponer sus restricciones para la integracioacuten Estos requerimientos es lo queha sido denominado por ejemplo en LAMS como ccedilontrato de integracioacuten el cual intentadeterminar las tecnologiacuteas interfaces y modelos de datos que deben ser empleados para lacomunicacioacuten entre un sistema y el programa que intente integrarlo

Cada herramienta puede tener una o maacutes opciones de integracioacuten Algunas son especiacute-cas para una cierta herramienta (Ej comunicacioacuten basado en Rest para Delicious y paraSlidshare de manera diferente) y otras comuacuten para varias herramientas (Ej Google DataProtocol) Lo mismo ocurre en el lado de los VLEs por lo que se abre un amplio abanicode tecnologiacuteas interfaces y modelos de datos que hacen que la tarea de integracioacuten seaalgo realmente complejo En la gura 25 podemos ver un resumen de los problemas deintegracioacuten seguacuten las herramientas seleccionadas

223 Enfoques de la integracioacuten

Podemos denir dos enfoques principales a la hora de enfocar la integracioacuten de las her-ramientas de software y los VLEs siendo estos

bull Estandarizar los contratos de integracioacutenLa denicioacuten de unos estaacutendares de integracioacuten podriacutea resolver los problemas de in-tegracioacuten pero no existen hoy en diacutea los mismos o no son aceptados por la mayoriacutea

Figura 24 Problemas de integracioacuten

seguramente por intereses tecnoloacutegicos y comerciales IMS Global Learning Consor-tium siguen intentando realizar la aprobacioacuten de dicho estaacutendar siendo uno de elloIMS-LTI Integracioacuten de aplicaciones y servicios remotos y aunque la adopcioacuten de losmismo por las nuevas versiones de Moodle y Blackboard podriacutea hacer que se apos-tara por esta opcioacuten la falta de herramientas que lo utilicen (Ej Google no lo utiliza)puede hacer que no llegue a buen puerto

bull Crear una arquitecturaEste enfoque trata de adaptar los contratos de integracioacuten de los VLEs y las her-ramientas sin tener que modicar sus implementacioacuten Este mismo enfoque presentados opciones como podemos ver en la gura 26 y que pasamos a detallar

1 Un adaptador por en el lado de VLE y otro en el lado de las herramientas o inclusoun solo paquete que pueda congure toda la conexioacuten En este caso estariacuteamoshablando por ejemplo de los moacutedulo adicionales de Moodle

2 Una capa intermedia y adaptadores Este tipo de arquitectura permite la in-tegracioacuten entre muacuteltiples herramientas externas y muacuteltiple entorno virtuales deaprendizaje a traveacutes de un middleware comuacuten Dicho middleware estariacutea com-puesto de diferentes programas que pueden ser ejecutados en dominios diferentesEsta arquitectura reduce el esfuerzo para la integracioacuten de cada herramienta encada VLE ya que el coacutedigo estaacute parcialmente implementado por los elementos deintegracioacuten comunes Sin embargo el grado de integracioacuten y funcionalidad que sepuede lograr con estas arquitecturas es menor que con la primera opcioacuten

23 Servicios Web

Aunque han sido englobados dentro de integracioacuten de herramientas vamos a detallar queson y que aportan a Moodle

Figura 25 Problemas de integracioacuten

Los Servicios Web (Web Services) son la parte esencial de la interoperabilidad de Moodlecon otras aplicaciones Web 20 consisten en una pieza de software que utiliza un conjuntode protocolos y estaacutendares abiertos para intercambiar datos entre aplicaciones La idea prin-cipal es que distintas aplicaciones de software desarrolladas en lenguajes de programacioacutendiferentes y ejecutadas sobre cualquier plataforma puedan utilizar los servicios Web paraintercambiar datos en la red de ordenadores como Internet El producto resultante es unconjunto de moacutedulos con funcionalidad especiacuteca y completa que se acoplan entre siacute A suvez estos moacutedulos se conectan a una plataforma de e-learning mediante la utilizacioacuten deservicios de base descritos en una capa estaacutendar que funciona como gateway

Para ampliar un poco mejor el concepto de servicios Web citaremos una exposicioacuten delDoctor Marcos Escobar Un Web Service es un componente de software que se comunicacon otras aplicaciones codicando los mensaje en XML y enviando estos mensaje a traveacutesde protocolos estaacutendares de Internet tales como el HTTP Intuitivamente un Web Servicees similar a un sitio Web que no cuenta con un interfaz de usuario y que da servicio a lasaplicaciones en vez de a las personas Un Web Service en vez de obtener solicitudes desdeel navegador y retornar paacuteginas Web como respuesta lo que hace es recibir solicitudes atraveacutes de un mensaje formateado en XML desde una aplicacioacuten realiza una tarea y de-vuelve un mensaje de respuesta tambieacuten formateado en XML

Figura 26 Enfoques de arquitectura de integracioacuten

231 Orquestacioacuten y Coreografiacutea de Servicios Web

Seguacuten Careaga Mercadillo Ana Lilia [car ] la Orquestacioacuten (Web Service Orchestration)y Coreografiacutea (Web Service Choreography) se suelen ver como dos aproximaciones parala Composicioacuten de Servicios Web que se acercan estrechamente a los conceptos musicalespor lo cual se han importado directamente sus signicados A continuacioacuten detallaremosque son y sus posibles aplicaciones

La tarea de componer servicios Web baacutesicos o simples para brindar servicios Web maacutes com-plejos se conoce teacutecnicamente como Composicioacuten de Servicios Web Existen dos grandesaproximaciones para esta tarea la coreografiacutea con foco en la interaccioacuten entre servicios(equivalente a los bailarines) y la orquestacioacuten (equivalente a los instrumentos de la orques-ta) con foco en la implementacioacuten y ejecucioacuten de servicios La primera puede consid-erarse como una descripcioacuten formal del pasaje de mensajes obviando detalles internosde implementacioacuten Se ajusta maacutes en situaciones donde es provechoso contar con la no-cioacuten de estados y tambieacuten donde estaacuten involucradas transacciones de larga duracioacuten- Elorquestadordetermina la naturaleza y la secuencia de la interaccioacuten En cambio la segun-da aproximacioacuten describe la loacutegica y el estado de cada una de las partes involucradas Laorquestacioacuten tiene una visioacuten mas local y centralizada mientras que la coreografiacutea denela composicioacuten desde una perspectiva global sin control centralizado tal y como sucede enla danza

Existen numerosas deniciones de Servicios Web y esto demuestra en parte la gran com-plejidad de los servicios que se agrupan bajo este teacutermino y las implicaciones asociadas aellos Hasta ahora la denicioacuten maacutes general y convincente es decir que los Servicios Webson el conjunto de aplicaciones tecnoloacutegicas con capacidad para interoperar en la Web Es-tas tecnologiacuteas intercambian datos entre ellas con el n de ofrecer servicios de naturalezaremota

La World Wide Web no es soacutelo un espacio de informacioacuten tambieacuten es un espacio de inter-accioacuten Utilizando la Web como plataforma los usuarios de forma remota pueden solicitar

un servicio que alguacuten proveedor ofrezca en la red Pero para que esta interaccioacuten funcionedeben existir unos mecanismos de comunicacioacuten estaacutendares entre diferentes aplicacionesEstos mecanismos deben poder interactuar entre siacute para presentar la informacioacuten de formadinaacutemica al usuario Se precisa pues una arquitectura de referencia estaacutendar que hagaposible la interoperabilidad y extensibilidad entre las distintas aplicaciones y que permitasu combinacioacuten para realizar operaciones complejas Esta arquitectura es conocida con elnombre de SOA (Service Oriented Architecture)

Con el n de estandarizar los diferentes aspectos relacionados con los servicios Web elW3C (World Wide Web Consortium) recoge todo lo referente a ellos en (Web ServicesActivity) Asiacute pues Web Services (WS) ofrece un signicado estaacutendar para interoperarentre diferentes aplicaciones de software corriendo en diferentes plataformas yo marcosde trabajo El W3C pretende disentildear la arquitectura denirla y crear el nuacutecleo de tec-nologiacuteas que hagan posible los Servicios Web Los servicios Web se basan en un lenguajede caracteriacutesticas especiales llamado XML (Extensible Markup Language) que permite quelas aplicaciones compartan informacioacuten y que ademaacutes invoquen funciones de otras apli-caciones independientemente de coacutemo se hayan creado dichas aplicaciones y del sistemaoperativo o plataforma en que se ejecuten Por ejemplo Google utiliza un Servicio Webllamado Google Web APIs que permite que el usuario programe en diversos lenguajes ase-gurando la recuperacioacuten de informacioacuten independientemente de la plataforma que se utilice

Los Servicios Web se idearon en un principio para realizar interacciones simples e indepen-dientes pero ahora es necesario que los servicios colaboren y se coordinen A la coordinacioacutennecesaria para implementar un servicio Web se le llama Composicioacuten que puede realizarsede dos manerasorquestacioacuten y coreografiacutea La principal diferencia entre orquestacioacuten ycoreografiacutea es el alcance La orquestacioacuten trata de la descripcioacuten y ejecucioacuten de un mismoy uacutenico punto de vista global del modelo (instrumentacioacuten) La coreografiacutea trata de la de-scripcioacuten y guiacutea de un modelo global proyectado en base a cada participante (bailarines)La orquestacioacuten y coreografiacutea son teacuterminos que describen dos aspectos de los estaacutendaresemergentes para la creacioacuten de procesos de negocios de muacuteltiples servicios WebLos dosteacuterminos se superponen pero es claro que la orquestacioacuten se reere a un proceso de nego-cio ejecutable que puede interactuar tanto con servicios Web internos como externos Laorquestacioacuten representa siempre el control desde la perspectiva de una de las partes Estolo distingue de la coreografiacutea que es de mayor colaboracioacuten y permite a cada parte impli-cada describir su papel en la interaccioacuten La orquestacioacuten y coreografiacutea tratan de describiraspectos relacionados con la creacioacuten de procesos de negocio que involucran varios tipos deSoftware

Visto graacutecamente podemos ver en la gura 27 la orquestacioacuten permite disentildear proce-sos de negocio ejecutables que pueden interactuar (a nivel de mensaje) tanto con softwareinterno como externo Por otra parte la coreografiacutea es mucho maacutes colaborativa ya quepermite trazar las secuencias de mensajes que se suceden entre todas las partes partici-pantes del proceso de negocio en lugar de centrarse en los mensajes que se intercambianentre los diversos programas de software que implementan los procesos de negocio

Figura 27 Orquestacioacuten y Coreografiacutea de Servicios Web

232 Estaacutendares de Orquestacioacuten de Servicios Web

WS BPEL( Web Service Business Process Execution Language)Es un lenguaje de orquestacioacuten estandarizado porOASIS (Organisation for Advance Struc-tured Information Business Transaction Protocol) para la composicioacuten de servicios Web quepermite a los desarrolladores crear programas que automatizan las interacciones entre losservicios Web jugando un papel clave en las arquitecturas orientadas a los servicios SOAPara comprender su funcionamiento imaginemos un proceso de negocio determinado quetiene una entrada A y una salida B Dicho proceso como la mayoriacutea de ellos posee a suvez de muchos procesos internos que se van activando de acuerdo a ciertos paraacutemetros yvalores BPEL seriacutea el encargado de orquestar y por lo tanto dirigir la ejecucioacuten de unamanera ordenada La ventaja de que BPEL sea un estaacutendar radica en que puede ser imple-mentado en una gran variedad de motores de ejecucioacuten de diferentes proveedores BPELen si es un formato XML que proviene de la convergencia entre el WSFL (Web ServiceFlow Language) de IBM y XLANG de Microsoft La herramienta BPEL estaacute basada en unmodelo llamado Workow que especica las oacuterdenes de ejecucioacuten Existen actividadesbaacutesicas como iumlnvoke y receive y otras estructuradas como sequence Tambieacuten formanparte del modelo variables y participantes (partners) En las variables se deposita la nocioacutende datos y los participantes representan los elementos que interactuacutean en la composicioacutenEl modelo se completa como un motor que orquestaraacute las invocaciones

BPML (Business Process Modeling Language)Es un metalenguaje basado en XML para la descripcioacuten de procesos de negocio Inicial-mente BMPL se disentildeoacute para soportar los procesos que un sistema de gestioacuten de procesosde negocio pudiera ejecutar BPML dispone de estructuras similares a BPEL como puedenser actividades baacutesicas para el enviacuteo y la recepcioacuten de mensajes y para la invocacioacuten deservicios Adicionalmente BPML permite planicar las tareas para que se ejecuten eninstantes especiacutecos ofreciendo algunas opciones de control temporal Este lenguaje in-cluye caracteriacutesticas para dar soporte a la persistencia ya que fue disentildeado para la gestioacutende procesos de larga duracioacuten BPML ofrece soporte tambieacuten para realizar composicionesrecursivas a n de poder construir procesos de negocio que a su vez consten de otros sub-procesos Asimismo soporta transacciones de larga o corta ejecucioacuten gracias a que usa unateacutecnica similar a BPEL para controlar el alcance de las actividades y gestionar de esta

forma las reglas de compensacioacuten en caso de que las operaciones que deben realizarse deforma automaacutetica se vean interrumpidas

233 Estaacutendares de Coreografiacutea de los Servicios Web

WS-CDL (Web Services Choreography Description Language)Es un lenguaje basado en XML que describe la colaboracioacuten entre pares peer to peemediante la denicioacuten - desde un punto de vista global de los comportamientos comunes yobservables de cada participante de un proceso de negocio Eacuteste es un lenguaje utilizadopara la denicioacuten de servicios dentro de la plataforma SOA y cuyo objetivo es la descrip-cioacuten del comportamiento de cada uno de los servicios establecidos para lograr un objetivocomuacuten Sin embargo antes de WS-CDL ya existiacutea un lenguaje que permitiacutea la descripcioacutende las funcionalidades de un Servicio Web WSDL (Web Services Denition Language)el cual puede describir el conjunto de funciones ofrecidas con los posibles fallos que po-driacutean ocurrir y a pesar de que WS-CDL podriacutea expresar las coreografiacuteas de un servicioen un ambiente SOA W3C (World Wide Web Consortium) abandonoacute su desarrollo en 2009

WSCI (Web Service Choreography Interface)La especicacioacuten de WSCI fue desarrollada por diversas compantildeiacuteas como Sun SAP BEAe Intalio y representa una extensioacuten para WSDL para la colaboracioacuten La especicacioacuten de-ne la coreografiacutea global o el intercambio de mensajes entre los diferentes tipos de softwarey soporta su correlacioacuten reglas de secuenciacioacuten manejo de excepciones transacciones ycolaboracioacuten dinaacutemica WSCI soacutelo describe el comportamiento observable entre el softwareque se emplea Una coreografiacutea WSCI constaraacute de un conjunto de interfases WSCI unapor cada uno de los servicios que participen en la interaccioacuten

24 Moodle

El software de coacutedigo abierto (Open-Source Software-OSS) esta siendo ampliamente de-sarrollado ofreciendo nuevas alternativas y posibilidades hasta hace poco inimaginablesMoodle es un claro ejemplo siendo uno de los programas maacutes ampliamente adoptados porcolegios institucioacuten universidades etc Como podemos ver en la gura 28 el nuacutemero deusuarios registrados y los idiomas en los que se encuentra disponible dan muestra de sugran difusioacuten Algunas de las razones mas importante para su eleccioacuten son

Figura 28 Moodle - Abril 2013

bull Moodle es OSS lo cual signica que los usuarios pueden descargarlo libremente usarlomodicarlos e incluso redistribuirlo seguacuten los teacuterminos GNU 3

bull La losofiacutea planteada por Moodle incluye una aproximacioacuten constructiva basada enel constructivismo social de la educacioacuten enfatizando que los estudiantes (y no soacutelolos profesores) pueden contribuir a la experiencia educativa en muchas formas

bull Compatibilidad con maacutes de 70 idiomas diferentes

bull Una excelente documentacioacuten soporte para seguridad y administracioacuten

bull No requiere modicaciones en el sistema operativo pudiendo ser ejecutado en un en-torno Linux Windows Mac OS o cualquier otro siempre que soporten PHP

bull La informacioacuten esta soportada por una simple base de datos

Ademaacutes su sencilla aplicacioacuten en entorno web que utiliza tecnologiacuteas ya ampliamenteprobadas sus mecanismos de extensioacuten maacutes faacuteciles en comparacioacuten con otros VLEs y laexistencia de una gran cantidad de documentacioacuten de desarrollo han impulsado la creacioacutende una gran comunidad de personas que contribuyen a la mejora de Moodle Esta comu-nidad estaacute en constante desarrollo de nuevas caracteriacutesticas y aplicaciones a traveacutes decientos de plugins que pueden ser descargados desde su la web de Moodle y asesoran tantoa otros desarrolladores como usuarios nales

La primera versioacuten de Moodle (10) fuel lanzada en 2002 como parte de la investigacioacuten deMartin Dougiamas del uso del software de coacutedigo abierto para la ensentildeanza y el aprendizajecon las comunidades basadas en Internet[Dougiamas and Taylor 2000] Actualmente seencuentra disponible la versioacuten 243+ como estable y la beta de la versioacuten 25

En cuanto a la parte teacutecnica Moodle estaacute desarrollado en lenguaje PHP como la mayoriacuteade los VLEs utiliza una arquitectura cliente-servidor comuacuten de tres capas CORREGIRLa capa de presentacioacuten dene como la informacioacuten se presenta a los usuarios nales quetienen acceso a esa informacioacuten a traveacutes de sus navegadores web La Capa de loacutegica de ne-gocios se encarga de las relaciones con Moodle el acceso a la capa de datos por lo generala traveacutes de MySQL para almacenar y recuperar la informacioacuten cuando sea necesario

Moodle se distribuye en un solo paquete multiplataforma que incluye PHP MySQL yApache HTTP Server para facilitar los procesos de instalacioacuten y conguracioacuten La dis-tribucioacuten actual de Moodle cumple con varios estaacutendares educativos Por ejemplo Moodlepuede manejar ADL SCORM paquetes que contienen recursos aislados o cursos completosEn cuanto a los estaacutendares IMS Moodle soporta IMS Content Packaging (IMS CP) IMSCommon Cartridge (IMS CC)IMS pregunta y Test Interoperability (IMS QTI) y estaacuteconsiderado como uno de los VLEs compatible con Basic LTI

241 otras plataformas

No podemos dejar de lado otros escenarios educativos que han ido apareciendo en los uacutelti-mos antildeos a pesar del gran eacutexito de los VLEs Algunos ejemplos de estas plataforma son

3httpsmoodleorg

bull Wikis (Ej MediaWiki) Son sistemas software que permiten la creacioacuten y gestioacutende contenidos estructurados mediante paacuteginas web relacionadas entre siacute El contenidosuele estar editado por varios usuarios que trabajan de manera colaborativa pudiendoincluir enlaces a recursos externos

bull Sitios de redes sociales (Ej Facebook) Son sistema en liacutenea donde los usuariospueden crearse sus propios perles y crear una red personal que les mantendraacute conec-tado con otros usuarios Estos sistemas han proliferado en los uacuteltimos antildeos llegando amillones de usuarios No suelen necesitar un administrador pues se utilizan medianteentorno web y son alojados por el propio proveedor Su gran adopcioacuten y el enfoquea las interacciones sociales es lo que ha llevado a muchos profesor a utilizarlo comoherramienta de aprendizaje Estos sitios permiten la creacioacuten y mantenimiento degrupo mediante el perl de usuario pero no estaacuten disentildeados para seguir un enfoquepedagoacutegico

bull Personal Learning Environment - PLE (Ej Southampton) Son denidos comosistemas de software que permiten al estudiante a tomar el control y la gestioacuten de suspropio aprendizaje Se caracterizan por la por la participacioacuten directa de los alumnosen el acceso agregacioacuten conguracioacuten y manipulacioacuten de herramientas y recursos adiferencia de los VLEs done es el educador el que selecciona y gestiona los recursosque el alumno debe utilizar

Muchas de estas herramientas son de coacutedigo libre y abierto Su funcionalidad respecto ala gestioacuten de actividades grupos funciones y herramientas es limitado siendo en algunoscasos inexistente Ninguna de estas plataformas se puede considerar un VLE ya que nosson sistemas centrados en el educador sin embargo pueden apoyar la integracioacuten de apli-caciones externas en entornos de aprendizaje colaborativo

Capiacutetulo 3

Organizacioacuten y Sistema Inicial

A continuacioacuten pasamos a detallar las distintas actividades de la que consta el proyecto quehemos llevado a cabo durante estos meses

31 Lanzamiento del proyecto

Esta actividad consisten en la eleccioacuten de una de las diferentes posibles aacutereas de desarrollo deproyectos que ofrece la UOC siendo la elegida Aplicaciones Web para trabajo colaborativo

32 Denicioacuten del proyecto

El proyecto queda denido en el presente documento siendo el tiacutetulo del mismo Orchestationand Coreography of Web Services on Moodle - Revisioacuten Sistemaacutetica de la literatura

[Duracioacuten] 27-02-2013 al 03-03-2013

33 Anaacutelisis de requisitos

Nos centraremos en la fase de planicacioacuten que incluye los objetivos de la investigacioacuten y la formaen que se llevaraacute a cabo la revisioacuten

[Duracioacuten] 04-03-2013 al 03-06-2013

331 Cuestiones Realizadas

El primer paso en la fase de planicacioacuten seraacute denir los objetivos principales de esta revisioacutensistemaacutetica de la literatura Estos objetivos son analizar el estado del arte de la coreografiacutea yorquestacioacuten de los servicios web en Moodle como LMS

332 Fuentes de datos y buacutesqueda

Utilizaremos diferentes libreriacuteas o espacios digitales para realizar las buacutesquedas las mismas serealizaraacuten en ingleacutes y espantildeol Las libreriacuteas principales utilizadas son

IEEEXplore [IEEEX] httpieeexploreieeeorg

21

Science Direct [SD] httpwwwsciencedirectcom

SpringerLink [SL] httpwwwspringerlinkcom

Paralelamente a Science Direct se han realizado buacutesquedas en Scopus1 de Elsevier y GoogleScholar2 de Google

333 Criterios de inclusioacuten y exclusioacuten

Las buacutesquedas que se realicen intentaraacuten abarcar todo el aacutembito de cuestiones del SLR pero esposible (y de hecho ocurre) el resultado contenga referencias publicaciones estudios o en generalinformacioacuten que no sirve Para ello seraacute necesario denir criterios de inclusioacuten y exclusioacuten loscual haremos basaacutendonos en la guiacutea [Kitchenham 2007]

334 Asegurar la calidad

Despueacutes de obtener un numero considerable de trabajos o estudios que satisfacen los criteriosde inclusioacuten y exclusioacuten se deberaacute ser capaz de asegurar o armar cuales son los que cumplencon una miacutenima calidad y si son vaacutelidos o no para el estudio en si Es baacutesico poder analizar queacuteestudios son mejores que otros en teacuterminos de calidadSiguiente [Kitchenham 2007] se deniraacuten preguntas y cuestiones que permitan asegurar dichacalidad

335 Extraccioacuten de datos y anaacutelisis

Los criterios de inclusioacuten y exclusioacuten junto con las preguntas orientadas a asegurar la calidadnos serviraacuten para obtener todos los artiacuteculos y estudios que se analizan en este estudioDe cada artiacuteculo se recogeraacute titulo y autores abstract publicacioacuten y antildeo de publicacioacuten

336 Fase de revisioacuten

Esta fase de planicacioacuten seraacute denir el proceso de conducir o dirigir la revisioacuten Para elloutilizaremos tres fases como podemos ver en la gura 31 de la paacutegina 23

337 Fase de Pruebas

Se realizan pruebas con la informacioacuten obtenido montado maacutequinas virtuales para realizar lasmismas En estas se han probado las diferentes opciones de comunicacioacuten que nos ofrece Moodle

1httpwwwscopuscom2httpscholargooglecom

Figura 31 Proceso para dirigir la revisioacuten

34 Calendario de Trabajo

Podemos ver en el siguiente diagrama de Gantt32 la distribucioacuten de trabajos en el tiempo elmismo seraacute modicado para ajustarlo a las variaciones producidas durante el desarrollo de lastareas que contempla

35 Hitos principales

Los principales hitos seraacuten

Lanzamiento del proyecto Se dene correctamente en que va consistir el proyecto

Denicioacuten de cuestiones para la buacutesqueda Donde se detallaraacuten las cuestiones quemarcaran el desarrollo del resto del proyecto

Comprobacioacuten de resultados Se deberaacuten criba los mismo para no obtener duplicadoso informacioacuten ajena a la investigacioacuten

Revisioacuten de informacioacuten obtenida Una vez obtenida la informacioacuten y analizada deberaacuteser revisada para su presentacioacuten

Figura 32 Diagrama de Gantt

36 Instalacioacuten base

Para llevar a cabo las pruebas se ha optado por la creacioacuten de una maacutequina virtual sobre VirtualBox 3 en la cual hemos instalado Windows XP como sistema operativo Este sistema es maacutesligero a la hora de trabajar en maacutequinas virtuales pues requiere menos recursos que las versionesposteriores del mismos sistema

El siguiente paso era la instalacioacuten de Moodle Aunque se dispone de un instalador para Win-dows se ha optado por la descarga e instalacioacuten de XAMPP 4 y su y su posterior conguracioacutenen la maacutequina virtual XAMPP es un servidor independiente de plataforma software libre queconsiste principalmente en la base de datos MySQL el servidor web Apache y los inteacuterpretespara lenguajes de script PHP y Perl El nombre proviene del acroacutenimo de X (para cualquierade los diferentes sistemas operativos) Apache MySQL PHP Perl

XAMPP en su versioacuten 181 incluye

Apache 243

MySQL 5527

PHP 547

phpMyAdmin 3522

FileZilla FTP Server 0941

Tomcat 7030

Strawberry Perl 51611 Portable

XAMPP Control Panel 310

Hemos continuado con la descarga he instalacioacuten de Moodle y hemos querido probar las difer-encias que obtenemos entre las versiones 19x y 25 por lo que se han descargado ambas heinstalado en maacutequinas virtuales diferentes Con ello conseguiremos probar el resultado obtenidoseguacuten la versioacuten Moodle desde su versioacuten 22 ya soporta conexiones mediante IMS - LTI IMSLTI es un estaacutendar IMS Learning Tool Interoperability Esto signica que las herramientas deaprendizaje tienen ahora diversas maneras de conectarse entre sin problemas

En la praacutectica cuando un usuario se registra en una herramienta como Moodle se pueden conectara la otra herramienta como MediaWiki y autenticarse automaacuteticamente proporcionando unaexperiencia perfectaLas guras 33 y 34 nos muestran el panel de control de XAMPP una vez instalado y el panede phpMyAdmin donde hemos debido congurar las bases de datos y usuario necesarios parallevar todo el proceso de conguracioacuten de Moodle y el resto de herramientas

3httpswwwvirtualboxorg4httpwwwapachefriendsorgesxampphtml

Figura 33 Panel de control de XAMPP

Figura 34 Gestor de bases de datos phpMyAdmin

Capiacutetulo 4

Servicios Web de Moodle

41 Introduccioacuten

Moodle 2X incorpora la posibilidad de implementar Servicios Web para manejar sus funciona-lidades lo que nos permite poder acceder a acciones de actualizar y crear tareas para reejar elresultado de las actividades realizadas Moodle soporta varios protocolos (REST SOAP XML-RPC y AMF)

42 Servicios Web de Moodle

Los Servicios Web de Moodle se caracterizan por permitir el acceso desde cualquier aplicacioacutenimplementando para ello tres capas como podemos observar en la gura 41

Capa nuacutecleoLa capa del nuacutecleo estaacute compuesta de todas las funciones principales de Moodle sobreusuarios grupos cursos calendario etc Moodle no dispone de una API al uso sino queofrece diferentes funciones que han sido desarrolladas durante antildeos Por tanto las necesi-dades de los Servicios Web estaacuten obligando a rehacer estas funciones del nuacutecleo para quecomiencen a formar una API (Moodle 2X)

Capa externaLa capa externa estaacute compuesta por nuevos cheros llamados externalphp colocados porlas carpetas de Moodle y conteniendo manejadores para la capa inferior Estos manejadoresson los responsables de comprobar las capacidades paraacutemetros y llamadas correctas a lasfunciones de nuacutecleo

Capa de conectoresLa capa de conectores estaacute compuesta de diferentes conectores para las diferentes imple-mentaciones de los Servicios Web y contiene un conector REST un conector SOAP unconector XML-RPC y un conector AMF Esta capa admite plugins para ampliar los conec-tores disponibles de manera que se puedan integrar otros sistemas en Moodle utilizandootros protocolos

Los pasos para utilizar un Servicio Web con Moodle seriacutean los siguientes

1 El cliente enviacutea el nombre de usuario y contrasentildea al servidor que provee los ServiciosWeb

27

Figura 41 Capas en Moodle

2 El servidor de protocolo devuelve un token de sesioacuten para esa cuenta de usuario

3 El cliente llama a un Servicio Web especiacuteco incluyendo el token de sesioacuten

4 El servidor utiliza el token para comprobar que la sesioacuten del Servicio Web estaacute activa

5 El servidor llama a la funcioacuten correspondiente localizada en el chero externallibphp dentrodel moacutedulo especiacuteco

6 La funcioacuten externa comprueba que el usuario actual tenga los permisos sucientes pararealizar esta operacioacuten

7 La funcioacuten externa llama a la funcioacuten correspondiente del nuacutecleo de Moodle (libphp)

8 La funcioacuten del nuacutecleo puede retornar un resultado a la funcioacuten externa

9 La funcioacuten externa devolveraacute el resultado al servidor de protocolo

10 El servidor de protocolo devolveraacute el resultado al cliente

43 REST

REST (Representational State Transfer) es el acroacutenimo de Transferencia de Estado Representa-cional teacutermino usado por Roy Fielding (uno de los creadores de HTTP) para describir un estilode arquitectura que utilizar como modelo en los sistemas de computacioacuten Web No es un es-taacutendar sino un enfoque que muestra como desarrollar y proporcionar servicios en Internet portanto considerado como un estilo arquitectoacutenico para disentildeo de software a gran escala El propioautor lo dene de manera concisa en eacuteste paacuterrafo

REST es un intento de mostrar coacutemo debe comportarse una aplicacioacuten Web bien disentildeada unared de paacuteginas Web (una maacutequina de estados virtual) donde el usuario progresaraacute seleccionan-do enlaces (transiciones de estado) que devuelven la paacutegina siguiente (el siguiente estado de lamaacutequina) que el usuario manejaraacute a su gusto

Este enfoque no aporta realmente nada nuevo la mayor parte de la Web sigue este estilo arqui-tectoacutenico Sin embargo el autor hace eacutenfasis en las caracteriacutesticas concretas que han hecho quela Web triunfe que van a ser los objetivos buscados por REST y que son a su juicio

Escalabilidad en las interacciones entre componentes La red ha ido creciendo de maneraexponencial y se ha ido comportado de manera satisfactoria

Generalidad en las interfaces Se proporciona acceso con distintos clientes y con distintosmecanismos de acceso

Desarrollo independiente de componentes Implementaciones cliente y servidor pueden serdesarrolladas en distintos momentos

Existencia de componentes intermediarios con los cuales existe compatibilidad (comoproxys)que permiten encapsulacioacuten e integracioacuten de sistemas no Web dentro de la misma

431 Principios de disentildeo

Los objetivos citados van a ser conseguidos imponiendo una serie de restricciones

El estado y la funcionalidad de las aplicaciones se representan por forma de recursos

La identicacioacuten de recursos se realiza de forma uacutenica global mediante Uniform ResourceIdentiers Los recursos identicados con URIs son los objetos loacutegicos a los cuales se lesmandan los mensajes

Manipulacioacuten de recursos a traveacutes de representaciones luego no se manejan directamentelos recursos sino sus representaciones

Todos los recursos comparten un interfaz uniforme formado por

bull Un conjunto de operaciones limitado para transferir el estado Se van a aprovecharlas operaciones que HTTP dene mostradas en la gura 42

bull Un conjunto limitado de tipos de contenidos identicados mediante tipos MIME

Uso de un protocolo clienteservidor sin estado y basado en capas Cada mensaje HTTPcontendraacute la informacioacuten necesaria para comprender la peticioacuten luego como muestra lagura 43 no es necesario que eacutesta sea entendida tanto en el cliente como en el servidor

Uso de hipermedios para representar el estado de una aplicacioacuten permitiendo que el estadode una aplicacioacuten Web particular esteacute almacenado en uno o maacutes documentos de hipertextoque residen bien en el servidor o en el cliente Esto permite al servidor saber el estado desus recursos sin necesidad de almacenar el estado de los clientes concretos

Figura 42 Operaciones denidas por HTTP

Como ya se mencionoacute REST se trata de un estilo arquitectoacutenico no un estaacutendar Sin embargohace uso de varios estaacutendares Web

HTTP HyperText Transfer Protocol

Figura 43 Operaciones denidas por HTTP

URL Uniform Resource Locator como el mecanismo de indenticacioacuten de recursos

XML - HTML - PNG - etc Como distintos formatos de representacioacuten de recursos

Tipos MIME como text-xml text-html image-png etc

44 SOAP

SOAP (siglas de Simple Object Access Protocol) es un protocolo estaacutendar que dene coacutemo dosobjetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML Esteprotocolo deriva de un protocolo creado por David Winer en 1998 llamado XML-RPC SOAPfue creado por Microsoft IBM y otros y estaacute actualmente bajo el auspicio de la W3C

441 Principios de disentildeo

La funcionalidad que aporta SOAP es la de proporcionar un mecanismo simple y ligero de in-tercambio de informacioacuten entre dos puntos usando el lenguaje XML SOAP no es maacutes que unmecanismo sencillo de expresar la informacioacuten mediante un modelo de empaquetado de datosmodular y una serie de mecanismos de codicacioacuten de datos Esto permite que SOAP sea uti-lizado en un amplio rango de servidores de aplicaciones que trabajen mediante el modelo decomunicacioacuten RPC (Remote Procedure Call)

SOAP consta de tres partes como podemos ver en la gura 44

El SOAP envelope que dene el marco de trabajo que determina queacute se puede introduciren un mensaje quieacuten deberiacutea hacerlo y si esa operacioacuten es opcional u obligatoria

Las reglas de codicacioacuten SOAP que denen el mecanismo de serializacioacuten que seraacute usadopara encapsular en los mensajes los distintos tipos de datos

La representacioacuten SOAP RPC que dene un modo de funcionamiento a la hora de realizarllamadas a procedimientos remotos y la obtencioacuten de sus resultados

A la hora de realizar el disentildeo de SOAP se han tenido en cuenta una serie de consideracionescon el n de cumplir una serie de objetivos claros objetivos que le daraacuten el potencial que resideen SOAP y que le haraacuten tan atractivo Eacutestos son

Establecer un protocolo estaacutendar de invocacioacuten a servicios remotos que esteacute basado enprotocolos estaacutendares de uso frecuente en Internet como son HTTP (Hiper Text TransportProtocol) para la transmisioacuten y XML (eXtensible Markup Language)para la codicacioacutende los datos

Figura 44 Partes de SOAP

Independencia de plataforma hardware lenguaje de programacioacuten e implementacioacuten delservicio Web

El logro de estos objetivos ha hecho de SOAP un protocolo extremadamente uacutetil ya que elprotocolo de comunicacioacuten HTTP es el empleado para la conexioacuten sobre Internetpor lo que segarantiza que cualquier cliente con un navegador estaacutendar pueda conectarse con un servidor re-moto Ademaacutes los datos en la transmisioacuten se empaquetan o serializan con el lenguaje XML quese ha convertido en algo imprescindible en el intercambio de datos ya que es capaz de salvar lasincompatibilidades que existiacutean en el resto de protocolos de representacioacuten de datos de la red

Por otra parte los servidores Web pueden procesar las peticiones de usuario empleando tec-nologiacuteas tales como Servlets paacuteginas ASP (Active Server Pages) paacuteginas JSP (Java ServerPages) o sencillamente un servidor de aplicaciones con invocacioacuten de objetos mediante CORBACOM o EJB

Un ejemplo tiacutepico de disentildeo de un servicio Web utilizando las ventajas de SOAP podemos veren la siguiente gura 45

Figura 45 Ejemplo de uso de SOAP

45 AMF

AMF (Action Message Format) es un protocolo binario de Adobe que va por la versioacuten AMF3Aunque por el nombre de la versioacuten pueda parecer que existan 3 cabe destacar que soacutelo existendos AMF0 y AMF3 Una de las mayores diferencias o mejoras que aporta AMF3 es que soporta

datos binarios (ByteArray) y int datos no soportados por AMF0 debido a que en la eacutepoca queaparecioacute el formato Flash Player no soportaba estos tipos de datos

AMF3 no es un protocolo para transferir informacioacuten sino que representa el formato en el quese transmite la informacioacuten en este caso un formato binario

La versioacuten de Moodle 25 viene con Zend_ AMF pero podemos utilizar tambieacuten la libreriacuteaamfPHP

AMFPHP

Zend_ amf httpframeworkzendcommanual112enzendamfhtml

Maacutes informacioacuten en httpdocsmoodleorgdevAMFPHP

46 Conguracioacuten de Moodle Web Services

Los Servicios Web habilitan que otros sistemas puedan entrar a Moodle y realizar operacionesPasaremos a detallar los pasos necesarios para su conguracioacuten y explicaremos distintos pruebasllevadas a cabo sobre su funcionamiento Para poder consumir de manera correcta unWeb Servicede Moodle seriacutea necesario antildeadir a la url que vamos a formar los paraacutemetros oportunos paralograr consumir el Web Service de manera satisfactoria Una vez antildeadidos ya podriacuteamos invocarla funcioacuten seleccionada

461 Activando los Servicios Web

Lo primero que debemos hacer es activar la opcioacuten general que habilita el uso de los serviciosweb En la gura 46 podemos observar la opcioacuten para la activacioacuten de este servicio para ello nosiremos a la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Servicios Externos

Figura 46 Activacioacuten Servicios Web

Esto solo es una opcioacuten a nivel global necesitando ahora activar los protocolos de comunciacionesque vamos a utilizar para ello deberemos ir a la opcioacuten textitAdministracioacuten del Sitio - Exten-siones - Servicios Web - Administrador de protoclos donde encontraremos las diferente opcionesque nos existen En la gura 47 podemos ver la pantalla de nuestra conguracioacuten con todos losprotocolos activados

Una vez activada la opcioacuten de Servicios Externos y seleccionados los protocolos que utilizaremosnecesitamos crear un Servicio Personalizado que no es maacutes que una etiqueta que aglutina los

Figura 47 Activacioacuten Protoclos

Servicios Web que ofrece Moodle y que pueden ser utilizados por los servicios externos Para ellodeberemos darle a la opcioacuten Agregar dentro de la opcioacuten Administracioacuten del Sitio - Extensiones- Servicios Web - Servicios Externos Como prueba habilitaremos un servicio llamado Uso_Servicio_ Web cuya creacioacuten podemos ver en la gura 48

Figura 48 Creacioacuten Servicio Personalizado

Una vez creado el Servicio Personalizado deberemos agregarle las funciones que queramos lesean permitidas pudiente tener maacutes de una En la gura 49 vemos como asociamos la creacioacutende usuarios al Servicio Personalizado

Terminado esto deberemos tener en el listado que nos muestra Moodle de Servicios personaliza-dos algo como lo mostrado en la gura 410

El siguiente paso es conceder los permisos apropiados para que este Servicio Personalizado puedeser usado por los usuarios pare ello debemos primero especicar quienes son los Usuarios au-torizados para ello en la linea de la lista de Servicios Personalizados deberemos pulsar sobre laopcioacuten usuarios autorizados donde apareceraacute una pantalla como 411 donde podremos escogerlos usuarios de los que se encuentran dados de alta en nuestro sistema

Y para terminar aunque este paso podriacutea ser realizado por el propio usuario si tuviera el per-miso de moodlewebservicecreatetoken seraacute la creacioacuten de un token el cual va ser la opcioacuten quevamos a utilizar para las pruebas de los Servicios Web de Moodle Para la creacioacuten del mismodeberemos entrar en la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Admin-istrar tokens y pulsar la opcioacuten Agregar para antildeadir un token nuevo como podemos apreciar en

Figura 49 Agregando funciones al Servicio Personalizado

Figura 410 Listado de Servicios Personalizados

la gura 412 teniendo la precaucioacuten de escoger como Servicio el Servicio Personalizado creadocon anterioridad Uso_ Servicio_ Web

En esta pantalla podemos poner varios tipos de restricciones

Restriccioacuten de IP Donde podemos indicar la direccioacuten IP desde donde

Restriccioacuten de Fecha Se puede denir hasta cuando seraacute valido este token siendo unabuena manera de poder probar cosas y no dejar puertas abiertas por error

En la gura 413 podemos ver el token asignado por el sistema para nuestro Servicio Personalizadoy que procederemos a utilizar para comprobar el funcionamiento de los Servicios Web de Moodle

462 Pruebas cliente Servicio Web

Procederemos ahora a desarrollar pruebas que utilicen los Servicios Personalizados creado Sepodriacutean haber utilizado el Cliente de prueba de servicio web que incorpora Moodle dentro dela opcioacuten Administracioacuten del Sitio - Desarrollo - Cliente de prueba servicio web pero hemosdecidido implementar una Web para comprobar la facilidad del funcionamiento del sistema y losdistintos resultados obtenidos seguacuten el protocolo utilizado

Utilizaremos la libreriacutea cURL de PHP cURL es una herramienta que permite abrir conexionesen una amplia variedad de protocolos y que estaacute disponible tanto como herramienta de consola(para ejecutar directamente con comandos) como en libreriacutea (para usar en vuestro coacutedigo) y quepermite hacer praacutecticamente todo manejo de cookies descarga de cheros binarios enviacuteos de

Figura 411 Alta de Usuarios Autorizados

Figura 412 Creacioacuten de Tokens

paraacutemetros GET y POST etc

La web creada para la introduccioacuten 414 de los usuarios seraacute equivalente para todos los procesosprocesos siendo el programa que da respuesta al formulario el que implemente la funcioacuten nece-saria para la introduccioacuten de los datos en Moodle

Los resultados de REST pueden mostrar los resultados del alta de dos maneras diferentes unaen formato XML como podemos ver en la gura 415 y otro en formatox JSON tambieacuten po-dremos ver en la gura Los resultados obtenidos tambieacuten pueden verse en el la gura 416

Figura 413 Lista de Tokens

Figura 414 Web de alta de usuarios

Figura 415 Resultado de REST en formato XML

Figura 416 Resultado de REST en formato JSON

Capiacutetulo 5

Herramientas Externas

51 Introduccioacuten

Las versiones de Moodle desde la 22 vienen con IMS LTI o External Tool de manera integradaEn versiones anteriores era necesario la instalacioacuten de plugins como LTI Provider (maacutes informa-cioacuten en la web de Moodle1 IMS LTI es un estandar de IMS learing2 para la interoperabilidadde herramientas Esto signica que las herramientas de aprendizaje tienen ahora un mecanismopara jar el modo en que pueden conectarse entre ellas sin problemas

En la praacutectica cuando un usuario se registra en Moodle puede conectarse a otras herramientascomo Wikis o Blogs y autenticarse de manera automaacutetica en estas

52 Estaacutendares IMS

Actualmente se realizan esfuerzos para la integracioacuten de servicios a una plataforma virtual deaprendizaje mediante un mecanismo reutilizable independiente del tipo de plataforma El IMSGlobal Learning Consortium viene desde hace tiempo trabajando en este enfoque IMS GLCpresenta un conjunto de estaacutendares que promueven el uso de servicios de aprendizaje digitales(Digital Learning Services) dentro de las plataformas de aprendizaje tradicionales IMS DigitalLearning Services estaacute integrado por los siguientes estaacutendares principales IMS Common Car-tridge [ims a] IMS Learning Tool Interoperability [ims c] y IMS Learning Information Services[ims b]

El IMS Learning Tool Interoperability es una especicacioacuten para facilitar la inclusioacuten de her-ramientas externas dentro de un curso El administrador de la plataforma de aprendizaje ges-tiona los servicios que podraacuten ser consumidos por la plataforma el docente decide que serviciosutilizaraacute en su curso y el estudiante hace uso de los mismos IMS LTI permite que distintos LMSconsuman un mismo servicio el cual no fue implementado teniendo en cuenta el tipo de LMSsino la implementacioacuten del estaacutendar desde el lado del proveedor

El enfoque del IMS LTI estaacute dirigido a la creciente demanda de un mecanismo reutilizable para laintegracioacuten de herramientas de terceros en el nuacutecleo de las plataformas LMS Estas herramientas

1httpsmoodleorgpluginsviewphpplugin=local_ltiprovider2httpwwwimsglobalorgtoolsinteroperability2cfm

37

pueden agregar funcionalidad especializada a los LMS El enfoque ofrece una solucioacuten basada enWeb Services igualmente aplicable a distintos lenguajes de programacioacuten

Las versiones del LTI son

LTI v10 ( LTI Basic ) ( publicado en mayo de 2010 ) proporciona un meacutetodo sencillopero estaacutendar para establecer una conexioacuten segura a una herramienta desde el interior deun consumidor de herramientas El lanzamiento de este enlace permite una experienciade aprendizaje sin problemas para los estudiantes que acceden a las aplicaciones ricas queparecen tener lugar dentro del ambiente de aprendizaje Versioacuten 10 es el primer paso en eldesarrollo continuo de LTI Figura 51

LTI v11 ( publicado en marzo 2012 ) antildeade la posibilidad de pasar de nuevo un resultadode la herramienta al Consumidor de herramientas Esto permite que los estudiantes recibenuna calicacioacuten o puntuacioacuten de su interaccioacuten con la aplicacioacuten de aprendizaje

LTI v111 ( publicado en julio de 2012 ) incluye soporte para el papel Mentor que se puedeutilizar para representar a un padre tutor o auditor

LTI v20 Aun en estado de desarrollo y proporciona una plataforma maacutes sosticado y ex-tensible para permitir integraciones maacutes profundas y un mayor apoyo para los serviciosy eventos LTI 2 se basa en LTI 1 mediante la incorporacioacuten de maacutes sosticada resulta-dos de informes y una rica arquitectura de extensiones que permite servicios adicionalesque se antildeadiraacuten gradualmente LTI 2 utiliza REST y JSON-LD para ofrecer esta nuevafuncionalidad

Figura 51 Esquema LTI Baacutesico

En la gura 52 podemos observar como se podriacutean utilizar las ventajas de LTI por parte decada unos de los actores a lo largo de la vida de la aplicacioacuten de servicios externos dentro de unaplataforma de aprendizaje

En la paacutegina web de IMS3 podemos encontrar una relacioacuten de aplicaciones certicadas comocompatibles con el estaacutendar LTI indicando la versioacuten del LTI que cumplen En la gura 53podemos ver las aplicaciones certicadas por UOC y en la gura 54 la informacioacuten sobre una deestas herramientas

3httpwwwimsglobalorgccalltoolscfm

Figura 52 Esquema utilizacioacuten LTI

Figura 53 Listado de herramientas LTI de la UOC

53 Herramientas externas en Moodle

La siguiente seccioacuten consiste en la aplicacioacuten de alguno de esto servicios externos en Moodlepara comprobar su funcionamiento Nos decantaremos para la primera prueba por WordPresspues aunque existen manuales al respecto la documentacioacuten en castellano es escasa

531 Wordpress

La versioacuten estaacutendar de Wordpress a la cual accedemos cuando nos abrimos cuenta en Wordpressno viene con las herramientas necesarias para la iteracioacuten mediante LTI por lo que procedere-mos a la instalacioacuten en nuestro servidor de Wordpress para pasar a la instalacioacuten de los pluginsnecesarios

La instalacioacuten ha consistido en la descarga de la web ocial 4 de la versioacuten 351 la cual hemoscopiado dentro del directorio htdocs de nuestra instalacioacuten de Xampp Hemos dado de alta unnuevo usuario en nuestra base de datos llamado username como podemos ver en la imagen 55 yposteriormente hemos seguido los pasos que el instalador nos iba ofreciendo para tener instalado

4httpwordpressorgdownload

Figura 54 Informacioacuten sobre la certicacioacuten

Wordpress bajo la url httplocalhostwordpress

Figura 55 Usuario de Wordpress

Deberemos congurar Wordpress para que trabaje como multisitio para lo que deberemos seguirlos pasos de conguracioacuten que podemos encontrar en la web ocial de Wordpress5 bajo el nombreCreate A Network consistente en los siguientes pasos

1 Realizar una copia de seguridad por si acaso

2 Modicar el chero wp-congphp incluyendo la siguiente linea encima de Thats allstop editing Happy blogging Multisite dene (WP_ ALLOW_ MULTISITE true)

Multisite dene (WP_ ALLOW_ MULTISITE true)

3 Installar un Network Para ello hemos de entra en la opcioacuten Administration -gtTools -gtNetwork Setup donde podremos congurar opciones sobre el nombre que queremos declararpara el nuevo sitio

4 Activar el Network para ello debemos modicar los cheros wp-congphp y htaccess porlo que seriacutea bueno que realizaacuteramos primero un copia de seguridad de los mismos Loscambios que debemos realizar son los siguientes

5httpcodexwordpressorgCreate_A_Network

En wp-congphp dene(MULTISITE true)dene(SUBDOMAIN_ INSTALL false)dene(DOMAIN_ CURRENT_ SITE localhost)dene(PATH_ CURRENT_ SITE wordpress)dene(SITE_ ID_ CURRENT_ SITE 1)dene(BLOG_ ID_ CURRENT_ SITE 1)

El chero htaccess debe quedar asiacute BEGIN WordPressltIfModule mod_ rewritecgtRewriteEngine OnRewriteBase wordpressRewriteRule icircndexphp$ - [L]

add a trailing slash to wp-adminRewriteRule ([_ 0-9a-zA-Z-]+)wp-admin1wp-admin [R=301L]

RewriteCondREQUEST_ FILENAME -f [OR]RewriteCondREQUEST_ FILENAME -dRewriteRule - [L]RewriteRule ([_ 0-9a-zA-Z-]+)(wp-(content|admin|includes)) $2 [L]RewriteRule ([_ 0-9a-zA-Z-]+)( php)$ $2 [L]RewriteRule indexphp [L]ltIfModulegt

END WordPress

5 Esto nos habraacute creado en la parte izquierda de la barra de herramientas de Wordpressuna nueva opcioacuten llamada My Sites que contendraacute un listado de los sitios de nuestroWordpress

El siguiente paso seraacute la descarga del plugin los cual podremos hacerlos desde la web de sour-forgenet 6 En esta web se detalla informacioacuten sobre el plugin y como se debe instalar Siguiendolos pasos que tenemos en el mismo procederemos a la descarga y el desplegado del mismo en lacarpeta wp-contentmu-plugins Salimos de Wordpress y volvemos a entrar como superusuariosi entramos dentro de la nueva red realizada podremos ver que dentro de LTI Consumers Keystendremos la opcioacuten LTI Consumers Keys como podemos ver en la imagen 56

Aquiacute deberemos crear la clave del consumidor del servicio y la clave secreta que nos permitiraacute aMoodle conectarse a Wordpress

Una vez que tenemos la clave secreta y del consumidor deberemos volver a Moodle entrandocomo administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

6httpsourceforgenetappsmediawikilearningappsindexphptitle=LTI4Wordpress

Figura 56 Servicios LTI en Wordpress

Figura 57 Listado de claves de LTI en Wordpress

-LTI En esta paacutegina podremos rellenar nuestras opciones

Tool Name Seraacute el nombre que tendraacute la herramienta y deberemos poner alguno indicativode la herramienta que estemos utilizando

Tool Base URL Es la direccioacuten de la herramienta en nuestro caso httplocalhostwordpress

Deberemos rellenar con los datos obtenidos en Wordpress la clave de consumidor y la clavesecreta

Es importante marcar Show tool type when creating tool instances para que aparezcaposteriormente al crear los recursos en nuestros cursos

Para poder probar el sistema hemos creado un curso dentro de Moodle llamada WordpressLTIdonde daremos de la siguiente manera de alta 59

Dentro de nuestro curso seleccionamos la opcioacuten de Edicioacuten

Pulsamos sobre Antildeadir una actividad o un recurso

Seleccionamos External Tool

Rellenamos las opciones

bull Nombre de la Actividad Cualquiera de nuestra eleccioacuten

Figura 58 Conguracioacuten LTI en Moodle

bull Tipo de herramienta externa El nombre que le pusimos a la herramienta externa enla conguracioacuten LTI de Moodle

bull Launch Container Hemos elegido la opcioacuten Incrustar para ver el resultado

Figura 59 Conguracioacuten Herramienta Externa

Una vez congurado podemos lanzar la herramienta externa teniendo como resultado la gura510

Figura 510 Wordpress integrado en Moodle

532 ChemVantage

ChemVantage es un recurso gratuito para la educacioacuten cientiacuteca que incluye ejercicios de gradoejercicios de preparacioacuten exaacutemenes de la praacutectica conferencias de video y libros de texto enliacutenea gratis Fue creado por ChemVantage LLC que fue fundada por el Prof Chuck Wight queha ensentildeado Quiacutemica General en la Universidad de Utah desde 1984 (ChemVantage 2011)

Nos hemos puesto en contacto con Chuck Wight (adminchemvantageorg) para solicitarle unaclave de consumidor y secreta para poder probar este recurso desde moodle Las opciones y elcorreo puede verse en la gura 511

Una de las cosas maacutes importantes de ChemVantage y por lo que nos hemos decidido a probar esque permite la devolucioacuten de las notas obtenidas en los ejercicios realizados en las herramientasexternas a Moodle El alumno podraacute realizar las tareas en esta herramienta externa y luego sercalicadas en Moodle

ChemVantage estaacute certicada por IMS 7 como un proveedor de herramientas LTI v11 y comotal funciona desde nuestro propio LMS para llevar a cabo la autenticacioacuten de sitios provee decuentas y devuelve resultados de asignacioacuten de estudiantes con el libro LMS grado automaacutetica-mente

Los recursos disponible son ChemVantage son principalmente los siguientes

1 QuizzesLos ejercicios presentados aquiacute estaacuten disentildeados para animar a los estudiantes a leer y en-tender los libros de texto utilizados en el curso Las preguntas se basan en material que sepresente en su mayor parte en los textos de introduccioacuten de quiacutemica Los iacutetems de preguntastienen respuestas straighforward no requieren caacutelculos detallados Las preguntas se presen-tan en varios formatos diferentes incluyendo opcioacuten muacuteltiple verdadero falso casilla devericacioacuten ll-in-the-blanco y numeacutericas Cada cuestionario se compone de 10 preguntasextraiacutedas al azar de una base de datos con muchas maacutes preguntas En el proceso de tomarvarias pruebas para mejorar sus calicaciones los estudiantes probablemente encuentran

7httpdevelopersimsglobalorgcoursechemvantagehtml

algunas preguntas repetidas de concursos anteriores sin embargo es poco probable quecualquiera de los dos cuestionarios contendraacute exactamente el mismo conjunto de preguntasen el mismo orden Asignando pruebas para ser completado antes de la conferencia losprofesores pueden estar seguros de que sus estudiantes tengan un poco de exposicioacuten almaterial Esto permite una mayor discusioacuten el diaacutelogo y la participacioacuten en el aula y haceel aprendizaje maacutes divertido (de verdad)

2 Video LecturesUna serie de conferencias de viacutedeo de 10 minutos sobre una variedad de temas de QuiacutemicaGeneral es accesible desde la paacutegina principal Los videos estaacuten disentildeados para reforzar lospuntos principales que se presentan en muchos libros de texto

3 HoweworksLas tareas estaacuten disentildeadas para dar a los estudiantes la praacutectica en la resolucioacuten de proble-mas cuantitativos que tienen respuestas numeacutericas Cada alumno puede descargar la tareatrabajar los problemas y presentar las respuestas en liacutenea Respuestas son juzgados a sercorrecta si la solucioacuten numeacuterica de acuerdo con la solucioacuten que se encuentra en la base dedatos dentro de una tolerancia especicada (indicado para cada problema) El sitio informaa los estudiantes que las respuestas son correctas para que puedan rehacer problemas malresueltos y volver a presentar las respuestas Cada problema se basa en una plantilla queatrae paraacutemetros al azar por lo que la respuesta correcta es diferente para cada estudianteEsto hace que sean adecuadas para la colaboracioacuten y el trabajo en grupo porque a pesarde que el grupo puede trabajar para encontrar un algoritmo correcto para resolver un prob-lema cada estudiante tendraacute que usar el algoritmo para encontrar la solucioacuten detallada asu propio problema

4 Practice ExamsLos estudiantes pueden realizaar exaacutemenes de praacutectica cronometrados que muestran laspreguntas de un grupo de 3 o maacutes temas Cada examen estaacute disentildeado para tardar unos60 minutos o menos e incluye una seleccioacuten de 10 preguntas Las praacutecticas de exaacutemenespueden repetirse cuantas veces se desee Las preguntas numeacutericas son parametrizadas loque es muy poco probable que un estudiante realice alguna vez dos exaacutemenes de praacutecticaideacutenticos

5 Portofolio PageCada estudiante puede acceder a una paacutegina que le da la puntuacioacuten obtenida en cada prue-ba y la asignacioacuten de tareas Los estudiantes que son miembros de un grupo tienen unapaacutegina de resultados asociados a las tareas de grupo Hay una paacutegina de carpeta separadaque contiene un resumen de todas las actividades realizadas en ChemVantage incluyendovideos vistos cuestionarios completados resolver problemas con la tarea y la praacutectica deexaacutemenes completados Las puntuaciones en los exaacutemenes de praacutectica son desagregadospara revelar fortalezas y debilidades estudiantes por temas

Hemos procedido a darlo de alta en LTI como hicimos con Wordpress Entramos en Moodle co-mo Administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

Figura 511 Correo de Chuck Wight

-LTI quedando como resultado la siguiente hoja de paraacutemetros gura 512

El siguiente paso seraacute antildeadir la herramienta dentro de nuestro curso para ello pulsaremos sobreAntildeadir una actividad o un recurso Deberemos seleccionar External Tool y rellenamos las op-ciones de la herramienta seleccionando como Tipo de herramienta externa la opcioacuten creada enel apartado de LTI de Moodle

Una vez congurado la herramienta en Moodle podemos entrar para realizar una personalizacioacutende la herramienta gura 513 esta consiste en indicar si el alumno cuando se conecta realiza undeterminado tarea o puede elegir navegar por la web de ChemVantage para poder disfrutar dela cantidad de recursos que se encuentran disponibles

Cuando el usuario pulsa sobre la opcioacuten de esta herramienta externa en Moodle lo primero quese le muestra es la informacioacuten sobre su perl en Chemvantage 514Como hemos visto en los paraacutemetros de conguracioacuten existe la posibilidad de llamar a unaherramienta externa incrustaacutendola dentro de Moodle o abrieacutendolo en una paacutegina web nuevaCon esta segunda opcioacuten no hemos conseguido que funcione correctamente la importacioacuten de lasnotas En cambio si la herramienta externa estaacute incrustada permite esa vinculacioacuten

Figura 512 Conguracioacuten de paraacutemetros LTI

Figura 513 Opciones de inicio de la herramienta

Figura 514 Pantalla de utilizacioacuten de la herramienta por el usuario

Capiacutetulo 6

Middleware

61 Introduccioacuten

La uacuteltima opcioacuten seriacutea utilizar una arquitectura middleware de integracioacuten que permita la inte-gracioacuten ligera de muacuteltiples herramientas existentes en el Moodle

62 GluePS

GLUE-PS es una arquitectura de middleware que permite una interoperabilidad ligera entrelos diferentes lenguajes de disentildeo de aprendizaje y diferentes entornos de aprendizaje virtualEsta interoperabilidad permite a los maestros y otros profesionales que particularicen (es decirpara personalizar el disentildeo de aprendizaje abstractoa la clase particular los participantes y laeleccioacuten de los instrumentos en los que va a ser promulgada) desplieguen (es decir para crearde forma semiautomaacutetica las actividades necesarias en el VLE recursos etc para la aprobacioacutendel disentildeo particularizado) e incluso para llevar a cabo ciertos cambios en el tiempo de ejecucioacuten(por ejemplo modicar la composicioacuten del grupo agregar o quitar recursos de las actividadesetc) Todo esto a partir de disentildeos en distintos lenguajes de disentildeo de aprendizaje tales como laespecicacioacuten IMS-LD aprendizaje

Por otra parte GLUE-PS tambieacuten permite desplegar y gestionar disentildeos de aprendizaje en en-tornos virtuales de aprendizaje que integren herramientas de aprendizaje externos (tales comointegrar en Moodle herramientas como Google Docs y muchos otros) - lo que llamamos Am-bientes de Aprendizaje Distribuido (DLE Distributed Learning Enviroments) Esto se consiguegracias a la arquitectura de GLUE para la integracioacuten de los entornos virtuales de aprendizajey herramientas externas

621 Instalacioacuten

Para realizar la instalacioacuten de GLUE-PS nos hemos descargado el software necesario de la webde los desarrolladores1 descargando la opcioacuten de autenticacioacuten centralizada La instalacioacuten haconstado de tres partes que pasaremos a describir a continuacioacuten

1httpwwwgsicuvaesglue

49

Figura 61 Arquitectura de GLUE

La primera parte consiste en la instalacioacuten del GLUEletManager y los adaptadores GSIC toolAunque el sistema viene preparado para Linux o Windows siendo Windows la explicacioacuten quevamos a desarrollar por estar utilizando este sistema operativo con Xampp

1 Crear el directorio GLUE_ HOME El cual hemos creado para mayor comodidad en la raiacutezdel disco duro

2 Denir la variable del sistema GLUE_ HOME con el valor de la direccioacuten completa deldirectorio de GLUE del punto anterior Para ello hemos pulsado botoacuten derecho sobre MiPc Propiedad Opciones Avanzadas Variables de Entorno procediendo a pulsar el botoacutenNueva para crear la variable en cuestioacuten

3 Extraemos en el directorio del punto (1) el paquete descargado de la paacutegina de los desar-rolladores

4 Ejecutar la instalacioacuten del cheroGLUE_ HOMEbininstall gluebat para registar GLUElet-Manager y GSIC tool como un servicio de Windows Tambieacuten este paso crearaacute un cheroen GLUE_ HOMEtool_ adapteradapterdata para proveer de persistencia a los objetoscreados con el adaptador GSIC tool

A continuacioacuten daremos de alta en nuestro gestor de bases de datos un para de bases de datosque necesita GLUEletManager Para ellos seguimos los siguientes pasos

1 Abrimos la consola de phpMyaAdmin para cargar y ejecutar el chero create_ GLUE_databasessql que se encuentra en GLUE_ HOMEmanagerconfdb

2 Modicamos el chero GLUE_ HOMEmanagerconfMETA-INFpersistencexml paradarle los paraacutemetros necesarios para que JDBC se conecte a nuestra base de datos Losparaacutemetros modicados puede verse en la imagen 62

Figura 62 Paraacutemetros modicados en persistencexml

La segunda parte consiste en el registro interno de los adaptadores de las herramientas para seraccedido con GLUEletManager La distribucioacuten trae un chero para facilitar la conguracioacuten delos adaptadores que trae consigo y para su instalacioacuten deberemos ejecutar el chero GLUE_HOMEmanagerconfdbll _ internal_ Registrysql Alguna de las herramientas necesitanuna conguracioacuten maacutes completa como puede ser Google Docs adapter que necesita una cuentade Gmail para poder crear documentos en Google Docs por lo que deberemos modicar el nom-bre de usuario y contrasentildea

La uacuteltima parte consiste en la instalacioacuten del adaptardor de Moodle como VLE utilizado Estainstalacioacuten es como cualquier otro moacutedulo de Moodle 2 La carpeta que deberemos copiar seraacutela del adaptador correspondiente a Moodle que se encuentra en la carpeta GLUE_ HOMEvle_adpatersmoodle_ vle_ adapter Una vez entremos en nuestro Moodle como administrador nosapareceraacute un mensaje indicaacutendonos que el nuevo moacutedulo esta instalado Para congurar el nuevomoacutedulo debermos ir a Noticaciones - Modulos - Actividades como podemos ver en la gura 63para congurar los paraacutemetros la URL del GLUEletManager y el tiempo de espera

Figura 63 Paraacutemetros del moacutedulo GLUE

Cuando el profesor quiera crear una nueva actividad dependiente de los adaptadores de GLUEdeberaacute agregar una actividad maacutes pulsando para ello en esta opcioacuten dentro del bloque deseadopara seleccionar luego el tipo de actividad GLUElet como podemos ver en la gura64

622 Creando un Doodle

El adaptador Doodle permite la creacioacuten conguracioacuten y gestioacuten de instancias del Doodle Cadaencuesta Doodle es considerado un instancia diferente Ademaacutes este adaptador permite realizarademas la conguracioacuten inicial de encuestas Doodle incluyendo el nombre de la encuesta unadescripcioacuten y un conjunto de posibles respuestas

A continuacioacuten antildeadiremos Doodle en un bloque de Moodle para ellos pulsaremos la opcioacuten deAgregar actividad GLUElet lo cual nos mostraraacute la paacutegina65 donde deberemos rellenar comomiacutenimo el nombre de la actividad y el tipo de herramienta seleccionado en este caso Doodle(httpdoodle-testcom)

2httpdocsmoodleorgenInstalling_contributed_modules_or_plugins

Figura 64 Creando una actividad GLUElet

La primera vez que pulsemos sobre la nueva actividad creada apareceraacute un pantalla 66 dondepodemos congurar diferentes elementos de la encuesta desarrollada con Doodle como son eltiacutetulo una pequentildea descripcioacuten y luego las opciones posibles con un liacutemite de 10

El resultado nal seraacute la incrustacioacuten de una encuesta Doodle dentro de nuestro Moodle comopodemos ver en la gura67

Figura 65 Antildeadiendo Doodle como actividad

Figura 66 Opciones iniciales de conguracioacuten de Doodle

Figura 67 Doodel dentro de Moodle

Capiacutetulo 7

Conclusiones Finales

71 Conclusiones Finales

El proyecto actual nos ha servido para acercarnos a las diferentes tecnologiacuteas que permiten lacomunicacioacuten entre Servicios Webs Hemos desarrollado una primera labor de investigacioacuten queha requerido el aprendizaje de diferentes herramientas de control de documentacioacuten y referenciascomo Zotero y Mendeley

La documentacioacuten recabada en el proceso inicial de revisioacuten de documentos nos ha aportadoun visioacuten general de los diferentes sistemas virtuales de aprendizaje que podemos encontrarnosmuchos de ellos gratuitos y las diferentes soluciones que se plantean a la necesidad de incluirrecursos de otros fabricantes que en principio no fueron concebidos para ser utilizados dentro deuna plataforma VLE

Para poner en praacutectica la diferentes opciones encontradas se han montado diferentes maacutequinasvirtuales sobre las que se han probado las mismas Las conclusiones nales se pasan a detallar

IMS LTIEsta solucioacuten de integracioacuten mediante el cumplimiento de unos protocolos y certicacionesde las herramientas que lo cumplen es en principio la que podriacutea parecer la mejor opcioacutenpero la falta de compromiso de los diferentes fabricantes de Servicios Web y la luchapara imponer sus propios estaacutendares hace que aun quede mucho para que esta opcioacuten seacomo tal real

Si vemos el nuacutemero de aplicaciones certicadas para usar IMS LTI apenas superan las 50 yla mayoriacutea solo cumple la especicacioacuten v10 lo cual signica que la integracioacuten solo solu-ciona el problema de llamar a un recurso externo desde Moodle Pocas son las que cumplenla v11 que permite obtener en Moodle una valoracioacuten de los ejercicios desarrollados en unaactividad externa

La versioacuten v20 que daraacute maacutes opciones a la hora de interactuar con actividades externasauacuten esta en desarrollo y nada se sabe sobre posibles fechas para su presentacioacuten Luegocerticacioacuten de herramientas etc

55

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 8: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

416 Resultado de REST en formato JSON 36

51 Esquema LTI Baacutesico 3852 Esquema utilizacioacuten LTI 3953 Listado de herramientas LTI de la UOC 3954 Informacioacuten sobre la certicacioacuten 4055 Usuario de Wordpress 4056 Servicios LTI en Wordpress 4257 Listado de claves de LTI en Wordpress 4258 Conguracioacuten LTI en Moodle 4359 Conguracioacuten Herramienta Externa 43510 Wordpress integrado en Moodle 44511 Correo de Chuck Wight 46512 Conguracioacuten de paraacutemetros LTI 47513 Opciones de inicio de la herramienta 47514 Pantalla de utilizacioacuten de la herramienta por el usuario 47

61 Arquitectura de GLUE 5062 Paraacutemetros modicados en persistencexml 5063 Paraacutemetros del moacutedulo GLUE 5164 Creando una actividad GLUElet 5265 Antildeadiendo Doodle como actividad 5366 Opciones iniciales de conguracioacuten de Doodle 5367 Doodel dentro de Moodle 54

Capiacutetulo 1

Revisioacuten Sistemaacutetica de la Literatura

11 Objetivos del SLR

Hemos partido de un SLR detallado en la PEC1 bastante ambicioso en el que se intentaronabordar la buacutesqueda de herramientas y estado actual de la coreografiacutea y orquestacioacuten de serviciosweb en la plataforma Moodle Pasaremos a detallar el estudio realizado y los resultados obtenidos

12 Estudio Inicial

La fase de planicacioacuten inicial incluiacutea el la buacutesqueda para la obtencioacuten de estudios o trabajos enlas siguiente libreriacuteas

IEEEXplore [IEEEX] httpieeexploreieeeorg

Science Direct [SD] httpwwwsciencedirectcom

SpringerLink [SL] httpwwwspringerlinkcom

Las cadenas de buacutesqueda empleadas aparecen listadas en la tabla 11 de la paacutegina 1 En la tablaTAK indican Title Abstract Keywords y A indica All Ambos casos se reeren a los campos debuacutesqueda utilizados

Cuadro 11 Fuentes de datos y cadenas de buacutesquedas reali-zadas

Libreriacutea Buacutesqueda AacutembitoIEEEX (Moodle AND Web services) TAKIEEEX (Orchestration OR Coreography) ANDWeb Ser-

vicesTAK

IEEEX (Orchestration OR Coreography) AND Moodle TAKIEEEX (Orchestration OR Coreography) AND (lms OR

Learning Management System)TAK

SD (Moodle AND Web services) TAKSD (Orchestration OR Coreography) ANDWeb Ser-

vicesTAK

continuacutea

1

Cuadro 11 continuacioacutenLibreriacutea Buacutesqueda AacutembitoSD (Orchestration OR Coreography) AND Moodle TAKSD (Orchestration OR Coreography) AND (lms OR

Learning Management System)TAK

SL (Moodle AND Web services) TAKSL (Orchestration OR Coreography) ANDWeb Ser-

vicesTAK

SL (Orchestration OR Coreography) AND Moodle TAKSL (Orchestration OR Coreography) AND (lms OR

Learning Management System)TAK

Los resultados obtenidos podemos observarlos en la gura 11

Figura 11 Resultados SLR

Los resultados de Springer Link para la consulta (Orchestration OR Coreography) ANDWeb Services fueron en principio un problema por la cantidad de artiacuteculos que arrojaba2734 en total aun asiacute empezoacute a trabajar con ello La idea de un SLR es realizar una lecturainicial de los Abstracts para ver si la informacioacuten obtenida es de nuestro intereacutes y si fuera asiacuteprofundizar en la lectura del documento

Comenzamos trabajando con la libreriacutea de IEEE Digital Library (Xplore) El portal de estalibreriacutea nos facilitoacute mucho el trabajo pues pudimos permite la opcioacuten de exportar de manerasencilla como podemos ver en la gura 12 a una hoja de calculo que hemos utilizado para irdetallando aquellos documentos que hemos considerado importantes durante el estudio

Figura 12 Exportacioacuten en IEEE

Los resultados exportados por este portal son bastante completos sobre todo porque contiene elAbstract de los documentos por lo que la lectura de los mismos no se tiene que realizar en demanera individual en la web o descargando los documentos En la gura 13 podemos ver comose importaron en nuestra hoja de calculo los datos obtenidos

Figura 13 Importacioacuten en Hoja de Caacutelculo

Despueacutes de realizar la lectura los Abstracts hemos continuado con ScienceDirect donde los re-sultados fueron menores que los obtenidos con IEEE Este portal tambieacuten permite la opcioacuten deexportar de manera sencilla como podemos ver en la gura 14 permitiendo la opcioacuten de incluirlos Abstracts

Figura 14 Exportacioacuten en SD

Para acabar este uacuteltimo bloque nos quedaba revisar SpringerLink el cual se presentaba comoel maacutes prometedor por el gran nuacutemero de resultados obtenidos La revisioacuten de tantos artiacuteculos sepresentaba ardua pero no se esperaba que fuera tanto pues el portal no permite la exportacioacutende los Abstracts de los documentos encontrados Realizar la descarga de 2924 documentos parasu revisioacuten se nos haciacutea algo inviable dentro de los plazos para entrega del presente proyectosiendo por lo tanto seguir con los paraacutemetros de buacutesqueda iniciales En la gura 15 podemosver cuales son los campos que permite la exportacioacuten de este portal

Esto hizo replantearnos el estudio por lo que hemos replanteado el mismo reduciendo los con-ceptos a buscar para ello hemos realizado la buacutesqueda solo de los artiacuteculos directamente rela-cionados con Moodle y la coreografiacutea y orquestacioacuten de servicios web es decir (OrchestrationOR Coreography) AND Moodle y hemos incluido un nuevo buscador Google Scholar

Figura 15 Exportacioacuten en SD

httpscholargooglecom para de esta manera compensar la reduccioacuten de las buacutesquedas

La buacutesqueda por lo tanto puede ser resumida en la siguiente tabla 16 donde podemos comprobarla gran cantidad de artiacuteculos encontrados gracias a la utilizacioacuten de Google Scholar

Figura 16 Resumen de resultados

Los resultados de Google Scholar eran prometedores pero tambieacuten presentaban problemas parasu exportacioacuten despueacutes de varias consultas para buscar informacioacuten al respecto se conguroacute labuacutesqueda para que permitiera la exportacioacuten de los enlaces encontrados como podemos ver enla gura 17 pero esta opcioacuten nos volviacutea a obligar a realizar una consulta individual de cadaelemento

Figura 17 Conguracioacuten de Google Scholar

Aunque podriacuteamos realizar la buacutesqueda de esta manera sobre todo por los resultados esperadosel tener que realizar la buacutesqueda desde el navegador presentando solo 20 resultados por paacutegina seantojaba bastante pesada sobre todo si se teniacutea que retomar la buacutesqueda en diversos periodos detiempo La solucioacuten que se encontroacute fue la instalacioacuten de Zotero httpwwwzoteroorg Laherramienta permite instalacioacuten de un complemento para Firefox que se utilizoacute para realizar ladescarga de todos los enlaces Este complemento tambieacuten permite la visualizacioacuten de los enlacesen la web como podemos ver en la gura 18 Aun asiacute se decidioacute realizar la instalacioacuten de laversioacuten consola de Zotero para trabajar mejor con carpetas y de esta manera reorganizar lasreferencias encontradas

Figura 18 Resultados en Zotero

Capiacutetulo 2

Plataformas VLE e integracioacuten

En esta seccioacuten describiremos el Entorno Virtual de Aprendizaje pondremos ejemplos de ellos yveremos las necesidades que generan en el desarrollo del proceso de aprendizaje por la falta deintegracioacuten de nuevas herramientas algunas de ellas utilizadas por si sola como herramientas deaprendizaje Detallaremos los problemas de la integracioacuten y expondremos las posibles solucionesa ello

21 VLE

El Entorno Virtual de Aprendizaje (VLE - Virtual Learning Enviroment) suele ser un teacuterminomuy usado en la educacioacuten a traveacutes de ordenador pero no existe una denicioacuten acordada porlo que muchas veces es confundido con otros teacuterminos anaacutelogos como Learning ManagementSystem (LMS) Sistema de Gestioacuten de Contenidos (Content Management System - CMS) o unaPlataforma de aprendizaje (Learning Plataform - LP)

Las deniciones maacutes aceptadas para VLE pues dada en el 2000 por Joint Information Sys-tems Committee (JISC) en el 2000 [Stiles 2000] indicando que son ccedilomponents in which learn-ers and tutors participate in on-line interactions of various kinds including on-line learningExisten otros autores que no estaacuten de acuerdo con la necesidad de interacciones on-line como[Dillenbourg et al 2002] que los excluyen de su denicioacuten Britain an Liber [Britain et al 2004]tambieacuten omiten la comunicacioacuten on-line de su denicioacuten indicando que las VLEs pretender darcabida a una amplia gama de estilos de aprendizaje y objetivos para fomentar el aprendizajecolaborativo y basado en recursos para permitir una mayor intercambio y reutilizacioacuten de recur-sos [Britain et al 2004]

Una de las deniciones mas formal y comuacutenmente citada fue dada en el trabajo de Dillengourgs[Dillenbourg et al 2002] el cual expone siete argumentos distintivos

1 VLEs are designed information spaces in which multiple authors can produce both struc-tured and unstructured information

2 VLEs are social spaces that promote interactions and discussions both synchronously orasynchronously

3 VLEs are explicitly represented ranging from text-based interfaces to complex 3D graphicalsystems

7

4 VLE students are also actors thus producing rather than consuming contents

5 VLEs are not restricted to distance education supporting also presential and blended learn-ing situations

6 VLEs integrate heterogenous technologies (including a variety of tools supporting diferenttasks) and multiple pedagogical approaches because integration is under the idea of envi-ronment

7 Most VLEs overlap with physical environments at some point since learning activities mayinvolve the use of non-computerized resources or interactions among participants

Por tanto el VLE conlleva un paso hacia delante por constituir un espacio virtual que utilizatecnologiacuteas heterogeacuteneas en el que los alumnos son activos usuarios siendo sistemas centrados enlos educadores que permiten el disentildeo instanciacioacuten promulgacioacuten y evaluacioacuten de situacionesde aprendizaje colaborativo a traveacutes de un conjunto de actividades de aprendizaje que puedenser siacutencronas o asiacutencronas cara a cara o a distancia individuales o de manera colaborativa

211 Ejemplos de VLEs

Existen actualmente diversos VLEs amplimente difundidos y no paran de aparecer nuevos loscuales intentan incluir nuevos teacutecnicas aplicadas al aprendizaje como puede ser el 3D [Nonis 2005]Hemos realizado el resumen por [Alario-Hoyos et al 2012] para mostrar una tabla en la gura21 de los maacutes importantes Moodle Lams LRN Sakai Blackboard Claroline Sharepoint LMSy sus caracteriacutesticas teacutecnicas y funcionales

22 Herramientas de Software

El uso de aplicaciones software como apoyo al aprendizaje ha jugado un papel muy importantesobre todo a la incorporacioacuten del ordenador a nuestra vida diaria Sin embargo no ha sido hastalos uacuteltimos antildeos con la difusioacuten de las tecnologiacuteas web y la posibilidades que ofrece de accesoraacutepido y ubicuo a los recursos e informacioacuten lo que ha provocado la proliferacioacuten de las her-ramientas de Software como Servicio (Software as Service - SaaS) siendo adoptadas en todas lasetapas del aprendizaje

La tendencia actual de los usuarios a generar y compartir contenidos a traveacutes de las herramientasde la llamada Web 20 la mayoriacutea de las cuales son aplicaciones SaaS ha cambiado la formade aprender fomentando la comunicacioacuten colaboracioacuten y ha fomentado un aprendizaje masconstructivista Algunos ejemplos de estas herramientas son

Google Drive httpsdrivegooglecom

Twitter httpstwittercom

Delicious urlhttpsdeliciouscom

Google Maps httpsmapsgooglees

Flickr httpwwwflickrcom

Doodle httpwwwdoodlecom

Figura 21 Anaacutelisis de VLEs

Miles de estas herramientas son usadas como apoyo en las actividades de aprendizaje Muchasde estas herramientas podemos encontrarlas valoradas en un ranking en webs como Tops 100Tools for Learning1 de la cual mostramos la gura 22 tambieacuten podemos encontrarlas en CcediloolsTools for Schools2

221 Integracioacuten de herramientas

Aunque hemos podido ver que existe un gran nuacutemero de herramientas software la cuales puedenapoyar el desarrollo docente son pocos los VLEs y otras plataformas similares utilizadas porlos educadores para disentildear y prestar sus actividades formativas las que incluyen un nuacutemeromuy restringido de estas herramientas de manera integrada Los educadores suelen indicar laslimitaciones que los VLEs tienen en este caso demandando maacutes alternativas para soportar susparticulares aprendizajes colaborativos Por ello ha emergido con fuerza la integracioacuten de her-ramientas externas en los VLEs sobre todo para el uso de SaaS y aplicaciones Web 20

Debemos tener en cuenta que

La integracioacuten de las herramientas actuales en los entornos VLEs actuales suele ser laopcioacuten maacutes aceptada aunque existen otras alternativas

Las SaaS y las aplicaciones Web 20 han sido ampliamente adoptadas como herramientas de

1httpc4lptcouktop100tools2httpcooltoolsforschoolswikispacescom

Figura 22 Top 100 Tools - Abril 2013

aprendizaje pero existen otras herramientas con su particularidades teacutecnicas que puedenser interesantes y tenida en cuenta como actividades de aprendizaje en los VLEs

Estas herramientas usadas durante el ciclo de vida de aprendizaje colaborativo deben poderser analizadas para estudiar sus resultados

El ciclo de vida del aprendizaje colaborativo consta de cuatro fases disentildeo despliegue pues-ta en marcha y evaluacioacuten Las herramientas de software suelen utilizarse principalmenteen dos de ellas en el despliegue donde las herramientas son seleccionadas dependiendo delos objetivos del aprendizaje la conguracioacuten social y las estructuras de las actividades arealizar y en la fase de puesta en marcha pues son utilizadas por los estudiantes para re-alizar sus actividades y de esta manera alcanzar los objetivos del aprendizaje En la fase deevaluacioacuten estas realmente no son importantes pues no nos interesa tanto la herramientacon la que se haya realizado sino el contenido de esos resultados La fase de disentildeo es dondese consideran las tareas a realizar para llevar a cabo el aprendizaje y no herramientas autilizar para ello Aunque estas cuatro fase puede ser ampliadas o reducidas es ampliamenteaceptado En la gura podemos ver graacutecamente este ciclo

Figura 23 Ciclo de vida del aprendizaje colaborativo

222 Problemas en la integracioacuten

El problema general de la integracioacuten de muacuteltiples herramientas externas en diversos VLEspodemos observarlo en la gura 24 donde podemos ver en un lado diferentes VLEs consus correspondientes APIs arquitectura y caracteriacutesticas mientras en el otro lado diferentestecnologiacuteas interfaces y desarrollos para una gran variedad de propoacutesitos Cada uno deellos puede imponer sus restricciones para la integracioacuten Estos requerimientos es lo queha sido denominado por ejemplo en LAMS como ccedilontrato de integracioacuten el cual intentadeterminar las tecnologiacuteas interfaces y modelos de datos que deben ser empleados para lacomunicacioacuten entre un sistema y el programa que intente integrarlo

Cada herramienta puede tener una o maacutes opciones de integracioacuten Algunas son especiacute-cas para una cierta herramienta (Ej comunicacioacuten basado en Rest para Delicious y paraSlidshare de manera diferente) y otras comuacuten para varias herramientas (Ej Google DataProtocol) Lo mismo ocurre en el lado de los VLEs por lo que se abre un amplio abanicode tecnologiacuteas interfaces y modelos de datos que hacen que la tarea de integracioacuten seaalgo realmente complejo En la gura 25 podemos ver un resumen de los problemas deintegracioacuten seguacuten las herramientas seleccionadas

223 Enfoques de la integracioacuten

Podemos denir dos enfoques principales a la hora de enfocar la integracioacuten de las her-ramientas de software y los VLEs siendo estos

bull Estandarizar los contratos de integracioacutenLa denicioacuten de unos estaacutendares de integracioacuten podriacutea resolver los problemas de in-tegracioacuten pero no existen hoy en diacutea los mismos o no son aceptados por la mayoriacutea

Figura 24 Problemas de integracioacuten

seguramente por intereses tecnoloacutegicos y comerciales IMS Global Learning Consor-tium siguen intentando realizar la aprobacioacuten de dicho estaacutendar siendo uno de elloIMS-LTI Integracioacuten de aplicaciones y servicios remotos y aunque la adopcioacuten de losmismo por las nuevas versiones de Moodle y Blackboard podriacutea hacer que se apos-tara por esta opcioacuten la falta de herramientas que lo utilicen (Ej Google no lo utiliza)puede hacer que no llegue a buen puerto

bull Crear una arquitecturaEste enfoque trata de adaptar los contratos de integracioacuten de los VLEs y las her-ramientas sin tener que modicar sus implementacioacuten Este mismo enfoque presentados opciones como podemos ver en la gura 26 y que pasamos a detallar

1 Un adaptador por en el lado de VLE y otro en el lado de las herramientas o inclusoun solo paquete que pueda congure toda la conexioacuten En este caso estariacuteamoshablando por ejemplo de los moacutedulo adicionales de Moodle

2 Una capa intermedia y adaptadores Este tipo de arquitectura permite la in-tegracioacuten entre muacuteltiples herramientas externas y muacuteltiple entorno virtuales deaprendizaje a traveacutes de un middleware comuacuten Dicho middleware estariacutea com-puesto de diferentes programas que pueden ser ejecutados en dominios diferentesEsta arquitectura reduce el esfuerzo para la integracioacuten de cada herramienta encada VLE ya que el coacutedigo estaacute parcialmente implementado por los elementos deintegracioacuten comunes Sin embargo el grado de integracioacuten y funcionalidad que sepuede lograr con estas arquitecturas es menor que con la primera opcioacuten

23 Servicios Web

Aunque han sido englobados dentro de integracioacuten de herramientas vamos a detallar queson y que aportan a Moodle

Figura 25 Problemas de integracioacuten

Los Servicios Web (Web Services) son la parte esencial de la interoperabilidad de Moodlecon otras aplicaciones Web 20 consisten en una pieza de software que utiliza un conjuntode protocolos y estaacutendares abiertos para intercambiar datos entre aplicaciones La idea prin-cipal es que distintas aplicaciones de software desarrolladas en lenguajes de programacioacutendiferentes y ejecutadas sobre cualquier plataforma puedan utilizar los servicios Web paraintercambiar datos en la red de ordenadores como Internet El producto resultante es unconjunto de moacutedulos con funcionalidad especiacuteca y completa que se acoplan entre siacute A suvez estos moacutedulos se conectan a una plataforma de e-learning mediante la utilizacioacuten deservicios de base descritos en una capa estaacutendar que funciona como gateway

Para ampliar un poco mejor el concepto de servicios Web citaremos una exposicioacuten delDoctor Marcos Escobar Un Web Service es un componente de software que se comunicacon otras aplicaciones codicando los mensaje en XML y enviando estos mensaje a traveacutesde protocolos estaacutendares de Internet tales como el HTTP Intuitivamente un Web Servicees similar a un sitio Web que no cuenta con un interfaz de usuario y que da servicio a lasaplicaciones en vez de a las personas Un Web Service en vez de obtener solicitudes desdeel navegador y retornar paacuteginas Web como respuesta lo que hace es recibir solicitudes atraveacutes de un mensaje formateado en XML desde una aplicacioacuten realiza una tarea y de-vuelve un mensaje de respuesta tambieacuten formateado en XML

Figura 26 Enfoques de arquitectura de integracioacuten

231 Orquestacioacuten y Coreografiacutea de Servicios Web

Seguacuten Careaga Mercadillo Ana Lilia [car ] la Orquestacioacuten (Web Service Orchestration)y Coreografiacutea (Web Service Choreography) se suelen ver como dos aproximaciones parala Composicioacuten de Servicios Web que se acercan estrechamente a los conceptos musicalespor lo cual se han importado directamente sus signicados A continuacioacuten detallaremosque son y sus posibles aplicaciones

La tarea de componer servicios Web baacutesicos o simples para brindar servicios Web maacutes com-plejos se conoce teacutecnicamente como Composicioacuten de Servicios Web Existen dos grandesaproximaciones para esta tarea la coreografiacutea con foco en la interaccioacuten entre servicios(equivalente a los bailarines) y la orquestacioacuten (equivalente a los instrumentos de la orques-ta) con foco en la implementacioacuten y ejecucioacuten de servicios La primera puede consid-erarse como una descripcioacuten formal del pasaje de mensajes obviando detalles internosde implementacioacuten Se ajusta maacutes en situaciones donde es provechoso contar con la no-cioacuten de estados y tambieacuten donde estaacuten involucradas transacciones de larga duracioacuten- Elorquestadordetermina la naturaleza y la secuencia de la interaccioacuten En cambio la segun-da aproximacioacuten describe la loacutegica y el estado de cada una de las partes involucradas Laorquestacioacuten tiene una visioacuten mas local y centralizada mientras que la coreografiacutea denela composicioacuten desde una perspectiva global sin control centralizado tal y como sucede enla danza

Existen numerosas deniciones de Servicios Web y esto demuestra en parte la gran com-plejidad de los servicios que se agrupan bajo este teacutermino y las implicaciones asociadas aellos Hasta ahora la denicioacuten maacutes general y convincente es decir que los Servicios Webson el conjunto de aplicaciones tecnoloacutegicas con capacidad para interoperar en la Web Es-tas tecnologiacuteas intercambian datos entre ellas con el n de ofrecer servicios de naturalezaremota

La World Wide Web no es soacutelo un espacio de informacioacuten tambieacuten es un espacio de inter-accioacuten Utilizando la Web como plataforma los usuarios de forma remota pueden solicitar

un servicio que alguacuten proveedor ofrezca en la red Pero para que esta interaccioacuten funcionedeben existir unos mecanismos de comunicacioacuten estaacutendares entre diferentes aplicacionesEstos mecanismos deben poder interactuar entre siacute para presentar la informacioacuten de formadinaacutemica al usuario Se precisa pues una arquitectura de referencia estaacutendar que hagaposible la interoperabilidad y extensibilidad entre las distintas aplicaciones y que permitasu combinacioacuten para realizar operaciones complejas Esta arquitectura es conocida con elnombre de SOA (Service Oriented Architecture)

Con el n de estandarizar los diferentes aspectos relacionados con los servicios Web elW3C (World Wide Web Consortium) recoge todo lo referente a ellos en (Web ServicesActivity) Asiacute pues Web Services (WS) ofrece un signicado estaacutendar para interoperarentre diferentes aplicaciones de software corriendo en diferentes plataformas yo marcosde trabajo El W3C pretende disentildear la arquitectura denirla y crear el nuacutecleo de tec-nologiacuteas que hagan posible los Servicios Web Los servicios Web se basan en un lenguajede caracteriacutesticas especiales llamado XML (Extensible Markup Language) que permite quelas aplicaciones compartan informacioacuten y que ademaacutes invoquen funciones de otras apli-caciones independientemente de coacutemo se hayan creado dichas aplicaciones y del sistemaoperativo o plataforma en que se ejecuten Por ejemplo Google utiliza un Servicio Webllamado Google Web APIs que permite que el usuario programe en diversos lenguajes ase-gurando la recuperacioacuten de informacioacuten independientemente de la plataforma que se utilice

Los Servicios Web se idearon en un principio para realizar interacciones simples e indepen-dientes pero ahora es necesario que los servicios colaboren y se coordinen A la coordinacioacutennecesaria para implementar un servicio Web se le llama Composicioacuten que puede realizarsede dos manerasorquestacioacuten y coreografiacutea La principal diferencia entre orquestacioacuten ycoreografiacutea es el alcance La orquestacioacuten trata de la descripcioacuten y ejecucioacuten de un mismoy uacutenico punto de vista global del modelo (instrumentacioacuten) La coreografiacutea trata de la de-scripcioacuten y guiacutea de un modelo global proyectado en base a cada participante (bailarines)La orquestacioacuten y coreografiacutea son teacuterminos que describen dos aspectos de los estaacutendaresemergentes para la creacioacuten de procesos de negocios de muacuteltiples servicios WebLos dosteacuterminos se superponen pero es claro que la orquestacioacuten se reere a un proceso de nego-cio ejecutable que puede interactuar tanto con servicios Web internos como externos Laorquestacioacuten representa siempre el control desde la perspectiva de una de las partes Estolo distingue de la coreografiacutea que es de mayor colaboracioacuten y permite a cada parte impli-cada describir su papel en la interaccioacuten La orquestacioacuten y coreografiacutea tratan de describiraspectos relacionados con la creacioacuten de procesos de negocio que involucran varios tipos deSoftware

Visto graacutecamente podemos ver en la gura 27 la orquestacioacuten permite disentildear proce-sos de negocio ejecutables que pueden interactuar (a nivel de mensaje) tanto con softwareinterno como externo Por otra parte la coreografiacutea es mucho maacutes colaborativa ya quepermite trazar las secuencias de mensajes que se suceden entre todas las partes partici-pantes del proceso de negocio en lugar de centrarse en los mensajes que se intercambianentre los diversos programas de software que implementan los procesos de negocio

Figura 27 Orquestacioacuten y Coreografiacutea de Servicios Web

232 Estaacutendares de Orquestacioacuten de Servicios Web

WS BPEL( Web Service Business Process Execution Language)Es un lenguaje de orquestacioacuten estandarizado porOASIS (Organisation for Advance Struc-tured Information Business Transaction Protocol) para la composicioacuten de servicios Web quepermite a los desarrolladores crear programas que automatizan las interacciones entre losservicios Web jugando un papel clave en las arquitecturas orientadas a los servicios SOAPara comprender su funcionamiento imaginemos un proceso de negocio determinado quetiene una entrada A y una salida B Dicho proceso como la mayoriacutea de ellos posee a suvez de muchos procesos internos que se van activando de acuerdo a ciertos paraacutemetros yvalores BPEL seriacutea el encargado de orquestar y por lo tanto dirigir la ejecucioacuten de unamanera ordenada La ventaja de que BPEL sea un estaacutendar radica en que puede ser imple-mentado en una gran variedad de motores de ejecucioacuten de diferentes proveedores BPELen si es un formato XML que proviene de la convergencia entre el WSFL (Web ServiceFlow Language) de IBM y XLANG de Microsoft La herramienta BPEL estaacute basada en unmodelo llamado Workow que especica las oacuterdenes de ejecucioacuten Existen actividadesbaacutesicas como iumlnvoke y receive y otras estructuradas como sequence Tambieacuten formanparte del modelo variables y participantes (partners) En las variables se deposita la nocioacutende datos y los participantes representan los elementos que interactuacutean en la composicioacutenEl modelo se completa como un motor que orquestaraacute las invocaciones

BPML (Business Process Modeling Language)Es un metalenguaje basado en XML para la descripcioacuten de procesos de negocio Inicial-mente BMPL se disentildeoacute para soportar los procesos que un sistema de gestioacuten de procesosde negocio pudiera ejecutar BPML dispone de estructuras similares a BPEL como puedenser actividades baacutesicas para el enviacuteo y la recepcioacuten de mensajes y para la invocacioacuten deservicios Adicionalmente BPML permite planicar las tareas para que se ejecuten eninstantes especiacutecos ofreciendo algunas opciones de control temporal Este lenguaje in-cluye caracteriacutesticas para dar soporte a la persistencia ya que fue disentildeado para la gestioacutende procesos de larga duracioacuten BPML ofrece soporte tambieacuten para realizar composicionesrecursivas a n de poder construir procesos de negocio que a su vez consten de otros sub-procesos Asimismo soporta transacciones de larga o corta ejecucioacuten gracias a que usa unateacutecnica similar a BPEL para controlar el alcance de las actividades y gestionar de esta

forma las reglas de compensacioacuten en caso de que las operaciones que deben realizarse deforma automaacutetica se vean interrumpidas

233 Estaacutendares de Coreografiacutea de los Servicios Web

WS-CDL (Web Services Choreography Description Language)Es un lenguaje basado en XML que describe la colaboracioacuten entre pares peer to peemediante la denicioacuten - desde un punto de vista global de los comportamientos comunes yobservables de cada participante de un proceso de negocio Eacuteste es un lenguaje utilizadopara la denicioacuten de servicios dentro de la plataforma SOA y cuyo objetivo es la descrip-cioacuten del comportamiento de cada uno de los servicios establecidos para lograr un objetivocomuacuten Sin embargo antes de WS-CDL ya existiacutea un lenguaje que permitiacutea la descripcioacutende las funcionalidades de un Servicio Web WSDL (Web Services Denition Language)el cual puede describir el conjunto de funciones ofrecidas con los posibles fallos que po-driacutean ocurrir y a pesar de que WS-CDL podriacutea expresar las coreografiacuteas de un servicioen un ambiente SOA W3C (World Wide Web Consortium) abandonoacute su desarrollo en 2009

WSCI (Web Service Choreography Interface)La especicacioacuten de WSCI fue desarrollada por diversas compantildeiacuteas como Sun SAP BEAe Intalio y representa una extensioacuten para WSDL para la colaboracioacuten La especicacioacuten de-ne la coreografiacutea global o el intercambio de mensajes entre los diferentes tipos de softwarey soporta su correlacioacuten reglas de secuenciacioacuten manejo de excepciones transacciones ycolaboracioacuten dinaacutemica WSCI soacutelo describe el comportamiento observable entre el softwareque se emplea Una coreografiacutea WSCI constaraacute de un conjunto de interfases WSCI unapor cada uno de los servicios que participen en la interaccioacuten

24 Moodle

El software de coacutedigo abierto (Open-Source Software-OSS) esta siendo ampliamente de-sarrollado ofreciendo nuevas alternativas y posibilidades hasta hace poco inimaginablesMoodle es un claro ejemplo siendo uno de los programas maacutes ampliamente adoptados porcolegios institucioacuten universidades etc Como podemos ver en la gura 28 el nuacutemero deusuarios registrados y los idiomas en los que se encuentra disponible dan muestra de sugran difusioacuten Algunas de las razones mas importante para su eleccioacuten son

Figura 28 Moodle - Abril 2013

bull Moodle es OSS lo cual signica que los usuarios pueden descargarlo libremente usarlomodicarlos e incluso redistribuirlo seguacuten los teacuterminos GNU 3

bull La losofiacutea planteada por Moodle incluye una aproximacioacuten constructiva basada enel constructivismo social de la educacioacuten enfatizando que los estudiantes (y no soacutelolos profesores) pueden contribuir a la experiencia educativa en muchas formas

bull Compatibilidad con maacutes de 70 idiomas diferentes

bull Una excelente documentacioacuten soporte para seguridad y administracioacuten

bull No requiere modicaciones en el sistema operativo pudiendo ser ejecutado en un en-torno Linux Windows Mac OS o cualquier otro siempre que soporten PHP

bull La informacioacuten esta soportada por una simple base de datos

Ademaacutes su sencilla aplicacioacuten en entorno web que utiliza tecnologiacuteas ya ampliamenteprobadas sus mecanismos de extensioacuten maacutes faacuteciles en comparacioacuten con otros VLEs y laexistencia de una gran cantidad de documentacioacuten de desarrollo han impulsado la creacioacutende una gran comunidad de personas que contribuyen a la mejora de Moodle Esta comu-nidad estaacute en constante desarrollo de nuevas caracteriacutesticas y aplicaciones a traveacutes decientos de plugins que pueden ser descargados desde su la web de Moodle y asesoran tantoa otros desarrolladores como usuarios nales

La primera versioacuten de Moodle (10) fuel lanzada en 2002 como parte de la investigacioacuten deMartin Dougiamas del uso del software de coacutedigo abierto para la ensentildeanza y el aprendizajecon las comunidades basadas en Internet[Dougiamas and Taylor 2000] Actualmente seencuentra disponible la versioacuten 243+ como estable y la beta de la versioacuten 25

En cuanto a la parte teacutecnica Moodle estaacute desarrollado en lenguaje PHP como la mayoriacuteade los VLEs utiliza una arquitectura cliente-servidor comuacuten de tres capas CORREGIRLa capa de presentacioacuten dene como la informacioacuten se presenta a los usuarios nales quetienen acceso a esa informacioacuten a traveacutes de sus navegadores web La Capa de loacutegica de ne-gocios se encarga de las relaciones con Moodle el acceso a la capa de datos por lo generala traveacutes de MySQL para almacenar y recuperar la informacioacuten cuando sea necesario

Moodle se distribuye en un solo paquete multiplataforma que incluye PHP MySQL yApache HTTP Server para facilitar los procesos de instalacioacuten y conguracioacuten La dis-tribucioacuten actual de Moodle cumple con varios estaacutendares educativos Por ejemplo Moodlepuede manejar ADL SCORM paquetes que contienen recursos aislados o cursos completosEn cuanto a los estaacutendares IMS Moodle soporta IMS Content Packaging (IMS CP) IMSCommon Cartridge (IMS CC)IMS pregunta y Test Interoperability (IMS QTI) y estaacuteconsiderado como uno de los VLEs compatible con Basic LTI

241 otras plataformas

No podemos dejar de lado otros escenarios educativos que han ido apareciendo en los uacutelti-mos antildeos a pesar del gran eacutexito de los VLEs Algunos ejemplos de estas plataforma son

3httpsmoodleorg

bull Wikis (Ej MediaWiki) Son sistemas software que permiten la creacioacuten y gestioacutende contenidos estructurados mediante paacuteginas web relacionadas entre siacute El contenidosuele estar editado por varios usuarios que trabajan de manera colaborativa pudiendoincluir enlaces a recursos externos

bull Sitios de redes sociales (Ej Facebook) Son sistema en liacutenea donde los usuariospueden crearse sus propios perles y crear una red personal que les mantendraacute conec-tado con otros usuarios Estos sistemas han proliferado en los uacuteltimos antildeos llegando amillones de usuarios No suelen necesitar un administrador pues se utilizan medianteentorno web y son alojados por el propio proveedor Su gran adopcioacuten y el enfoquea las interacciones sociales es lo que ha llevado a muchos profesor a utilizarlo comoherramienta de aprendizaje Estos sitios permiten la creacioacuten y mantenimiento degrupo mediante el perl de usuario pero no estaacuten disentildeados para seguir un enfoquepedagoacutegico

bull Personal Learning Environment - PLE (Ej Southampton) Son denidos comosistemas de software que permiten al estudiante a tomar el control y la gestioacuten de suspropio aprendizaje Se caracterizan por la por la participacioacuten directa de los alumnosen el acceso agregacioacuten conguracioacuten y manipulacioacuten de herramientas y recursos adiferencia de los VLEs done es el educador el que selecciona y gestiona los recursosque el alumno debe utilizar

Muchas de estas herramientas son de coacutedigo libre y abierto Su funcionalidad respecto ala gestioacuten de actividades grupos funciones y herramientas es limitado siendo en algunoscasos inexistente Ninguna de estas plataformas se puede considerar un VLE ya que nosson sistemas centrados en el educador sin embargo pueden apoyar la integracioacuten de apli-caciones externas en entornos de aprendizaje colaborativo

Capiacutetulo 3

Organizacioacuten y Sistema Inicial

A continuacioacuten pasamos a detallar las distintas actividades de la que consta el proyecto quehemos llevado a cabo durante estos meses

31 Lanzamiento del proyecto

Esta actividad consisten en la eleccioacuten de una de las diferentes posibles aacutereas de desarrollo deproyectos que ofrece la UOC siendo la elegida Aplicaciones Web para trabajo colaborativo

32 Denicioacuten del proyecto

El proyecto queda denido en el presente documento siendo el tiacutetulo del mismo Orchestationand Coreography of Web Services on Moodle - Revisioacuten Sistemaacutetica de la literatura

[Duracioacuten] 27-02-2013 al 03-03-2013

33 Anaacutelisis de requisitos

Nos centraremos en la fase de planicacioacuten que incluye los objetivos de la investigacioacuten y la formaen que se llevaraacute a cabo la revisioacuten

[Duracioacuten] 04-03-2013 al 03-06-2013

331 Cuestiones Realizadas

El primer paso en la fase de planicacioacuten seraacute denir los objetivos principales de esta revisioacutensistemaacutetica de la literatura Estos objetivos son analizar el estado del arte de la coreografiacutea yorquestacioacuten de los servicios web en Moodle como LMS

332 Fuentes de datos y buacutesqueda

Utilizaremos diferentes libreriacuteas o espacios digitales para realizar las buacutesquedas las mismas serealizaraacuten en ingleacutes y espantildeol Las libreriacuteas principales utilizadas son

IEEEXplore [IEEEX] httpieeexploreieeeorg

21

Science Direct [SD] httpwwwsciencedirectcom

SpringerLink [SL] httpwwwspringerlinkcom

Paralelamente a Science Direct se han realizado buacutesquedas en Scopus1 de Elsevier y GoogleScholar2 de Google

333 Criterios de inclusioacuten y exclusioacuten

Las buacutesquedas que se realicen intentaraacuten abarcar todo el aacutembito de cuestiones del SLR pero esposible (y de hecho ocurre) el resultado contenga referencias publicaciones estudios o en generalinformacioacuten que no sirve Para ello seraacute necesario denir criterios de inclusioacuten y exclusioacuten loscual haremos basaacutendonos en la guiacutea [Kitchenham 2007]

334 Asegurar la calidad

Despueacutes de obtener un numero considerable de trabajos o estudios que satisfacen los criteriosde inclusioacuten y exclusioacuten se deberaacute ser capaz de asegurar o armar cuales son los que cumplencon una miacutenima calidad y si son vaacutelidos o no para el estudio en si Es baacutesico poder analizar queacuteestudios son mejores que otros en teacuterminos de calidadSiguiente [Kitchenham 2007] se deniraacuten preguntas y cuestiones que permitan asegurar dichacalidad

335 Extraccioacuten de datos y anaacutelisis

Los criterios de inclusioacuten y exclusioacuten junto con las preguntas orientadas a asegurar la calidadnos serviraacuten para obtener todos los artiacuteculos y estudios que se analizan en este estudioDe cada artiacuteculo se recogeraacute titulo y autores abstract publicacioacuten y antildeo de publicacioacuten

336 Fase de revisioacuten

Esta fase de planicacioacuten seraacute denir el proceso de conducir o dirigir la revisioacuten Para elloutilizaremos tres fases como podemos ver en la gura 31 de la paacutegina 23

337 Fase de Pruebas

Se realizan pruebas con la informacioacuten obtenido montado maacutequinas virtuales para realizar lasmismas En estas se han probado las diferentes opciones de comunicacioacuten que nos ofrece Moodle

1httpwwwscopuscom2httpscholargooglecom

Figura 31 Proceso para dirigir la revisioacuten

34 Calendario de Trabajo

Podemos ver en el siguiente diagrama de Gantt32 la distribucioacuten de trabajos en el tiempo elmismo seraacute modicado para ajustarlo a las variaciones producidas durante el desarrollo de lastareas que contempla

35 Hitos principales

Los principales hitos seraacuten

Lanzamiento del proyecto Se dene correctamente en que va consistir el proyecto

Denicioacuten de cuestiones para la buacutesqueda Donde se detallaraacuten las cuestiones quemarcaran el desarrollo del resto del proyecto

Comprobacioacuten de resultados Se deberaacuten criba los mismo para no obtener duplicadoso informacioacuten ajena a la investigacioacuten

Revisioacuten de informacioacuten obtenida Una vez obtenida la informacioacuten y analizada deberaacuteser revisada para su presentacioacuten

Figura 32 Diagrama de Gantt

36 Instalacioacuten base

Para llevar a cabo las pruebas se ha optado por la creacioacuten de una maacutequina virtual sobre VirtualBox 3 en la cual hemos instalado Windows XP como sistema operativo Este sistema es maacutesligero a la hora de trabajar en maacutequinas virtuales pues requiere menos recursos que las versionesposteriores del mismos sistema

El siguiente paso era la instalacioacuten de Moodle Aunque se dispone de un instalador para Win-dows se ha optado por la descarga e instalacioacuten de XAMPP 4 y su y su posterior conguracioacutenen la maacutequina virtual XAMPP es un servidor independiente de plataforma software libre queconsiste principalmente en la base de datos MySQL el servidor web Apache y los inteacuterpretespara lenguajes de script PHP y Perl El nombre proviene del acroacutenimo de X (para cualquierade los diferentes sistemas operativos) Apache MySQL PHP Perl

XAMPP en su versioacuten 181 incluye

Apache 243

MySQL 5527

PHP 547

phpMyAdmin 3522

FileZilla FTP Server 0941

Tomcat 7030

Strawberry Perl 51611 Portable

XAMPP Control Panel 310

Hemos continuado con la descarga he instalacioacuten de Moodle y hemos querido probar las difer-encias que obtenemos entre las versiones 19x y 25 por lo que se han descargado ambas heinstalado en maacutequinas virtuales diferentes Con ello conseguiremos probar el resultado obtenidoseguacuten la versioacuten Moodle desde su versioacuten 22 ya soporta conexiones mediante IMS - LTI IMSLTI es un estaacutendar IMS Learning Tool Interoperability Esto signica que las herramientas deaprendizaje tienen ahora diversas maneras de conectarse entre sin problemas

En la praacutectica cuando un usuario se registra en una herramienta como Moodle se pueden conectara la otra herramienta como MediaWiki y autenticarse automaacuteticamente proporcionando unaexperiencia perfectaLas guras 33 y 34 nos muestran el panel de control de XAMPP una vez instalado y el panede phpMyAdmin donde hemos debido congurar las bases de datos y usuario necesarios parallevar todo el proceso de conguracioacuten de Moodle y el resto de herramientas

3httpswwwvirtualboxorg4httpwwwapachefriendsorgesxampphtml

Figura 33 Panel de control de XAMPP

Figura 34 Gestor de bases de datos phpMyAdmin

Capiacutetulo 4

Servicios Web de Moodle

41 Introduccioacuten

Moodle 2X incorpora la posibilidad de implementar Servicios Web para manejar sus funciona-lidades lo que nos permite poder acceder a acciones de actualizar y crear tareas para reejar elresultado de las actividades realizadas Moodle soporta varios protocolos (REST SOAP XML-RPC y AMF)

42 Servicios Web de Moodle

Los Servicios Web de Moodle se caracterizan por permitir el acceso desde cualquier aplicacioacutenimplementando para ello tres capas como podemos observar en la gura 41

Capa nuacutecleoLa capa del nuacutecleo estaacute compuesta de todas las funciones principales de Moodle sobreusuarios grupos cursos calendario etc Moodle no dispone de una API al uso sino queofrece diferentes funciones que han sido desarrolladas durante antildeos Por tanto las necesi-dades de los Servicios Web estaacuten obligando a rehacer estas funciones del nuacutecleo para quecomiencen a formar una API (Moodle 2X)

Capa externaLa capa externa estaacute compuesta por nuevos cheros llamados externalphp colocados porlas carpetas de Moodle y conteniendo manejadores para la capa inferior Estos manejadoresson los responsables de comprobar las capacidades paraacutemetros y llamadas correctas a lasfunciones de nuacutecleo

Capa de conectoresLa capa de conectores estaacute compuesta de diferentes conectores para las diferentes imple-mentaciones de los Servicios Web y contiene un conector REST un conector SOAP unconector XML-RPC y un conector AMF Esta capa admite plugins para ampliar los conec-tores disponibles de manera que se puedan integrar otros sistemas en Moodle utilizandootros protocolos

Los pasos para utilizar un Servicio Web con Moodle seriacutean los siguientes

1 El cliente enviacutea el nombre de usuario y contrasentildea al servidor que provee los ServiciosWeb

27

Figura 41 Capas en Moodle

2 El servidor de protocolo devuelve un token de sesioacuten para esa cuenta de usuario

3 El cliente llama a un Servicio Web especiacuteco incluyendo el token de sesioacuten

4 El servidor utiliza el token para comprobar que la sesioacuten del Servicio Web estaacute activa

5 El servidor llama a la funcioacuten correspondiente localizada en el chero externallibphp dentrodel moacutedulo especiacuteco

6 La funcioacuten externa comprueba que el usuario actual tenga los permisos sucientes pararealizar esta operacioacuten

7 La funcioacuten externa llama a la funcioacuten correspondiente del nuacutecleo de Moodle (libphp)

8 La funcioacuten del nuacutecleo puede retornar un resultado a la funcioacuten externa

9 La funcioacuten externa devolveraacute el resultado al servidor de protocolo

10 El servidor de protocolo devolveraacute el resultado al cliente

43 REST

REST (Representational State Transfer) es el acroacutenimo de Transferencia de Estado Representa-cional teacutermino usado por Roy Fielding (uno de los creadores de HTTP) para describir un estilode arquitectura que utilizar como modelo en los sistemas de computacioacuten Web No es un es-taacutendar sino un enfoque que muestra como desarrollar y proporcionar servicios en Internet portanto considerado como un estilo arquitectoacutenico para disentildeo de software a gran escala El propioautor lo dene de manera concisa en eacuteste paacuterrafo

REST es un intento de mostrar coacutemo debe comportarse una aplicacioacuten Web bien disentildeada unared de paacuteginas Web (una maacutequina de estados virtual) donde el usuario progresaraacute seleccionan-do enlaces (transiciones de estado) que devuelven la paacutegina siguiente (el siguiente estado de lamaacutequina) que el usuario manejaraacute a su gusto

Este enfoque no aporta realmente nada nuevo la mayor parte de la Web sigue este estilo arqui-tectoacutenico Sin embargo el autor hace eacutenfasis en las caracteriacutesticas concretas que han hecho quela Web triunfe que van a ser los objetivos buscados por REST y que son a su juicio

Escalabilidad en las interacciones entre componentes La red ha ido creciendo de maneraexponencial y se ha ido comportado de manera satisfactoria

Generalidad en las interfaces Se proporciona acceso con distintos clientes y con distintosmecanismos de acceso

Desarrollo independiente de componentes Implementaciones cliente y servidor pueden serdesarrolladas en distintos momentos

Existencia de componentes intermediarios con los cuales existe compatibilidad (comoproxys)que permiten encapsulacioacuten e integracioacuten de sistemas no Web dentro de la misma

431 Principios de disentildeo

Los objetivos citados van a ser conseguidos imponiendo una serie de restricciones

El estado y la funcionalidad de las aplicaciones se representan por forma de recursos

La identicacioacuten de recursos se realiza de forma uacutenica global mediante Uniform ResourceIdentiers Los recursos identicados con URIs son los objetos loacutegicos a los cuales se lesmandan los mensajes

Manipulacioacuten de recursos a traveacutes de representaciones luego no se manejan directamentelos recursos sino sus representaciones

Todos los recursos comparten un interfaz uniforme formado por

bull Un conjunto de operaciones limitado para transferir el estado Se van a aprovecharlas operaciones que HTTP dene mostradas en la gura 42

bull Un conjunto limitado de tipos de contenidos identicados mediante tipos MIME

Uso de un protocolo clienteservidor sin estado y basado en capas Cada mensaje HTTPcontendraacute la informacioacuten necesaria para comprender la peticioacuten luego como muestra lagura 43 no es necesario que eacutesta sea entendida tanto en el cliente como en el servidor

Uso de hipermedios para representar el estado de una aplicacioacuten permitiendo que el estadode una aplicacioacuten Web particular esteacute almacenado en uno o maacutes documentos de hipertextoque residen bien en el servidor o en el cliente Esto permite al servidor saber el estado desus recursos sin necesidad de almacenar el estado de los clientes concretos

Figura 42 Operaciones denidas por HTTP

Como ya se mencionoacute REST se trata de un estilo arquitectoacutenico no un estaacutendar Sin embargohace uso de varios estaacutendares Web

HTTP HyperText Transfer Protocol

Figura 43 Operaciones denidas por HTTP

URL Uniform Resource Locator como el mecanismo de indenticacioacuten de recursos

XML - HTML - PNG - etc Como distintos formatos de representacioacuten de recursos

Tipos MIME como text-xml text-html image-png etc

44 SOAP

SOAP (siglas de Simple Object Access Protocol) es un protocolo estaacutendar que dene coacutemo dosobjetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML Esteprotocolo deriva de un protocolo creado por David Winer en 1998 llamado XML-RPC SOAPfue creado por Microsoft IBM y otros y estaacute actualmente bajo el auspicio de la W3C

441 Principios de disentildeo

La funcionalidad que aporta SOAP es la de proporcionar un mecanismo simple y ligero de in-tercambio de informacioacuten entre dos puntos usando el lenguaje XML SOAP no es maacutes que unmecanismo sencillo de expresar la informacioacuten mediante un modelo de empaquetado de datosmodular y una serie de mecanismos de codicacioacuten de datos Esto permite que SOAP sea uti-lizado en un amplio rango de servidores de aplicaciones que trabajen mediante el modelo decomunicacioacuten RPC (Remote Procedure Call)

SOAP consta de tres partes como podemos ver en la gura 44

El SOAP envelope que dene el marco de trabajo que determina queacute se puede introduciren un mensaje quieacuten deberiacutea hacerlo y si esa operacioacuten es opcional u obligatoria

Las reglas de codicacioacuten SOAP que denen el mecanismo de serializacioacuten que seraacute usadopara encapsular en los mensajes los distintos tipos de datos

La representacioacuten SOAP RPC que dene un modo de funcionamiento a la hora de realizarllamadas a procedimientos remotos y la obtencioacuten de sus resultados

A la hora de realizar el disentildeo de SOAP se han tenido en cuenta una serie de consideracionescon el n de cumplir una serie de objetivos claros objetivos que le daraacuten el potencial que resideen SOAP y que le haraacuten tan atractivo Eacutestos son

Establecer un protocolo estaacutendar de invocacioacuten a servicios remotos que esteacute basado enprotocolos estaacutendares de uso frecuente en Internet como son HTTP (Hiper Text TransportProtocol) para la transmisioacuten y XML (eXtensible Markup Language)para la codicacioacutende los datos

Figura 44 Partes de SOAP

Independencia de plataforma hardware lenguaje de programacioacuten e implementacioacuten delservicio Web

El logro de estos objetivos ha hecho de SOAP un protocolo extremadamente uacutetil ya que elprotocolo de comunicacioacuten HTTP es el empleado para la conexioacuten sobre Internetpor lo que segarantiza que cualquier cliente con un navegador estaacutendar pueda conectarse con un servidor re-moto Ademaacutes los datos en la transmisioacuten se empaquetan o serializan con el lenguaje XML quese ha convertido en algo imprescindible en el intercambio de datos ya que es capaz de salvar lasincompatibilidades que existiacutean en el resto de protocolos de representacioacuten de datos de la red

Por otra parte los servidores Web pueden procesar las peticiones de usuario empleando tec-nologiacuteas tales como Servlets paacuteginas ASP (Active Server Pages) paacuteginas JSP (Java ServerPages) o sencillamente un servidor de aplicaciones con invocacioacuten de objetos mediante CORBACOM o EJB

Un ejemplo tiacutepico de disentildeo de un servicio Web utilizando las ventajas de SOAP podemos veren la siguiente gura 45

Figura 45 Ejemplo de uso de SOAP

45 AMF

AMF (Action Message Format) es un protocolo binario de Adobe que va por la versioacuten AMF3Aunque por el nombre de la versioacuten pueda parecer que existan 3 cabe destacar que soacutelo existendos AMF0 y AMF3 Una de las mayores diferencias o mejoras que aporta AMF3 es que soporta

datos binarios (ByteArray) y int datos no soportados por AMF0 debido a que en la eacutepoca queaparecioacute el formato Flash Player no soportaba estos tipos de datos

AMF3 no es un protocolo para transferir informacioacuten sino que representa el formato en el quese transmite la informacioacuten en este caso un formato binario

La versioacuten de Moodle 25 viene con Zend_ AMF pero podemos utilizar tambieacuten la libreriacuteaamfPHP

AMFPHP

Zend_ amf httpframeworkzendcommanual112enzendamfhtml

Maacutes informacioacuten en httpdocsmoodleorgdevAMFPHP

46 Conguracioacuten de Moodle Web Services

Los Servicios Web habilitan que otros sistemas puedan entrar a Moodle y realizar operacionesPasaremos a detallar los pasos necesarios para su conguracioacuten y explicaremos distintos pruebasllevadas a cabo sobre su funcionamiento Para poder consumir de manera correcta unWeb Servicede Moodle seriacutea necesario antildeadir a la url que vamos a formar los paraacutemetros oportunos paralograr consumir el Web Service de manera satisfactoria Una vez antildeadidos ya podriacuteamos invocarla funcioacuten seleccionada

461 Activando los Servicios Web

Lo primero que debemos hacer es activar la opcioacuten general que habilita el uso de los serviciosweb En la gura 46 podemos observar la opcioacuten para la activacioacuten de este servicio para ello nosiremos a la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Servicios Externos

Figura 46 Activacioacuten Servicios Web

Esto solo es una opcioacuten a nivel global necesitando ahora activar los protocolos de comunciacionesque vamos a utilizar para ello deberemos ir a la opcioacuten textitAdministracioacuten del Sitio - Exten-siones - Servicios Web - Administrador de protoclos donde encontraremos las diferente opcionesque nos existen En la gura 47 podemos ver la pantalla de nuestra conguracioacuten con todos losprotocolos activados

Una vez activada la opcioacuten de Servicios Externos y seleccionados los protocolos que utilizaremosnecesitamos crear un Servicio Personalizado que no es maacutes que una etiqueta que aglutina los

Figura 47 Activacioacuten Protoclos

Servicios Web que ofrece Moodle y que pueden ser utilizados por los servicios externos Para ellodeberemos darle a la opcioacuten Agregar dentro de la opcioacuten Administracioacuten del Sitio - Extensiones- Servicios Web - Servicios Externos Como prueba habilitaremos un servicio llamado Uso_Servicio_ Web cuya creacioacuten podemos ver en la gura 48

Figura 48 Creacioacuten Servicio Personalizado

Una vez creado el Servicio Personalizado deberemos agregarle las funciones que queramos lesean permitidas pudiente tener maacutes de una En la gura 49 vemos como asociamos la creacioacutende usuarios al Servicio Personalizado

Terminado esto deberemos tener en el listado que nos muestra Moodle de Servicios personaliza-dos algo como lo mostrado en la gura 410

El siguiente paso es conceder los permisos apropiados para que este Servicio Personalizado puedeser usado por los usuarios pare ello debemos primero especicar quienes son los Usuarios au-torizados para ello en la linea de la lista de Servicios Personalizados deberemos pulsar sobre laopcioacuten usuarios autorizados donde apareceraacute una pantalla como 411 donde podremos escogerlos usuarios de los que se encuentran dados de alta en nuestro sistema

Y para terminar aunque este paso podriacutea ser realizado por el propio usuario si tuviera el per-miso de moodlewebservicecreatetoken seraacute la creacioacuten de un token el cual va ser la opcioacuten quevamos a utilizar para las pruebas de los Servicios Web de Moodle Para la creacioacuten del mismodeberemos entrar en la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Admin-istrar tokens y pulsar la opcioacuten Agregar para antildeadir un token nuevo como podemos apreciar en

Figura 49 Agregando funciones al Servicio Personalizado

Figura 410 Listado de Servicios Personalizados

la gura 412 teniendo la precaucioacuten de escoger como Servicio el Servicio Personalizado creadocon anterioridad Uso_ Servicio_ Web

En esta pantalla podemos poner varios tipos de restricciones

Restriccioacuten de IP Donde podemos indicar la direccioacuten IP desde donde

Restriccioacuten de Fecha Se puede denir hasta cuando seraacute valido este token siendo unabuena manera de poder probar cosas y no dejar puertas abiertas por error

En la gura 413 podemos ver el token asignado por el sistema para nuestro Servicio Personalizadoy que procederemos a utilizar para comprobar el funcionamiento de los Servicios Web de Moodle

462 Pruebas cliente Servicio Web

Procederemos ahora a desarrollar pruebas que utilicen los Servicios Personalizados creado Sepodriacutean haber utilizado el Cliente de prueba de servicio web que incorpora Moodle dentro dela opcioacuten Administracioacuten del Sitio - Desarrollo - Cliente de prueba servicio web pero hemosdecidido implementar una Web para comprobar la facilidad del funcionamiento del sistema y losdistintos resultados obtenidos seguacuten el protocolo utilizado

Utilizaremos la libreriacutea cURL de PHP cURL es una herramienta que permite abrir conexionesen una amplia variedad de protocolos y que estaacute disponible tanto como herramienta de consola(para ejecutar directamente con comandos) como en libreriacutea (para usar en vuestro coacutedigo) y quepermite hacer praacutecticamente todo manejo de cookies descarga de cheros binarios enviacuteos de

Figura 411 Alta de Usuarios Autorizados

Figura 412 Creacioacuten de Tokens

paraacutemetros GET y POST etc

La web creada para la introduccioacuten 414 de los usuarios seraacute equivalente para todos los procesosprocesos siendo el programa que da respuesta al formulario el que implemente la funcioacuten nece-saria para la introduccioacuten de los datos en Moodle

Los resultados de REST pueden mostrar los resultados del alta de dos maneras diferentes unaen formato XML como podemos ver en la gura 415 y otro en formatox JSON tambieacuten po-dremos ver en la gura Los resultados obtenidos tambieacuten pueden verse en el la gura 416

Figura 413 Lista de Tokens

Figura 414 Web de alta de usuarios

Figura 415 Resultado de REST en formato XML

Figura 416 Resultado de REST en formato JSON

Capiacutetulo 5

Herramientas Externas

51 Introduccioacuten

Las versiones de Moodle desde la 22 vienen con IMS LTI o External Tool de manera integradaEn versiones anteriores era necesario la instalacioacuten de plugins como LTI Provider (maacutes informa-cioacuten en la web de Moodle1 IMS LTI es un estandar de IMS learing2 para la interoperabilidadde herramientas Esto signica que las herramientas de aprendizaje tienen ahora un mecanismopara jar el modo en que pueden conectarse entre ellas sin problemas

En la praacutectica cuando un usuario se registra en Moodle puede conectarse a otras herramientascomo Wikis o Blogs y autenticarse de manera automaacutetica en estas

52 Estaacutendares IMS

Actualmente se realizan esfuerzos para la integracioacuten de servicios a una plataforma virtual deaprendizaje mediante un mecanismo reutilizable independiente del tipo de plataforma El IMSGlobal Learning Consortium viene desde hace tiempo trabajando en este enfoque IMS GLCpresenta un conjunto de estaacutendares que promueven el uso de servicios de aprendizaje digitales(Digital Learning Services) dentro de las plataformas de aprendizaje tradicionales IMS DigitalLearning Services estaacute integrado por los siguientes estaacutendares principales IMS Common Car-tridge [ims a] IMS Learning Tool Interoperability [ims c] y IMS Learning Information Services[ims b]

El IMS Learning Tool Interoperability es una especicacioacuten para facilitar la inclusioacuten de her-ramientas externas dentro de un curso El administrador de la plataforma de aprendizaje ges-tiona los servicios que podraacuten ser consumidos por la plataforma el docente decide que serviciosutilizaraacute en su curso y el estudiante hace uso de los mismos IMS LTI permite que distintos LMSconsuman un mismo servicio el cual no fue implementado teniendo en cuenta el tipo de LMSsino la implementacioacuten del estaacutendar desde el lado del proveedor

El enfoque del IMS LTI estaacute dirigido a la creciente demanda de un mecanismo reutilizable para laintegracioacuten de herramientas de terceros en el nuacutecleo de las plataformas LMS Estas herramientas

1httpsmoodleorgpluginsviewphpplugin=local_ltiprovider2httpwwwimsglobalorgtoolsinteroperability2cfm

37

pueden agregar funcionalidad especializada a los LMS El enfoque ofrece una solucioacuten basada enWeb Services igualmente aplicable a distintos lenguajes de programacioacuten

Las versiones del LTI son

LTI v10 ( LTI Basic ) ( publicado en mayo de 2010 ) proporciona un meacutetodo sencillopero estaacutendar para establecer una conexioacuten segura a una herramienta desde el interior deun consumidor de herramientas El lanzamiento de este enlace permite una experienciade aprendizaje sin problemas para los estudiantes que acceden a las aplicaciones ricas queparecen tener lugar dentro del ambiente de aprendizaje Versioacuten 10 es el primer paso en eldesarrollo continuo de LTI Figura 51

LTI v11 ( publicado en marzo 2012 ) antildeade la posibilidad de pasar de nuevo un resultadode la herramienta al Consumidor de herramientas Esto permite que los estudiantes recibenuna calicacioacuten o puntuacioacuten de su interaccioacuten con la aplicacioacuten de aprendizaje

LTI v111 ( publicado en julio de 2012 ) incluye soporte para el papel Mentor que se puedeutilizar para representar a un padre tutor o auditor

LTI v20 Aun en estado de desarrollo y proporciona una plataforma maacutes sosticado y ex-tensible para permitir integraciones maacutes profundas y un mayor apoyo para los serviciosy eventos LTI 2 se basa en LTI 1 mediante la incorporacioacuten de maacutes sosticada resulta-dos de informes y una rica arquitectura de extensiones que permite servicios adicionalesque se antildeadiraacuten gradualmente LTI 2 utiliza REST y JSON-LD para ofrecer esta nuevafuncionalidad

Figura 51 Esquema LTI Baacutesico

En la gura 52 podemos observar como se podriacutean utilizar las ventajas de LTI por parte decada unos de los actores a lo largo de la vida de la aplicacioacuten de servicios externos dentro de unaplataforma de aprendizaje

En la paacutegina web de IMS3 podemos encontrar una relacioacuten de aplicaciones certicadas comocompatibles con el estaacutendar LTI indicando la versioacuten del LTI que cumplen En la gura 53podemos ver las aplicaciones certicadas por UOC y en la gura 54 la informacioacuten sobre una deestas herramientas

3httpwwwimsglobalorgccalltoolscfm

Figura 52 Esquema utilizacioacuten LTI

Figura 53 Listado de herramientas LTI de la UOC

53 Herramientas externas en Moodle

La siguiente seccioacuten consiste en la aplicacioacuten de alguno de esto servicios externos en Moodlepara comprobar su funcionamiento Nos decantaremos para la primera prueba por WordPresspues aunque existen manuales al respecto la documentacioacuten en castellano es escasa

531 Wordpress

La versioacuten estaacutendar de Wordpress a la cual accedemos cuando nos abrimos cuenta en Wordpressno viene con las herramientas necesarias para la iteracioacuten mediante LTI por lo que procedere-mos a la instalacioacuten en nuestro servidor de Wordpress para pasar a la instalacioacuten de los pluginsnecesarios

La instalacioacuten ha consistido en la descarga de la web ocial 4 de la versioacuten 351 la cual hemoscopiado dentro del directorio htdocs de nuestra instalacioacuten de Xampp Hemos dado de alta unnuevo usuario en nuestra base de datos llamado username como podemos ver en la imagen 55 yposteriormente hemos seguido los pasos que el instalador nos iba ofreciendo para tener instalado

4httpwordpressorgdownload

Figura 54 Informacioacuten sobre la certicacioacuten

Wordpress bajo la url httplocalhostwordpress

Figura 55 Usuario de Wordpress

Deberemos congurar Wordpress para que trabaje como multisitio para lo que deberemos seguirlos pasos de conguracioacuten que podemos encontrar en la web ocial de Wordpress5 bajo el nombreCreate A Network consistente en los siguientes pasos

1 Realizar una copia de seguridad por si acaso

2 Modicar el chero wp-congphp incluyendo la siguiente linea encima de Thats allstop editing Happy blogging Multisite dene (WP_ ALLOW_ MULTISITE true)

Multisite dene (WP_ ALLOW_ MULTISITE true)

3 Installar un Network Para ello hemos de entra en la opcioacuten Administration -gtTools -gtNetwork Setup donde podremos congurar opciones sobre el nombre que queremos declararpara el nuevo sitio

4 Activar el Network para ello debemos modicar los cheros wp-congphp y htaccess porlo que seriacutea bueno que realizaacuteramos primero un copia de seguridad de los mismos Loscambios que debemos realizar son los siguientes

5httpcodexwordpressorgCreate_A_Network

En wp-congphp dene(MULTISITE true)dene(SUBDOMAIN_ INSTALL false)dene(DOMAIN_ CURRENT_ SITE localhost)dene(PATH_ CURRENT_ SITE wordpress)dene(SITE_ ID_ CURRENT_ SITE 1)dene(BLOG_ ID_ CURRENT_ SITE 1)

El chero htaccess debe quedar asiacute BEGIN WordPressltIfModule mod_ rewritecgtRewriteEngine OnRewriteBase wordpressRewriteRule icircndexphp$ - [L]

add a trailing slash to wp-adminRewriteRule ([_ 0-9a-zA-Z-]+)wp-admin1wp-admin [R=301L]

RewriteCondREQUEST_ FILENAME -f [OR]RewriteCondREQUEST_ FILENAME -dRewriteRule - [L]RewriteRule ([_ 0-9a-zA-Z-]+)(wp-(content|admin|includes)) $2 [L]RewriteRule ([_ 0-9a-zA-Z-]+)( php)$ $2 [L]RewriteRule indexphp [L]ltIfModulegt

END WordPress

5 Esto nos habraacute creado en la parte izquierda de la barra de herramientas de Wordpressuna nueva opcioacuten llamada My Sites que contendraacute un listado de los sitios de nuestroWordpress

El siguiente paso seraacute la descarga del plugin los cual podremos hacerlos desde la web de sour-forgenet 6 En esta web se detalla informacioacuten sobre el plugin y como se debe instalar Siguiendolos pasos que tenemos en el mismo procederemos a la descarga y el desplegado del mismo en lacarpeta wp-contentmu-plugins Salimos de Wordpress y volvemos a entrar como superusuariosi entramos dentro de la nueva red realizada podremos ver que dentro de LTI Consumers Keystendremos la opcioacuten LTI Consumers Keys como podemos ver en la imagen 56

Aquiacute deberemos crear la clave del consumidor del servicio y la clave secreta que nos permitiraacute aMoodle conectarse a Wordpress

Una vez que tenemos la clave secreta y del consumidor deberemos volver a Moodle entrandocomo administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

6httpsourceforgenetappsmediawikilearningappsindexphptitle=LTI4Wordpress

Figura 56 Servicios LTI en Wordpress

Figura 57 Listado de claves de LTI en Wordpress

-LTI En esta paacutegina podremos rellenar nuestras opciones

Tool Name Seraacute el nombre que tendraacute la herramienta y deberemos poner alguno indicativode la herramienta que estemos utilizando

Tool Base URL Es la direccioacuten de la herramienta en nuestro caso httplocalhostwordpress

Deberemos rellenar con los datos obtenidos en Wordpress la clave de consumidor y la clavesecreta

Es importante marcar Show tool type when creating tool instances para que aparezcaposteriormente al crear los recursos en nuestros cursos

Para poder probar el sistema hemos creado un curso dentro de Moodle llamada WordpressLTIdonde daremos de la siguiente manera de alta 59

Dentro de nuestro curso seleccionamos la opcioacuten de Edicioacuten

Pulsamos sobre Antildeadir una actividad o un recurso

Seleccionamos External Tool

Rellenamos las opciones

bull Nombre de la Actividad Cualquiera de nuestra eleccioacuten

Figura 58 Conguracioacuten LTI en Moodle

bull Tipo de herramienta externa El nombre que le pusimos a la herramienta externa enla conguracioacuten LTI de Moodle

bull Launch Container Hemos elegido la opcioacuten Incrustar para ver el resultado

Figura 59 Conguracioacuten Herramienta Externa

Una vez congurado podemos lanzar la herramienta externa teniendo como resultado la gura510

Figura 510 Wordpress integrado en Moodle

532 ChemVantage

ChemVantage es un recurso gratuito para la educacioacuten cientiacuteca que incluye ejercicios de gradoejercicios de preparacioacuten exaacutemenes de la praacutectica conferencias de video y libros de texto enliacutenea gratis Fue creado por ChemVantage LLC que fue fundada por el Prof Chuck Wight queha ensentildeado Quiacutemica General en la Universidad de Utah desde 1984 (ChemVantage 2011)

Nos hemos puesto en contacto con Chuck Wight (adminchemvantageorg) para solicitarle unaclave de consumidor y secreta para poder probar este recurso desde moodle Las opciones y elcorreo puede verse en la gura 511

Una de las cosas maacutes importantes de ChemVantage y por lo que nos hemos decidido a probar esque permite la devolucioacuten de las notas obtenidas en los ejercicios realizados en las herramientasexternas a Moodle El alumno podraacute realizar las tareas en esta herramienta externa y luego sercalicadas en Moodle

ChemVantage estaacute certicada por IMS 7 como un proveedor de herramientas LTI v11 y comotal funciona desde nuestro propio LMS para llevar a cabo la autenticacioacuten de sitios provee decuentas y devuelve resultados de asignacioacuten de estudiantes con el libro LMS grado automaacutetica-mente

Los recursos disponible son ChemVantage son principalmente los siguientes

1 QuizzesLos ejercicios presentados aquiacute estaacuten disentildeados para animar a los estudiantes a leer y en-tender los libros de texto utilizados en el curso Las preguntas se basan en material que sepresente en su mayor parte en los textos de introduccioacuten de quiacutemica Los iacutetems de preguntastienen respuestas straighforward no requieren caacutelculos detallados Las preguntas se presen-tan en varios formatos diferentes incluyendo opcioacuten muacuteltiple verdadero falso casilla devericacioacuten ll-in-the-blanco y numeacutericas Cada cuestionario se compone de 10 preguntasextraiacutedas al azar de una base de datos con muchas maacutes preguntas En el proceso de tomarvarias pruebas para mejorar sus calicaciones los estudiantes probablemente encuentran

7httpdevelopersimsglobalorgcoursechemvantagehtml

algunas preguntas repetidas de concursos anteriores sin embargo es poco probable quecualquiera de los dos cuestionarios contendraacute exactamente el mismo conjunto de preguntasen el mismo orden Asignando pruebas para ser completado antes de la conferencia losprofesores pueden estar seguros de que sus estudiantes tengan un poco de exposicioacuten almaterial Esto permite una mayor discusioacuten el diaacutelogo y la participacioacuten en el aula y haceel aprendizaje maacutes divertido (de verdad)

2 Video LecturesUna serie de conferencias de viacutedeo de 10 minutos sobre una variedad de temas de QuiacutemicaGeneral es accesible desde la paacutegina principal Los videos estaacuten disentildeados para reforzar lospuntos principales que se presentan en muchos libros de texto

3 HoweworksLas tareas estaacuten disentildeadas para dar a los estudiantes la praacutectica en la resolucioacuten de proble-mas cuantitativos que tienen respuestas numeacutericas Cada alumno puede descargar la tareatrabajar los problemas y presentar las respuestas en liacutenea Respuestas son juzgados a sercorrecta si la solucioacuten numeacuterica de acuerdo con la solucioacuten que se encuentra en la base dedatos dentro de una tolerancia especicada (indicado para cada problema) El sitio informaa los estudiantes que las respuestas son correctas para que puedan rehacer problemas malresueltos y volver a presentar las respuestas Cada problema se basa en una plantilla queatrae paraacutemetros al azar por lo que la respuesta correcta es diferente para cada estudianteEsto hace que sean adecuadas para la colaboracioacuten y el trabajo en grupo porque a pesarde que el grupo puede trabajar para encontrar un algoritmo correcto para resolver un prob-lema cada estudiante tendraacute que usar el algoritmo para encontrar la solucioacuten detallada asu propio problema

4 Practice ExamsLos estudiantes pueden realizaar exaacutemenes de praacutectica cronometrados que muestran laspreguntas de un grupo de 3 o maacutes temas Cada examen estaacute disentildeado para tardar unos60 minutos o menos e incluye una seleccioacuten de 10 preguntas Las praacutecticas de exaacutemenespueden repetirse cuantas veces se desee Las preguntas numeacutericas son parametrizadas loque es muy poco probable que un estudiante realice alguna vez dos exaacutemenes de praacutecticaideacutenticos

5 Portofolio PageCada estudiante puede acceder a una paacutegina que le da la puntuacioacuten obtenida en cada prue-ba y la asignacioacuten de tareas Los estudiantes que son miembros de un grupo tienen unapaacutegina de resultados asociados a las tareas de grupo Hay una paacutegina de carpeta separadaque contiene un resumen de todas las actividades realizadas en ChemVantage incluyendovideos vistos cuestionarios completados resolver problemas con la tarea y la praacutectica deexaacutemenes completados Las puntuaciones en los exaacutemenes de praacutectica son desagregadospara revelar fortalezas y debilidades estudiantes por temas

Hemos procedido a darlo de alta en LTI como hicimos con Wordpress Entramos en Moodle co-mo Administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

Figura 511 Correo de Chuck Wight

-LTI quedando como resultado la siguiente hoja de paraacutemetros gura 512

El siguiente paso seraacute antildeadir la herramienta dentro de nuestro curso para ello pulsaremos sobreAntildeadir una actividad o un recurso Deberemos seleccionar External Tool y rellenamos las op-ciones de la herramienta seleccionando como Tipo de herramienta externa la opcioacuten creada enel apartado de LTI de Moodle

Una vez congurado la herramienta en Moodle podemos entrar para realizar una personalizacioacutende la herramienta gura 513 esta consiste en indicar si el alumno cuando se conecta realiza undeterminado tarea o puede elegir navegar por la web de ChemVantage para poder disfrutar dela cantidad de recursos que se encuentran disponibles

Cuando el usuario pulsa sobre la opcioacuten de esta herramienta externa en Moodle lo primero quese le muestra es la informacioacuten sobre su perl en Chemvantage 514Como hemos visto en los paraacutemetros de conguracioacuten existe la posibilidad de llamar a unaherramienta externa incrustaacutendola dentro de Moodle o abrieacutendolo en una paacutegina web nuevaCon esta segunda opcioacuten no hemos conseguido que funcione correctamente la importacioacuten de lasnotas En cambio si la herramienta externa estaacute incrustada permite esa vinculacioacuten

Figura 512 Conguracioacuten de paraacutemetros LTI

Figura 513 Opciones de inicio de la herramienta

Figura 514 Pantalla de utilizacioacuten de la herramienta por el usuario

Capiacutetulo 6

Middleware

61 Introduccioacuten

La uacuteltima opcioacuten seriacutea utilizar una arquitectura middleware de integracioacuten que permita la inte-gracioacuten ligera de muacuteltiples herramientas existentes en el Moodle

62 GluePS

GLUE-PS es una arquitectura de middleware que permite una interoperabilidad ligera entrelos diferentes lenguajes de disentildeo de aprendizaje y diferentes entornos de aprendizaje virtualEsta interoperabilidad permite a los maestros y otros profesionales que particularicen (es decirpara personalizar el disentildeo de aprendizaje abstractoa la clase particular los participantes y laeleccioacuten de los instrumentos en los que va a ser promulgada) desplieguen (es decir para crearde forma semiautomaacutetica las actividades necesarias en el VLE recursos etc para la aprobacioacutendel disentildeo particularizado) e incluso para llevar a cabo ciertos cambios en el tiempo de ejecucioacuten(por ejemplo modicar la composicioacuten del grupo agregar o quitar recursos de las actividadesetc) Todo esto a partir de disentildeos en distintos lenguajes de disentildeo de aprendizaje tales como laespecicacioacuten IMS-LD aprendizaje

Por otra parte GLUE-PS tambieacuten permite desplegar y gestionar disentildeos de aprendizaje en en-tornos virtuales de aprendizaje que integren herramientas de aprendizaje externos (tales comointegrar en Moodle herramientas como Google Docs y muchos otros) - lo que llamamos Am-bientes de Aprendizaje Distribuido (DLE Distributed Learning Enviroments) Esto se consiguegracias a la arquitectura de GLUE para la integracioacuten de los entornos virtuales de aprendizajey herramientas externas

621 Instalacioacuten

Para realizar la instalacioacuten de GLUE-PS nos hemos descargado el software necesario de la webde los desarrolladores1 descargando la opcioacuten de autenticacioacuten centralizada La instalacioacuten haconstado de tres partes que pasaremos a describir a continuacioacuten

1httpwwwgsicuvaesglue

49

Figura 61 Arquitectura de GLUE

La primera parte consiste en la instalacioacuten del GLUEletManager y los adaptadores GSIC toolAunque el sistema viene preparado para Linux o Windows siendo Windows la explicacioacuten quevamos a desarrollar por estar utilizando este sistema operativo con Xampp

1 Crear el directorio GLUE_ HOME El cual hemos creado para mayor comodidad en la raiacutezdel disco duro

2 Denir la variable del sistema GLUE_ HOME con el valor de la direccioacuten completa deldirectorio de GLUE del punto anterior Para ello hemos pulsado botoacuten derecho sobre MiPc Propiedad Opciones Avanzadas Variables de Entorno procediendo a pulsar el botoacutenNueva para crear la variable en cuestioacuten

3 Extraemos en el directorio del punto (1) el paquete descargado de la paacutegina de los desar-rolladores

4 Ejecutar la instalacioacuten del cheroGLUE_ HOMEbininstall gluebat para registar GLUElet-Manager y GSIC tool como un servicio de Windows Tambieacuten este paso crearaacute un cheroen GLUE_ HOMEtool_ adapteradapterdata para proveer de persistencia a los objetoscreados con el adaptador GSIC tool

A continuacioacuten daremos de alta en nuestro gestor de bases de datos un para de bases de datosque necesita GLUEletManager Para ellos seguimos los siguientes pasos

1 Abrimos la consola de phpMyaAdmin para cargar y ejecutar el chero create_ GLUE_databasessql que se encuentra en GLUE_ HOMEmanagerconfdb

2 Modicamos el chero GLUE_ HOMEmanagerconfMETA-INFpersistencexml paradarle los paraacutemetros necesarios para que JDBC se conecte a nuestra base de datos Losparaacutemetros modicados puede verse en la imagen 62

Figura 62 Paraacutemetros modicados en persistencexml

La segunda parte consiste en el registro interno de los adaptadores de las herramientas para seraccedido con GLUEletManager La distribucioacuten trae un chero para facilitar la conguracioacuten delos adaptadores que trae consigo y para su instalacioacuten deberemos ejecutar el chero GLUE_HOMEmanagerconfdbll _ internal_ Registrysql Alguna de las herramientas necesitanuna conguracioacuten maacutes completa como puede ser Google Docs adapter que necesita una cuentade Gmail para poder crear documentos en Google Docs por lo que deberemos modicar el nom-bre de usuario y contrasentildea

La uacuteltima parte consiste en la instalacioacuten del adaptardor de Moodle como VLE utilizado Estainstalacioacuten es como cualquier otro moacutedulo de Moodle 2 La carpeta que deberemos copiar seraacutela del adaptador correspondiente a Moodle que se encuentra en la carpeta GLUE_ HOMEvle_adpatersmoodle_ vle_ adapter Una vez entremos en nuestro Moodle como administrador nosapareceraacute un mensaje indicaacutendonos que el nuevo moacutedulo esta instalado Para congurar el nuevomoacutedulo debermos ir a Noticaciones - Modulos - Actividades como podemos ver en la gura 63para congurar los paraacutemetros la URL del GLUEletManager y el tiempo de espera

Figura 63 Paraacutemetros del moacutedulo GLUE

Cuando el profesor quiera crear una nueva actividad dependiente de los adaptadores de GLUEdeberaacute agregar una actividad maacutes pulsando para ello en esta opcioacuten dentro del bloque deseadopara seleccionar luego el tipo de actividad GLUElet como podemos ver en la gura64

622 Creando un Doodle

El adaptador Doodle permite la creacioacuten conguracioacuten y gestioacuten de instancias del Doodle Cadaencuesta Doodle es considerado un instancia diferente Ademaacutes este adaptador permite realizarademas la conguracioacuten inicial de encuestas Doodle incluyendo el nombre de la encuesta unadescripcioacuten y un conjunto de posibles respuestas

A continuacioacuten antildeadiremos Doodle en un bloque de Moodle para ellos pulsaremos la opcioacuten deAgregar actividad GLUElet lo cual nos mostraraacute la paacutegina65 donde deberemos rellenar comomiacutenimo el nombre de la actividad y el tipo de herramienta seleccionado en este caso Doodle(httpdoodle-testcom)

2httpdocsmoodleorgenInstalling_contributed_modules_or_plugins

Figura 64 Creando una actividad GLUElet

La primera vez que pulsemos sobre la nueva actividad creada apareceraacute un pantalla 66 dondepodemos congurar diferentes elementos de la encuesta desarrollada con Doodle como son eltiacutetulo una pequentildea descripcioacuten y luego las opciones posibles con un liacutemite de 10

El resultado nal seraacute la incrustacioacuten de una encuesta Doodle dentro de nuestro Moodle comopodemos ver en la gura67

Figura 65 Antildeadiendo Doodle como actividad

Figura 66 Opciones iniciales de conguracioacuten de Doodle

Figura 67 Doodel dentro de Moodle

Capiacutetulo 7

Conclusiones Finales

71 Conclusiones Finales

El proyecto actual nos ha servido para acercarnos a las diferentes tecnologiacuteas que permiten lacomunicacioacuten entre Servicios Webs Hemos desarrollado una primera labor de investigacioacuten queha requerido el aprendizaje de diferentes herramientas de control de documentacioacuten y referenciascomo Zotero y Mendeley

La documentacioacuten recabada en el proceso inicial de revisioacuten de documentos nos ha aportadoun visioacuten general de los diferentes sistemas virtuales de aprendizaje que podemos encontrarnosmuchos de ellos gratuitos y las diferentes soluciones que se plantean a la necesidad de incluirrecursos de otros fabricantes que en principio no fueron concebidos para ser utilizados dentro deuna plataforma VLE

Para poner en praacutectica la diferentes opciones encontradas se han montado diferentes maacutequinasvirtuales sobre las que se han probado las mismas Las conclusiones nales se pasan a detallar

IMS LTIEsta solucioacuten de integracioacuten mediante el cumplimiento de unos protocolos y certicacionesde las herramientas que lo cumplen es en principio la que podriacutea parecer la mejor opcioacutenpero la falta de compromiso de los diferentes fabricantes de Servicios Web y la luchapara imponer sus propios estaacutendares hace que aun quede mucho para que esta opcioacuten seacomo tal real

Si vemos el nuacutemero de aplicaciones certicadas para usar IMS LTI apenas superan las 50 yla mayoriacutea solo cumple la especicacioacuten v10 lo cual signica que la integracioacuten solo solu-ciona el problema de llamar a un recurso externo desde Moodle Pocas son las que cumplenla v11 que permite obtener en Moodle una valoracioacuten de los ejercicios desarrollados en unaactividad externa

La versioacuten v20 que daraacute maacutes opciones a la hora de interactuar con actividades externasauacuten esta en desarrollo y nada se sabe sobre posibles fechas para su presentacioacuten Luegocerticacioacuten de herramientas etc

55

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 9: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

Capiacutetulo 1

Revisioacuten Sistemaacutetica de la Literatura

11 Objetivos del SLR

Hemos partido de un SLR detallado en la PEC1 bastante ambicioso en el que se intentaronabordar la buacutesqueda de herramientas y estado actual de la coreografiacutea y orquestacioacuten de serviciosweb en la plataforma Moodle Pasaremos a detallar el estudio realizado y los resultados obtenidos

12 Estudio Inicial

La fase de planicacioacuten inicial incluiacutea el la buacutesqueda para la obtencioacuten de estudios o trabajos enlas siguiente libreriacuteas

IEEEXplore [IEEEX] httpieeexploreieeeorg

Science Direct [SD] httpwwwsciencedirectcom

SpringerLink [SL] httpwwwspringerlinkcom

Las cadenas de buacutesqueda empleadas aparecen listadas en la tabla 11 de la paacutegina 1 En la tablaTAK indican Title Abstract Keywords y A indica All Ambos casos se reeren a los campos debuacutesqueda utilizados

Cuadro 11 Fuentes de datos y cadenas de buacutesquedas reali-zadas

Libreriacutea Buacutesqueda AacutembitoIEEEX (Moodle AND Web services) TAKIEEEX (Orchestration OR Coreography) ANDWeb Ser-

vicesTAK

IEEEX (Orchestration OR Coreography) AND Moodle TAKIEEEX (Orchestration OR Coreography) AND (lms OR

Learning Management System)TAK

SD (Moodle AND Web services) TAKSD (Orchestration OR Coreography) ANDWeb Ser-

vicesTAK

continuacutea

1

Cuadro 11 continuacioacutenLibreriacutea Buacutesqueda AacutembitoSD (Orchestration OR Coreography) AND Moodle TAKSD (Orchestration OR Coreography) AND (lms OR

Learning Management System)TAK

SL (Moodle AND Web services) TAKSL (Orchestration OR Coreography) ANDWeb Ser-

vicesTAK

SL (Orchestration OR Coreography) AND Moodle TAKSL (Orchestration OR Coreography) AND (lms OR

Learning Management System)TAK

Los resultados obtenidos podemos observarlos en la gura 11

Figura 11 Resultados SLR

Los resultados de Springer Link para la consulta (Orchestration OR Coreography) ANDWeb Services fueron en principio un problema por la cantidad de artiacuteculos que arrojaba2734 en total aun asiacute empezoacute a trabajar con ello La idea de un SLR es realizar una lecturainicial de los Abstracts para ver si la informacioacuten obtenida es de nuestro intereacutes y si fuera asiacuteprofundizar en la lectura del documento

Comenzamos trabajando con la libreriacutea de IEEE Digital Library (Xplore) El portal de estalibreriacutea nos facilitoacute mucho el trabajo pues pudimos permite la opcioacuten de exportar de manerasencilla como podemos ver en la gura 12 a una hoja de calculo que hemos utilizado para irdetallando aquellos documentos que hemos considerado importantes durante el estudio

Figura 12 Exportacioacuten en IEEE

Los resultados exportados por este portal son bastante completos sobre todo porque contiene elAbstract de los documentos por lo que la lectura de los mismos no se tiene que realizar en demanera individual en la web o descargando los documentos En la gura 13 podemos ver comose importaron en nuestra hoja de calculo los datos obtenidos

Figura 13 Importacioacuten en Hoja de Caacutelculo

Despueacutes de realizar la lectura los Abstracts hemos continuado con ScienceDirect donde los re-sultados fueron menores que los obtenidos con IEEE Este portal tambieacuten permite la opcioacuten deexportar de manera sencilla como podemos ver en la gura 14 permitiendo la opcioacuten de incluirlos Abstracts

Figura 14 Exportacioacuten en SD

Para acabar este uacuteltimo bloque nos quedaba revisar SpringerLink el cual se presentaba comoel maacutes prometedor por el gran nuacutemero de resultados obtenidos La revisioacuten de tantos artiacuteculos sepresentaba ardua pero no se esperaba que fuera tanto pues el portal no permite la exportacioacutende los Abstracts de los documentos encontrados Realizar la descarga de 2924 documentos parasu revisioacuten se nos haciacutea algo inviable dentro de los plazos para entrega del presente proyectosiendo por lo tanto seguir con los paraacutemetros de buacutesqueda iniciales En la gura 15 podemosver cuales son los campos que permite la exportacioacuten de este portal

Esto hizo replantearnos el estudio por lo que hemos replanteado el mismo reduciendo los con-ceptos a buscar para ello hemos realizado la buacutesqueda solo de los artiacuteculos directamente rela-cionados con Moodle y la coreografiacutea y orquestacioacuten de servicios web es decir (OrchestrationOR Coreography) AND Moodle y hemos incluido un nuevo buscador Google Scholar

Figura 15 Exportacioacuten en SD

httpscholargooglecom para de esta manera compensar la reduccioacuten de las buacutesquedas

La buacutesqueda por lo tanto puede ser resumida en la siguiente tabla 16 donde podemos comprobarla gran cantidad de artiacuteculos encontrados gracias a la utilizacioacuten de Google Scholar

Figura 16 Resumen de resultados

Los resultados de Google Scholar eran prometedores pero tambieacuten presentaban problemas parasu exportacioacuten despueacutes de varias consultas para buscar informacioacuten al respecto se conguroacute labuacutesqueda para que permitiera la exportacioacuten de los enlaces encontrados como podemos ver enla gura 17 pero esta opcioacuten nos volviacutea a obligar a realizar una consulta individual de cadaelemento

Figura 17 Conguracioacuten de Google Scholar

Aunque podriacuteamos realizar la buacutesqueda de esta manera sobre todo por los resultados esperadosel tener que realizar la buacutesqueda desde el navegador presentando solo 20 resultados por paacutegina seantojaba bastante pesada sobre todo si se teniacutea que retomar la buacutesqueda en diversos periodos detiempo La solucioacuten que se encontroacute fue la instalacioacuten de Zotero httpwwwzoteroorg Laherramienta permite instalacioacuten de un complemento para Firefox que se utilizoacute para realizar ladescarga de todos los enlaces Este complemento tambieacuten permite la visualizacioacuten de los enlacesen la web como podemos ver en la gura 18 Aun asiacute se decidioacute realizar la instalacioacuten de laversioacuten consola de Zotero para trabajar mejor con carpetas y de esta manera reorganizar lasreferencias encontradas

Figura 18 Resultados en Zotero

Capiacutetulo 2

Plataformas VLE e integracioacuten

En esta seccioacuten describiremos el Entorno Virtual de Aprendizaje pondremos ejemplos de ellos yveremos las necesidades que generan en el desarrollo del proceso de aprendizaje por la falta deintegracioacuten de nuevas herramientas algunas de ellas utilizadas por si sola como herramientas deaprendizaje Detallaremos los problemas de la integracioacuten y expondremos las posibles solucionesa ello

21 VLE

El Entorno Virtual de Aprendizaje (VLE - Virtual Learning Enviroment) suele ser un teacuterminomuy usado en la educacioacuten a traveacutes de ordenador pero no existe una denicioacuten acordada porlo que muchas veces es confundido con otros teacuterminos anaacutelogos como Learning ManagementSystem (LMS) Sistema de Gestioacuten de Contenidos (Content Management System - CMS) o unaPlataforma de aprendizaje (Learning Plataform - LP)

Las deniciones maacutes aceptadas para VLE pues dada en el 2000 por Joint Information Sys-tems Committee (JISC) en el 2000 [Stiles 2000] indicando que son ccedilomponents in which learn-ers and tutors participate in on-line interactions of various kinds including on-line learningExisten otros autores que no estaacuten de acuerdo con la necesidad de interacciones on-line como[Dillenbourg et al 2002] que los excluyen de su denicioacuten Britain an Liber [Britain et al 2004]tambieacuten omiten la comunicacioacuten on-line de su denicioacuten indicando que las VLEs pretender darcabida a una amplia gama de estilos de aprendizaje y objetivos para fomentar el aprendizajecolaborativo y basado en recursos para permitir una mayor intercambio y reutilizacioacuten de recur-sos [Britain et al 2004]

Una de las deniciones mas formal y comuacutenmente citada fue dada en el trabajo de Dillengourgs[Dillenbourg et al 2002] el cual expone siete argumentos distintivos

1 VLEs are designed information spaces in which multiple authors can produce both struc-tured and unstructured information

2 VLEs are social spaces that promote interactions and discussions both synchronously orasynchronously

3 VLEs are explicitly represented ranging from text-based interfaces to complex 3D graphicalsystems

7

4 VLE students are also actors thus producing rather than consuming contents

5 VLEs are not restricted to distance education supporting also presential and blended learn-ing situations

6 VLEs integrate heterogenous technologies (including a variety of tools supporting diferenttasks) and multiple pedagogical approaches because integration is under the idea of envi-ronment

7 Most VLEs overlap with physical environments at some point since learning activities mayinvolve the use of non-computerized resources or interactions among participants

Por tanto el VLE conlleva un paso hacia delante por constituir un espacio virtual que utilizatecnologiacuteas heterogeacuteneas en el que los alumnos son activos usuarios siendo sistemas centrados enlos educadores que permiten el disentildeo instanciacioacuten promulgacioacuten y evaluacioacuten de situacionesde aprendizaje colaborativo a traveacutes de un conjunto de actividades de aprendizaje que puedenser siacutencronas o asiacutencronas cara a cara o a distancia individuales o de manera colaborativa

211 Ejemplos de VLEs

Existen actualmente diversos VLEs amplimente difundidos y no paran de aparecer nuevos loscuales intentan incluir nuevos teacutecnicas aplicadas al aprendizaje como puede ser el 3D [Nonis 2005]Hemos realizado el resumen por [Alario-Hoyos et al 2012] para mostrar una tabla en la gura21 de los maacutes importantes Moodle Lams LRN Sakai Blackboard Claroline Sharepoint LMSy sus caracteriacutesticas teacutecnicas y funcionales

22 Herramientas de Software

El uso de aplicaciones software como apoyo al aprendizaje ha jugado un papel muy importantesobre todo a la incorporacioacuten del ordenador a nuestra vida diaria Sin embargo no ha sido hastalos uacuteltimos antildeos con la difusioacuten de las tecnologiacuteas web y la posibilidades que ofrece de accesoraacutepido y ubicuo a los recursos e informacioacuten lo que ha provocado la proliferacioacuten de las her-ramientas de Software como Servicio (Software as Service - SaaS) siendo adoptadas en todas lasetapas del aprendizaje

La tendencia actual de los usuarios a generar y compartir contenidos a traveacutes de las herramientasde la llamada Web 20 la mayoriacutea de las cuales son aplicaciones SaaS ha cambiado la formade aprender fomentando la comunicacioacuten colaboracioacuten y ha fomentado un aprendizaje masconstructivista Algunos ejemplos de estas herramientas son

Google Drive httpsdrivegooglecom

Twitter httpstwittercom

Delicious urlhttpsdeliciouscom

Google Maps httpsmapsgooglees

Flickr httpwwwflickrcom

Doodle httpwwwdoodlecom

Figura 21 Anaacutelisis de VLEs

Miles de estas herramientas son usadas como apoyo en las actividades de aprendizaje Muchasde estas herramientas podemos encontrarlas valoradas en un ranking en webs como Tops 100Tools for Learning1 de la cual mostramos la gura 22 tambieacuten podemos encontrarlas en CcediloolsTools for Schools2

221 Integracioacuten de herramientas

Aunque hemos podido ver que existe un gran nuacutemero de herramientas software la cuales puedenapoyar el desarrollo docente son pocos los VLEs y otras plataformas similares utilizadas porlos educadores para disentildear y prestar sus actividades formativas las que incluyen un nuacutemeromuy restringido de estas herramientas de manera integrada Los educadores suelen indicar laslimitaciones que los VLEs tienen en este caso demandando maacutes alternativas para soportar susparticulares aprendizajes colaborativos Por ello ha emergido con fuerza la integracioacuten de her-ramientas externas en los VLEs sobre todo para el uso de SaaS y aplicaciones Web 20

Debemos tener en cuenta que

La integracioacuten de las herramientas actuales en los entornos VLEs actuales suele ser laopcioacuten maacutes aceptada aunque existen otras alternativas

Las SaaS y las aplicaciones Web 20 han sido ampliamente adoptadas como herramientas de

1httpc4lptcouktop100tools2httpcooltoolsforschoolswikispacescom

Figura 22 Top 100 Tools - Abril 2013

aprendizaje pero existen otras herramientas con su particularidades teacutecnicas que puedenser interesantes y tenida en cuenta como actividades de aprendizaje en los VLEs

Estas herramientas usadas durante el ciclo de vida de aprendizaje colaborativo deben poderser analizadas para estudiar sus resultados

El ciclo de vida del aprendizaje colaborativo consta de cuatro fases disentildeo despliegue pues-ta en marcha y evaluacioacuten Las herramientas de software suelen utilizarse principalmenteen dos de ellas en el despliegue donde las herramientas son seleccionadas dependiendo delos objetivos del aprendizaje la conguracioacuten social y las estructuras de las actividades arealizar y en la fase de puesta en marcha pues son utilizadas por los estudiantes para re-alizar sus actividades y de esta manera alcanzar los objetivos del aprendizaje En la fase deevaluacioacuten estas realmente no son importantes pues no nos interesa tanto la herramientacon la que se haya realizado sino el contenido de esos resultados La fase de disentildeo es dondese consideran las tareas a realizar para llevar a cabo el aprendizaje y no herramientas autilizar para ello Aunque estas cuatro fase puede ser ampliadas o reducidas es ampliamenteaceptado En la gura podemos ver graacutecamente este ciclo

Figura 23 Ciclo de vida del aprendizaje colaborativo

222 Problemas en la integracioacuten

El problema general de la integracioacuten de muacuteltiples herramientas externas en diversos VLEspodemos observarlo en la gura 24 donde podemos ver en un lado diferentes VLEs consus correspondientes APIs arquitectura y caracteriacutesticas mientras en el otro lado diferentestecnologiacuteas interfaces y desarrollos para una gran variedad de propoacutesitos Cada uno deellos puede imponer sus restricciones para la integracioacuten Estos requerimientos es lo queha sido denominado por ejemplo en LAMS como ccedilontrato de integracioacuten el cual intentadeterminar las tecnologiacuteas interfaces y modelos de datos que deben ser empleados para lacomunicacioacuten entre un sistema y el programa que intente integrarlo

Cada herramienta puede tener una o maacutes opciones de integracioacuten Algunas son especiacute-cas para una cierta herramienta (Ej comunicacioacuten basado en Rest para Delicious y paraSlidshare de manera diferente) y otras comuacuten para varias herramientas (Ej Google DataProtocol) Lo mismo ocurre en el lado de los VLEs por lo que se abre un amplio abanicode tecnologiacuteas interfaces y modelos de datos que hacen que la tarea de integracioacuten seaalgo realmente complejo En la gura 25 podemos ver un resumen de los problemas deintegracioacuten seguacuten las herramientas seleccionadas

223 Enfoques de la integracioacuten

Podemos denir dos enfoques principales a la hora de enfocar la integracioacuten de las her-ramientas de software y los VLEs siendo estos

bull Estandarizar los contratos de integracioacutenLa denicioacuten de unos estaacutendares de integracioacuten podriacutea resolver los problemas de in-tegracioacuten pero no existen hoy en diacutea los mismos o no son aceptados por la mayoriacutea

Figura 24 Problemas de integracioacuten

seguramente por intereses tecnoloacutegicos y comerciales IMS Global Learning Consor-tium siguen intentando realizar la aprobacioacuten de dicho estaacutendar siendo uno de elloIMS-LTI Integracioacuten de aplicaciones y servicios remotos y aunque la adopcioacuten de losmismo por las nuevas versiones de Moodle y Blackboard podriacutea hacer que se apos-tara por esta opcioacuten la falta de herramientas que lo utilicen (Ej Google no lo utiliza)puede hacer que no llegue a buen puerto

bull Crear una arquitecturaEste enfoque trata de adaptar los contratos de integracioacuten de los VLEs y las her-ramientas sin tener que modicar sus implementacioacuten Este mismo enfoque presentados opciones como podemos ver en la gura 26 y que pasamos a detallar

1 Un adaptador por en el lado de VLE y otro en el lado de las herramientas o inclusoun solo paquete que pueda congure toda la conexioacuten En este caso estariacuteamoshablando por ejemplo de los moacutedulo adicionales de Moodle

2 Una capa intermedia y adaptadores Este tipo de arquitectura permite la in-tegracioacuten entre muacuteltiples herramientas externas y muacuteltiple entorno virtuales deaprendizaje a traveacutes de un middleware comuacuten Dicho middleware estariacutea com-puesto de diferentes programas que pueden ser ejecutados en dominios diferentesEsta arquitectura reduce el esfuerzo para la integracioacuten de cada herramienta encada VLE ya que el coacutedigo estaacute parcialmente implementado por los elementos deintegracioacuten comunes Sin embargo el grado de integracioacuten y funcionalidad que sepuede lograr con estas arquitecturas es menor que con la primera opcioacuten

23 Servicios Web

Aunque han sido englobados dentro de integracioacuten de herramientas vamos a detallar queson y que aportan a Moodle

Figura 25 Problemas de integracioacuten

Los Servicios Web (Web Services) son la parte esencial de la interoperabilidad de Moodlecon otras aplicaciones Web 20 consisten en una pieza de software que utiliza un conjuntode protocolos y estaacutendares abiertos para intercambiar datos entre aplicaciones La idea prin-cipal es que distintas aplicaciones de software desarrolladas en lenguajes de programacioacutendiferentes y ejecutadas sobre cualquier plataforma puedan utilizar los servicios Web paraintercambiar datos en la red de ordenadores como Internet El producto resultante es unconjunto de moacutedulos con funcionalidad especiacuteca y completa que se acoplan entre siacute A suvez estos moacutedulos se conectan a una plataforma de e-learning mediante la utilizacioacuten deservicios de base descritos en una capa estaacutendar que funciona como gateway

Para ampliar un poco mejor el concepto de servicios Web citaremos una exposicioacuten delDoctor Marcos Escobar Un Web Service es un componente de software que se comunicacon otras aplicaciones codicando los mensaje en XML y enviando estos mensaje a traveacutesde protocolos estaacutendares de Internet tales como el HTTP Intuitivamente un Web Servicees similar a un sitio Web que no cuenta con un interfaz de usuario y que da servicio a lasaplicaciones en vez de a las personas Un Web Service en vez de obtener solicitudes desdeel navegador y retornar paacuteginas Web como respuesta lo que hace es recibir solicitudes atraveacutes de un mensaje formateado en XML desde una aplicacioacuten realiza una tarea y de-vuelve un mensaje de respuesta tambieacuten formateado en XML

Figura 26 Enfoques de arquitectura de integracioacuten

231 Orquestacioacuten y Coreografiacutea de Servicios Web

Seguacuten Careaga Mercadillo Ana Lilia [car ] la Orquestacioacuten (Web Service Orchestration)y Coreografiacutea (Web Service Choreography) se suelen ver como dos aproximaciones parala Composicioacuten de Servicios Web que se acercan estrechamente a los conceptos musicalespor lo cual se han importado directamente sus signicados A continuacioacuten detallaremosque son y sus posibles aplicaciones

La tarea de componer servicios Web baacutesicos o simples para brindar servicios Web maacutes com-plejos se conoce teacutecnicamente como Composicioacuten de Servicios Web Existen dos grandesaproximaciones para esta tarea la coreografiacutea con foco en la interaccioacuten entre servicios(equivalente a los bailarines) y la orquestacioacuten (equivalente a los instrumentos de la orques-ta) con foco en la implementacioacuten y ejecucioacuten de servicios La primera puede consid-erarse como una descripcioacuten formal del pasaje de mensajes obviando detalles internosde implementacioacuten Se ajusta maacutes en situaciones donde es provechoso contar con la no-cioacuten de estados y tambieacuten donde estaacuten involucradas transacciones de larga duracioacuten- Elorquestadordetermina la naturaleza y la secuencia de la interaccioacuten En cambio la segun-da aproximacioacuten describe la loacutegica y el estado de cada una de las partes involucradas Laorquestacioacuten tiene una visioacuten mas local y centralizada mientras que la coreografiacutea denela composicioacuten desde una perspectiva global sin control centralizado tal y como sucede enla danza

Existen numerosas deniciones de Servicios Web y esto demuestra en parte la gran com-plejidad de los servicios que se agrupan bajo este teacutermino y las implicaciones asociadas aellos Hasta ahora la denicioacuten maacutes general y convincente es decir que los Servicios Webson el conjunto de aplicaciones tecnoloacutegicas con capacidad para interoperar en la Web Es-tas tecnologiacuteas intercambian datos entre ellas con el n de ofrecer servicios de naturalezaremota

La World Wide Web no es soacutelo un espacio de informacioacuten tambieacuten es un espacio de inter-accioacuten Utilizando la Web como plataforma los usuarios de forma remota pueden solicitar

un servicio que alguacuten proveedor ofrezca en la red Pero para que esta interaccioacuten funcionedeben existir unos mecanismos de comunicacioacuten estaacutendares entre diferentes aplicacionesEstos mecanismos deben poder interactuar entre siacute para presentar la informacioacuten de formadinaacutemica al usuario Se precisa pues una arquitectura de referencia estaacutendar que hagaposible la interoperabilidad y extensibilidad entre las distintas aplicaciones y que permitasu combinacioacuten para realizar operaciones complejas Esta arquitectura es conocida con elnombre de SOA (Service Oriented Architecture)

Con el n de estandarizar los diferentes aspectos relacionados con los servicios Web elW3C (World Wide Web Consortium) recoge todo lo referente a ellos en (Web ServicesActivity) Asiacute pues Web Services (WS) ofrece un signicado estaacutendar para interoperarentre diferentes aplicaciones de software corriendo en diferentes plataformas yo marcosde trabajo El W3C pretende disentildear la arquitectura denirla y crear el nuacutecleo de tec-nologiacuteas que hagan posible los Servicios Web Los servicios Web se basan en un lenguajede caracteriacutesticas especiales llamado XML (Extensible Markup Language) que permite quelas aplicaciones compartan informacioacuten y que ademaacutes invoquen funciones de otras apli-caciones independientemente de coacutemo se hayan creado dichas aplicaciones y del sistemaoperativo o plataforma en que se ejecuten Por ejemplo Google utiliza un Servicio Webllamado Google Web APIs que permite que el usuario programe en diversos lenguajes ase-gurando la recuperacioacuten de informacioacuten independientemente de la plataforma que se utilice

Los Servicios Web se idearon en un principio para realizar interacciones simples e indepen-dientes pero ahora es necesario que los servicios colaboren y se coordinen A la coordinacioacutennecesaria para implementar un servicio Web se le llama Composicioacuten que puede realizarsede dos manerasorquestacioacuten y coreografiacutea La principal diferencia entre orquestacioacuten ycoreografiacutea es el alcance La orquestacioacuten trata de la descripcioacuten y ejecucioacuten de un mismoy uacutenico punto de vista global del modelo (instrumentacioacuten) La coreografiacutea trata de la de-scripcioacuten y guiacutea de un modelo global proyectado en base a cada participante (bailarines)La orquestacioacuten y coreografiacutea son teacuterminos que describen dos aspectos de los estaacutendaresemergentes para la creacioacuten de procesos de negocios de muacuteltiples servicios WebLos dosteacuterminos se superponen pero es claro que la orquestacioacuten se reere a un proceso de nego-cio ejecutable que puede interactuar tanto con servicios Web internos como externos Laorquestacioacuten representa siempre el control desde la perspectiva de una de las partes Estolo distingue de la coreografiacutea que es de mayor colaboracioacuten y permite a cada parte impli-cada describir su papel en la interaccioacuten La orquestacioacuten y coreografiacutea tratan de describiraspectos relacionados con la creacioacuten de procesos de negocio que involucran varios tipos deSoftware

Visto graacutecamente podemos ver en la gura 27 la orquestacioacuten permite disentildear proce-sos de negocio ejecutables que pueden interactuar (a nivel de mensaje) tanto con softwareinterno como externo Por otra parte la coreografiacutea es mucho maacutes colaborativa ya quepermite trazar las secuencias de mensajes que se suceden entre todas las partes partici-pantes del proceso de negocio en lugar de centrarse en los mensajes que se intercambianentre los diversos programas de software que implementan los procesos de negocio

Figura 27 Orquestacioacuten y Coreografiacutea de Servicios Web

232 Estaacutendares de Orquestacioacuten de Servicios Web

WS BPEL( Web Service Business Process Execution Language)Es un lenguaje de orquestacioacuten estandarizado porOASIS (Organisation for Advance Struc-tured Information Business Transaction Protocol) para la composicioacuten de servicios Web quepermite a los desarrolladores crear programas que automatizan las interacciones entre losservicios Web jugando un papel clave en las arquitecturas orientadas a los servicios SOAPara comprender su funcionamiento imaginemos un proceso de negocio determinado quetiene una entrada A y una salida B Dicho proceso como la mayoriacutea de ellos posee a suvez de muchos procesos internos que se van activando de acuerdo a ciertos paraacutemetros yvalores BPEL seriacutea el encargado de orquestar y por lo tanto dirigir la ejecucioacuten de unamanera ordenada La ventaja de que BPEL sea un estaacutendar radica en que puede ser imple-mentado en una gran variedad de motores de ejecucioacuten de diferentes proveedores BPELen si es un formato XML que proviene de la convergencia entre el WSFL (Web ServiceFlow Language) de IBM y XLANG de Microsoft La herramienta BPEL estaacute basada en unmodelo llamado Workow que especica las oacuterdenes de ejecucioacuten Existen actividadesbaacutesicas como iumlnvoke y receive y otras estructuradas como sequence Tambieacuten formanparte del modelo variables y participantes (partners) En las variables se deposita la nocioacutende datos y los participantes representan los elementos que interactuacutean en la composicioacutenEl modelo se completa como un motor que orquestaraacute las invocaciones

BPML (Business Process Modeling Language)Es un metalenguaje basado en XML para la descripcioacuten de procesos de negocio Inicial-mente BMPL se disentildeoacute para soportar los procesos que un sistema de gestioacuten de procesosde negocio pudiera ejecutar BPML dispone de estructuras similares a BPEL como puedenser actividades baacutesicas para el enviacuteo y la recepcioacuten de mensajes y para la invocacioacuten deservicios Adicionalmente BPML permite planicar las tareas para que se ejecuten eninstantes especiacutecos ofreciendo algunas opciones de control temporal Este lenguaje in-cluye caracteriacutesticas para dar soporte a la persistencia ya que fue disentildeado para la gestioacutende procesos de larga duracioacuten BPML ofrece soporte tambieacuten para realizar composicionesrecursivas a n de poder construir procesos de negocio que a su vez consten de otros sub-procesos Asimismo soporta transacciones de larga o corta ejecucioacuten gracias a que usa unateacutecnica similar a BPEL para controlar el alcance de las actividades y gestionar de esta

forma las reglas de compensacioacuten en caso de que las operaciones que deben realizarse deforma automaacutetica se vean interrumpidas

233 Estaacutendares de Coreografiacutea de los Servicios Web

WS-CDL (Web Services Choreography Description Language)Es un lenguaje basado en XML que describe la colaboracioacuten entre pares peer to peemediante la denicioacuten - desde un punto de vista global de los comportamientos comunes yobservables de cada participante de un proceso de negocio Eacuteste es un lenguaje utilizadopara la denicioacuten de servicios dentro de la plataforma SOA y cuyo objetivo es la descrip-cioacuten del comportamiento de cada uno de los servicios establecidos para lograr un objetivocomuacuten Sin embargo antes de WS-CDL ya existiacutea un lenguaje que permitiacutea la descripcioacutende las funcionalidades de un Servicio Web WSDL (Web Services Denition Language)el cual puede describir el conjunto de funciones ofrecidas con los posibles fallos que po-driacutean ocurrir y a pesar de que WS-CDL podriacutea expresar las coreografiacuteas de un servicioen un ambiente SOA W3C (World Wide Web Consortium) abandonoacute su desarrollo en 2009

WSCI (Web Service Choreography Interface)La especicacioacuten de WSCI fue desarrollada por diversas compantildeiacuteas como Sun SAP BEAe Intalio y representa una extensioacuten para WSDL para la colaboracioacuten La especicacioacuten de-ne la coreografiacutea global o el intercambio de mensajes entre los diferentes tipos de softwarey soporta su correlacioacuten reglas de secuenciacioacuten manejo de excepciones transacciones ycolaboracioacuten dinaacutemica WSCI soacutelo describe el comportamiento observable entre el softwareque se emplea Una coreografiacutea WSCI constaraacute de un conjunto de interfases WSCI unapor cada uno de los servicios que participen en la interaccioacuten

24 Moodle

El software de coacutedigo abierto (Open-Source Software-OSS) esta siendo ampliamente de-sarrollado ofreciendo nuevas alternativas y posibilidades hasta hace poco inimaginablesMoodle es un claro ejemplo siendo uno de los programas maacutes ampliamente adoptados porcolegios institucioacuten universidades etc Como podemos ver en la gura 28 el nuacutemero deusuarios registrados y los idiomas en los que se encuentra disponible dan muestra de sugran difusioacuten Algunas de las razones mas importante para su eleccioacuten son

Figura 28 Moodle - Abril 2013

bull Moodle es OSS lo cual signica que los usuarios pueden descargarlo libremente usarlomodicarlos e incluso redistribuirlo seguacuten los teacuterminos GNU 3

bull La losofiacutea planteada por Moodle incluye una aproximacioacuten constructiva basada enel constructivismo social de la educacioacuten enfatizando que los estudiantes (y no soacutelolos profesores) pueden contribuir a la experiencia educativa en muchas formas

bull Compatibilidad con maacutes de 70 idiomas diferentes

bull Una excelente documentacioacuten soporte para seguridad y administracioacuten

bull No requiere modicaciones en el sistema operativo pudiendo ser ejecutado en un en-torno Linux Windows Mac OS o cualquier otro siempre que soporten PHP

bull La informacioacuten esta soportada por una simple base de datos

Ademaacutes su sencilla aplicacioacuten en entorno web que utiliza tecnologiacuteas ya ampliamenteprobadas sus mecanismos de extensioacuten maacutes faacuteciles en comparacioacuten con otros VLEs y laexistencia de una gran cantidad de documentacioacuten de desarrollo han impulsado la creacioacutende una gran comunidad de personas que contribuyen a la mejora de Moodle Esta comu-nidad estaacute en constante desarrollo de nuevas caracteriacutesticas y aplicaciones a traveacutes decientos de plugins que pueden ser descargados desde su la web de Moodle y asesoran tantoa otros desarrolladores como usuarios nales

La primera versioacuten de Moodle (10) fuel lanzada en 2002 como parte de la investigacioacuten deMartin Dougiamas del uso del software de coacutedigo abierto para la ensentildeanza y el aprendizajecon las comunidades basadas en Internet[Dougiamas and Taylor 2000] Actualmente seencuentra disponible la versioacuten 243+ como estable y la beta de la versioacuten 25

En cuanto a la parte teacutecnica Moodle estaacute desarrollado en lenguaje PHP como la mayoriacuteade los VLEs utiliza una arquitectura cliente-servidor comuacuten de tres capas CORREGIRLa capa de presentacioacuten dene como la informacioacuten se presenta a los usuarios nales quetienen acceso a esa informacioacuten a traveacutes de sus navegadores web La Capa de loacutegica de ne-gocios se encarga de las relaciones con Moodle el acceso a la capa de datos por lo generala traveacutes de MySQL para almacenar y recuperar la informacioacuten cuando sea necesario

Moodle se distribuye en un solo paquete multiplataforma que incluye PHP MySQL yApache HTTP Server para facilitar los procesos de instalacioacuten y conguracioacuten La dis-tribucioacuten actual de Moodle cumple con varios estaacutendares educativos Por ejemplo Moodlepuede manejar ADL SCORM paquetes que contienen recursos aislados o cursos completosEn cuanto a los estaacutendares IMS Moodle soporta IMS Content Packaging (IMS CP) IMSCommon Cartridge (IMS CC)IMS pregunta y Test Interoperability (IMS QTI) y estaacuteconsiderado como uno de los VLEs compatible con Basic LTI

241 otras plataformas

No podemos dejar de lado otros escenarios educativos que han ido apareciendo en los uacutelti-mos antildeos a pesar del gran eacutexito de los VLEs Algunos ejemplos de estas plataforma son

3httpsmoodleorg

bull Wikis (Ej MediaWiki) Son sistemas software que permiten la creacioacuten y gestioacutende contenidos estructurados mediante paacuteginas web relacionadas entre siacute El contenidosuele estar editado por varios usuarios que trabajan de manera colaborativa pudiendoincluir enlaces a recursos externos

bull Sitios de redes sociales (Ej Facebook) Son sistema en liacutenea donde los usuariospueden crearse sus propios perles y crear una red personal que les mantendraacute conec-tado con otros usuarios Estos sistemas han proliferado en los uacuteltimos antildeos llegando amillones de usuarios No suelen necesitar un administrador pues se utilizan medianteentorno web y son alojados por el propio proveedor Su gran adopcioacuten y el enfoquea las interacciones sociales es lo que ha llevado a muchos profesor a utilizarlo comoherramienta de aprendizaje Estos sitios permiten la creacioacuten y mantenimiento degrupo mediante el perl de usuario pero no estaacuten disentildeados para seguir un enfoquepedagoacutegico

bull Personal Learning Environment - PLE (Ej Southampton) Son denidos comosistemas de software que permiten al estudiante a tomar el control y la gestioacuten de suspropio aprendizaje Se caracterizan por la por la participacioacuten directa de los alumnosen el acceso agregacioacuten conguracioacuten y manipulacioacuten de herramientas y recursos adiferencia de los VLEs done es el educador el que selecciona y gestiona los recursosque el alumno debe utilizar

Muchas de estas herramientas son de coacutedigo libre y abierto Su funcionalidad respecto ala gestioacuten de actividades grupos funciones y herramientas es limitado siendo en algunoscasos inexistente Ninguna de estas plataformas se puede considerar un VLE ya que nosson sistemas centrados en el educador sin embargo pueden apoyar la integracioacuten de apli-caciones externas en entornos de aprendizaje colaborativo

Capiacutetulo 3

Organizacioacuten y Sistema Inicial

A continuacioacuten pasamos a detallar las distintas actividades de la que consta el proyecto quehemos llevado a cabo durante estos meses

31 Lanzamiento del proyecto

Esta actividad consisten en la eleccioacuten de una de las diferentes posibles aacutereas de desarrollo deproyectos que ofrece la UOC siendo la elegida Aplicaciones Web para trabajo colaborativo

32 Denicioacuten del proyecto

El proyecto queda denido en el presente documento siendo el tiacutetulo del mismo Orchestationand Coreography of Web Services on Moodle - Revisioacuten Sistemaacutetica de la literatura

[Duracioacuten] 27-02-2013 al 03-03-2013

33 Anaacutelisis de requisitos

Nos centraremos en la fase de planicacioacuten que incluye los objetivos de la investigacioacuten y la formaen que se llevaraacute a cabo la revisioacuten

[Duracioacuten] 04-03-2013 al 03-06-2013

331 Cuestiones Realizadas

El primer paso en la fase de planicacioacuten seraacute denir los objetivos principales de esta revisioacutensistemaacutetica de la literatura Estos objetivos son analizar el estado del arte de la coreografiacutea yorquestacioacuten de los servicios web en Moodle como LMS

332 Fuentes de datos y buacutesqueda

Utilizaremos diferentes libreriacuteas o espacios digitales para realizar las buacutesquedas las mismas serealizaraacuten en ingleacutes y espantildeol Las libreriacuteas principales utilizadas son

IEEEXplore [IEEEX] httpieeexploreieeeorg

21

Science Direct [SD] httpwwwsciencedirectcom

SpringerLink [SL] httpwwwspringerlinkcom

Paralelamente a Science Direct se han realizado buacutesquedas en Scopus1 de Elsevier y GoogleScholar2 de Google

333 Criterios de inclusioacuten y exclusioacuten

Las buacutesquedas que se realicen intentaraacuten abarcar todo el aacutembito de cuestiones del SLR pero esposible (y de hecho ocurre) el resultado contenga referencias publicaciones estudios o en generalinformacioacuten que no sirve Para ello seraacute necesario denir criterios de inclusioacuten y exclusioacuten loscual haremos basaacutendonos en la guiacutea [Kitchenham 2007]

334 Asegurar la calidad

Despueacutes de obtener un numero considerable de trabajos o estudios que satisfacen los criteriosde inclusioacuten y exclusioacuten se deberaacute ser capaz de asegurar o armar cuales son los que cumplencon una miacutenima calidad y si son vaacutelidos o no para el estudio en si Es baacutesico poder analizar queacuteestudios son mejores que otros en teacuterminos de calidadSiguiente [Kitchenham 2007] se deniraacuten preguntas y cuestiones que permitan asegurar dichacalidad

335 Extraccioacuten de datos y anaacutelisis

Los criterios de inclusioacuten y exclusioacuten junto con las preguntas orientadas a asegurar la calidadnos serviraacuten para obtener todos los artiacuteculos y estudios que se analizan en este estudioDe cada artiacuteculo se recogeraacute titulo y autores abstract publicacioacuten y antildeo de publicacioacuten

336 Fase de revisioacuten

Esta fase de planicacioacuten seraacute denir el proceso de conducir o dirigir la revisioacuten Para elloutilizaremos tres fases como podemos ver en la gura 31 de la paacutegina 23

337 Fase de Pruebas

Se realizan pruebas con la informacioacuten obtenido montado maacutequinas virtuales para realizar lasmismas En estas se han probado las diferentes opciones de comunicacioacuten que nos ofrece Moodle

1httpwwwscopuscom2httpscholargooglecom

Figura 31 Proceso para dirigir la revisioacuten

34 Calendario de Trabajo

Podemos ver en el siguiente diagrama de Gantt32 la distribucioacuten de trabajos en el tiempo elmismo seraacute modicado para ajustarlo a las variaciones producidas durante el desarrollo de lastareas que contempla

35 Hitos principales

Los principales hitos seraacuten

Lanzamiento del proyecto Se dene correctamente en que va consistir el proyecto

Denicioacuten de cuestiones para la buacutesqueda Donde se detallaraacuten las cuestiones quemarcaran el desarrollo del resto del proyecto

Comprobacioacuten de resultados Se deberaacuten criba los mismo para no obtener duplicadoso informacioacuten ajena a la investigacioacuten

Revisioacuten de informacioacuten obtenida Una vez obtenida la informacioacuten y analizada deberaacuteser revisada para su presentacioacuten

Figura 32 Diagrama de Gantt

36 Instalacioacuten base

Para llevar a cabo las pruebas se ha optado por la creacioacuten de una maacutequina virtual sobre VirtualBox 3 en la cual hemos instalado Windows XP como sistema operativo Este sistema es maacutesligero a la hora de trabajar en maacutequinas virtuales pues requiere menos recursos que las versionesposteriores del mismos sistema

El siguiente paso era la instalacioacuten de Moodle Aunque se dispone de un instalador para Win-dows se ha optado por la descarga e instalacioacuten de XAMPP 4 y su y su posterior conguracioacutenen la maacutequina virtual XAMPP es un servidor independiente de plataforma software libre queconsiste principalmente en la base de datos MySQL el servidor web Apache y los inteacuterpretespara lenguajes de script PHP y Perl El nombre proviene del acroacutenimo de X (para cualquierade los diferentes sistemas operativos) Apache MySQL PHP Perl

XAMPP en su versioacuten 181 incluye

Apache 243

MySQL 5527

PHP 547

phpMyAdmin 3522

FileZilla FTP Server 0941

Tomcat 7030

Strawberry Perl 51611 Portable

XAMPP Control Panel 310

Hemos continuado con la descarga he instalacioacuten de Moodle y hemos querido probar las difer-encias que obtenemos entre las versiones 19x y 25 por lo que se han descargado ambas heinstalado en maacutequinas virtuales diferentes Con ello conseguiremos probar el resultado obtenidoseguacuten la versioacuten Moodle desde su versioacuten 22 ya soporta conexiones mediante IMS - LTI IMSLTI es un estaacutendar IMS Learning Tool Interoperability Esto signica que las herramientas deaprendizaje tienen ahora diversas maneras de conectarse entre sin problemas

En la praacutectica cuando un usuario se registra en una herramienta como Moodle se pueden conectara la otra herramienta como MediaWiki y autenticarse automaacuteticamente proporcionando unaexperiencia perfectaLas guras 33 y 34 nos muestran el panel de control de XAMPP una vez instalado y el panede phpMyAdmin donde hemos debido congurar las bases de datos y usuario necesarios parallevar todo el proceso de conguracioacuten de Moodle y el resto de herramientas

3httpswwwvirtualboxorg4httpwwwapachefriendsorgesxampphtml

Figura 33 Panel de control de XAMPP

Figura 34 Gestor de bases de datos phpMyAdmin

Capiacutetulo 4

Servicios Web de Moodle

41 Introduccioacuten

Moodle 2X incorpora la posibilidad de implementar Servicios Web para manejar sus funciona-lidades lo que nos permite poder acceder a acciones de actualizar y crear tareas para reejar elresultado de las actividades realizadas Moodle soporta varios protocolos (REST SOAP XML-RPC y AMF)

42 Servicios Web de Moodle

Los Servicios Web de Moodle se caracterizan por permitir el acceso desde cualquier aplicacioacutenimplementando para ello tres capas como podemos observar en la gura 41

Capa nuacutecleoLa capa del nuacutecleo estaacute compuesta de todas las funciones principales de Moodle sobreusuarios grupos cursos calendario etc Moodle no dispone de una API al uso sino queofrece diferentes funciones que han sido desarrolladas durante antildeos Por tanto las necesi-dades de los Servicios Web estaacuten obligando a rehacer estas funciones del nuacutecleo para quecomiencen a formar una API (Moodle 2X)

Capa externaLa capa externa estaacute compuesta por nuevos cheros llamados externalphp colocados porlas carpetas de Moodle y conteniendo manejadores para la capa inferior Estos manejadoresson los responsables de comprobar las capacidades paraacutemetros y llamadas correctas a lasfunciones de nuacutecleo

Capa de conectoresLa capa de conectores estaacute compuesta de diferentes conectores para las diferentes imple-mentaciones de los Servicios Web y contiene un conector REST un conector SOAP unconector XML-RPC y un conector AMF Esta capa admite plugins para ampliar los conec-tores disponibles de manera que se puedan integrar otros sistemas en Moodle utilizandootros protocolos

Los pasos para utilizar un Servicio Web con Moodle seriacutean los siguientes

1 El cliente enviacutea el nombre de usuario y contrasentildea al servidor que provee los ServiciosWeb

27

Figura 41 Capas en Moodle

2 El servidor de protocolo devuelve un token de sesioacuten para esa cuenta de usuario

3 El cliente llama a un Servicio Web especiacuteco incluyendo el token de sesioacuten

4 El servidor utiliza el token para comprobar que la sesioacuten del Servicio Web estaacute activa

5 El servidor llama a la funcioacuten correspondiente localizada en el chero externallibphp dentrodel moacutedulo especiacuteco

6 La funcioacuten externa comprueba que el usuario actual tenga los permisos sucientes pararealizar esta operacioacuten

7 La funcioacuten externa llama a la funcioacuten correspondiente del nuacutecleo de Moodle (libphp)

8 La funcioacuten del nuacutecleo puede retornar un resultado a la funcioacuten externa

9 La funcioacuten externa devolveraacute el resultado al servidor de protocolo

10 El servidor de protocolo devolveraacute el resultado al cliente

43 REST

REST (Representational State Transfer) es el acroacutenimo de Transferencia de Estado Representa-cional teacutermino usado por Roy Fielding (uno de los creadores de HTTP) para describir un estilode arquitectura que utilizar como modelo en los sistemas de computacioacuten Web No es un es-taacutendar sino un enfoque que muestra como desarrollar y proporcionar servicios en Internet portanto considerado como un estilo arquitectoacutenico para disentildeo de software a gran escala El propioautor lo dene de manera concisa en eacuteste paacuterrafo

REST es un intento de mostrar coacutemo debe comportarse una aplicacioacuten Web bien disentildeada unared de paacuteginas Web (una maacutequina de estados virtual) donde el usuario progresaraacute seleccionan-do enlaces (transiciones de estado) que devuelven la paacutegina siguiente (el siguiente estado de lamaacutequina) que el usuario manejaraacute a su gusto

Este enfoque no aporta realmente nada nuevo la mayor parte de la Web sigue este estilo arqui-tectoacutenico Sin embargo el autor hace eacutenfasis en las caracteriacutesticas concretas que han hecho quela Web triunfe que van a ser los objetivos buscados por REST y que son a su juicio

Escalabilidad en las interacciones entre componentes La red ha ido creciendo de maneraexponencial y se ha ido comportado de manera satisfactoria

Generalidad en las interfaces Se proporciona acceso con distintos clientes y con distintosmecanismos de acceso

Desarrollo independiente de componentes Implementaciones cliente y servidor pueden serdesarrolladas en distintos momentos

Existencia de componentes intermediarios con los cuales existe compatibilidad (comoproxys)que permiten encapsulacioacuten e integracioacuten de sistemas no Web dentro de la misma

431 Principios de disentildeo

Los objetivos citados van a ser conseguidos imponiendo una serie de restricciones

El estado y la funcionalidad de las aplicaciones se representan por forma de recursos

La identicacioacuten de recursos se realiza de forma uacutenica global mediante Uniform ResourceIdentiers Los recursos identicados con URIs son los objetos loacutegicos a los cuales se lesmandan los mensajes

Manipulacioacuten de recursos a traveacutes de representaciones luego no se manejan directamentelos recursos sino sus representaciones

Todos los recursos comparten un interfaz uniforme formado por

bull Un conjunto de operaciones limitado para transferir el estado Se van a aprovecharlas operaciones que HTTP dene mostradas en la gura 42

bull Un conjunto limitado de tipos de contenidos identicados mediante tipos MIME

Uso de un protocolo clienteservidor sin estado y basado en capas Cada mensaje HTTPcontendraacute la informacioacuten necesaria para comprender la peticioacuten luego como muestra lagura 43 no es necesario que eacutesta sea entendida tanto en el cliente como en el servidor

Uso de hipermedios para representar el estado de una aplicacioacuten permitiendo que el estadode una aplicacioacuten Web particular esteacute almacenado en uno o maacutes documentos de hipertextoque residen bien en el servidor o en el cliente Esto permite al servidor saber el estado desus recursos sin necesidad de almacenar el estado de los clientes concretos

Figura 42 Operaciones denidas por HTTP

Como ya se mencionoacute REST se trata de un estilo arquitectoacutenico no un estaacutendar Sin embargohace uso de varios estaacutendares Web

HTTP HyperText Transfer Protocol

Figura 43 Operaciones denidas por HTTP

URL Uniform Resource Locator como el mecanismo de indenticacioacuten de recursos

XML - HTML - PNG - etc Como distintos formatos de representacioacuten de recursos

Tipos MIME como text-xml text-html image-png etc

44 SOAP

SOAP (siglas de Simple Object Access Protocol) es un protocolo estaacutendar que dene coacutemo dosobjetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML Esteprotocolo deriva de un protocolo creado por David Winer en 1998 llamado XML-RPC SOAPfue creado por Microsoft IBM y otros y estaacute actualmente bajo el auspicio de la W3C

441 Principios de disentildeo

La funcionalidad que aporta SOAP es la de proporcionar un mecanismo simple y ligero de in-tercambio de informacioacuten entre dos puntos usando el lenguaje XML SOAP no es maacutes que unmecanismo sencillo de expresar la informacioacuten mediante un modelo de empaquetado de datosmodular y una serie de mecanismos de codicacioacuten de datos Esto permite que SOAP sea uti-lizado en un amplio rango de servidores de aplicaciones que trabajen mediante el modelo decomunicacioacuten RPC (Remote Procedure Call)

SOAP consta de tres partes como podemos ver en la gura 44

El SOAP envelope que dene el marco de trabajo que determina queacute se puede introduciren un mensaje quieacuten deberiacutea hacerlo y si esa operacioacuten es opcional u obligatoria

Las reglas de codicacioacuten SOAP que denen el mecanismo de serializacioacuten que seraacute usadopara encapsular en los mensajes los distintos tipos de datos

La representacioacuten SOAP RPC que dene un modo de funcionamiento a la hora de realizarllamadas a procedimientos remotos y la obtencioacuten de sus resultados

A la hora de realizar el disentildeo de SOAP se han tenido en cuenta una serie de consideracionescon el n de cumplir una serie de objetivos claros objetivos que le daraacuten el potencial que resideen SOAP y que le haraacuten tan atractivo Eacutestos son

Establecer un protocolo estaacutendar de invocacioacuten a servicios remotos que esteacute basado enprotocolos estaacutendares de uso frecuente en Internet como son HTTP (Hiper Text TransportProtocol) para la transmisioacuten y XML (eXtensible Markup Language)para la codicacioacutende los datos

Figura 44 Partes de SOAP

Independencia de plataforma hardware lenguaje de programacioacuten e implementacioacuten delservicio Web

El logro de estos objetivos ha hecho de SOAP un protocolo extremadamente uacutetil ya que elprotocolo de comunicacioacuten HTTP es el empleado para la conexioacuten sobre Internetpor lo que segarantiza que cualquier cliente con un navegador estaacutendar pueda conectarse con un servidor re-moto Ademaacutes los datos en la transmisioacuten se empaquetan o serializan con el lenguaje XML quese ha convertido en algo imprescindible en el intercambio de datos ya que es capaz de salvar lasincompatibilidades que existiacutean en el resto de protocolos de representacioacuten de datos de la red

Por otra parte los servidores Web pueden procesar las peticiones de usuario empleando tec-nologiacuteas tales como Servlets paacuteginas ASP (Active Server Pages) paacuteginas JSP (Java ServerPages) o sencillamente un servidor de aplicaciones con invocacioacuten de objetos mediante CORBACOM o EJB

Un ejemplo tiacutepico de disentildeo de un servicio Web utilizando las ventajas de SOAP podemos veren la siguiente gura 45

Figura 45 Ejemplo de uso de SOAP

45 AMF

AMF (Action Message Format) es un protocolo binario de Adobe que va por la versioacuten AMF3Aunque por el nombre de la versioacuten pueda parecer que existan 3 cabe destacar que soacutelo existendos AMF0 y AMF3 Una de las mayores diferencias o mejoras que aporta AMF3 es que soporta

datos binarios (ByteArray) y int datos no soportados por AMF0 debido a que en la eacutepoca queaparecioacute el formato Flash Player no soportaba estos tipos de datos

AMF3 no es un protocolo para transferir informacioacuten sino que representa el formato en el quese transmite la informacioacuten en este caso un formato binario

La versioacuten de Moodle 25 viene con Zend_ AMF pero podemos utilizar tambieacuten la libreriacuteaamfPHP

AMFPHP

Zend_ amf httpframeworkzendcommanual112enzendamfhtml

Maacutes informacioacuten en httpdocsmoodleorgdevAMFPHP

46 Conguracioacuten de Moodle Web Services

Los Servicios Web habilitan que otros sistemas puedan entrar a Moodle y realizar operacionesPasaremos a detallar los pasos necesarios para su conguracioacuten y explicaremos distintos pruebasllevadas a cabo sobre su funcionamiento Para poder consumir de manera correcta unWeb Servicede Moodle seriacutea necesario antildeadir a la url que vamos a formar los paraacutemetros oportunos paralograr consumir el Web Service de manera satisfactoria Una vez antildeadidos ya podriacuteamos invocarla funcioacuten seleccionada

461 Activando los Servicios Web

Lo primero que debemos hacer es activar la opcioacuten general que habilita el uso de los serviciosweb En la gura 46 podemos observar la opcioacuten para la activacioacuten de este servicio para ello nosiremos a la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Servicios Externos

Figura 46 Activacioacuten Servicios Web

Esto solo es una opcioacuten a nivel global necesitando ahora activar los protocolos de comunciacionesque vamos a utilizar para ello deberemos ir a la opcioacuten textitAdministracioacuten del Sitio - Exten-siones - Servicios Web - Administrador de protoclos donde encontraremos las diferente opcionesque nos existen En la gura 47 podemos ver la pantalla de nuestra conguracioacuten con todos losprotocolos activados

Una vez activada la opcioacuten de Servicios Externos y seleccionados los protocolos que utilizaremosnecesitamos crear un Servicio Personalizado que no es maacutes que una etiqueta que aglutina los

Figura 47 Activacioacuten Protoclos

Servicios Web que ofrece Moodle y que pueden ser utilizados por los servicios externos Para ellodeberemos darle a la opcioacuten Agregar dentro de la opcioacuten Administracioacuten del Sitio - Extensiones- Servicios Web - Servicios Externos Como prueba habilitaremos un servicio llamado Uso_Servicio_ Web cuya creacioacuten podemos ver en la gura 48

Figura 48 Creacioacuten Servicio Personalizado

Una vez creado el Servicio Personalizado deberemos agregarle las funciones que queramos lesean permitidas pudiente tener maacutes de una En la gura 49 vemos como asociamos la creacioacutende usuarios al Servicio Personalizado

Terminado esto deberemos tener en el listado que nos muestra Moodle de Servicios personaliza-dos algo como lo mostrado en la gura 410

El siguiente paso es conceder los permisos apropiados para que este Servicio Personalizado puedeser usado por los usuarios pare ello debemos primero especicar quienes son los Usuarios au-torizados para ello en la linea de la lista de Servicios Personalizados deberemos pulsar sobre laopcioacuten usuarios autorizados donde apareceraacute una pantalla como 411 donde podremos escogerlos usuarios de los que se encuentran dados de alta en nuestro sistema

Y para terminar aunque este paso podriacutea ser realizado por el propio usuario si tuviera el per-miso de moodlewebservicecreatetoken seraacute la creacioacuten de un token el cual va ser la opcioacuten quevamos a utilizar para las pruebas de los Servicios Web de Moodle Para la creacioacuten del mismodeberemos entrar en la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Admin-istrar tokens y pulsar la opcioacuten Agregar para antildeadir un token nuevo como podemos apreciar en

Figura 49 Agregando funciones al Servicio Personalizado

Figura 410 Listado de Servicios Personalizados

la gura 412 teniendo la precaucioacuten de escoger como Servicio el Servicio Personalizado creadocon anterioridad Uso_ Servicio_ Web

En esta pantalla podemos poner varios tipos de restricciones

Restriccioacuten de IP Donde podemos indicar la direccioacuten IP desde donde

Restriccioacuten de Fecha Se puede denir hasta cuando seraacute valido este token siendo unabuena manera de poder probar cosas y no dejar puertas abiertas por error

En la gura 413 podemos ver el token asignado por el sistema para nuestro Servicio Personalizadoy que procederemos a utilizar para comprobar el funcionamiento de los Servicios Web de Moodle

462 Pruebas cliente Servicio Web

Procederemos ahora a desarrollar pruebas que utilicen los Servicios Personalizados creado Sepodriacutean haber utilizado el Cliente de prueba de servicio web que incorpora Moodle dentro dela opcioacuten Administracioacuten del Sitio - Desarrollo - Cliente de prueba servicio web pero hemosdecidido implementar una Web para comprobar la facilidad del funcionamiento del sistema y losdistintos resultados obtenidos seguacuten el protocolo utilizado

Utilizaremos la libreriacutea cURL de PHP cURL es una herramienta que permite abrir conexionesen una amplia variedad de protocolos y que estaacute disponible tanto como herramienta de consola(para ejecutar directamente con comandos) como en libreriacutea (para usar en vuestro coacutedigo) y quepermite hacer praacutecticamente todo manejo de cookies descarga de cheros binarios enviacuteos de

Figura 411 Alta de Usuarios Autorizados

Figura 412 Creacioacuten de Tokens

paraacutemetros GET y POST etc

La web creada para la introduccioacuten 414 de los usuarios seraacute equivalente para todos los procesosprocesos siendo el programa que da respuesta al formulario el que implemente la funcioacuten nece-saria para la introduccioacuten de los datos en Moodle

Los resultados de REST pueden mostrar los resultados del alta de dos maneras diferentes unaen formato XML como podemos ver en la gura 415 y otro en formatox JSON tambieacuten po-dremos ver en la gura Los resultados obtenidos tambieacuten pueden verse en el la gura 416

Figura 413 Lista de Tokens

Figura 414 Web de alta de usuarios

Figura 415 Resultado de REST en formato XML

Figura 416 Resultado de REST en formato JSON

Capiacutetulo 5

Herramientas Externas

51 Introduccioacuten

Las versiones de Moodle desde la 22 vienen con IMS LTI o External Tool de manera integradaEn versiones anteriores era necesario la instalacioacuten de plugins como LTI Provider (maacutes informa-cioacuten en la web de Moodle1 IMS LTI es un estandar de IMS learing2 para la interoperabilidadde herramientas Esto signica que las herramientas de aprendizaje tienen ahora un mecanismopara jar el modo en que pueden conectarse entre ellas sin problemas

En la praacutectica cuando un usuario se registra en Moodle puede conectarse a otras herramientascomo Wikis o Blogs y autenticarse de manera automaacutetica en estas

52 Estaacutendares IMS

Actualmente se realizan esfuerzos para la integracioacuten de servicios a una plataforma virtual deaprendizaje mediante un mecanismo reutilizable independiente del tipo de plataforma El IMSGlobal Learning Consortium viene desde hace tiempo trabajando en este enfoque IMS GLCpresenta un conjunto de estaacutendares que promueven el uso de servicios de aprendizaje digitales(Digital Learning Services) dentro de las plataformas de aprendizaje tradicionales IMS DigitalLearning Services estaacute integrado por los siguientes estaacutendares principales IMS Common Car-tridge [ims a] IMS Learning Tool Interoperability [ims c] y IMS Learning Information Services[ims b]

El IMS Learning Tool Interoperability es una especicacioacuten para facilitar la inclusioacuten de her-ramientas externas dentro de un curso El administrador de la plataforma de aprendizaje ges-tiona los servicios que podraacuten ser consumidos por la plataforma el docente decide que serviciosutilizaraacute en su curso y el estudiante hace uso de los mismos IMS LTI permite que distintos LMSconsuman un mismo servicio el cual no fue implementado teniendo en cuenta el tipo de LMSsino la implementacioacuten del estaacutendar desde el lado del proveedor

El enfoque del IMS LTI estaacute dirigido a la creciente demanda de un mecanismo reutilizable para laintegracioacuten de herramientas de terceros en el nuacutecleo de las plataformas LMS Estas herramientas

1httpsmoodleorgpluginsviewphpplugin=local_ltiprovider2httpwwwimsglobalorgtoolsinteroperability2cfm

37

pueden agregar funcionalidad especializada a los LMS El enfoque ofrece una solucioacuten basada enWeb Services igualmente aplicable a distintos lenguajes de programacioacuten

Las versiones del LTI son

LTI v10 ( LTI Basic ) ( publicado en mayo de 2010 ) proporciona un meacutetodo sencillopero estaacutendar para establecer una conexioacuten segura a una herramienta desde el interior deun consumidor de herramientas El lanzamiento de este enlace permite una experienciade aprendizaje sin problemas para los estudiantes que acceden a las aplicaciones ricas queparecen tener lugar dentro del ambiente de aprendizaje Versioacuten 10 es el primer paso en eldesarrollo continuo de LTI Figura 51

LTI v11 ( publicado en marzo 2012 ) antildeade la posibilidad de pasar de nuevo un resultadode la herramienta al Consumidor de herramientas Esto permite que los estudiantes recibenuna calicacioacuten o puntuacioacuten de su interaccioacuten con la aplicacioacuten de aprendizaje

LTI v111 ( publicado en julio de 2012 ) incluye soporte para el papel Mentor que se puedeutilizar para representar a un padre tutor o auditor

LTI v20 Aun en estado de desarrollo y proporciona una plataforma maacutes sosticado y ex-tensible para permitir integraciones maacutes profundas y un mayor apoyo para los serviciosy eventos LTI 2 se basa en LTI 1 mediante la incorporacioacuten de maacutes sosticada resulta-dos de informes y una rica arquitectura de extensiones que permite servicios adicionalesque se antildeadiraacuten gradualmente LTI 2 utiliza REST y JSON-LD para ofrecer esta nuevafuncionalidad

Figura 51 Esquema LTI Baacutesico

En la gura 52 podemos observar como se podriacutean utilizar las ventajas de LTI por parte decada unos de los actores a lo largo de la vida de la aplicacioacuten de servicios externos dentro de unaplataforma de aprendizaje

En la paacutegina web de IMS3 podemos encontrar una relacioacuten de aplicaciones certicadas comocompatibles con el estaacutendar LTI indicando la versioacuten del LTI que cumplen En la gura 53podemos ver las aplicaciones certicadas por UOC y en la gura 54 la informacioacuten sobre una deestas herramientas

3httpwwwimsglobalorgccalltoolscfm

Figura 52 Esquema utilizacioacuten LTI

Figura 53 Listado de herramientas LTI de la UOC

53 Herramientas externas en Moodle

La siguiente seccioacuten consiste en la aplicacioacuten de alguno de esto servicios externos en Moodlepara comprobar su funcionamiento Nos decantaremos para la primera prueba por WordPresspues aunque existen manuales al respecto la documentacioacuten en castellano es escasa

531 Wordpress

La versioacuten estaacutendar de Wordpress a la cual accedemos cuando nos abrimos cuenta en Wordpressno viene con las herramientas necesarias para la iteracioacuten mediante LTI por lo que procedere-mos a la instalacioacuten en nuestro servidor de Wordpress para pasar a la instalacioacuten de los pluginsnecesarios

La instalacioacuten ha consistido en la descarga de la web ocial 4 de la versioacuten 351 la cual hemoscopiado dentro del directorio htdocs de nuestra instalacioacuten de Xampp Hemos dado de alta unnuevo usuario en nuestra base de datos llamado username como podemos ver en la imagen 55 yposteriormente hemos seguido los pasos que el instalador nos iba ofreciendo para tener instalado

4httpwordpressorgdownload

Figura 54 Informacioacuten sobre la certicacioacuten

Wordpress bajo la url httplocalhostwordpress

Figura 55 Usuario de Wordpress

Deberemos congurar Wordpress para que trabaje como multisitio para lo que deberemos seguirlos pasos de conguracioacuten que podemos encontrar en la web ocial de Wordpress5 bajo el nombreCreate A Network consistente en los siguientes pasos

1 Realizar una copia de seguridad por si acaso

2 Modicar el chero wp-congphp incluyendo la siguiente linea encima de Thats allstop editing Happy blogging Multisite dene (WP_ ALLOW_ MULTISITE true)

Multisite dene (WP_ ALLOW_ MULTISITE true)

3 Installar un Network Para ello hemos de entra en la opcioacuten Administration -gtTools -gtNetwork Setup donde podremos congurar opciones sobre el nombre que queremos declararpara el nuevo sitio

4 Activar el Network para ello debemos modicar los cheros wp-congphp y htaccess porlo que seriacutea bueno que realizaacuteramos primero un copia de seguridad de los mismos Loscambios que debemos realizar son los siguientes

5httpcodexwordpressorgCreate_A_Network

En wp-congphp dene(MULTISITE true)dene(SUBDOMAIN_ INSTALL false)dene(DOMAIN_ CURRENT_ SITE localhost)dene(PATH_ CURRENT_ SITE wordpress)dene(SITE_ ID_ CURRENT_ SITE 1)dene(BLOG_ ID_ CURRENT_ SITE 1)

El chero htaccess debe quedar asiacute BEGIN WordPressltIfModule mod_ rewritecgtRewriteEngine OnRewriteBase wordpressRewriteRule icircndexphp$ - [L]

add a trailing slash to wp-adminRewriteRule ([_ 0-9a-zA-Z-]+)wp-admin1wp-admin [R=301L]

RewriteCondREQUEST_ FILENAME -f [OR]RewriteCondREQUEST_ FILENAME -dRewriteRule - [L]RewriteRule ([_ 0-9a-zA-Z-]+)(wp-(content|admin|includes)) $2 [L]RewriteRule ([_ 0-9a-zA-Z-]+)( php)$ $2 [L]RewriteRule indexphp [L]ltIfModulegt

END WordPress

5 Esto nos habraacute creado en la parte izquierda de la barra de herramientas de Wordpressuna nueva opcioacuten llamada My Sites que contendraacute un listado de los sitios de nuestroWordpress

El siguiente paso seraacute la descarga del plugin los cual podremos hacerlos desde la web de sour-forgenet 6 En esta web se detalla informacioacuten sobre el plugin y como se debe instalar Siguiendolos pasos que tenemos en el mismo procederemos a la descarga y el desplegado del mismo en lacarpeta wp-contentmu-plugins Salimos de Wordpress y volvemos a entrar como superusuariosi entramos dentro de la nueva red realizada podremos ver que dentro de LTI Consumers Keystendremos la opcioacuten LTI Consumers Keys como podemos ver en la imagen 56

Aquiacute deberemos crear la clave del consumidor del servicio y la clave secreta que nos permitiraacute aMoodle conectarse a Wordpress

Una vez que tenemos la clave secreta y del consumidor deberemos volver a Moodle entrandocomo administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

6httpsourceforgenetappsmediawikilearningappsindexphptitle=LTI4Wordpress

Figura 56 Servicios LTI en Wordpress

Figura 57 Listado de claves de LTI en Wordpress

-LTI En esta paacutegina podremos rellenar nuestras opciones

Tool Name Seraacute el nombre que tendraacute la herramienta y deberemos poner alguno indicativode la herramienta que estemos utilizando

Tool Base URL Es la direccioacuten de la herramienta en nuestro caso httplocalhostwordpress

Deberemos rellenar con los datos obtenidos en Wordpress la clave de consumidor y la clavesecreta

Es importante marcar Show tool type when creating tool instances para que aparezcaposteriormente al crear los recursos en nuestros cursos

Para poder probar el sistema hemos creado un curso dentro de Moodle llamada WordpressLTIdonde daremos de la siguiente manera de alta 59

Dentro de nuestro curso seleccionamos la opcioacuten de Edicioacuten

Pulsamos sobre Antildeadir una actividad o un recurso

Seleccionamos External Tool

Rellenamos las opciones

bull Nombre de la Actividad Cualquiera de nuestra eleccioacuten

Figura 58 Conguracioacuten LTI en Moodle

bull Tipo de herramienta externa El nombre que le pusimos a la herramienta externa enla conguracioacuten LTI de Moodle

bull Launch Container Hemos elegido la opcioacuten Incrustar para ver el resultado

Figura 59 Conguracioacuten Herramienta Externa

Una vez congurado podemos lanzar la herramienta externa teniendo como resultado la gura510

Figura 510 Wordpress integrado en Moodle

532 ChemVantage

ChemVantage es un recurso gratuito para la educacioacuten cientiacuteca que incluye ejercicios de gradoejercicios de preparacioacuten exaacutemenes de la praacutectica conferencias de video y libros de texto enliacutenea gratis Fue creado por ChemVantage LLC que fue fundada por el Prof Chuck Wight queha ensentildeado Quiacutemica General en la Universidad de Utah desde 1984 (ChemVantage 2011)

Nos hemos puesto en contacto con Chuck Wight (adminchemvantageorg) para solicitarle unaclave de consumidor y secreta para poder probar este recurso desde moodle Las opciones y elcorreo puede verse en la gura 511

Una de las cosas maacutes importantes de ChemVantage y por lo que nos hemos decidido a probar esque permite la devolucioacuten de las notas obtenidas en los ejercicios realizados en las herramientasexternas a Moodle El alumno podraacute realizar las tareas en esta herramienta externa y luego sercalicadas en Moodle

ChemVantage estaacute certicada por IMS 7 como un proveedor de herramientas LTI v11 y comotal funciona desde nuestro propio LMS para llevar a cabo la autenticacioacuten de sitios provee decuentas y devuelve resultados de asignacioacuten de estudiantes con el libro LMS grado automaacutetica-mente

Los recursos disponible son ChemVantage son principalmente los siguientes

1 QuizzesLos ejercicios presentados aquiacute estaacuten disentildeados para animar a los estudiantes a leer y en-tender los libros de texto utilizados en el curso Las preguntas se basan en material que sepresente en su mayor parte en los textos de introduccioacuten de quiacutemica Los iacutetems de preguntastienen respuestas straighforward no requieren caacutelculos detallados Las preguntas se presen-tan en varios formatos diferentes incluyendo opcioacuten muacuteltiple verdadero falso casilla devericacioacuten ll-in-the-blanco y numeacutericas Cada cuestionario se compone de 10 preguntasextraiacutedas al azar de una base de datos con muchas maacutes preguntas En el proceso de tomarvarias pruebas para mejorar sus calicaciones los estudiantes probablemente encuentran

7httpdevelopersimsglobalorgcoursechemvantagehtml

algunas preguntas repetidas de concursos anteriores sin embargo es poco probable quecualquiera de los dos cuestionarios contendraacute exactamente el mismo conjunto de preguntasen el mismo orden Asignando pruebas para ser completado antes de la conferencia losprofesores pueden estar seguros de que sus estudiantes tengan un poco de exposicioacuten almaterial Esto permite una mayor discusioacuten el diaacutelogo y la participacioacuten en el aula y haceel aprendizaje maacutes divertido (de verdad)

2 Video LecturesUna serie de conferencias de viacutedeo de 10 minutos sobre una variedad de temas de QuiacutemicaGeneral es accesible desde la paacutegina principal Los videos estaacuten disentildeados para reforzar lospuntos principales que se presentan en muchos libros de texto

3 HoweworksLas tareas estaacuten disentildeadas para dar a los estudiantes la praacutectica en la resolucioacuten de proble-mas cuantitativos que tienen respuestas numeacutericas Cada alumno puede descargar la tareatrabajar los problemas y presentar las respuestas en liacutenea Respuestas son juzgados a sercorrecta si la solucioacuten numeacuterica de acuerdo con la solucioacuten que se encuentra en la base dedatos dentro de una tolerancia especicada (indicado para cada problema) El sitio informaa los estudiantes que las respuestas son correctas para que puedan rehacer problemas malresueltos y volver a presentar las respuestas Cada problema se basa en una plantilla queatrae paraacutemetros al azar por lo que la respuesta correcta es diferente para cada estudianteEsto hace que sean adecuadas para la colaboracioacuten y el trabajo en grupo porque a pesarde que el grupo puede trabajar para encontrar un algoritmo correcto para resolver un prob-lema cada estudiante tendraacute que usar el algoritmo para encontrar la solucioacuten detallada asu propio problema

4 Practice ExamsLos estudiantes pueden realizaar exaacutemenes de praacutectica cronometrados que muestran laspreguntas de un grupo de 3 o maacutes temas Cada examen estaacute disentildeado para tardar unos60 minutos o menos e incluye una seleccioacuten de 10 preguntas Las praacutecticas de exaacutemenespueden repetirse cuantas veces se desee Las preguntas numeacutericas son parametrizadas loque es muy poco probable que un estudiante realice alguna vez dos exaacutemenes de praacutecticaideacutenticos

5 Portofolio PageCada estudiante puede acceder a una paacutegina que le da la puntuacioacuten obtenida en cada prue-ba y la asignacioacuten de tareas Los estudiantes que son miembros de un grupo tienen unapaacutegina de resultados asociados a las tareas de grupo Hay una paacutegina de carpeta separadaque contiene un resumen de todas las actividades realizadas en ChemVantage incluyendovideos vistos cuestionarios completados resolver problemas con la tarea y la praacutectica deexaacutemenes completados Las puntuaciones en los exaacutemenes de praacutectica son desagregadospara revelar fortalezas y debilidades estudiantes por temas

Hemos procedido a darlo de alta en LTI como hicimos con Wordpress Entramos en Moodle co-mo Administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

Figura 511 Correo de Chuck Wight

-LTI quedando como resultado la siguiente hoja de paraacutemetros gura 512

El siguiente paso seraacute antildeadir la herramienta dentro de nuestro curso para ello pulsaremos sobreAntildeadir una actividad o un recurso Deberemos seleccionar External Tool y rellenamos las op-ciones de la herramienta seleccionando como Tipo de herramienta externa la opcioacuten creada enel apartado de LTI de Moodle

Una vez congurado la herramienta en Moodle podemos entrar para realizar una personalizacioacutende la herramienta gura 513 esta consiste en indicar si el alumno cuando se conecta realiza undeterminado tarea o puede elegir navegar por la web de ChemVantage para poder disfrutar dela cantidad de recursos que se encuentran disponibles

Cuando el usuario pulsa sobre la opcioacuten de esta herramienta externa en Moodle lo primero quese le muestra es la informacioacuten sobre su perl en Chemvantage 514Como hemos visto en los paraacutemetros de conguracioacuten existe la posibilidad de llamar a unaherramienta externa incrustaacutendola dentro de Moodle o abrieacutendolo en una paacutegina web nuevaCon esta segunda opcioacuten no hemos conseguido que funcione correctamente la importacioacuten de lasnotas En cambio si la herramienta externa estaacute incrustada permite esa vinculacioacuten

Figura 512 Conguracioacuten de paraacutemetros LTI

Figura 513 Opciones de inicio de la herramienta

Figura 514 Pantalla de utilizacioacuten de la herramienta por el usuario

Capiacutetulo 6

Middleware

61 Introduccioacuten

La uacuteltima opcioacuten seriacutea utilizar una arquitectura middleware de integracioacuten que permita la inte-gracioacuten ligera de muacuteltiples herramientas existentes en el Moodle

62 GluePS

GLUE-PS es una arquitectura de middleware que permite una interoperabilidad ligera entrelos diferentes lenguajes de disentildeo de aprendizaje y diferentes entornos de aprendizaje virtualEsta interoperabilidad permite a los maestros y otros profesionales que particularicen (es decirpara personalizar el disentildeo de aprendizaje abstractoa la clase particular los participantes y laeleccioacuten de los instrumentos en los que va a ser promulgada) desplieguen (es decir para crearde forma semiautomaacutetica las actividades necesarias en el VLE recursos etc para la aprobacioacutendel disentildeo particularizado) e incluso para llevar a cabo ciertos cambios en el tiempo de ejecucioacuten(por ejemplo modicar la composicioacuten del grupo agregar o quitar recursos de las actividadesetc) Todo esto a partir de disentildeos en distintos lenguajes de disentildeo de aprendizaje tales como laespecicacioacuten IMS-LD aprendizaje

Por otra parte GLUE-PS tambieacuten permite desplegar y gestionar disentildeos de aprendizaje en en-tornos virtuales de aprendizaje que integren herramientas de aprendizaje externos (tales comointegrar en Moodle herramientas como Google Docs y muchos otros) - lo que llamamos Am-bientes de Aprendizaje Distribuido (DLE Distributed Learning Enviroments) Esto se consiguegracias a la arquitectura de GLUE para la integracioacuten de los entornos virtuales de aprendizajey herramientas externas

621 Instalacioacuten

Para realizar la instalacioacuten de GLUE-PS nos hemos descargado el software necesario de la webde los desarrolladores1 descargando la opcioacuten de autenticacioacuten centralizada La instalacioacuten haconstado de tres partes que pasaremos a describir a continuacioacuten

1httpwwwgsicuvaesglue

49

Figura 61 Arquitectura de GLUE

La primera parte consiste en la instalacioacuten del GLUEletManager y los adaptadores GSIC toolAunque el sistema viene preparado para Linux o Windows siendo Windows la explicacioacuten quevamos a desarrollar por estar utilizando este sistema operativo con Xampp

1 Crear el directorio GLUE_ HOME El cual hemos creado para mayor comodidad en la raiacutezdel disco duro

2 Denir la variable del sistema GLUE_ HOME con el valor de la direccioacuten completa deldirectorio de GLUE del punto anterior Para ello hemos pulsado botoacuten derecho sobre MiPc Propiedad Opciones Avanzadas Variables de Entorno procediendo a pulsar el botoacutenNueva para crear la variable en cuestioacuten

3 Extraemos en el directorio del punto (1) el paquete descargado de la paacutegina de los desar-rolladores

4 Ejecutar la instalacioacuten del cheroGLUE_ HOMEbininstall gluebat para registar GLUElet-Manager y GSIC tool como un servicio de Windows Tambieacuten este paso crearaacute un cheroen GLUE_ HOMEtool_ adapteradapterdata para proveer de persistencia a los objetoscreados con el adaptador GSIC tool

A continuacioacuten daremos de alta en nuestro gestor de bases de datos un para de bases de datosque necesita GLUEletManager Para ellos seguimos los siguientes pasos

1 Abrimos la consola de phpMyaAdmin para cargar y ejecutar el chero create_ GLUE_databasessql que se encuentra en GLUE_ HOMEmanagerconfdb

2 Modicamos el chero GLUE_ HOMEmanagerconfMETA-INFpersistencexml paradarle los paraacutemetros necesarios para que JDBC se conecte a nuestra base de datos Losparaacutemetros modicados puede verse en la imagen 62

Figura 62 Paraacutemetros modicados en persistencexml

La segunda parte consiste en el registro interno de los adaptadores de las herramientas para seraccedido con GLUEletManager La distribucioacuten trae un chero para facilitar la conguracioacuten delos adaptadores que trae consigo y para su instalacioacuten deberemos ejecutar el chero GLUE_HOMEmanagerconfdbll _ internal_ Registrysql Alguna de las herramientas necesitanuna conguracioacuten maacutes completa como puede ser Google Docs adapter que necesita una cuentade Gmail para poder crear documentos en Google Docs por lo que deberemos modicar el nom-bre de usuario y contrasentildea

La uacuteltima parte consiste en la instalacioacuten del adaptardor de Moodle como VLE utilizado Estainstalacioacuten es como cualquier otro moacutedulo de Moodle 2 La carpeta que deberemos copiar seraacutela del adaptador correspondiente a Moodle que se encuentra en la carpeta GLUE_ HOMEvle_adpatersmoodle_ vle_ adapter Una vez entremos en nuestro Moodle como administrador nosapareceraacute un mensaje indicaacutendonos que el nuevo moacutedulo esta instalado Para congurar el nuevomoacutedulo debermos ir a Noticaciones - Modulos - Actividades como podemos ver en la gura 63para congurar los paraacutemetros la URL del GLUEletManager y el tiempo de espera

Figura 63 Paraacutemetros del moacutedulo GLUE

Cuando el profesor quiera crear una nueva actividad dependiente de los adaptadores de GLUEdeberaacute agregar una actividad maacutes pulsando para ello en esta opcioacuten dentro del bloque deseadopara seleccionar luego el tipo de actividad GLUElet como podemos ver en la gura64

622 Creando un Doodle

El adaptador Doodle permite la creacioacuten conguracioacuten y gestioacuten de instancias del Doodle Cadaencuesta Doodle es considerado un instancia diferente Ademaacutes este adaptador permite realizarademas la conguracioacuten inicial de encuestas Doodle incluyendo el nombre de la encuesta unadescripcioacuten y un conjunto de posibles respuestas

A continuacioacuten antildeadiremos Doodle en un bloque de Moodle para ellos pulsaremos la opcioacuten deAgregar actividad GLUElet lo cual nos mostraraacute la paacutegina65 donde deberemos rellenar comomiacutenimo el nombre de la actividad y el tipo de herramienta seleccionado en este caso Doodle(httpdoodle-testcom)

2httpdocsmoodleorgenInstalling_contributed_modules_or_plugins

Figura 64 Creando una actividad GLUElet

La primera vez que pulsemos sobre la nueva actividad creada apareceraacute un pantalla 66 dondepodemos congurar diferentes elementos de la encuesta desarrollada con Doodle como son eltiacutetulo una pequentildea descripcioacuten y luego las opciones posibles con un liacutemite de 10

El resultado nal seraacute la incrustacioacuten de una encuesta Doodle dentro de nuestro Moodle comopodemos ver en la gura67

Figura 65 Antildeadiendo Doodle como actividad

Figura 66 Opciones iniciales de conguracioacuten de Doodle

Figura 67 Doodel dentro de Moodle

Capiacutetulo 7

Conclusiones Finales

71 Conclusiones Finales

El proyecto actual nos ha servido para acercarnos a las diferentes tecnologiacuteas que permiten lacomunicacioacuten entre Servicios Webs Hemos desarrollado una primera labor de investigacioacuten queha requerido el aprendizaje de diferentes herramientas de control de documentacioacuten y referenciascomo Zotero y Mendeley

La documentacioacuten recabada en el proceso inicial de revisioacuten de documentos nos ha aportadoun visioacuten general de los diferentes sistemas virtuales de aprendizaje que podemos encontrarnosmuchos de ellos gratuitos y las diferentes soluciones que se plantean a la necesidad de incluirrecursos de otros fabricantes que en principio no fueron concebidos para ser utilizados dentro deuna plataforma VLE

Para poner en praacutectica la diferentes opciones encontradas se han montado diferentes maacutequinasvirtuales sobre las que se han probado las mismas Las conclusiones nales se pasan a detallar

IMS LTIEsta solucioacuten de integracioacuten mediante el cumplimiento de unos protocolos y certicacionesde las herramientas que lo cumplen es en principio la que podriacutea parecer la mejor opcioacutenpero la falta de compromiso de los diferentes fabricantes de Servicios Web y la luchapara imponer sus propios estaacutendares hace que aun quede mucho para que esta opcioacuten seacomo tal real

Si vemos el nuacutemero de aplicaciones certicadas para usar IMS LTI apenas superan las 50 yla mayoriacutea solo cumple la especicacioacuten v10 lo cual signica que la integracioacuten solo solu-ciona el problema de llamar a un recurso externo desde Moodle Pocas son las que cumplenla v11 que permite obtener en Moodle una valoracioacuten de los ejercicios desarrollados en unaactividad externa

La versioacuten v20 que daraacute maacutes opciones a la hora de interactuar con actividades externasauacuten esta en desarrollo y nada se sabe sobre posibles fechas para su presentacioacuten Luegocerticacioacuten de herramientas etc

55

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 10: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

Cuadro 11 continuacioacutenLibreriacutea Buacutesqueda AacutembitoSD (Orchestration OR Coreography) AND Moodle TAKSD (Orchestration OR Coreography) AND (lms OR

Learning Management System)TAK

SL (Moodle AND Web services) TAKSL (Orchestration OR Coreography) ANDWeb Ser-

vicesTAK

SL (Orchestration OR Coreography) AND Moodle TAKSL (Orchestration OR Coreography) AND (lms OR

Learning Management System)TAK

Los resultados obtenidos podemos observarlos en la gura 11

Figura 11 Resultados SLR

Los resultados de Springer Link para la consulta (Orchestration OR Coreography) ANDWeb Services fueron en principio un problema por la cantidad de artiacuteculos que arrojaba2734 en total aun asiacute empezoacute a trabajar con ello La idea de un SLR es realizar una lecturainicial de los Abstracts para ver si la informacioacuten obtenida es de nuestro intereacutes y si fuera asiacuteprofundizar en la lectura del documento

Comenzamos trabajando con la libreriacutea de IEEE Digital Library (Xplore) El portal de estalibreriacutea nos facilitoacute mucho el trabajo pues pudimos permite la opcioacuten de exportar de manerasencilla como podemos ver en la gura 12 a una hoja de calculo que hemos utilizado para irdetallando aquellos documentos que hemos considerado importantes durante el estudio

Figura 12 Exportacioacuten en IEEE

Los resultados exportados por este portal son bastante completos sobre todo porque contiene elAbstract de los documentos por lo que la lectura de los mismos no se tiene que realizar en demanera individual en la web o descargando los documentos En la gura 13 podemos ver comose importaron en nuestra hoja de calculo los datos obtenidos

Figura 13 Importacioacuten en Hoja de Caacutelculo

Despueacutes de realizar la lectura los Abstracts hemos continuado con ScienceDirect donde los re-sultados fueron menores que los obtenidos con IEEE Este portal tambieacuten permite la opcioacuten deexportar de manera sencilla como podemos ver en la gura 14 permitiendo la opcioacuten de incluirlos Abstracts

Figura 14 Exportacioacuten en SD

Para acabar este uacuteltimo bloque nos quedaba revisar SpringerLink el cual se presentaba comoel maacutes prometedor por el gran nuacutemero de resultados obtenidos La revisioacuten de tantos artiacuteculos sepresentaba ardua pero no se esperaba que fuera tanto pues el portal no permite la exportacioacutende los Abstracts de los documentos encontrados Realizar la descarga de 2924 documentos parasu revisioacuten se nos haciacutea algo inviable dentro de los plazos para entrega del presente proyectosiendo por lo tanto seguir con los paraacutemetros de buacutesqueda iniciales En la gura 15 podemosver cuales son los campos que permite la exportacioacuten de este portal

Esto hizo replantearnos el estudio por lo que hemos replanteado el mismo reduciendo los con-ceptos a buscar para ello hemos realizado la buacutesqueda solo de los artiacuteculos directamente rela-cionados con Moodle y la coreografiacutea y orquestacioacuten de servicios web es decir (OrchestrationOR Coreography) AND Moodle y hemos incluido un nuevo buscador Google Scholar

Figura 15 Exportacioacuten en SD

httpscholargooglecom para de esta manera compensar la reduccioacuten de las buacutesquedas

La buacutesqueda por lo tanto puede ser resumida en la siguiente tabla 16 donde podemos comprobarla gran cantidad de artiacuteculos encontrados gracias a la utilizacioacuten de Google Scholar

Figura 16 Resumen de resultados

Los resultados de Google Scholar eran prometedores pero tambieacuten presentaban problemas parasu exportacioacuten despueacutes de varias consultas para buscar informacioacuten al respecto se conguroacute labuacutesqueda para que permitiera la exportacioacuten de los enlaces encontrados como podemos ver enla gura 17 pero esta opcioacuten nos volviacutea a obligar a realizar una consulta individual de cadaelemento

Figura 17 Conguracioacuten de Google Scholar

Aunque podriacuteamos realizar la buacutesqueda de esta manera sobre todo por los resultados esperadosel tener que realizar la buacutesqueda desde el navegador presentando solo 20 resultados por paacutegina seantojaba bastante pesada sobre todo si se teniacutea que retomar la buacutesqueda en diversos periodos detiempo La solucioacuten que se encontroacute fue la instalacioacuten de Zotero httpwwwzoteroorg Laherramienta permite instalacioacuten de un complemento para Firefox que se utilizoacute para realizar ladescarga de todos los enlaces Este complemento tambieacuten permite la visualizacioacuten de los enlacesen la web como podemos ver en la gura 18 Aun asiacute se decidioacute realizar la instalacioacuten de laversioacuten consola de Zotero para trabajar mejor con carpetas y de esta manera reorganizar lasreferencias encontradas

Figura 18 Resultados en Zotero

Capiacutetulo 2

Plataformas VLE e integracioacuten

En esta seccioacuten describiremos el Entorno Virtual de Aprendizaje pondremos ejemplos de ellos yveremos las necesidades que generan en el desarrollo del proceso de aprendizaje por la falta deintegracioacuten de nuevas herramientas algunas de ellas utilizadas por si sola como herramientas deaprendizaje Detallaremos los problemas de la integracioacuten y expondremos las posibles solucionesa ello

21 VLE

El Entorno Virtual de Aprendizaje (VLE - Virtual Learning Enviroment) suele ser un teacuterminomuy usado en la educacioacuten a traveacutes de ordenador pero no existe una denicioacuten acordada porlo que muchas veces es confundido con otros teacuterminos anaacutelogos como Learning ManagementSystem (LMS) Sistema de Gestioacuten de Contenidos (Content Management System - CMS) o unaPlataforma de aprendizaje (Learning Plataform - LP)

Las deniciones maacutes aceptadas para VLE pues dada en el 2000 por Joint Information Sys-tems Committee (JISC) en el 2000 [Stiles 2000] indicando que son ccedilomponents in which learn-ers and tutors participate in on-line interactions of various kinds including on-line learningExisten otros autores que no estaacuten de acuerdo con la necesidad de interacciones on-line como[Dillenbourg et al 2002] que los excluyen de su denicioacuten Britain an Liber [Britain et al 2004]tambieacuten omiten la comunicacioacuten on-line de su denicioacuten indicando que las VLEs pretender darcabida a una amplia gama de estilos de aprendizaje y objetivos para fomentar el aprendizajecolaborativo y basado en recursos para permitir una mayor intercambio y reutilizacioacuten de recur-sos [Britain et al 2004]

Una de las deniciones mas formal y comuacutenmente citada fue dada en el trabajo de Dillengourgs[Dillenbourg et al 2002] el cual expone siete argumentos distintivos

1 VLEs are designed information spaces in which multiple authors can produce both struc-tured and unstructured information

2 VLEs are social spaces that promote interactions and discussions both synchronously orasynchronously

3 VLEs are explicitly represented ranging from text-based interfaces to complex 3D graphicalsystems

7

4 VLE students are also actors thus producing rather than consuming contents

5 VLEs are not restricted to distance education supporting also presential and blended learn-ing situations

6 VLEs integrate heterogenous technologies (including a variety of tools supporting diferenttasks) and multiple pedagogical approaches because integration is under the idea of envi-ronment

7 Most VLEs overlap with physical environments at some point since learning activities mayinvolve the use of non-computerized resources or interactions among participants

Por tanto el VLE conlleva un paso hacia delante por constituir un espacio virtual que utilizatecnologiacuteas heterogeacuteneas en el que los alumnos son activos usuarios siendo sistemas centrados enlos educadores que permiten el disentildeo instanciacioacuten promulgacioacuten y evaluacioacuten de situacionesde aprendizaje colaborativo a traveacutes de un conjunto de actividades de aprendizaje que puedenser siacutencronas o asiacutencronas cara a cara o a distancia individuales o de manera colaborativa

211 Ejemplos de VLEs

Existen actualmente diversos VLEs amplimente difundidos y no paran de aparecer nuevos loscuales intentan incluir nuevos teacutecnicas aplicadas al aprendizaje como puede ser el 3D [Nonis 2005]Hemos realizado el resumen por [Alario-Hoyos et al 2012] para mostrar una tabla en la gura21 de los maacutes importantes Moodle Lams LRN Sakai Blackboard Claroline Sharepoint LMSy sus caracteriacutesticas teacutecnicas y funcionales

22 Herramientas de Software

El uso de aplicaciones software como apoyo al aprendizaje ha jugado un papel muy importantesobre todo a la incorporacioacuten del ordenador a nuestra vida diaria Sin embargo no ha sido hastalos uacuteltimos antildeos con la difusioacuten de las tecnologiacuteas web y la posibilidades que ofrece de accesoraacutepido y ubicuo a los recursos e informacioacuten lo que ha provocado la proliferacioacuten de las her-ramientas de Software como Servicio (Software as Service - SaaS) siendo adoptadas en todas lasetapas del aprendizaje

La tendencia actual de los usuarios a generar y compartir contenidos a traveacutes de las herramientasde la llamada Web 20 la mayoriacutea de las cuales son aplicaciones SaaS ha cambiado la formade aprender fomentando la comunicacioacuten colaboracioacuten y ha fomentado un aprendizaje masconstructivista Algunos ejemplos de estas herramientas son

Google Drive httpsdrivegooglecom

Twitter httpstwittercom

Delicious urlhttpsdeliciouscom

Google Maps httpsmapsgooglees

Flickr httpwwwflickrcom

Doodle httpwwwdoodlecom

Figura 21 Anaacutelisis de VLEs

Miles de estas herramientas son usadas como apoyo en las actividades de aprendizaje Muchasde estas herramientas podemos encontrarlas valoradas en un ranking en webs como Tops 100Tools for Learning1 de la cual mostramos la gura 22 tambieacuten podemos encontrarlas en CcediloolsTools for Schools2

221 Integracioacuten de herramientas

Aunque hemos podido ver que existe un gran nuacutemero de herramientas software la cuales puedenapoyar el desarrollo docente son pocos los VLEs y otras plataformas similares utilizadas porlos educadores para disentildear y prestar sus actividades formativas las que incluyen un nuacutemeromuy restringido de estas herramientas de manera integrada Los educadores suelen indicar laslimitaciones que los VLEs tienen en este caso demandando maacutes alternativas para soportar susparticulares aprendizajes colaborativos Por ello ha emergido con fuerza la integracioacuten de her-ramientas externas en los VLEs sobre todo para el uso de SaaS y aplicaciones Web 20

Debemos tener en cuenta que

La integracioacuten de las herramientas actuales en los entornos VLEs actuales suele ser laopcioacuten maacutes aceptada aunque existen otras alternativas

Las SaaS y las aplicaciones Web 20 han sido ampliamente adoptadas como herramientas de

1httpc4lptcouktop100tools2httpcooltoolsforschoolswikispacescom

Figura 22 Top 100 Tools - Abril 2013

aprendizaje pero existen otras herramientas con su particularidades teacutecnicas que puedenser interesantes y tenida en cuenta como actividades de aprendizaje en los VLEs

Estas herramientas usadas durante el ciclo de vida de aprendizaje colaborativo deben poderser analizadas para estudiar sus resultados

El ciclo de vida del aprendizaje colaborativo consta de cuatro fases disentildeo despliegue pues-ta en marcha y evaluacioacuten Las herramientas de software suelen utilizarse principalmenteen dos de ellas en el despliegue donde las herramientas son seleccionadas dependiendo delos objetivos del aprendizaje la conguracioacuten social y las estructuras de las actividades arealizar y en la fase de puesta en marcha pues son utilizadas por los estudiantes para re-alizar sus actividades y de esta manera alcanzar los objetivos del aprendizaje En la fase deevaluacioacuten estas realmente no son importantes pues no nos interesa tanto la herramientacon la que se haya realizado sino el contenido de esos resultados La fase de disentildeo es dondese consideran las tareas a realizar para llevar a cabo el aprendizaje y no herramientas autilizar para ello Aunque estas cuatro fase puede ser ampliadas o reducidas es ampliamenteaceptado En la gura podemos ver graacutecamente este ciclo

Figura 23 Ciclo de vida del aprendizaje colaborativo

222 Problemas en la integracioacuten

El problema general de la integracioacuten de muacuteltiples herramientas externas en diversos VLEspodemos observarlo en la gura 24 donde podemos ver en un lado diferentes VLEs consus correspondientes APIs arquitectura y caracteriacutesticas mientras en el otro lado diferentestecnologiacuteas interfaces y desarrollos para una gran variedad de propoacutesitos Cada uno deellos puede imponer sus restricciones para la integracioacuten Estos requerimientos es lo queha sido denominado por ejemplo en LAMS como ccedilontrato de integracioacuten el cual intentadeterminar las tecnologiacuteas interfaces y modelos de datos que deben ser empleados para lacomunicacioacuten entre un sistema y el programa que intente integrarlo

Cada herramienta puede tener una o maacutes opciones de integracioacuten Algunas son especiacute-cas para una cierta herramienta (Ej comunicacioacuten basado en Rest para Delicious y paraSlidshare de manera diferente) y otras comuacuten para varias herramientas (Ej Google DataProtocol) Lo mismo ocurre en el lado de los VLEs por lo que se abre un amplio abanicode tecnologiacuteas interfaces y modelos de datos que hacen que la tarea de integracioacuten seaalgo realmente complejo En la gura 25 podemos ver un resumen de los problemas deintegracioacuten seguacuten las herramientas seleccionadas

223 Enfoques de la integracioacuten

Podemos denir dos enfoques principales a la hora de enfocar la integracioacuten de las her-ramientas de software y los VLEs siendo estos

bull Estandarizar los contratos de integracioacutenLa denicioacuten de unos estaacutendares de integracioacuten podriacutea resolver los problemas de in-tegracioacuten pero no existen hoy en diacutea los mismos o no son aceptados por la mayoriacutea

Figura 24 Problemas de integracioacuten

seguramente por intereses tecnoloacutegicos y comerciales IMS Global Learning Consor-tium siguen intentando realizar la aprobacioacuten de dicho estaacutendar siendo uno de elloIMS-LTI Integracioacuten de aplicaciones y servicios remotos y aunque la adopcioacuten de losmismo por las nuevas versiones de Moodle y Blackboard podriacutea hacer que se apos-tara por esta opcioacuten la falta de herramientas que lo utilicen (Ej Google no lo utiliza)puede hacer que no llegue a buen puerto

bull Crear una arquitecturaEste enfoque trata de adaptar los contratos de integracioacuten de los VLEs y las her-ramientas sin tener que modicar sus implementacioacuten Este mismo enfoque presentados opciones como podemos ver en la gura 26 y que pasamos a detallar

1 Un adaptador por en el lado de VLE y otro en el lado de las herramientas o inclusoun solo paquete que pueda congure toda la conexioacuten En este caso estariacuteamoshablando por ejemplo de los moacutedulo adicionales de Moodle

2 Una capa intermedia y adaptadores Este tipo de arquitectura permite la in-tegracioacuten entre muacuteltiples herramientas externas y muacuteltiple entorno virtuales deaprendizaje a traveacutes de un middleware comuacuten Dicho middleware estariacutea com-puesto de diferentes programas que pueden ser ejecutados en dominios diferentesEsta arquitectura reduce el esfuerzo para la integracioacuten de cada herramienta encada VLE ya que el coacutedigo estaacute parcialmente implementado por los elementos deintegracioacuten comunes Sin embargo el grado de integracioacuten y funcionalidad que sepuede lograr con estas arquitecturas es menor que con la primera opcioacuten

23 Servicios Web

Aunque han sido englobados dentro de integracioacuten de herramientas vamos a detallar queson y que aportan a Moodle

Figura 25 Problemas de integracioacuten

Los Servicios Web (Web Services) son la parte esencial de la interoperabilidad de Moodlecon otras aplicaciones Web 20 consisten en una pieza de software que utiliza un conjuntode protocolos y estaacutendares abiertos para intercambiar datos entre aplicaciones La idea prin-cipal es que distintas aplicaciones de software desarrolladas en lenguajes de programacioacutendiferentes y ejecutadas sobre cualquier plataforma puedan utilizar los servicios Web paraintercambiar datos en la red de ordenadores como Internet El producto resultante es unconjunto de moacutedulos con funcionalidad especiacuteca y completa que se acoplan entre siacute A suvez estos moacutedulos se conectan a una plataforma de e-learning mediante la utilizacioacuten deservicios de base descritos en una capa estaacutendar que funciona como gateway

Para ampliar un poco mejor el concepto de servicios Web citaremos una exposicioacuten delDoctor Marcos Escobar Un Web Service es un componente de software que se comunicacon otras aplicaciones codicando los mensaje en XML y enviando estos mensaje a traveacutesde protocolos estaacutendares de Internet tales como el HTTP Intuitivamente un Web Servicees similar a un sitio Web que no cuenta con un interfaz de usuario y que da servicio a lasaplicaciones en vez de a las personas Un Web Service en vez de obtener solicitudes desdeel navegador y retornar paacuteginas Web como respuesta lo que hace es recibir solicitudes atraveacutes de un mensaje formateado en XML desde una aplicacioacuten realiza una tarea y de-vuelve un mensaje de respuesta tambieacuten formateado en XML

Figura 26 Enfoques de arquitectura de integracioacuten

231 Orquestacioacuten y Coreografiacutea de Servicios Web

Seguacuten Careaga Mercadillo Ana Lilia [car ] la Orquestacioacuten (Web Service Orchestration)y Coreografiacutea (Web Service Choreography) se suelen ver como dos aproximaciones parala Composicioacuten de Servicios Web que se acercan estrechamente a los conceptos musicalespor lo cual se han importado directamente sus signicados A continuacioacuten detallaremosque son y sus posibles aplicaciones

La tarea de componer servicios Web baacutesicos o simples para brindar servicios Web maacutes com-plejos se conoce teacutecnicamente como Composicioacuten de Servicios Web Existen dos grandesaproximaciones para esta tarea la coreografiacutea con foco en la interaccioacuten entre servicios(equivalente a los bailarines) y la orquestacioacuten (equivalente a los instrumentos de la orques-ta) con foco en la implementacioacuten y ejecucioacuten de servicios La primera puede consid-erarse como una descripcioacuten formal del pasaje de mensajes obviando detalles internosde implementacioacuten Se ajusta maacutes en situaciones donde es provechoso contar con la no-cioacuten de estados y tambieacuten donde estaacuten involucradas transacciones de larga duracioacuten- Elorquestadordetermina la naturaleza y la secuencia de la interaccioacuten En cambio la segun-da aproximacioacuten describe la loacutegica y el estado de cada una de las partes involucradas Laorquestacioacuten tiene una visioacuten mas local y centralizada mientras que la coreografiacutea denela composicioacuten desde una perspectiva global sin control centralizado tal y como sucede enla danza

Existen numerosas deniciones de Servicios Web y esto demuestra en parte la gran com-plejidad de los servicios que se agrupan bajo este teacutermino y las implicaciones asociadas aellos Hasta ahora la denicioacuten maacutes general y convincente es decir que los Servicios Webson el conjunto de aplicaciones tecnoloacutegicas con capacidad para interoperar en la Web Es-tas tecnologiacuteas intercambian datos entre ellas con el n de ofrecer servicios de naturalezaremota

La World Wide Web no es soacutelo un espacio de informacioacuten tambieacuten es un espacio de inter-accioacuten Utilizando la Web como plataforma los usuarios de forma remota pueden solicitar

un servicio que alguacuten proveedor ofrezca en la red Pero para que esta interaccioacuten funcionedeben existir unos mecanismos de comunicacioacuten estaacutendares entre diferentes aplicacionesEstos mecanismos deben poder interactuar entre siacute para presentar la informacioacuten de formadinaacutemica al usuario Se precisa pues una arquitectura de referencia estaacutendar que hagaposible la interoperabilidad y extensibilidad entre las distintas aplicaciones y que permitasu combinacioacuten para realizar operaciones complejas Esta arquitectura es conocida con elnombre de SOA (Service Oriented Architecture)

Con el n de estandarizar los diferentes aspectos relacionados con los servicios Web elW3C (World Wide Web Consortium) recoge todo lo referente a ellos en (Web ServicesActivity) Asiacute pues Web Services (WS) ofrece un signicado estaacutendar para interoperarentre diferentes aplicaciones de software corriendo en diferentes plataformas yo marcosde trabajo El W3C pretende disentildear la arquitectura denirla y crear el nuacutecleo de tec-nologiacuteas que hagan posible los Servicios Web Los servicios Web se basan en un lenguajede caracteriacutesticas especiales llamado XML (Extensible Markup Language) que permite quelas aplicaciones compartan informacioacuten y que ademaacutes invoquen funciones de otras apli-caciones independientemente de coacutemo se hayan creado dichas aplicaciones y del sistemaoperativo o plataforma en que se ejecuten Por ejemplo Google utiliza un Servicio Webllamado Google Web APIs que permite que el usuario programe en diversos lenguajes ase-gurando la recuperacioacuten de informacioacuten independientemente de la plataforma que se utilice

Los Servicios Web se idearon en un principio para realizar interacciones simples e indepen-dientes pero ahora es necesario que los servicios colaboren y se coordinen A la coordinacioacutennecesaria para implementar un servicio Web se le llama Composicioacuten que puede realizarsede dos manerasorquestacioacuten y coreografiacutea La principal diferencia entre orquestacioacuten ycoreografiacutea es el alcance La orquestacioacuten trata de la descripcioacuten y ejecucioacuten de un mismoy uacutenico punto de vista global del modelo (instrumentacioacuten) La coreografiacutea trata de la de-scripcioacuten y guiacutea de un modelo global proyectado en base a cada participante (bailarines)La orquestacioacuten y coreografiacutea son teacuterminos que describen dos aspectos de los estaacutendaresemergentes para la creacioacuten de procesos de negocios de muacuteltiples servicios WebLos dosteacuterminos se superponen pero es claro que la orquestacioacuten se reere a un proceso de nego-cio ejecutable que puede interactuar tanto con servicios Web internos como externos Laorquestacioacuten representa siempre el control desde la perspectiva de una de las partes Estolo distingue de la coreografiacutea que es de mayor colaboracioacuten y permite a cada parte impli-cada describir su papel en la interaccioacuten La orquestacioacuten y coreografiacutea tratan de describiraspectos relacionados con la creacioacuten de procesos de negocio que involucran varios tipos deSoftware

Visto graacutecamente podemos ver en la gura 27 la orquestacioacuten permite disentildear proce-sos de negocio ejecutables que pueden interactuar (a nivel de mensaje) tanto con softwareinterno como externo Por otra parte la coreografiacutea es mucho maacutes colaborativa ya quepermite trazar las secuencias de mensajes que se suceden entre todas las partes partici-pantes del proceso de negocio en lugar de centrarse en los mensajes que se intercambianentre los diversos programas de software que implementan los procesos de negocio

Figura 27 Orquestacioacuten y Coreografiacutea de Servicios Web

232 Estaacutendares de Orquestacioacuten de Servicios Web

WS BPEL( Web Service Business Process Execution Language)Es un lenguaje de orquestacioacuten estandarizado porOASIS (Organisation for Advance Struc-tured Information Business Transaction Protocol) para la composicioacuten de servicios Web quepermite a los desarrolladores crear programas que automatizan las interacciones entre losservicios Web jugando un papel clave en las arquitecturas orientadas a los servicios SOAPara comprender su funcionamiento imaginemos un proceso de negocio determinado quetiene una entrada A y una salida B Dicho proceso como la mayoriacutea de ellos posee a suvez de muchos procesos internos que se van activando de acuerdo a ciertos paraacutemetros yvalores BPEL seriacutea el encargado de orquestar y por lo tanto dirigir la ejecucioacuten de unamanera ordenada La ventaja de que BPEL sea un estaacutendar radica en que puede ser imple-mentado en una gran variedad de motores de ejecucioacuten de diferentes proveedores BPELen si es un formato XML que proviene de la convergencia entre el WSFL (Web ServiceFlow Language) de IBM y XLANG de Microsoft La herramienta BPEL estaacute basada en unmodelo llamado Workow que especica las oacuterdenes de ejecucioacuten Existen actividadesbaacutesicas como iumlnvoke y receive y otras estructuradas como sequence Tambieacuten formanparte del modelo variables y participantes (partners) En las variables se deposita la nocioacutende datos y los participantes representan los elementos que interactuacutean en la composicioacutenEl modelo se completa como un motor que orquestaraacute las invocaciones

BPML (Business Process Modeling Language)Es un metalenguaje basado en XML para la descripcioacuten de procesos de negocio Inicial-mente BMPL se disentildeoacute para soportar los procesos que un sistema de gestioacuten de procesosde negocio pudiera ejecutar BPML dispone de estructuras similares a BPEL como puedenser actividades baacutesicas para el enviacuteo y la recepcioacuten de mensajes y para la invocacioacuten deservicios Adicionalmente BPML permite planicar las tareas para que se ejecuten eninstantes especiacutecos ofreciendo algunas opciones de control temporal Este lenguaje in-cluye caracteriacutesticas para dar soporte a la persistencia ya que fue disentildeado para la gestioacutende procesos de larga duracioacuten BPML ofrece soporte tambieacuten para realizar composicionesrecursivas a n de poder construir procesos de negocio que a su vez consten de otros sub-procesos Asimismo soporta transacciones de larga o corta ejecucioacuten gracias a que usa unateacutecnica similar a BPEL para controlar el alcance de las actividades y gestionar de esta

forma las reglas de compensacioacuten en caso de que las operaciones que deben realizarse deforma automaacutetica se vean interrumpidas

233 Estaacutendares de Coreografiacutea de los Servicios Web

WS-CDL (Web Services Choreography Description Language)Es un lenguaje basado en XML que describe la colaboracioacuten entre pares peer to peemediante la denicioacuten - desde un punto de vista global de los comportamientos comunes yobservables de cada participante de un proceso de negocio Eacuteste es un lenguaje utilizadopara la denicioacuten de servicios dentro de la plataforma SOA y cuyo objetivo es la descrip-cioacuten del comportamiento de cada uno de los servicios establecidos para lograr un objetivocomuacuten Sin embargo antes de WS-CDL ya existiacutea un lenguaje que permitiacutea la descripcioacutende las funcionalidades de un Servicio Web WSDL (Web Services Denition Language)el cual puede describir el conjunto de funciones ofrecidas con los posibles fallos que po-driacutean ocurrir y a pesar de que WS-CDL podriacutea expresar las coreografiacuteas de un servicioen un ambiente SOA W3C (World Wide Web Consortium) abandonoacute su desarrollo en 2009

WSCI (Web Service Choreography Interface)La especicacioacuten de WSCI fue desarrollada por diversas compantildeiacuteas como Sun SAP BEAe Intalio y representa una extensioacuten para WSDL para la colaboracioacuten La especicacioacuten de-ne la coreografiacutea global o el intercambio de mensajes entre los diferentes tipos de softwarey soporta su correlacioacuten reglas de secuenciacioacuten manejo de excepciones transacciones ycolaboracioacuten dinaacutemica WSCI soacutelo describe el comportamiento observable entre el softwareque se emplea Una coreografiacutea WSCI constaraacute de un conjunto de interfases WSCI unapor cada uno de los servicios que participen en la interaccioacuten

24 Moodle

El software de coacutedigo abierto (Open-Source Software-OSS) esta siendo ampliamente de-sarrollado ofreciendo nuevas alternativas y posibilidades hasta hace poco inimaginablesMoodle es un claro ejemplo siendo uno de los programas maacutes ampliamente adoptados porcolegios institucioacuten universidades etc Como podemos ver en la gura 28 el nuacutemero deusuarios registrados y los idiomas en los que se encuentra disponible dan muestra de sugran difusioacuten Algunas de las razones mas importante para su eleccioacuten son

Figura 28 Moodle - Abril 2013

bull Moodle es OSS lo cual signica que los usuarios pueden descargarlo libremente usarlomodicarlos e incluso redistribuirlo seguacuten los teacuterminos GNU 3

bull La losofiacutea planteada por Moodle incluye una aproximacioacuten constructiva basada enel constructivismo social de la educacioacuten enfatizando que los estudiantes (y no soacutelolos profesores) pueden contribuir a la experiencia educativa en muchas formas

bull Compatibilidad con maacutes de 70 idiomas diferentes

bull Una excelente documentacioacuten soporte para seguridad y administracioacuten

bull No requiere modicaciones en el sistema operativo pudiendo ser ejecutado en un en-torno Linux Windows Mac OS o cualquier otro siempre que soporten PHP

bull La informacioacuten esta soportada por una simple base de datos

Ademaacutes su sencilla aplicacioacuten en entorno web que utiliza tecnologiacuteas ya ampliamenteprobadas sus mecanismos de extensioacuten maacutes faacuteciles en comparacioacuten con otros VLEs y laexistencia de una gran cantidad de documentacioacuten de desarrollo han impulsado la creacioacutende una gran comunidad de personas que contribuyen a la mejora de Moodle Esta comu-nidad estaacute en constante desarrollo de nuevas caracteriacutesticas y aplicaciones a traveacutes decientos de plugins que pueden ser descargados desde su la web de Moodle y asesoran tantoa otros desarrolladores como usuarios nales

La primera versioacuten de Moodle (10) fuel lanzada en 2002 como parte de la investigacioacuten deMartin Dougiamas del uso del software de coacutedigo abierto para la ensentildeanza y el aprendizajecon las comunidades basadas en Internet[Dougiamas and Taylor 2000] Actualmente seencuentra disponible la versioacuten 243+ como estable y la beta de la versioacuten 25

En cuanto a la parte teacutecnica Moodle estaacute desarrollado en lenguaje PHP como la mayoriacuteade los VLEs utiliza una arquitectura cliente-servidor comuacuten de tres capas CORREGIRLa capa de presentacioacuten dene como la informacioacuten se presenta a los usuarios nales quetienen acceso a esa informacioacuten a traveacutes de sus navegadores web La Capa de loacutegica de ne-gocios se encarga de las relaciones con Moodle el acceso a la capa de datos por lo generala traveacutes de MySQL para almacenar y recuperar la informacioacuten cuando sea necesario

Moodle se distribuye en un solo paquete multiplataforma que incluye PHP MySQL yApache HTTP Server para facilitar los procesos de instalacioacuten y conguracioacuten La dis-tribucioacuten actual de Moodle cumple con varios estaacutendares educativos Por ejemplo Moodlepuede manejar ADL SCORM paquetes que contienen recursos aislados o cursos completosEn cuanto a los estaacutendares IMS Moodle soporta IMS Content Packaging (IMS CP) IMSCommon Cartridge (IMS CC)IMS pregunta y Test Interoperability (IMS QTI) y estaacuteconsiderado como uno de los VLEs compatible con Basic LTI

241 otras plataformas

No podemos dejar de lado otros escenarios educativos que han ido apareciendo en los uacutelti-mos antildeos a pesar del gran eacutexito de los VLEs Algunos ejemplos de estas plataforma son

3httpsmoodleorg

bull Wikis (Ej MediaWiki) Son sistemas software que permiten la creacioacuten y gestioacutende contenidos estructurados mediante paacuteginas web relacionadas entre siacute El contenidosuele estar editado por varios usuarios que trabajan de manera colaborativa pudiendoincluir enlaces a recursos externos

bull Sitios de redes sociales (Ej Facebook) Son sistema en liacutenea donde los usuariospueden crearse sus propios perles y crear una red personal que les mantendraacute conec-tado con otros usuarios Estos sistemas han proliferado en los uacuteltimos antildeos llegando amillones de usuarios No suelen necesitar un administrador pues se utilizan medianteentorno web y son alojados por el propio proveedor Su gran adopcioacuten y el enfoquea las interacciones sociales es lo que ha llevado a muchos profesor a utilizarlo comoherramienta de aprendizaje Estos sitios permiten la creacioacuten y mantenimiento degrupo mediante el perl de usuario pero no estaacuten disentildeados para seguir un enfoquepedagoacutegico

bull Personal Learning Environment - PLE (Ej Southampton) Son denidos comosistemas de software que permiten al estudiante a tomar el control y la gestioacuten de suspropio aprendizaje Se caracterizan por la por la participacioacuten directa de los alumnosen el acceso agregacioacuten conguracioacuten y manipulacioacuten de herramientas y recursos adiferencia de los VLEs done es el educador el que selecciona y gestiona los recursosque el alumno debe utilizar

Muchas de estas herramientas son de coacutedigo libre y abierto Su funcionalidad respecto ala gestioacuten de actividades grupos funciones y herramientas es limitado siendo en algunoscasos inexistente Ninguna de estas plataformas se puede considerar un VLE ya que nosson sistemas centrados en el educador sin embargo pueden apoyar la integracioacuten de apli-caciones externas en entornos de aprendizaje colaborativo

Capiacutetulo 3

Organizacioacuten y Sistema Inicial

A continuacioacuten pasamos a detallar las distintas actividades de la que consta el proyecto quehemos llevado a cabo durante estos meses

31 Lanzamiento del proyecto

Esta actividad consisten en la eleccioacuten de una de las diferentes posibles aacutereas de desarrollo deproyectos que ofrece la UOC siendo la elegida Aplicaciones Web para trabajo colaborativo

32 Denicioacuten del proyecto

El proyecto queda denido en el presente documento siendo el tiacutetulo del mismo Orchestationand Coreography of Web Services on Moodle - Revisioacuten Sistemaacutetica de la literatura

[Duracioacuten] 27-02-2013 al 03-03-2013

33 Anaacutelisis de requisitos

Nos centraremos en la fase de planicacioacuten que incluye los objetivos de la investigacioacuten y la formaen que se llevaraacute a cabo la revisioacuten

[Duracioacuten] 04-03-2013 al 03-06-2013

331 Cuestiones Realizadas

El primer paso en la fase de planicacioacuten seraacute denir los objetivos principales de esta revisioacutensistemaacutetica de la literatura Estos objetivos son analizar el estado del arte de la coreografiacutea yorquestacioacuten de los servicios web en Moodle como LMS

332 Fuentes de datos y buacutesqueda

Utilizaremos diferentes libreriacuteas o espacios digitales para realizar las buacutesquedas las mismas serealizaraacuten en ingleacutes y espantildeol Las libreriacuteas principales utilizadas son

IEEEXplore [IEEEX] httpieeexploreieeeorg

21

Science Direct [SD] httpwwwsciencedirectcom

SpringerLink [SL] httpwwwspringerlinkcom

Paralelamente a Science Direct se han realizado buacutesquedas en Scopus1 de Elsevier y GoogleScholar2 de Google

333 Criterios de inclusioacuten y exclusioacuten

Las buacutesquedas que se realicen intentaraacuten abarcar todo el aacutembito de cuestiones del SLR pero esposible (y de hecho ocurre) el resultado contenga referencias publicaciones estudios o en generalinformacioacuten que no sirve Para ello seraacute necesario denir criterios de inclusioacuten y exclusioacuten loscual haremos basaacutendonos en la guiacutea [Kitchenham 2007]

334 Asegurar la calidad

Despueacutes de obtener un numero considerable de trabajos o estudios que satisfacen los criteriosde inclusioacuten y exclusioacuten se deberaacute ser capaz de asegurar o armar cuales son los que cumplencon una miacutenima calidad y si son vaacutelidos o no para el estudio en si Es baacutesico poder analizar queacuteestudios son mejores que otros en teacuterminos de calidadSiguiente [Kitchenham 2007] se deniraacuten preguntas y cuestiones que permitan asegurar dichacalidad

335 Extraccioacuten de datos y anaacutelisis

Los criterios de inclusioacuten y exclusioacuten junto con las preguntas orientadas a asegurar la calidadnos serviraacuten para obtener todos los artiacuteculos y estudios que se analizan en este estudioDe cada artiacuteculo se recogeraacute titulo y autores abstract publicacioacuten y antildeo de publicacioacuten

336 Fase de revisioacuten

Esta fase de planicacioacuten seraacute denir el proceso de conducir o dirigir la revisioacuten Para elloutilizaremos tres fases como podemos ver en la gura 31 de la paacutegina 23

337 Fase de Pruebas

Se realizan pruebas con la informacioacuten obtenido montado maacutequinas virtuales para realizar lasmismas En estas se han probado las diferentes opciones de comunicacioacuten que nos ofrece Moodle

1httpwwwscopuscom2httpscholargooglecom

Figura 31 Proceso para dirigir la revisioacuten

34 Calendario de Trabajo

Podemos ver en el siguiente diagrama de Gantt32 la distribucioacuten de trabajos en el tiempo elmismo seraacute modicado para ajustarlo a las variaciones producidas durante el desarrollo de lastareas que contempla

35 Hitos principales

Los principales hitos seraacuten

Lanzamiento del proyecto Se dene correctamente en que va consistir el proyecto

Denicioacuten de cuestiones para la buacutesqueda Donde se detallaraacuten las cuestiones quemarcaran el desarrollo del resto del proyecto

Comprobacioacuten de resultados Se deberaacuten criba los mismo para no obtener duplicadoso informacioacuten ajena a la investigacioacuten

Revisioacuten de informacioacuten obtenida Una vez obtenida la informacioacuten y analizada deberaacuteser revisada para su presentacioacuten

Figura 32 Diagrama de Gantt

36 Instalacioacuten base

Para llevar a cabo las pruebas se ha optado por la creacioacuten de una maacutequina virtual sobre VirtualBox 3 en la cual hemos instalado Windows XP como sistema operativo Este sistema es maacutesligero a la hora de trabajar en maacutequinas virtuales pues requiere menos recursos que las versionesposteriores del mismos sistema

El siguiente paso era la instalacioacuten de Moodle Aunque se dispone de un instalador para Win-dows se ha optado por la descarga e instalacioacuten de XAMPP 4 y su y su posterior conguracioacutenen la maacutequina virtual XAMPP es un servidor independiente de plataforma software libre queconsiste principalmente en la base de datos MySQL el servidor web Apache y los inteacuterpretespara lenguajes de script PHP y Perl El nombre proviene del acroacutenimo de X (para cualquierade los diferentes sistemas operativos) Apache MySQL PHP Perl

XAMPP en su versioacuten 181 incluye

Apache 243

MySQL 5527

PHP 547

phpMyAdmin 3522

FileZilla FTP Server 0941

Tomcat 7030

Strawberry Perl 51611 Portable

XAMPP Control Panel 310

Hemos continuado con la descarga he instalacioacuten de Moodle y hemos querido probar las difer-encias que obtenemos entre las versiones 19x y 25 por lo que se han descargado ambas heinstalado en maacutequinas virtuales diferentes Con ello conseguiremos probar el resultado obtenidoseguacuten la versioacuten Moodle desde su versioacuten 22 ya soporta conexiones mediante IMS - LTI IMSLTI es un estaacutendar IMS Learning Tool Interoperability Esto signica que las herramientas deaprendizaje tienen ahora diversas maneras de conectarse entre sin problemas

En la praacutectica cuando un usuario se registra en una herramienta como Moodle se pueden conectara la otra herramienta como MediaWiki y autenticarse automaacuteticamente proporcionando unaexperiencia perfectaLas guras 33 y 34 nos muestran el panel de control de XAMPP una vez instalado y el panede phpMyAdmin donde hemos debido congurar las bases de datos y usuario necesarios parallevar todo el proceso de conguracioacuten de Moodle y el resto de herramientas

3httpswwwvirtualboxorg4httpwwwapachefriendsorgesxampphtml

Figura 33 Panel de control de XAMPP

Figura 34 Gestor de bases de datos phpMyAdmin

Capiacutetulo 4

Servicios Web de Moodle

41 Introduccioacuten

Moodle 2X incorpora la posibilidad de implementar Servicios Web para manejar sus funciona-lidades lo que nos permite poder acceder a acciones de actualizar y crear tareas para reejar elresultado de las actividades realizadas Moodle soporta varios protocolos (REST SOAP XML-RPC y AMF)

42 Servicios Web de Moodle

Los Servicios Web de Moodle se caracterizan por permitir el acceso desde cualquier aplicacioacutenimplementando para ello tres capas como podemos observar en la gura 41

Capa nuacutecleoLa capa del nuacutecleo estaacute compuesta de todas las funciones principales de Moodle sobreusuarios grupos cursos calendario etc Moodle no dispone de una API al uso sino queofrece diferentes funciones que han sido desarrolladas durante antildeos Por tanto las necesi-dades de los Servicios Web estaacuten obligando a rehacer estas funciones del nuacutecleo para quecomiencen a formar una API (Moodle 2X)

Capa externaLa capa externa estaacute compuesta por nuevos cheros llamados externalphp colocados porlas carpetas de Moodle y conteniendo manejadores para la capa inferior Estos manejadoresson los responsables de comprobar las capacidades paraacutemetros y llamadas correctas a lasfunciones de nuacutecleo

Capa de conectoresLa capa de conectores estaacute compuesta de diferentes conectores para las diferentes imple-mentaciones de los Servicios Web y contiene un conector REST un conector SOAP unconector XML-RPC y un conector AMF Esta capa admite plugins para ampliar los conec-tores disponibles de manera que se puedan integrar otros sistemas en Moodle utilizandootros protocolos

Los pasos para utilizar un Servicio Web con Moodle seriacutean los siguientes

1 El cliente enviacutea el nombre de usuario y contrasentildea al servidor que provee los ServiciosWeb

27

Figura 41 Capas en Moodle

2 El servidor de protocolo devuelve un token de sesioacuten para esa cuenta de usuario

3 El cliente llama a un Servicio Web especiacuteco incluyendo el token de sesioacuten

4 El servidor utiliza el token para comprobar que la sesioacuten del Servicio Web estaacute activa

5 El servidor llama a la funcioacuten correspondiente localizada en el chero externallibphp dentrodel moacutedulo especiacuteco

6 La funcioacuten externa comprueba que el usuario actual tenga los permisos sucientes pararealizar esta operacioacuten

7 La funcioacuten externa llama a la funcioacuten correspondiente del nuacutecleo de Moodle (libphp)

8 La funcioacuten del nuacutecleo puede retornar un resultado a la funcioacuten externa

9 La funcioacuten externa devolveraacute el resultado al servidor de protocolo

10 El servidor de protocolo devolveraacute el resultado al cliente

43 REST

REST (Representational State Transfer) es el acroacutenimo de Transferencia de Estado Representa-cional teacutermino usado por Roy Fielding (uno de los creadores de HTTP) para describir un estilode arquitectura que utilizar como modelo en los sistemas de computacioacuten Web No es un es-taacutendar sino un enfoque que muestra como desarrollar y proporcionar servicios en Internet portanto considerado como un estilo arquitectoacutenico para disentildeo de software a gran escala El propioautor lo dene de manera concisa en eacuteste paacuterrafo

REST es un intento de mostrar coacutemo debe comportarse una aplicacioacuten Web bien disentildeada unared de paacuteginas Web (una maacutequina de estados virtual) donde el usuario progresaraacute seleccionan-do enlaces (transiciones de estado) que devuelven la paacutegina siguiente (el siguiente estado de lamaacutequina) que el usuario manejaraacute a su gusto

Este enfoque no aporta realmente nada nuevo la mayor parte de la Web sigue este estilo arqui-tectoacutenico Sin embargo el autor hace eacutenfasis en las caracteriacutesticas concretas que han hecho quela Web triunfe que van a ser los objetivos buscados por REST y que son a su juicio

Escalabilidad en las interacciones entre componentes La red ha ido creciendo de maneraexponencial y se ha ido comportado de manera satisfactoria

Generalidad en las interfaces Se proporciona acceso con distintos clientes y con distintosmecanismos de acceso

Desarrollo independiente de componentes Implementaciones cliente y servidor pueden serdesarrolladas en distintos momentos

Existencia de componentes intermediarios con los cuales existe compatibilidad (comoproxys)que permiten encapsulacioacuten e integracioacuten de sistemas no Web dentro de la misma

431 Principios de disentildeo

Los objetivos citados van a ser conseguidos imponiendo una serie de restricciones

El estado y la funcionalidad de las aplicaciones se representan por forma de recursos

La identicacioacuten de recursos se realiza de forma uacutenica global mediante Uniform ResourceIdentiers Los recursos identicados con URIs son los objetos loacutegicos a los cuales se lesmandan los mensajes

Manipulacioacuten de recursos a traveacutes de representaciones luego no se manejan directamentelos recursos sino sus representaciones

Todos los recursos comparten un interfaz uniforme formado por

bull Un conjunto de operaciones limitado para transferir el estado Se van a aprovecharlas operaciones que HTTP dene mostradas en la gura 42

bull Un conjunto limitado de tipos de contenidos identicados mediante tipos MIME

Uso de un protocolo clienteservidor sin estado y basado en capas Cada mensaje HTTPcontendraacute la informacioacuten necesaria para comprender la peticioacuten luego como muestra lagura 43 no es necesario que eacutesta sea entendida tanto en el cliente como en el servidor

Uso de hipermedios para representar el estado de una aplicacioacuten permitiendo que el estadode una aplicacioacuten Web particular esteacute almacenado en uno o maacutes documentos de hipertextoque residen bien en el servidor o en el cliente Esto permite al servidor saber el estado desus recursos sin necesidad de almacenar el estado de los clientes concretos

Figura 42 Operaciones denidas por HTTP

Como ya se mencionoacute REST se trata de un estilo arquitectoacutenico no un estaacutendar Sin embargohace uso de varios estaacutendares Web

HTTP HyperText Transfer Protocol

Figura 43 Operaciones denidas por HTTP

URL Uniform Resource Locator como el mecanismo de indenticacioacuten de recursos

XML - HTML - PNG - etc Como distintos formatos de representacioacuten de recursos

Tipos MIME como text-xml text-html image-png etc

44 SOAP

SOAP (siglas de Simple Object Access Protocol) es un protocolo estaacutendar que dene coacutemo dosobjetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML Esteprotocolo deriva de un protocolo creado por David Winer en 1998 llamado XML-RPC SOAPfue creado por Microsoft IBM y otros y estaacute actualmente bajo el auspicio de la W3C

441 Principios de disentildeo

La funcionalidad que aporta SOAP es la de proporcionar un mecanismo simple y ligero de in-tercambio de informacioacuten entre dos puntos usando el lenguaje XML SOAP no es maacutes que unmecanismo sencillo de expresar la informacioacuten mediante un modelo de empaquetado de datosmodular y una serie de mecanismos de codicacioacuten de datos Esto permite que SOAP sea uti-lizado en un amplio rango de servidores de aplicaciones que trabajen mediante el modelo decomunicacioacuten RPC (Remote Procedure Call)

SOAP consta de tres partes como podemos ver en la gura 44

El SOAP envelope que dene el marco de trabajo que determina queacute se puede introduciren un mensaje quieacuten deberiacutea hacerlo y si esa operacioacuten es opcional u obligatoria

Las reglas de codicacioacuten SOAP que denen el mecanismo de serializacioacuten que seraacute usadopara encapsular en los mensajes los distintos tipos de datos

La representacioacuten SOAP RPC que dene un modo de funcionamiento a la hora de realizarllamadas a procedimientos remotos y la obtencioacuten de sus resultados

A la hora de realizar el disentildeo de SOAP se han tenido en cuenta una serie de consideracionescon el n de cumplir una serie de objetivos claros objetivos que le daraacuten el potencial que resideen SOAP y que le haraacuten tan atractivo Eacutestos son

Establecer un protocolo estaacutendar de invocacioacuten a servicios remotos que esteacute basado enprotocolos estaacutendares de uso frecuente en Internet como son HTTP (Hiper Text TransportProtocol) para la transmisioacuten y XML (eXtensible Markup Language)para la codicacioacutende los datos

Figura 44 Partes de SOAP

Independencia de plataforma hardware lenguaje de programacioacuten e implementacioacuten delservicio Web

El logro de estos objetivos ha hecho de SOAP un protocolo extremadamente uacutetil ya que elprotocolo de comunicacioacuten HTTP es el empleado para la conexioacuten sobre Internetpor lo que segarantiza que cualquier cliente con un navegador estaacutendar pueda conectarse con un servidor re-moto Ademaacutes los datos en la transmisioacuten se empaquetan o serializan con el lenguaje XML quese ha convertido en algo imprescindible en el intercambio de datos ya que es capaz de salvar lasincompatibilidades que existiacutean en el resto de protocolos de representacioacuten de datos de la red

Por otra parte los servidores Web pueden procesar las peticiones de usuario empleando tec-nologiacuteas tales como Servlets paacuteginas ASP (Active Server Pages) paacuteginas JSP (Java ServerPages) o sencillamente un servidor de aplicaciones con invocacioacuten de objetos mediante CORBACOM o EJB

Un ejemplo tiacutepico de disentildeo de un servicio Web utilizando las ventajas de SOAP podemos veren la siguiente gura 45

Figura 45 Ejemplo de uso de SOAP

45 AMF

AMF (Action Message Format) es un protocolo binario de Adobe que va por la versioacuten AMF3Aunque por el nombre de la versioacuten pueda parecer que existan 3 cabe destacar que soacutelo existendos AMF0 y AMF3 Una de las mayores diferencias o mejoras que aporta AMF3 es que soporta

datos binarios (ByteArray) y int datos no soportados por AMF0 debido a que en la eacutepoca queaparecioacute el formato Flash Player no soportaba estos tipos de datos

AMF3 no es un protocolo para transferir informacioacuten sino que representa el formato en el quese transmite la informacioacuten en este caso un formato binario

La versioacuten de Moodle 25 viene con Zend_ AMF pero podemos utilizar tambieacuten la libreriacuteaamfPHP

AMFPHP

Zend_ amf httpframeworkzendcommanual112enzendamfhtml

Maacutes informacioacuten en httpdocsmoodleorgdevAMFPHP

46 Conguracioacuten de Moodle Web Services

Los Servicios Web habilitan que otros sistemas puedan entrar a Moodle y realizar operacionesPasaremos a detallar los pasos necesarios para su conguracioacuten y explicaremos distintos pruebasllevadas a cabo sobre su funcionamiento Para poder consumir de manera correcta unWeb Servicede Moodle seriacutea necesario antildeadir a la url que vamos a formar los paraacutemetros oportunos paralograr consumir el Web Service de manera satisfactoria Una vez antildeadidos ya podriacuteamos invocarla funcioacuten seleccionada

461 Activando los Servicios Web

Lo primero que debemos hacer es activar la opcioacuten general que habilita el uso de los serviciosweb En la gura 46 podemos observar la opcioacuten para la activacioacuten de este servicio para ello nosiremos a la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Servicios Externos

Figura 46 Activacioacuten Servicios Web

Esto solo es una opcioacuten a nivel global necesitando ahora activar los protocolos de comunciacionesque vamos a utilizar para ello deberemos ir a la opcioacuten textitAdministracioacuten del Sitio - Exten-siones - Servicios Web - Administrador de protoclos donde encontraremos las diferente opcionesque nos existen En la gura 47 podemos ver la pantalla de nuestra conguracioacuten con todos losprotocolos activados

Una vez activada la opcioacuten de Servicios Externos y seleccionados los protocolos que utilizaremosnecesitamos crear un Servicio Personalizado que no es maacutes que una etiqueta que aglutina los

Figura 47 Activacioacuten Protoclos

Servicios Web que ofrece Moodle y que pueden ser utilizados por los servicios externos Para ellodeberemos darle a la opcioacuten Agregar dentro de la opcioacuten Administracioacuten del Sitio - Extensiones- Servicios Web - Servicios Externos Como prueba habilitaremos un servicio llamado Uso_Servicio_ Web cuya creacioacuten podemos ver en la gura 48

Figura 48 Creacioacuten Servicio Personalizado

Una vez creado el Servicio Personalizado deberemos agregarle las funciones que queramos lesean permitidas pudiente tener maacutes de una En la gura 49 vemos como asociamos la creacioacutende usuarios al Servicio Personalizado

Terminado esto deberemos tener en el listado que nos muestra Moodle de Servicios personaliza-dos algo como lo mostrado en la gura 410

El siguiente paso es conceder los permisos apropiados para que este Servicio Personalizado puedeser usado por los usuarios pare ello debemos primero especicar quienes son los Usuarios au-torizados para ello en la linea de la lista de Servicios Personalizados deberemos pulsar sobre laopcioacuten usuarios autorizados donde apareceraacute una pantalla como 411 donde podremos escogerlos usuarios de los que se encuentran dados de alta en nuestro sistema

Y para terminar aunque este paso podriacutea ser realizado por el propio usuario si tuviera el per-miso de moodlewebservicecreatetoken seraacute la creacioacuten de un token el cual va ser la opcioacuten quevamos a utilizar para las pruebas de los Servicios Web de Moodle Para la creacioacuten del mismodeberemos entrar en la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Admin-istrar tokens y pulsar la opcioacuten Agregar para antildeadir un token nuevo como podemos apreciar en

Figura 49 Agregando funciones al Servicio Personalizado

Figura 410 Listado de Servicios Personalizados

la gura 412 teniendo la precaucioacuten de escoger como Servicio el Servicio Personalizado creadocon anterioridad Uso_ Servicio_ Web

En esta pantalla podemos poner varios tipos de restricciones

Restriccioacuten de IP Donde podemos indicar la direccioacuten IP desde donde

Restriccioacuten de Fecha Se puede denir hasta cuando seraacute valido este token siendo unabuena manera de poder probar cosas y no dejar puertas abiertas por error

En la gura 413 podemos ver el token asignado por el sistema para nuestro Servicio Personalizadoy que procederemos a utilizar para comprobar el funcionamiento de los Servicios Web de Moodle

462 Pruebas cliente Servicio Web

Procederemos ahora a desarrollar pruebas que utilicen los Servicios Personalizados creado Sepodriacutean haber utilizado el Cliente de prueba de servicio web que incorpora Moodle dentro dela opcioacuten Administracioacuten del Sitio - Desarrollo - Cliente de prueba servicio web pero hemosdecidido implementar una Web para comprobar la facilidad del funcionamiento del sistema y losdistintos resultados obtenidos seguacuten el protocolo utilizado

Utilizaremos la libreriacutea cURL de PHP cURL es una herramienta que permite abrir conexionesen una amplia variedad de protocolos y que estaacute disponible tanto como herramienta de consola(para ejecutar directamente con comandos) como en libreriacutea (para usar en vuestro coacutedigo) y quepermite hacer praacutecticamente todo manejo de cookies descarga de cheros binarios enviacuteos de

Figura 411 Alta de Usuarios Autorizados

Figura 412 Creacioacuten de Tokens

paraacutemetros GET y POST etc

La web creada para la introduccioacuten 414 de los usuarios seraacute equivalente para todos los procesosprocesos siendo el programa que da respuesta al formulario el que implemente la funcioacuten nece-saria para la introduccioacuten de los datos en Moodle

Los resultados de REST pueden mostrar los resultados del alta de dos maneras diferentes unaen formato XML como podemos ver en la gura 415 y otro en formatox JSON tambieacuten po-dremos ver en la gura Los resultados obtenidos tambieacuten pueden verse en el la gura 416

Figura 413 Lista de Tokens

Figura 414 Web de alta de usuarios

Figura 415 Resultado de REST en formato XML

Figura 416 Resultado de REST en formato JSON

Capiacutetulo 5

Herramientas Externas

51 Introduccioacuten

Las versiones de Moodle desde la 22 vienen con IMS LTI o External Tool de manera integradaEn versiones anteriores era necesario la instalacioacuten de plugins como LTI Provider (maacutes informa-cioacuten en la web de Moodle1 IMS LTI es un estandar de IMS learing2 para la interoperabilidadde herramientas Esto signica que las herramientas de aprendizaje tienen ahora un mecanismopara jar el modo en que pueden conectarse entre ellas sin problemas

En la praacutectica cuando un usuario se registra en Moodle puede conectarse a otras herramientascomo Wikis o Blogs y autenticarse de manera automaacutetica en estas

52 Estaacutendares IMS

Actualmente se realizan esfuerzos para la integracioacuten de servicios a una plataforma virtual deaprendizaje mediante un mecanismo reutilizable independiente del tipo de plataforma El IMSGlobal Learning Consortium viene desde hace tiempo trabajando en este enfoque IMS GLCpresenta un conjunto de estaacutendares que promueven el uso de servicios de aprendizaje digitales(Digital Learning Services) dentro de las plataformas de aprendizaje tradicionales IMS DigitalLearning Services estaacute integrado por los siguientes estaacutendares principales IMS Common Car-tridge [ims a] IMS Learning Tool Interoperability [ims c] y IMS Learning Information Services[ims b]

El IMS Learning Tool Interoperability es una especicacioacuten para facilitar la inclusioacuten de her-ramientas externas dentro de un curso El administrador de la plataforma de aprendizaje ges-tiona los servicios que podraacuten ser consumidos por la plataforma el docente decide que serviciosutilizaraacute en su curso y el estudiante hace uso de los mismos IMS LTI permite que distintos LMSconsuman un mismo servicio el cual no fue implementado teniendo en cuenta el tipo de LMSsino la implementacioacuten del estaacutendar desde el lado del proveedor

El enfoque del IMS LTI estaacute dirigido a la creciente demanda de un mecanismo reutilizable para laintegracioacuten de herramientas de terceros en el nuacutecleo de las plataformas LMS Estas herramientas

1httpsmoodleorgpluginsviewphpplugin=local_ltiprovider2httpwwwimsglobalorgtoolsinteroperability2cfm

37

pueden agregar funcionalidad especializada a los LMS El enfoque ofrece una solucioacuten basada enWeb Services igualmente aplicable a distintos lenguajes de programacioacuten

Las versiones del LTI son

LTI v10 ( LTI Basic ) ( publicado en mayo de 2010 ) proporciona un meacutetodo sencillopero estaacutendar para establecer una conexioacuten segura a una herramienta desde el interior deun consumidor de herramientas El lanzamiento de este enlace permite una experienciade aprendizaje sin problemas para los estudiantes que acceden a las aplicaciones ricas queparecen tener lugar dentro del ambiente de aprendizaje Versioacuten 10 es el primer paso en eldesarrollo continuo de LTI Figura 51

LTI v11 ( publicado en marzo 2012 ) antildeade la posibilidad de pasar de nuevo un resultadode la herramienta al Consumidor de herramientas Esto permite que los estudiantes recibenuna calicacioacuten o puntuacioacuten de su interaccioacuten con la aplicacioacuten de aprendizaje

LTI v111 ( publicado en julio de 2012 ) incluye soporte para el papel Mentor que se puedeutilizar para representar a un padre tutor o auditor

LTI v20 Aun en estado de desarrollo y proporciona una plataforma maacutes sosticado y ex-tensible para permitir integraciones maacutes profundas y un mayor apoyo para los serviciosy eventos LTI 2 se basa en LTI 1 mediante la incorporacioacuten de maacutes sosticada resulta-dos de informes y una rica arquitectura de extensiones que permite servicios adicionalesque se antildeadiraacuten gradualmente LTI 2 utiliza REST y JSON-LD para ofrecer esta nuevafuncionalidad

Figura 51 Esquema LTI Baacutesico

En la gura 52 podemos observar como se podriacutean utilizar las ventajas de LTI por parte decada unos de los actores a lo largo de la vida de la aplicacioacuten de servicios externos dentro de unaplataforma de aprendizaje

En la paacutegina web de IMS3 podemos encontrar una relacioacuten de aplicaciones certicadas comocompatibles con el estaacutendar LTI indicando la versioacuten del LTI que cumplen En la gura 53podemos ver las aplicaciones certicadas por UOC y en la gura 54 la informacioacuten sobre una deestas herramientas

3httpwwwimsglobalorgccalltoolscfm

Figura 52 Esquema utilizacioacuten LTI

Figura 53 Listado de herramientas LTI de la UOC

53 Herramientas externas en Moodle

La siguiente seccioacuten consiste en la aplicacioacuten de alguno de esto servicios externos en Moodlepara comprobar su funcionamiento Nos decantaremos para la primera prueba por WordPresspues aunque existen manuales al respecto la documentacioacuten en castellano es escasa

531 Wordpress

La versioacuten estaacutendar de Wordpress a la cual accedemos cuando nos abrimos cuenta en Wordpressno viene con las herramientas necesarias para la iteracioacuten mediante LTI por lo que procedere-mos a la instalacioacuten en nuestro servidor de Wordpress para pasar a la instalacioacuten de los pluginsnecesarios

La instalacioacuten ha consistido en la descarga de la web ocial 4 de la versioacuten 351 la cual hemoscopiado dentro del directorio htdocs de nuestra instalacioacuten de Xampp Hemos dado de alta unnuevo usuario en nuestra base de datos llamado username como podemos ver en la imagen 55 yposteriormente hemos seguido los pasos que el instalador nos iba ofreciendo para tener instalado

4httpwordpressorgdownload

Figura 54 Informacioacuten sobre la certicacioacuten

Wordpress bajo la url httplocalhostwordpress

Figura 55 Usuario de Wordpress

Deberemos congurar Wordpress para que trabaje como multisitio para lo que deberemos seguirlos pasos de conguracioacuten que podemos encontrar en la web ocial de Wordpress5 bajo el nombreCreate A Network consistente en los siguientes pasos

1 Realizar una copia de seguridad por si acaso

2 Modicar el chero wp-congphp incluyendo la siguiente linea encima de Thats allstop editing Happy blogging Multisite dene (WP_ ALLOW_ MULTISITE true)

Multisite dene (WP_ ALLOW_ MULTISITE true)

3 Installar un Network Para ello hemos de entra en la opcioacuten Administration -gtTools -gtNetwork Setup donde podremos congurar opciones sobre el nombre que queremos declararpara el nuevo sitio

4 Activar el Network para ello debemos modicar los cheros wp-congphp y htaccess porlo que seriacutea bueno que realizaacuteramos primero un copia de seguridad de los mismos Loscambios que debemos realizar son los siguientes

5httpcodexwordpressorgCreate_A_Network

En wp-congphp dene(MULTISITE true)dene(SUBDOMAIN_ INSTALL false)dene(DOMAIN_ CURRENT_ SITE localhost)dene(PATH_ CURRENT_ SITE wordpress)dene(SITE_ ID_ CURRENT_ SITE 1)dene(BLOG_ ID_ CURRENT_ SITE 1)

El chero htaccess debe quedar asiacute BEGIN WordPressltIfModule mod_ rewritecgtRewriteEngine OnRewriteBase wordpressRewriteRule icircndexphp$ - [L]

add a trailing slash to wp-adminRewriteRule ([_ 0-9a-zA-Z-]+)wp-admin1wp-admin [R=301L]

RewriteCondREQUEST_ FILENAME -f [OR]RewriteCondREQUEST_ FILENAME -dRewriteRule - [L]RewriteRule ([_ 0-9a-zA-Z-]+)(wp-(content|admin|includes)) $2 [L]RewriteRule ([_ 0-9a-zA-Z-]+)( php)$ $2 [L]RewriteRule indexphp [L]ltIfModulegt

END WordPress

5 Esto nos habraacute creado en la parte izquierda de la barra de herramientas de Wordpressuna nueva opcioacuten llamada My Sites que contendraacute un listado de los sitios de nuestroWordpress

El siguiente paso seraacute la descarga del plugin los cual podremos hacerlos desde la web de sour-forgenet 6 En esta web se detalla informacioacuten sobre el plugin y como se debe instalar Siguiendolos pasos que tenemos en el mismo procederemos a la descarga y el desplegado del mismo en lacarpeta wp-contentmu-plugins Salimos de Wordpress y volvemos a entrar como superusuariosi entramos dentro de la nueva red realizada podremos ver que dentro de LTI Consumers Keystendremos la opcioacuten LTI Consumers Keys como podemos ver en la imagen 56

Aquiacute deberemos crear la clave del consumidor del servicio y la clave secreta que nos permitiraacute aMoodle conectarse a Wordpress

Una vez que tenemos la clave secreta y del consumidor deberemos volver a Moodle entrandocomo administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

6httpsourceforgenetappsmediawikilearningappsindexphptitle=LTI4Wordpress

Figura 56 Servicios LTI en Wordpress

Figura 57 Listado de claves de LTI en Wordpress

-LTI En esta paacutegina podremos rellenar nuestras opciones

Tool Name Seraacute el nombre que tendraacute la herramienta y deberemos poner alguno indicativode la herramienta que estemos utilizando

Tool Base URL Es la direccioacuten de la herramienta en nuestro caso httplocalhostwordpress

Deberemos rellenar con los datos obtenidos en Wordpress la clave de consumidor y la clavesecreta

Es importante marcar Show tool type when creating tool instances para que aparezcaposteriormente al crear los recursos en nuestros cursos

Para poder probar el sistema hemos creado un curso dentro de Moodle llamada WordpressLTIdonde daremos de la siguiente manera de alta 59

Dentro de nuestro curso seleccionamos la opcioacuten de Edicioacuten

Pulsamos sobre Antildeadir una actividad o un recurso

Seleccionamos External Tool

Rellenamos las opciones

bull Nombre de la Actividad Cualquiera de nuestra eleccioacuten

Figura 58 Conguracioacuten LTI en Moodle

bull Tipo de herramienta externa El nombre que le pusimos a la herramienta externa enla conguracioacuten LTI de Moodle

bull Launch Container Hemos elegido la opcioacuten Incrustar para ver el resultado

Figura 59 Conguracioacuten Herramienta Externa

Una vez congurado podemos lanzar la herramienta externa teniendo como resultado la gura510

Figura 510 Wordpress integrado en Moodle

532 ChemVantage

ChemVantage es un recurso gratuito para la educacioacuten cientiacuteca que incluye ejercicios de gradoejercicios de preparacioacuten exaacutemenes de la praacutectica conferencias de video y libros de texto enliacutenea gratis Fue creado por ChemVantage LLC que fue fundada por el Prof Chuck Wight queha ensentildeado Quiacutemica General en la Universidad de Utah desde 1984 (ChemVantage 2011)

Nos hemos puesto en contacto con Chuck Wight (adminchemvantageorg) para solicitarle unaclave de consumidor y secreta para poder probar este recurso desde moodle Las opciones y elcorreo puede verse en la gura 511

Una de las cosas maacutes importantes de ChemVantage y por lo que nos hemos decidido a probar esque permite la devolucioacuten de las notas obtenidas en los ejercicios realizados en las herramientasexternas a Moodle El alumno podraacute realizar las tareas en esta herramienta externa y luego sercalicadas en Moodle

ChemVantage estaacute certicada por IMS 7 como un proveedor de herramientas LTI v11 y comotal funciona desde nuestro propio LMS para llevar a cabo la autenticacioacuten de sitios provee decuentas y devuelve resultados de asignacioacuten de estudiantes con el libro LMS grado automaacutetica-mente

Los recursos disponible son ChemVantage son principalmente los siguientes

1 QuizzesLos ejercicios presentados aquiacute estaacuten disentildeados para animar a los estudiantes a leer y en-tender los libros de texto utilizados en el curso Las preguntas se basan en material que sepresente en su mayor parte en los textos de introduccioacuten de quiacutemica Los iacutetems de preguntastienen respuestas straighforward no requieren caacutelculos detallados Las preguntas se presen-tan en varios formatos diferentes incluyendo opcioacuten muacuteltiple verdadero falso casilla devericacioacuten ll-in-the-blanco y numeacutericas Cada cuestionario se compone de 10 preguntasextraiacutedas al azar de una base de datos con muchas maacutes preguntas En el proceso de tomarvarias pruebas para mejorar sus calicaciones los estudiantes probablemente encuentran

7httpdevelopersimsglobalorgcoursechemvantagehtml

algunas preguntas repetidas de concursos anteriores sin embargo es poco probable quecualquiera de los dos cuestionarios contendraacute exactamente el mismo conjunto de preguntasen el mismo orden Asignando pruebas para ser completado antes de la conferencia losprofesores pueden estar seguros de que sus estudiantes tengan un poco de exposicioacuten almaterial Esto permite una mayor discusioacuten el diaacutelogo y la participacioacuten en el aula y haceel aprendizaje maacutes divertido (de verdad)

2 Video LecturesUna serie de conferencias de viacutedeo de 10 minutos sobre una variedad de temas de QuiacutemicaGeneral es accesible desde la paacutegina principal Los videos estaacuten disentildeados para reforzar lospuntos principales que se presentan en muchos libros de texto

3 HoweworksLas tareas estaacuten disentildeadas para dar a los estudiantes la praacutectica en la resolucioacuten de proble-mas cuantitativos que tienen respuestas numeacutericas Cada alumno puede descargar la tareatrabajar los problemas y presentar las respuestas en liacutenea Respuestas son juzgados a sercorrecta si la solucioacuten numeacuterica de acuerdo con la solucioacuten que se encuentra en la base dedatos dentro de una tolerancia especicada (indicado para cada problema) El sitio informaa los estudiantes que las respuestas son correctas para que puedan rehacer problemas malresueltos y volver a presentar las respuestas Cada problema se basa en una plantilla queatrae paraacutemetros al azar por lo que la respuesta correcta es diferente para cada estudianteEsto hace que sean adecuadas para la colaboracioacuten y el trabajo en grupo porque a pesarde que el grupo puede trabajar para encontrar un algoritmo correcto para resolver un prob-lema cada estudiante tendraacute que usar el algoritmo para encontrar la solucioacuten detallada asu propio problema

4 Practice ExamsLos estudiantes pueden realizaar exaacutemenes de praacutectica cronometrados que muestran laspreguntas de un grupo de 3 o maacutes temas Cada examen estaacute disentildeado para tardar unos60 minutos o menos e incluye una seleccioacuten de 10 preguntas Las praacutecticas de exaacutemenespueden repetirse cuantas veces se desee Las preguntas numeacutericas son parametrizadas loque es muy poco probable que un estudiante realice alguna vez dos exaacutemenes de praacutecticaideacutenticos

5 Portofolio PageCada estudiante puede acceder a una paacutegina que le da la puntuacioacuten obtenida en cada prue-ba y la asignacioacuten de tareas Los estudiantes que son miembros de un grupo tienen unapaacutegina de resultados asociados a las tareas de grupo Hay una paacutegina de carpeta separadaque contiene un resumen de todas las actividades realizadas en ChemVantage incluyendovideos vistos cuestionarios completados resolver problemas con la tarea y la praacutectica deexaacutemenes completados Las puntuaciones en los exaacutemenes de praacutectica son desagregadospara revelar fortalezas y debilidades estudiantes por temas

Hemos procedido a darlo de alta en LTI como hicimos con Wordpress Entramos en Moodle co-mo Administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

Figura 511 Correo de Chuck Wight

-LTI quedando como resultado la siguiente hoja de paraacutemetros gura 512

El siguiente paso seraacute antildeadir la herramienta dentro de nuestro curso para ello pulsaremos sobreAntildeadir una actividad o un recurso Deberemos seleccionar External Tool y rellenamos las op-ciones de la herramienta seleccionando como Tipo de herramienta externa la opcioacuten creada enel apartado de LTI de Moodle

Una vez congurado la herramienta en Moodle podemos entrar para realizar una personalizacioacutende la herramienta gura 513 esta consiste en indicar si el alumno cuando se conecta realiza undeterminado tarea o puede elegir navegar por la web de ChemVantage para poder disfrutar dela cantidad de recursos que se encuentran disponibles

Cuando el usuario pulsa sobre la opcioacuten de esta herramienta externa en Moodle lo primero quese le muestra es la informacioacuten sobre su perl en Chemvantage 514Como hemos visto en los paraacutemetros de conguracioacuten existe la posibilidad de llamar a unaherramienta externa incrustaacutendola dentro de Moodle o abrieacutendolo en una paacutegina web nuevaCon esta segunda opcioacuten no hemos conseguido que funcione correctamente la importacioacuten de lasnotas En cambio si la herramienta externa estaacute incrustada permite esa vinculacioacuten

Figura 512 Conguracioacuten de paraacutemetros LTI

Figura 513 Opciones de inicio de la herramienta

Figura 514 Pantalla de utilizacioacuten de la herramienta por el usuario

Capiacutetulo 6

Middleware

61 Introduccioacuten

La uacuteltima opcioacuten seriacutea utilizar una arquitectura middleware de integracioacuten que permita la inte-gracioacuten ligera de muacuteltiples herramientas existentes en el Moodle

62 GluePS

GLUE-PS es una arquitectura de middleware que permite una interoperabilidad ligera entrelos diferentes lenguajes de disentildeo de aprendizaje y diferentes entornos de aprendizaje virtualEsta interoperabilidad permite a los maestros y otros profesionales que particularicen (es decirpara personalizar el disentildeo de aprendizaje abstractoa la clase particular los participantes y laeleccioacuten de los instrumentos en los que va a ser promulgada) desplieguen (es decir para crearde forma semiautomaacutetica las actividades necesarias en el VLE recursos etc para la aprobacioacutendel disentildeo particularizado) e incluso para llevar a cabo ciertos cambios en el tiempo de ejecucioacuten(por ejemplo modicar la composicioacuten del grupo agregar o quitar recursos de las actividadesetc) Todo esto a partir de disentildeos en distintos lenguajes de disentildeo de aprendizaje tales como laespecicacioacuten IMS-LD aprendizaje

Por otra parte GLUE-PS tambieacuten permite desplegar y gestionar disentildeos de aprendizaje en en-tornos virtuales de aprendizaje que integren herramientas de aprendizaje externos (tales comointegrar en Moodle herramientas como Google Docs y muchos otros) - lo que llamamos Am-bientes de Aprendizaje Distribuido (DLE Distributed Learning Enviroments) Esto se consiguegracias a la arquitectura de GLUE para la integracioacuten de los entornos virtuales de aprendizajey herramientas externas

621 Instalacioacuten

Para realizar la instalacioacuten de GLUE-PS nos hemos descargado el software necesario de la webde los desarrolladores1 descargando la opcioacuten de autenticacioacuten centralizada La instalacioacuten haconstado de tres partes que pasaremos a describir a continuacioacuten

1httpwwwgsicuvaesglue

49

Figura 61 Arquitectura de GLUE

La primera parte consiste en la instalacioacuten del GLUEletManager y los adaptadores GSIC toolAunque el sistema viene preparado para Linux o Windows siendo Windows la explicacioacuten quevamos a desarrollar por estar utilizando este sistema operativo con Xampp

1 Crear el directorio GLUE_ HOME El cual hemos creado para mayor comodidad en la raiacutezdel disco duro

2 Denir la variable del sistema GLUE_ HOME con el valor de la direccioacuten completa deldirectorio de GLUE del punto anterior Para ello hemos pulsado botoacuten derecho sobre MiPc Propiedad Opciones Avanzadas Variables de Entorno procediendo a pulsar el botoacutenNueva para crear la variable en cuestioacuten

3 Extraemos en el directorio del punto (1) el paquete descargado de la paacutegina de los desar-rolladores

4 Ejecutar la instalacioacuten del cheroGLUE_ HOMEbininstall gluebat para registar GLUElet-Manager y GSIC tool como un servicio de Windows Tambieacuten este paso crearaacute un cheroen GLUE_ HOMEtool_ adapteradapterdata para proveer de persistencia a los objetoscreados con el adaptador GSIC tool

A continuacioacuten daremos de alta en nuestro gestor de bases de datos un para de bases de datosque necesita GLUEletManager Para ellos seguimos los siguientes pasos

1 Abrimos la consola de phpMyaAdmin para cargar y ejecutar el chero create_ GLUE_databasessql que se encuentra en GLUE_ HOMEmanagerconfdb

2 Modicamos el chero GLUE_ HOMEmanagerconfMETA-INFpersistencexml paradarle los paraacutemetros necesarios para que JDBC se conecte a nuestra base de datos Losparaacutemetros modicados puede verse en la imagen 62

Figura 62 Paraacutemetros modicados en persistencexml

La segunda parte consiste en el registro interno de los adaptadores de las herramientas para seraccedido con GLUEletManager La distribucioacuten trae un chero para facilitar la conguracioacuten delos adaptadores que trae consigo y para su instalacioacuten deberemos ejecutar el chero GLUE_HOMEmanagerconfdbll _ internal_ Registrysql Alguna de las herramientas necesitanuna conguracioacuten maacutes completa como puede ser Google Docs adapter que necesita una cuentade Gmail para poder crear documentos en Google Docs por lo que deberemos modicar el nom-bre de usuario y contrasentildea

La uacuteltima parte consiste en la instalacioacuten del adaptardor de Moodle como VLE utilizado Estainstalacioacuten es como cualquier otro moacutedulo de Moodle 2 La carpeta que deberemos copiar seraacutela del adaptador correspondiente a Moodle que se encuentra en la carpeta GLUE_ HOMEvle_adpatersmoodle_ vle_ adapter Una vez entremos en nuestro Moodle como administrador nosapareceraacute un mensaje indicaacutendonos que el nuevo moacutedulo esta instalado Para congurar el nuevomoacutedulo debermos ir a Noticaciones - Modulos - Actividades como podemos ver en la gura 63para congurar los paraacutemetros la URL del GLUEletManager y el tiempo de espera

Figura 63 Paraacutemetros del moacutedulo GLUE

Cuando el profesor quiera crear una nueva actividad dependiente de los adaptadores de GLUEdeberaacute agregar una actividad maacutes pulsando para ello en esta opcioacuten dentro del bloque deseadopara seleccionar luego el tipo de actividad GLUElet como podemos ver en la gura64

622 Creando un Doodle

El adaptador Doodle permite la creacioacuten conguracioacuten y gestioacuten de instancias del Doodle Cadaencuesta Doodle es considerado un instancia diferente Ademaacutes este adaptador permite realizarademas la conguracioacuten inicial de encuestas Doodle incluyendo el nombre de la encuesta unadescripcioacuten y un conjunto de posibles respuestas

A continuacioacuten antildeadiremos Doodle en un bloque de Moodle para ellos pulsaremos la opcioacuten deAgregar actividad GLUElet lo cual nos mostraraacute la paacutegina65 donde deberemos rellenar comomiacutenimo el nombre de la actividad y el tipo de herramienta seleccionado en este caso Doodle(httpdoodle-testcom)

2httpdocsmoodleorgenInstalling_contributed_modules_or_plugins

Figura 64 Creando una actividad GLUElet

La primera vez que pulsemos sobre la nueva actividad creada apareceraacute un pantalla 66 dondepodemos congurar diferentes elementos de la encuesta desarrollada con Doodle como son eltiacutetulo una pequentildea descripcioacuten y luego las opciones posibles con un liacutemite de 10

El resultado nal seraacute la incrustacioacuten de una encuesta Doodle dentro de nuestro Moodle comopodemos ver en la gura67

Figura 65 Antildeadiendo Doodle como actividad

Figura 66 Opciones iniciales de conguracioacuten de Doodle

Figura 67 Doodel dentro de Moodle

Capiacutetulo 7

Conclusiones Finales

71 Conclusiones Finales

El proyecto actual nos ha servido para acercarnos a las diferentes tecnologiacuteas que permiten lacomunicacioacuten entre Servicios Webs Hemos desarrollado una primera labor de investigacioacuten queha requerido el aprendizaje de diferentes herramientas de control de documentacioacuten y referenciascomo Zotero y Mendeley

La documentacioacuten recabada en el proceso inicial de revisioacuten de documentos nos ha aportadoun visioacuten general de los diferentes sistemas virtuales de aprendizaje que podemos encontrarnosmuchos de ellos gratuitos y las diferentes soluciones que se plantean a la necesidad de incluirrecursos de otros fabricantes que en principio no fueron concebidos para ser utilizados dentro deuna plataforma VLE

Para poner en praacutectica la diferentes opciones encontradas se han montado diferentes maacutequinasvirtuales sobre las que se han probado las mismas Las conclusiones nales se pasan a detallar

IMS LTIEsta solucioacuten de integracioacuten mediante el cumplimiento de unos protocolos y certicacionesde las herramientas que lo cumplen es en principio la que podriacutea parecer la mejor opcioacutenpero la falta de compromiso de los diferentes fabricantes de Servicios Web y la luchapara imponer sus propios estaacutendares hace que aun quede mucho para que esta opcioacuten seacomo tal real

Si vemos el nuacutemero de aplicaciones certicadas para usar IMS LTI apenas superan las 50 yla mayoriacutea solo cumple la especicacioacuten v10 lo cual signica que la integracioacuten solo solu-ciona el problema de llamar a un recurso externo desde Moodle Pocas son las que cumplenla v11 que permite obtener en Moodle una valoracioacuten de los ejercicios desarrollados en unaactividad externa

La versioacuten v20 que daraacute maacutes opciones a la hora de interactuar con actividades externasauacuten esta en desarrollo y nada se sabe sobre posibles fechas para su presentacioacuten Luegocerticacioacuten de herramientas etc

55

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 11: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

Los resultados exportados por este portal son bastante completos sobre todo porque contiene elAbstract de los documentos por lo que la lectura de los mismos no se tiene que realizar en demanera individual en la web o descargando los documentos En la gura 13 podemos ver comose importaron en nuestra hoja de calculo los datos obtenidos

Figura 13 Importacioacuten en Hoja de Caacutelculo

Despueacutes de realizar la lectura los Abstracts hemos continuado con ScienceDirect donde los re-sultados fueron menores que los obtenidos con IEEE Este portal tambieacuten permite la opcioacuten deexportar de manera sencilla como podemos ver en la gura 14 permitiendo la opcioacuten de incluirlos Abstracts

Figura 14 Exportacioacuten en SD

Para acabar este uacuteltimo bloque nos quedaba revisar SpringerLink el cual se presentaba comoel maacutes prometedor por el gran nuacutemero de resultados obtenidos La revisioacuten de tantos artiacuteculos sepresentaba ardua pero no se esperaba que fuera tanto pues el portal no permite la exportacioacutende los Abstracts de los documentos encontrados Realizar la descarga de 2924 documentos parasu revisioacuten se nos haciacutea algo inviable dentro de los plazos para entrega del presente proyectosiendo por lo tanto seguir con los paraacutemetros de buacutesqueda iniciales En la gura 15 podemosver cuales son los campos que permite la exportacioacuten de este portal

Esto hizo replantearnos el estudio por lo que hemos replanteado el mismo reduciendo los con-ceptos a buscar para ello hemos realizado la buacutesqueda solo de los artiacuteculos directamente rela-cionados con Moodle y la coreografiacutea y orquestacioacuten de servicios web es decir (OrchestrationOR Coreography) AND Moodle y hemos incluido un nuevo buscador Google Scholar

Figura 15 Exportacioacuten en SD

httpscholargooglecom para de esta manera compensar la reduccioacuten de las buacutesquedas

La buacutesqueda por lo tanto puede ser resumida en la siguiente tabla 16 donde podemos comprobarla gran cantidad de artiacuteculos encontrados gracias a la utilizacioacuten de Google Scholar

Figura 16 Resumen de resultados

Los resultados de Google Scholar eran prometedores pero tambieacuten presentaban problemas parasu exportacioacuten despueacutes de varias consultas para buscar informacioacuten al respecto se conguroacute labuacutesqueda para que permitiera la exportacioacuten de los enlaces encontrados como podemos ver enla gura 17 pero esta opcioacuten nos volviacutea a obligar a realizar una consulta individual de cadaelemento

Figura 17 Conguracioacuten de Google Scholar

Aunque podriacuteamos realizar la buacutesqueda de esta manera sobre todo por los resultados esperadosel tener que realizar la buacutesqueda desde el navegador presentando solo 20 resultados por paacutegina seantojaba bastante pesada sobre todo si se teniacutea que retomar la buacutesqueda en diversos periodos detiempo La solucioacuten que se encontroacute fue la instalacioacuten de Zotero httpwwwzoteroorg Laherramienta permite instalacioacuten de un complemento para Firefox que se utilizoacute para realizar ladescarga de todos los enlaces Este complemento tambieacuten permite la visualizacioacuten de los enlacesen la web como podemos ver en la gura 18 Aun asiacute se decidioacute realizar la instalacioacuten de laversioacuten consola de Zotero para trabajar mejor con carpetas y de esta manera reorganizar lasreferencias encontradas

Figura 18 Resultados en Zotero

Capiacutetulo 2

Plataformas VLE e integracioacuten

En esta seccioacuten describiremos el Entorno Virtual de Aprendizaje pondremos ejemplos de ellos yveremos las necesidades que generan en el desarrollo del proceso de aprendizaje por la falta deintegracioacuten de nuevas herramientas algunas de ellas utilizadas por si sola como herramientas deaprendizaje Detallaremos los problemas de la integracioacuten y expondremos las posibles solucionesa ello

21 VLE

El Entorno Virtual de Aprendizaje (VLE - Virtual Learning Enviroment) suele ser un teacuterminomuy usado en la educacioacuten a traveacutes de ordenador pero no existe una denicioacuten acordada porlo que muchas veces es confundido con otros teacuterminos anaacutelogos como Learning ManagementSystem (LMS) Sistema de Gestioacuten de Contenidos (Content Management System - CMS) o unaPlataforma de aprendizaje (Learning Plataform - LP)

Las deniciones maacutes aceptadas para VLE pues dada en el 2000 por Joint Information Sys-tems Committee (JISC) en el 2000 [Stiles 2000] indicando que son ccedilomponents in which learn-ers and tutors participate in on-line interactions of various kinds including on-line learningExisten otros autores que no estaacuten de acuerdo con la necesidad de interacciones on-line como[Dillenbourg et al 2002] que los excluyen de su denicioacuten Britain an Liber [Britain et al 2004]tambieacuten omiten la comunicacioacuten on-line de su denicioacuten indicando que las VLEs pretender darcabida a una amplia gama de estilos de aprendizaje y objetivos para fomentar el aprendizajecolaborativo y basado en recursos para permitir una mayor intercambio y reutilizacioacuten de recur-sos [Britain et al 2004]

Una de las deniciones mas formal y comuacutenmente citada fue dada en el trabajo de Dillengourgs[Dillenbourg et al 2002] el cual expone siete argumentos distintivos

1 VLEs are designed information spaces in which multiple authors can produce both struc-tured and unstructured information

2 VLEs are social spaces that promote interactions and discussions both synchronously orasynchronously

3 VLEs are explicitly represented ranging from text-based interfaces to complex 3D graphicalsystems

7

4 VLE students are also actors thus producing rather than consuming contents

5 VLEs are not restricted to distance education supporting also presential and blended learn-ing situations

6 VLEs integrate heterogenous technologies (including a variety of tools supporting diferenttasks) and multiple pedagogical approaches because integration is under the idea of envi-ronment

7 Most VLEs overlap with physical environments at some point since learning activities mayinvolve the use of non-computerized resources or interactions among participants

Por tanto el VLE conlleva un paso hacia delante por constituir un espacio virtual que utilizatecnologiacuteas heterogeacuteneas en el que los alumnos son activos usuarios siendo sistemas centrados enlos educadores que permiten el disentildeo instanciacioacuten promulgacioacuten y evaluacioacuten de situacionesde aprendizaje colaborativo a traveacutes de un conjunto de actividades de aprendizaje que puedenser siacutencronas o asiacutencronas cara a cara o a distancia individuales o de manera colaborativa

211 Ejemplos de VLEs

Existen actualmente diversos VLEs amplimente difundidos y no paran de aparecer nuevos loscuales intentan incluir nuevos teacutecnicas aplicadas al aprendizaje como puede ser el 3D [Nonis 2005]Hemos realizado el resumen por [Alario-Hoyos et al 2012] para mostrar una tabla en la gura21 de los maacutes importantes Moodle Lams LRN Sakai Blackboard Claroline Sharepoint LMSy sus caracteriacutesticas teacutecnicas y funcionales

22 Herramientas de Software

El uso de aplicaciones software como apoyo al aprendizaje ha jugado un papel muy importantesobre todo a la incorporacioacuten del ordenador a nuestra vida diaria Sin embargo no ha sido hastalos uacuteltimos antildeos con la difusioacuten de las tecnologiacuteas web y la posibilidades que ofrece de accesoraacutepido y ubicuo a los recursos e informacioacuten lo que ha provocado la proliferacioacuten de las her-ramientas de Software como Servicio (Software as Service - SaaS) siendo adoptadas en todas lasetapas del aprendizaje

La tendencia actual de los usuarios a generar y compartir contenidos a traveacutes de las herramientasde la llamada Web 20 la mayoriacutea de las cuales son aplicaciones SaaS ha cambiado la formade aprender fomentando la comunicacioacuten colaboracioacuten y ha fomentado un aprendizaje masconstructivista Algunos ejemplos de estas herramientas son

Google Drive httpsdrivegooglecom

Twitter httpstwittercom

Delicious urlhttpsdeliciouscom

Google Maps httpsmapsgooglees

Flickr httpwwwflickrcom

Doodle httpwwwdoodlecom

Figura 21 Anaacutelisis de VLEs

Miles de estas herramientas son usadas como apoyo en las actividades de aprendizaje Muchasde estas herramientas podemos encontrarlas valoradas en un ranking en webs como Tops 100Tools for Learning1 de la cual mostramos la gura 22 tambieacuten podemos encontrarlas en CcediloolsTools for Schools2

221 Integracioacuten de herramientas

Aunque hemos podido ver que existe un gran nuacutemero de herramientas software la cuales puedenapoyar el desarrollo docente son pocos los VLEs y otras plataformas similares utilizadas porlos educadores para disentildear y prestar sus actividades formativas las que incluyen un nuacutemeromuy restringido de estas herramientas de manera integrada Los educadores suelen indicar laslimitaciones que los VLEs tienen en este caso demandando maacutes alternativas para soportar susparticulares aprendizajes colaborativos Por ello ha emergido con fuerza la integracioacuten de her-ramientas externas en los VLEs sobre todo para el uso de SaaS y aplicaciones Web 20

Debemos tener en cuenta que

La integracioacuten de las herramientas actuales en los entornos VLEs actuales suele ser laopcioacuten maacutes aceptada aunque existen otras alternativas

Las SaaS y las aplicaciones Web 20 han sido ampliamente adoptadas como herramientas de

1httpc4lptcouktop100tools2httpcooltoolsforschoolswikispacescom

Figura 22 Top 100 Tools - Abril 2013

aprendizaje pero existen otras herramientas con su particularidades teacutecnicas que puedenser interesantes y tenida en cuenta como actividades de aprendizaje en los VLEs

Estas herramientas usadas durante el ciclo de vida de aprendizaje colaborativo deben poderser analizadas para estudiar sus resultados

El ciclo de vida del aprendizaje colaborativo consta de cuatro fases disentildeo despliegue pues-ta en marcha y evaluacioacuten Las herramientas de software suelen utilizarse principalmenteen dos de ellas en el despliegue donde las herramientas son seleccionadas dependiendo delos objetivos del aprendizaje la conguracioacuten social y las estructuras de las actividades arealizar y en la fase de puesta en marcha pues son utilizadas por los estudiantes para re-alizar sus actividades y de esta manera alcanzar los objetivos del aprendizaje En la fase deevaluacioacuten estas realmente no son importantes pues no nos interesa tanto la herramientacon la que se haya realizado sino el contenido de esos resultados La fase de disentildeo es dondese consideran las tareas a realizar para llevar a cabo el aprendizaje y no herramientas autilizar para ello Aunque estas cuatro fase puede ser ampliadas o reducidas es ampliamenteaceptado En la gura podemos ver graacutecamente este ciclo

Figura 23 Ciclo de vida del aprendizaje colaborativo

222 Problemas en la integracioacuten

El problema general de la integracioacuten de muacuteltiples herramientas externas en diversos VLEspodemos observarlo en la gura 24 donde podemos ver en un lado diferentes VLEs consus correspondientes APIs arquitectura y caracteriacutesticas mientras en el otro lado diferentestecnologiacuteas interfaces y desarrollos para una gran variedad de propoacutesitos Cada uno deellos puede imponer sus restricciones para la integracioacuten Estos requerimientos es lo queha sido denominado por ejemplo en LAMS como ccedilontrato de integracioacuten el cual intentadeterminar las tecnologiacuteas interfaces y modelos de datos que deben ser empleados para lacomunicacioacuten entre un sistema y el programa que intente integrarlo

Cada herramienta puede tener una o maacutes opciones de integracioacuten Algunas son especiacute-cas para una cierta herramienta (Ej comunicacioacuten basado en Rest para Delicious y paraSlidshare de manera diferente) y otras comuacuten para varias herramientas (Ej Google DataProtocol) Lo mismo ocurre en el lado de los VLEs por lo que se abre un amplio abanicode tecnologiacuteas interfaces y modelos de datos que hacen que la tarea de integracioacuten seaalgo realmente complejo En la gura 25 podemos ver un resumen de los problemas deintegracioacuten seguacuten las herramientas seleccionadas

223 Enfoques de la integracioacuten

Podemos denir dos enfoques principales a la hora de enfocar la integracioacuten de las her-ramientas de software y los VLEs siendo estos

bull Estandarizar los contratos de integracioacutenLa denicioacuten de unos estaacutendares de integracioacuten podriacutea resolver los problemas de in-tegracioacuten pero no existen hoy en diacutea los mismos o no son aceptados por la mayoriacutea

Figura 24 Problemas de integracioacuten

seguramente por intereses tecnoloacutegicos y comerciales IMS Global Learning Consor-tium siguen intentando realizar la aprobacioacuten de dicho estaacutendar siendo uno de elloIMS-LTI Integracioacuten de aplicaciones y servicios remotos y aunque la adopcioacuten de losmismo por las nuevas versiones de Moodle y Blackboard podriacutea hacer que se apos-tara por esta opcioacuten la falta de herramientas que lo utilicen (Ej Google no lo utiliza)puede hacer que no llegue a buen puerto

bull Crear una arquitecturaEste enfoque trata de adaptar los contratos de integracioacuten de los VLEs y las her-ramientas sin tener que modicar sus implementacioacuten Este mismo enfoque presentados opciones como podemos ver en la gura 26 y que pasamos a detallar

1 Un adaptador por en el lado de VLE y otro en el lado de las herramientas o inclusoun solo paquete que pueda congure toda la conexioacuten En este caso estariacuteamoshablando por ejemplo de los moacutedulo adicionales de Moodle

2 Una capa intermedia y adaptadores Este tipo de arquitectura permite la in-tegracioacuten entre muacuteltiples herramientas externas y muacuteltiple entorno virtuales deaprendizaje a traveacutes de un middleware comuacuten Dicho middleware estariacutea com-puesto de diferentes programas que pueden ser ejecutados en dominios diferentesEsta arquitectura reduce el esfuerzo para la integracioacuten de cada herramienta encada VLE ya que el coacutedigo estaacute parcialmente implementado por los elementos deintegracioacuten comunes Sin embargo el grado de integracioacuten y funcionalidad que sepuede lograr con estas arquitecturas es menor que con la primera opcioacuten

23 Servicios Web

Aunque han sido englobados dentro de integracioacuten de herramientas vamos a detallar queson y que aportan a Moodle

Figura 25 Problemas de integracioacuten

Los Servicios Web (Web Services) son la parte esencial de la interoperabilidad de Moodlecon otras aplicaciones Web 20 consisten en una pieza de software que utiliza un conjuntode protocolos y estaacutendares abiertos para intercambiar datos entre aplicaciones La idea prin-cipal es que distintas aplicaciones de software desarrolladas en lenguajes de programacioacutendiferentes y ejecutadas sobre cualquier plataforma puedan utilizar los servicios Web paraintercambiar datos en la red de ordenadores como Internet El producto resultante es unconjunto de moacutedulos con funcionalidad especiacuteca y completa que se acoplan entre siacute A suvez estos moacutedulos se conectan a una plataforma de e-learning mediante la utilizacioacuten deservicios de base descritos en una capa estaacutendar que funciona como gateway

Para ampliar un poco mejor el concepto de servicios Web citaremos una exposicioacuten delDoctor Marcos Escobar Un Web Service es un componente de software que se comunicacon otras aplicaciones codicando los mensaje en XML y enviando estos mensaje a traveacutesde protocolos estaacutendares de Internet tales como el HTTP Intuitivamente un Web Servicees similar a un sitio Web que no cuenta con un interfaz de usuario y que da servicio a lasaplicaciones en vez de a las personas Un Web Service en vez de obtener solicitudes desdeel navegador y retornar paacuteginas Web como respuesta lo que hace es recibir solicitudes atraveacutes de un mensaje formateado en XML desde una aplicacioacuten realiza una tarea y de-vuelve un mensaje de respuesta tambieacuten formateado en XML

Figura 26 Enfoques de arquitectura de integracioacuten

231 Orquestacioacuten y Coreografiacutea de Servicios Web

Seguacuten Careaga Mercadillo Ana Lilia [car ] la Orquestacioacuten (Web Service Orchestration)y Coreografiacutea (Web Service Choreography) se suelen ver como dos aproximaciones parala Composicioacuten de Servicios Web que se acercan estrechamente a los conceptos musicalespor lo cual se han importado directamente sus signicados A continuacioacuten detallaremosque son y sus posibles aplicaciones

La tarea de componer servicios Web baacutesicos o simples para brindar servicios Web maacutes com-plejos se conoce teacutecnicamente como Composicioacuten de Servicios Web Existen dos grandesaproximaciones para esta tarea la coreografiacutea con foco en la interaccioacuten entre servicios(equivalente a los bailarines) y la orquestacioacuten (equivalente a los instrumentos de la orques-ta) con foco en la implementacioacuten y ejecucioacuten de servicios La primera puede consid-erarse como una descripcioacuten formal del pasaje de mensajes obviando detalles internosde implementacioacuten Se ajusta maacutes en situaciones donde es provechoso contar con la no-cioacuten de estados y tambieacuten donde estaacuten involucradas transacciones de larga duracioacuten- Elorquestadordetermina la naturaleza y la secuencia de la interaccioacuten En cambio la segun-da aproximacioacuten describe la loacutegica y el estado de cada una de las partes involucradas Laorquestacioacuten tiene una visioacuten mas local y centralizada mientras que la coreografiacutea denela composicioacuten desde una perspectiva global sin control centralizado tal y como sucede enla danza

Existen numerosas deniciones de Servicios Web y esto demuestra en parte la gran com-plejidad de los servicios que se agrupan bajo este teacutermino y las implicaciones asociadas aellos Hasta ahora la denicioacuten maacutes general y convincente es decir que los Servicios Webson el conjunto de aplicaciones tecnoloacutegicas con capacidad para interoperar en la Web Es-tas tecnologiacuteas intercambian datos entre ellas con el n de ofrecer servicios de naturalezaremota

La World Wide Web no es soacutelo un espacio de informacioacuten tambieacuten es un espacio de inter-accioacuten Utilizando la Web como plataforma los usuarios de forma remota pueden solicitar

un servicio que alguacuten proveedor ofrezca en la red Pero para que esta interaccioacuten funcionedeben existir unos mecanismos de comunicacioacuten estaacutendares entre diferentes aplicacionesEstos mecanismos deben poder interactuar entre siacute para presentar la informacioacuten de formadinaacutemica al usuario Se precisa pues una arquitectura de referencia estaacutendar que hagaposible la interoperabilidad y extensibilidad entre las distintas aplicaciones y que permitasu combinacioacuten para realizar operaciones complejas Esta arquitectura es conocida con elnombre de SOA (Service Oriented Architecture)

Con el n de estandarizar los diferentes aspectos relacionados con los servicios Web elW3C (World Wide Web Consortium) recoge todo lo referente a ellos en (Web ServicesActivity) Asiacute pues Web Services (WS) ofrece un signicado estaacutendar para interoperarentre diferentes aplicaciones de software corriendo en diferentes plataformas yo marcosde trabajo El W3C pretende disentildear la arquitectura denirla y crear el nuacutecleo de tec-nologiacuteas que hagan posible los Servicios Web Los servicios Web se basan en un lenguajede caracteriacutesticas especiales llamado XML (Extensible Markup Language) que permite quelas aplicaciones compartan informacioacuten y que ademaacutes invoquen funciones de otras apli-caciones independientemente de coacutemo se hayan creado dichas aplicaciones y del sistemaoperativo o plataforma en que se ejecuten Por ejemplo Google utiliza un Servicio Webllamado Google Web APIs que permite que el usuario programe en diversos lenguajes ase-gurando la recuperacioacuten de informacioacuten independientemente de la plataforma que se utilice

Los Servicios Web se idearon en un principio para realizar interacciones simples e indepen-dientes pero ahora es necesario que los servicios colaboren y se coordinen A la coordinacioacutennecesaria para implementar un servicio Web se le llama Composicioacuten que puede realizarsede dos manerasorquestacioacuten y coreografiacutea La principal diferencia entre orquestacioacuten ycoreografiacutea es el alcance La orquestacioacuten trata de la descripcioacuten y ejecucioacuten de un mismoy uacutenico punto de vista global del modelo (instrumentacioacuten) La coreografiacutea trata de la de-scripcioacuten y guiacutea de un modelo global proyectado en base a cada participante (bailarines)La orquestacioacuten y coreografiacutea son teacuterminos que describen dos aspectos de los estaacutendaresemergentes para la creacioacuten de procesos de negocios de muacuteltiples servicios WebLos dosteacuterminos se superponen pero es claro que la orquestacioacuten se reere a un proceso de nego-cio ejecutable que puede interactuar tanto con servicios Web internos como externos Laorquestacioacuten representa siempre el control desde la perspectiva de una de las partes Estolo distingue de la coreografiacutea que es de mayor colaboracioacuten y permite a cada parte impli-cada describir su papel en la interaccioacuten La orquestacioacuten y coreografiacutea tratan de describiraspectos relacionados con la creacioacuten de procesos de negocio que involucran varios tipos deSoftware

Visto graacutecamente podemos ver en la gura 27 la orquestacioacuten permite disentildear proce-sos de negocio ejecutables que pueden interactuar (a nivel de mensaje) tanto con softwareinterno como externo Por otra parte la coreografiacutea es mucho maacutes colaborativa ya quepermite trazar las secuencias de mensajes que se suceden entre todas las partes partici-pantes del proceso de negocio en lugar de centrarse en los mensajes que se intercambianentre los diversos programas de software que implementan los procesos de negocio

Figura 27 Orquestacioacuten y Coreografiacutea de Servicios Web

232 Estaacutendares de Orquestacioacuten de Servicios Web

WS BPEL( Web Service Business Process Execution Language)Es un lenguaje de orquestacioacuten estandarizado porOASIS (Organisation for Advance Struc-tured Information Business Transaction Protocol) para la composicioacuten de servicios Web quepermite a los desarrolladores crear programas que automatizan las interacciones entre losservicios Web jugando un papel clave en las arquitecturas orientadas a los servicios SOAPara comprender su funcionamiento imaginemos un proceso de negocio determinado quetiene una entrada A y una salida B Dicho proceso como la mayoriacutea de ellos posee a suvez de muchos procesos internos que se van activando de acuerdo a ciertos paraacutemetros yvalores BPEL seriacutea el encargado de orquestar y por lo tanto dirigir la ejecucioacuten de unamanera ordenada La ventaja de que BPEL sea un estaacutendar radica en que puede ser imple-mentado en una gran variedad de motores de ejecucioacuten de diferentes proveedores BPELen si es un formato XML que proviene de la convergencia entre el WSFL (Web ServiceFlow Language) de IBM y XLANG de Microsoft La herramienta BPEL estaacute basada en unmodelo llamado Workow que especica las oacuterdenes de ejecucioacuten Existen actividadesbaacutesicas como iumlnvoke y receive y otras estructuradas como sequence Tambieacuten formanparte del modelo variables y participantes (partners) En las variables se deposita la nocioacutende datos y los participantes representan los elementos que interactuacutean en la composicioacutenEl modelo se completa como un motor que orquestaraacute las invocaciones

BPML (Business Process Modeling Language)Es un metalenguaje basado en XML para la descripcioacuten de procesos de negocio Inicial-mente BMPL se disentildeoacute para soportar los procesos que un sistema de gestioacuten de procesosde negocio pudiera ejecutar BPML dispone de estructuras similares a BPEL como puedenser actividades baacutesicas para el enviacuteo y la recepcioacuten de mensajes y para la invocacioacuten deservicios Adicionalmente BPML permite planicar las tareas para que se ejecuten eninstantes especiacutecos ofreciendo algunas opciones de control temporal Este lenguaje in-cluye caracteriacutesticas para dar soporte a la persistencia ya que fue disentildeado para la gestioacutende procesos de larga duracioacuten BPML ofrece soporte tambieacuten para realizar composicionesrecursivas a n de poder construir procesos de negocio que a su vez consten de otros sub-procesos Asimismo soporta transacciones de larga o corta ejecucioacuten gracias a que usa unateacutecnica similar a BPEL para controlar el alcance de las actividades y gestionar de esta

forma las reglas de compensacioacuten en caso de que las operaciones que deben realizarse deforma automaacutetica se vean interrumpidas

233 Estaacutendares de Coreografiacutea de los Servicios Web

WS-CDL (Web Services Choreography Description Language)Es un lenguaje basado en XML que describe la colaboracioacuten entre pares peer to peemediante la denicioacuten - desde un punto de vista global de los comportamientos comunes yobservables de cada participante de un proceso de negocio Eacuteste es un lenguaje utilizadopara la denicioacuten de servicios dentro de la plataforma SOA y cuyo objetivo es la descrip-cioacuten del comportamiento de cada uno de los servicios establecidos para lograr un objetivocomuacuten Sin embargo antes de WS-CDL ya existiacutea un lenguaje que permitiacutea la descripcioacutende las funcionalidades de un Servicio Web WSDL (Web Services Denition Language)el cual puede describir el conjunto de funciones ofrecidas con los posibles fallos que po-driacutean ocurrir y a pesar de que WS-CDL podriacutea expresar las coreografiacuteas de un servicioen un ambiente SOA W3C (World Wide Web Consortium) abandonoacute su desarrollo en 2009

WSCI (Web Service Choreography Interface)La especicacioacuten de WSCI fue desarrollada por diversas compantildeiacuteas como Sun SAP BEAe Intalio y representa una extensioacuten para WSDL para la colaboracioacuten La especicacioacuten de-ne la coreografiacutea global o el intercambio de mensajes entre los diferentes tipos de softwarey soporta su correlacioacuten reglas de secuenciacioacuten manejo de excepciones transacciones ycolaboracioacuten dinaacutemica WSCI soacutelo describe el comportamiento observable entre el softwareque se emplea Una coreografiacutea WSCI constaraacute de un conjunto de interfases WSCI unapor cada uno de los servicios que participen en la interaccioacuten

24 Moodle

El software de coacutedigo abierto (Open-Source Software-OSS) esta siendo ampliamente de-sarrollado ofreciendo nuevas alternativas y posibilidades hasta hace poco inimaginablesMoodle es un claro ejemplo siendo uno de los programas maacutes ampliamente adoptados porcolegios institucioacuten universidades etc Como podemos ver en la gura 28 el nuacutemero deusuarios registrados y los idiomas en los que se encuentra disponible dan muestra de sugran difusioacuten Algunas de las razones mas importante para su eleccioacuten son

Figura 28 Moodle - Abril 2013

bull Moodle es OSS lo cual signica que los usuarios pueden descargarlo libremente usarlomodicarlos e incluso redistribuirlo seguacuten los teacuterminos GNU 3

bull La losofiacutea planteada por Moodle incluye una aproximacioacuten constructiva basada enel constructivismo social de la educacioacuten enfatizando que los estudiantes (y no soacutelolos profesores) pueden contribuir a la experiencia educativa en muchas formas

bull Compatibilidad con maacutes de 70 idiomas diferentes

bull Una excelente documentacioacuten soporte para seguridad y administracioacuten

bull No requiere modicaciones en el sistema operativo pudiendo ser ejecutado en un en-torno Linux Windows Mac OS o cualquier otro siempre que soporten PHP

bull La informacioacuten esta soportada por una simple base de datos

Ademaacutes su sencilla aplicacioacuten en entorno web que utiliza tecnologiacuteas ya ampliamenteprobadas sus mecanismos de extensioacuten maacutes faacuteciles en comparacioacuten con otros VLEs y laexistencia de una gran cantidad de documentacioacuten de desarrollo han impulsado la creacioacutende una gran comunidad de personas que contribuyen a la mejora de Moodle Esta comu-nidad estaacute en constante desarrollo de nuevas caracteriacutesticas y aplicaciones a traveacutes decientos de plugins que pueden ser descargados desde su la web de Moodle y asesoran tantoa otros desarrolladores como usuarios nales

La primera versioacuten de Moodle (10) fuel lanzada en 2002 como parte de la investigacioacuten deMartin Dougiamas del uso del software de coacutedigo abierto para la ensentildeanza y el aprendizajecon las comunidades basadas en Internet[Dougiamas and Taylor 2000] Actualmente seencuentra disponible la versioacuten 243+ como estable y la beta de la versioacuten 25

En cuanto a la parte teacutecnica Moodle estaacute desarrollado en lenguaje PHP como la mayoriacuteade los VLEs utiliza una arquitectura cliente-servidor comuacuten de tres capas CORREGIRLa capa de presentacioacuten dene como la informacioacuten se presenta a los usuarios nales quetienen acceso a esa informacioacuten a traveacutes de sus navegadores web La Capa de loacutegica de ne-gocios se encarga de las relaciones con Moodle el acceso a la capa de datos por lo generala traveacutes de MySQL para almacenar y recuperar la informacioacuten cuando sea necesario

Moodle se distribuye en un solo paquete multiplataforma que incluye PHP MySQL yApache HTTP Server para facilitar los procesos de instalacioacuten y conguracioacuten La dis-tribucioacuten actual de Moodle cumple con varios estaacutendares educativos Por ejemplo Moodlepuede manejar ADL SCORM paquetes que contienen recursos aislados o cursos completosEn cuanto a los estaacutendares IMS Moodle soporta IMS Content Packaging (IMS CP) IMSCommon Cartridge (IMS CC)IMS pregunta y Test Interoperability (IMS QTI) y estaacuteconsiderado como uno de los VLEs compatible con Basic LTI

241 otras plataformas

No podemos dejar de lado otros escenarios educativos que han ido apareciendo en los uacutelti-mos antildeos a pesar del gran eacutexito de los VLEs Algunos ejemplos de estas plataforma son

3httpsmoodleorg

bull Wikis (Ej MediaWiki) Son sistemas software que permiten la creacioacuten y gestioacutende contenidos estructurados mediante paacuteginas web relacionadas entre siacute El contenidosuele estar editado por varios usuarios que trabajan de manera colaborativa pudiendoincluir enlaces a recursos externos

bull Sitios de redes sociales (Ej Facebook) Son sistema en liacutenea donde los usuariospueden crearse sus propios perles y crear una red personal que les mantendraacute conec-tado con otros usuarios Estos sistemas han proliferado en los uacuteltimos antildeos llegando amillones de usuarios No suelen necesitar un administrador pues se utilizan medianteentorno web y son alojados por el propio proveedor Su gran adopcioacuten y el enfoquea las interacciones sociales es lo que ha llevado a muchos profesor a utilizarlo comoherramienta de aprendizaje Estos sitios permiten la creacioacuten y mantenimiento degrupo mediante el perl de usuario pero no estaacuten disentildeados para seguir un enfoquepedagoacutegico

bull Personal Learning Environment - PLE (Ej Southampton) Son denidos comosistemas de software que permiten al estudiante a tomar el control y la gestioacuten de suspropio aprendizaje Se caracterizan por la por la participacioacuten directa de los alumnosen el acceso agregacioacuten conguracioacuten y manipulacioacuten de herramientas y recursos adiferencia de los VLEs done es el educador el que selecciona y gestiona los recursosque el alumno debe utilizar

Muchas de estas herramientas son de coacutedigo libre y abierto Su funcionalidad respecto ala gestioacuten de actividades grupos funciones y herramientas es limitado siendo en algunoscasos inexistente Ninguna de estas plataformas se puede considerar un VLE ya que nosson sistemas centrados en el educador sin embargo pueden apoyar la integracioacuten de apli-caciones externas en entornos de aprendizaje colaborativo

Capiacutetulo 3

Organizacioacuten y Sistema Inicial

A continuacioacuten pasamos a detallar las distintas actividades de la que consta el proyecto quehemos llevado a cabo durante estos meses

31 Lanzamiento del proyecto

Esta actividad consisten en la eleccioacuten de una de las diferentes posibles aacutereas de desarrollo deproyectos que ofrece la UOC siendo la elegida Aplicaciones Web para trabajo colaborativo

32 Denicioacuten del proyecto

El proyecto queda denido en el presente documento siendo el tiacutetulo del mismo Orchestationand Coreography of Web Services on Moodle - Revisioacuten Sistemaacutetica de la literatura

[Duracioacuten] 27-02-2013 al 03-03-2013

33 Anaacutelisis de requisitos

Nos centraremos en la fase de planicacioacuten que incluye los objetivos de la investigacioacuten y la formaen que se llevaraacute a cabo la revisioacuten

[Duracioacuten] 04-03-2013 al 03-06-2013

331 Cuestiones Realizadas

El primer paso en la fase de planicacioacuten seraacute denir los objetivos principales de esta revisioacutensistemaacutetica de la literatura Estos objetivos son analizar el estado del arte de la coreografiacutea yorquestacioacuten de los servicios web en Moodle como LMS

332 Fuentes de datos y buacutesqueda

Utilizaremos diferentes libreriacuteas o espacios digitales para realizar las buacutesquedas las mismas serealizaraacuten en ingleacutes y espantildeol Las libreriacuteas principales utilizadas son

IEEEXplore [IEEEX] httpieeexploreieeeorg

21

Science Direct [SD] httpwwwsciencedirectcom

SpringerLink [SL] httpwwwspringerlinkcom

Paralelamente a Science Direct se han realizado buacutesquedas en Scopus1 de Elsevier y GoogleScholar2 de Google

333 Criterios de inclusioacuten y exclusioacuten

Las buacutesquedas que se realicen intentaraacuten abarcar todo el aacutembito de cuestiones del SLR pero esposible (y de hecho ocurre) el resultado contenga referencias publicaciones estudios o en generalinformacioacuten que no sirve Para ello seraacute necesario denir criterios de inclusioacuten y exclusioacuten loscual haremos basaacutendonos en la guiacutea [Kitchenham 2007]

334 Asegurar la calidad

Despueacutes de obtener un numero considerable de trabajos o estudios que satisfacen los criteriosde inclusioacuten y exclusioacuten se deberaacute ser capaz de asegurar o armar cuales son los que cumplencon una miacutenima calidad y si son vaacutelidos o no para el estudio en si Es baacutesico poder analizar queacuteestudios son mejores que otros en teacuterminos de calidadSiguiente [Kitchenham 2007] se deniraacuten preguntas y cuestiones que permitan asegurar dichacalidad

335 Extraccioacuten de datos y anaacutelisis

Los criterios de inclusioacuten y exclusioacuten junto con las preguntas orientadas a asegurar la calidadnos serviraacuten para obtener todos los artiacuteculos y estudios que se analizan en este estudioDe cada artiacuteculo se recogeraacute titulo y autores abstract publicacioacuten y antildeo de publicacioacuten

336 Fase de revisioacuten

Esta fase de planicacioacuten seraacute denir el proceso de conducir o dirigir la revisioacuten Para elloutilizaremos tres fases como podemos ver en la gura 31 de la paacutegina 23

337 Fase de Pruebas

Se realizan pruebas con la informacioacuten obtenido montado maacutequinas virtuales para realizar lasmismas En estas se han probado las diferentes opciones de comunicacioacuten que nos ofrece Moodle

1httpwwwscopuscom2httpscholargooglecom

Figura 31 Proceso para dirigir la revisioacuten

34 Calendario de Trabajo

Podemos ver en el siguiente diagrama de Gantt32 la distribucioacuten de trabajos en el tiempo elmismo seraacute modicado para ajustarlo a las variaciones producidas durante el desarrollo de lastareas que contempla

35 Hitos principales

Los principales hitos seraacuten

Lanzamiento del proyecto Se dene correctamente en que va consistir el proyecto

Denicioacuten de cuestiones para la buacutesqueda Donde se detallaraacuten las cuestiones quemarcaran el desarrollo del resto del proyecto

Comprobacioacuten de resultados Se deberaacuten criba los mismo para no obtener duplicadoso informacioacuten ajena a la investigacioacuten

Revisioacuten de informacioacuten obtenida Una vez obtenida la informacioacuten y analizada deberaacuteser revisada para su presentacioacuten

Figura 32 Diagrama de Gantt

36 Instalacioacuten base

Para llevar a cabo las pruebas se ha optado por la creacioacuten de una maacutequina virtual sobre VirtualBox 3 en la cual hemos instalado Windows XP como sistema operativo Este sistema es maacutesligero a la hora de trabajar en maacutequinas virtuales pues requiere menos recursos que las versionesposteriores del mismos sistema

El siguiente paso era la instalacioacuten de Moodle Aunque se dispone de un instalador para Win-dows se ha optado por la descarga e instalacioacuten de XAMPP 4 y su y su posterior conguracioacutenen la maacutequina virtual XAMPP es un servidor independiente de plataforma software libre queconsiste principalmente en la base de datos MySQL el servidor web Apache y los inteacuterpretespara lenguajes de script PHP y Perl El nombre proviene del acroacutenimo de X (para cualquierade los diferentes sistemas operativos) Apache MySQL PHP Perl

XAMPP en su versioacuten 181 incluye

Apache 243

MySQL 5527

PHP 547

phpMyAdmin 3522

FileZilla FTP Server 0941

Tomcat 7030

Strawberry Perl 51611 Portable

XAMPP Control Panel 310

Hemos continuado con la descarga he instalacioacuten de Moodle y hemos querido probar las difer-encias que obtenemos entre las versiones 19x y 25 por lo que se han descargado ambas heinstalado en maacutequinas virtuales diferentes Con ello conseguiremos probar el resultado obtenidoseguacuten la versioacuten Moodle desde su versioacuten 22 ya soporta conexiones mediante IMS - LTI IMSLTI es un estaacutendar IMS Learning Tool Interoperability Esto signica que las herramientas deaprendizaje tienen ahora diversas maneras de conectarse entre sin problemas

En la praacutectica cuando un usuario se registra en una herramienta como Moodle se pueden conectara la otra herramienta como MediaWiki y autenticarse automaacuteticamente proporcionando unaexperiencia perfectaLas guras 33 y 34 nos muestran el panel de control de XAMPP una vez instalado y el panede phpMyAdmin donde hemos debido congurar las bases de datos y usuario necesarios parallevar todo el proceso de conguracioacuten de Moodle y el resto de herramientas

3httpswwwvirtualboxorg4httpwwwapachefriendsorgesxampphtml

Figura 33 Panel de control de XAMPP

Figura 34 Gestor de bases de datos phpMyAdmin

Capiacutetulo 4

Servicios Web de Moodle

41 Introduccioacuten

Moodle 2X incorpora la posibilidad de implementar Servicios Web para manejar sus funciona-lidades lo que nos permite poder acceder a acciones de actualizar y crear tareas para reejar elresultado de las actividades realizadas Moodle soporta varios protocolos (REST SOAP XML-RPC y AMF)

42 Servicios Web de Moodle

Los Servicios Web de Moodle se caracterizan por permitir el acceso desde cualquier aplicacioacutenimplementando para ello tres capas como podemos observar en la gura 41

Capa nuacutecleoLa capa del nuacutecleo estaacute compuesta de todas las funciones principales de Moodle sobreusuarios grupos cursos calendario etc Moodle no dispone de una API al uso sino queofrece diferentes funciones que han sido desarrolladas durante antildeos Por tanto las necesi-dades de los Servicios Web estaacuten obligando a rehacer estas funciones del nuacutecleo para quecomiencen a formar una API (Moodle 2X)

Capa externaLa capa externa estaacute compuesta por nuevos cheros llamados externalphp colocados porlas carpetas de Moodle y conteniendo manejadores para la capa inferior Estos manejadoresson los responsables de comprobar las capacidades paraacutemetros y llamadas correctas a lasfunciones de nuacutecleo

Capa de conectoresLa capa de conectores estaacute compuesta de diferentes conectores para las diferentes imple-mentaciones de los Servicios Web y contiene un conector REST un conector SOAP unconector XML-RPC y un conector AMF Esta capa admite plugins para ampliar los conec-tores disponibles de manera que se puedan integrar otros sistemas en Moodle utilizandootros protocolos

Los pasos para utilizar un Servicio Web con Moodle seriacutean los siguientes

1 El cliente enviacutea el nombre de usuario y contrasentildea al servidor que provee los ServiciosWeb

27

Figura 41 Capas en Moodle

2 El servidor de protocolo devuelve un token de sesioacuten para esa cuenta de usuario

3 El cliente llama a un Servicio Web especiacuteco incluyendo el token de sesioacuten

4 El servidor utiliza el token para comprobar que la sesioacuten del Servicio Web estaacute activa

5 El servidor llama a la funcioacuten correspondiente localizada en el chero externallibphp dentrodel moacutedulo especiacuteco

6 La funcioacuten externa comprueba que el usuario actual tenga los permisos sucientes pararealizar esta operacioacuten

7 La funcioacuten externa llama a la funcioacuten correspondiente del nuacutecleo de Moodle (libphp)

8 La funcioacuten del nuacutecleo puede retornar un resultado a la funcioacuten externa

9 La funcioacuten externa devolveraacute el resultado al servidor de protocolo

10 El servidor de protocolo devolveraacute el resultado al cliente

43 REST

REST (Representational State Transfer) es el acroacutenimo de Transferencia de Estado Representa-cional teacutermino usado por Roy Fielding (uno de los creadores de HTTP) para describir un estilode arquitectura que utilizar como modelo en los sistemas de computacioacuten Web No es un es-taacutendar sino un enfoque que muestra como desarrollar y proporcionar servicios en Internet portanto considerado como un estilo arquitectoacutenico para disentildeo de software a gran escala El propioautor lo dene de manera concisa en eacuteste paacuterrafo

REST es un intento de mostrar coacutemo debe comportarse una aplicacioacuten Web bien disentildeada unared de paacuteginas Web (una maacutequina de estados virtual) donde el usuario progresaraacute seleccionan-do enlaces (transiciones de estado) que devuelven la paacutegina siguiente (el siguiente estado de lamaacutequina) que el usuario manejaraacute a su gusto

Este enfoque no aporta realmente nada nuevo la mayor parte de la Web sigue este estilo arqui-tectoacutenico Sin embargo el autor hace eacutenfasis en las caracteriacutesticas concretas que han hecho quela Web triunfe que van a ser los objetivos buscados por REST y que son a su juicio

Escalabilidad en las interacciones entre componentes La red ha ido creciendo de maneraexponencial y se ha ido comportado de manera satisfactoria

Generalidad en las interfaces Se proporciona acceso con distintos clientes y con distintosmecanismos de acceso

Desarrollo independiente de componentes Implementaciones cliente y servidor pueden serdesarrolladas en distintos momentos

Existencia de componentes intermediarios con los cuales existe compatibilidad (comoproxys)que permiten encapsulacioacuten e integracioacuten de sistemas no Web dentro de la misma

431 Principios de disentildeo

Los objetivos citados van a ser conseguidos imponiendo una serie de restricciones

El estado y la funcionalidad de las aplicaciones se representan por forma de recursos

La identicacioacuten de recursos se realiza de forma uacutenica global mediante Uniform ResourceIdentiers Los recursos identicados con URIs son los objetos loacutegicos a los cuales se lesmandan los mensajes

Manipulacioacuten de recursos a traveacutes de representaciones luego no se manejan directamentelos recursos sino sus representaciones

Todos los recursos comparten un interfaz uniforme formado por

bull Un conjunto de operaciones limitado para transferir el estado Se van a aprovecharlas operaciones que HTTP dene mostradas en la gura 42

bull Un conjunto limitado de tipos de contenidos identicados mediante tipos MIME

Uso de un protocolo clienteservidor sin estado y basado en capas Cada mensaje HTTPcontendraacute la informacioacuten necesaria para comprender la peticioacuten luego como muestra lagura 43 no es necesario que eacutesta sea entendida tanto en el cliente como en el servidor

Uso de hipermedios para representar el estado de una aplicacioacuten permitiendo que el estadode una aplicacioacuten Web particular esteacute almacenado en uno o maacutes documentos de hipertextoque residen bien en el servidor o en el cliente Esto permite al servidor saber el estado desus recursos sin necesidad de almacenar el estado de los clientes concretos

Figura 42 Operaciones denidas por HTTP

Como ya se mencionoacute REST se trata de un estilo arquitectoacutenico no un estaacutendar Sin embargohace uso de varios estaacutendares Web

HTTP HyperText Transfer Protocol

Figura 43 Operaciones denidas por HTTP

URL Uniform Resource Locator como el mecanismo de indenticacioacuten de recursos

XML - HTML - PNG - etc Como distintos formatos de representacioacuten de recursos

Tipos MIME como text-xml text-html image-png etc

44 SOAP

SOAP (siglas de Simple Object Access Protocol) es un protocolo estaacutendar que dene coacutemo dosobjetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML Esteprotocolo deriva de un protocolo creado por David Winer en 1998 llamado XML-RPC SOAPfue creado por Microsoft IBM y otros y estaacute actualmente bajo el auspicio de la W3C

441 Principios de disentildeo

La funcionalidad que aporta SOAP es la de proporcionar un mecanismo simple y ligero de in-tercambio de informacioacuten entre dos puntos usando el lenguaje XML SOAP no es maacutes que unmecanismo sencillo de expresar la informacioacuten mediante un modelo de empaquetado de datosmodular y una serie de mecanismos de codicacioacuten de datos Esto permite que SOAP sea uti-lizado en un amplio rango de servidores de aplicaciones que trabajen mediante el modelo decomunicacioacuten RPC (Remote Procedure Call)

SOAP consta de tres partes como podemos ver en la gura 44

El SOAP envelope que dene el marco de trabajo que determina queacute se puede introduciren un mensaje quieacuten deberiacutea hacerlo y si esa operacioacuten es opcional u obligatoria

Las reglas de codicacioacuten SOAP que denen el mecanismo de serializacioacuten que seraacute usadopara encapsular en los mensajes los distintos tipos de datos

La representacioacuten SOAP RPC que dene un modo de funcionamiento a la hora de realizarllamadas a procedimientos remotos y la obtencioacuten de sus resultados

A la hora de realizar el disentildeo de SOAP se han tenido en cuenta una serie de consideracionescon el n de cumplir una serie de objetivos claros objetivos que le daraacuten el potencial que resideen SOAP y que le haraacuten tan atractivo Eacutestos son

Establecer un protocolo estaacutendar de invocacioacuten a servicios remotos que esteacute basado enprotocolos estaacutendares de uso frecuente en Internet como son HTTP (Hiper Text TransportProtocol) para la transmisioacuten y XML (eXtensible Markup Language)para la codicacioacutende los datos

Figura 44 Partes de SOAP

Independencia de plataforma hardware lenguaje de programacioacuten e implementacioacuten delservicio Web

El logro de estos objetivos ha hecho de SOAP un protocolo extremadamente uacutetil ya que elprotocolo de comunicacioacuten HTTP es el empleado para la conexioacuten sobre Internetpor lo que segarantiza que cualquier cliente con un navegador estaacutendar pueda conectarse con un servidor re-moto Ademaacutes los datos en la transmisioacuten se empaquetan o serializan con el lenguaje XML quese ha convertido en algo imprescindible en el intercambio de datos ya que es capaz de salvar lasincompatibilidades que existiacutean en el resto de protocolos de representacioacuten de datos de la red

Por otra parte los servidores Web pueden procesar las peticiones de usuario empleando tec-nologiacuteas tales como Servlets paacuteginas ASP (Active Server Pages) paacuteginas JSP (Java ServerPages) o sencillamente un servidor de aplicaciones con invocacioacuten de objetos mediante CORBACOM o EJB

Un ejemplo tiacutepico de disentildeo de un servicio Web utilizando las ventajas de SOAP podemos veren la siguiente gura 45

Figura 45 Ejemplo de uso de SOAP

45 AMF

AMF (Action Message Format) es un protocolo binario de Adobe que va por la versioacuten AMF3Aunque por el nombre de la versioacuten pueda parecer que existan 3 cabe destacar que soacutelo existendos AMF0 y AMF3 Una de las mayores diferencias o mejoras que aporta AMF3 es que soporta

datos binarios (ByteArray) y int datos no soportados por AMF0 debido a que en la eacutepoca queaparecioacute el formato Flash Player no soportaba estos tipos de datos

AMF3 no es un protocolo para transferir informacioacuten sino que representa el formato en el quese transmite la informacioacuten en este caso un formato binario

La versioacuten de Moodle 25 viene con Zend_ AMF pero podemos utilizar tambieacuten la libreriacuteaamfPHP

AMFPHP

Zend_ amf httpframeworkzendcommanual112enzendamfhtml

Maacutes informacioacuten en httpdocsmoodleorgdevAMFPHP

46 Conguracioacuten de Moodle Web Services

Los Servicios Web habilitan que otros sistemas puedan entrar a Moodle y realizar operacionesPasaremos a detallar los pasos necesarios para su conguracioacuten y explicaremos distintos pruebasllevadas a cabo sobre su funcionamiento Para poder consumir de manera correcta unWeb Servicede Moodle seriacutea necesario antildeadir a la url que vamos a formar los paraacutemetros oportunos paralograr consumir el Web Service de manera satisfactoria Una vez antildeadidos ya podriacuteamos invocarla funcioacuten seleccionada

461 Activando los Servicios Web

Lo primero que debemos hacer es activar la opcioacuten general que habilita el uso de los serviciosweb En la gura 46 podemos observar la opcioacuten para la activacioacuten de este servicio para ello nosiremos a la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Servicios Externos

Figura 46 Activacioacuten Servicios Web

Esto solo es una opcioacuten a nivel global necesitando ahora activar los protocolos de comunciacionesque vamos a utilizar para ello deberemos ir a la opcioacuten textitAdministracioacuten del Sitio - Exten-siones - Servicios Web - Administrador de protoclos donde encontraremos las diferente opcionesque nos existen En la gura 47 podemos ver la pantalla de nuestra conguracioacuten con todos losprotocolos activados

Una vez activada la opcioacuten de Servicios Externos y seleccionados los protocolos que utilizaremosnecesitamos crear un Servicio Personalizado que no es maacutes que una etiqueta que aglutina los

Figura 47 Activacioacuten Protoclos

Servicios Web que ofrece Moodle y que pueden ser utilizados por los servicios externos Para ellodeberemos darle a la opcioacuten Agregar dentro de la opcioacuten Administracioacuten del Sitio - Extensiones- Servicios Web - Servicios Externos Como prueba habilitaremos un servicio llamado Uso_Servicio_ Web cuya creacioacuten podemos ver en la gura 48

Figura 48 Creacioacuten Servicio Personalizado

Una vez creado el Servicio Personalizado deberemos agregarle las funciones que queramos lesean permitidas pudiente tener maacutes de una En la gura 49 vemos como asociamos la creacioacutende usuarios al Servicio Personalizado

Terminado esto deberemos tener en el listado que nos muestra Moodle de Servicios personaliza-dos algo como lo mostrado en la gura 410

El siguiente paso es conceder los permisos apropiados para que este Servicio Personalizado puedeser usado por los usuarios pare ello debemos primero especicar quienes son los Usuarios au-torizados para ello en la linea de la lista de Servicios Personalizados deberemos pulsar sobre laopcioacuten usuarios autorizados donde apareceraacute una pantalla como 411 donde podremos escogerlos usuarios de los que se encuentran dados de alta en nuestro sistema

Y para terminar aunque este paso podriacutea ser realizado por el propio usuario si tuviera el per-miso de moodlewebservicecreatetoken seraacute la creacioacuten de un token el cual va ser la opcioacuten quevamos a utilizar para las pruebas de los Servicios Web de Moodle Para la creacioacuten del mismodeberemos entrar en la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Admin-istrar tokens y pulsar la opcioacuten Agregar para antildeadir un token nuevo como podemos apreciar en

Figura 49 Agregando funciones al Servicio Personalizado

Figura 410 Listado de Servicios Personalizados

la gura 412 teniendo la precaucioacuten de escoger como Servicio el Servicio Personalizado creadocon anterioridad Uso_ Servicio_ Web

En esta pantalla podemos poner varios tipos de restricciones

Restriccioacuten de IP Donde podemos indicar la direccioacuten IP desde donde

Restriccioacuten de Fecha Se puede denir hasta cuando seraacute valido este token siendo unabuena manera de poder probar cosas y no dejar puertas abiertas por error

En la gura 413 podemos ver el token asignado por el sistema para nuestro Servicio Personalizadoy que procederemos a utilizar para comprobar el funcionamiento de los Servicios Web de Moodle

462 Pruebas cliente Servicio Web

Procederemos ahora a desarrollar pruebas que utilicen los Servicios Personalizados creado Sepodriacutean haber utilizado el Cliente de prueba de servicio web que incorpora Moodle dentro dela opcioacuten Administracioacuten del Sitio - Desarrollo - Cliente de prueba servicio web pero hemosdecidido implementar una Web para comprobar la facilidad del funcionamiento del sistema y losdistintos resultados obtenidos seguacuten el protocolo utilizado

Utilizaremos la libreriacutea cURL de PHP cURL es una herramienta que permite abrir conexionesen una amplia variedad de protocolos y que estaacute disponible tanto como herramienta de consola(para ejecutar directamente con comandos) como en libreriacutea (para usar en vuestro coacutedigo) y quepermite hacer praacutecticamente todo manejo de cookies descarga de cheros binarios enviacuteos de

Figura 411 Alta de Usuarios Autorizados

Figura 412 Creacioacuten de Tokens

paraacutemetros GET y POST etc

La web creada para la introduccioacuten 414 de los usuarios seraacute equivalente para todos los procesosprocesos siendo el programa que da respuesta al formulario el que implemente la funcioacuten nece-saria para la introduccioacuten de los datos en Moodle

Los resultados de REST pueden mostrar los resultados del alta de dos maneras diferentes unaen formato XML como podemos ver en la gura 415 y otro en formatox JSON tambieacuten po-dremos ver en la gura Los resultados obtenidos tambieacuten pueden verse en el la gura 416

Figura 413 Lista de Tokens

Figura 414 Web de alta de usuarios

Figura 415 Resultado de REST en formato XML

Figura 416 Resultado de REST en formato JSON

Capiacutetulo 5

Herramientas Externas

51 Introduccioacuten

Las versiones de Moodle desde la 22 vienen con IMS LTI o External Tool de manera integradaEn versiones anteriores era necesario la instalacioacuten de plugins como LTI Provider (maacutes informa-cioacuten en la web de Moodle1 IMS LTI es un estandar de IMS learing2 para la interoperabilidadde herramientas Esto signica que las herramientas de aprendizaje tienen ahora un mecanismopara jar el modo en que pueden conectarse entre ellas sin problemas

En la praacutectica cuando un usuario se registra en Moodle puede conectarse a otras herramientascomo Wikis o Blogs y autenticarse de manera automaacutetica en estas

52 Estaacutendares IMS

Actualmente se realizan esfuerzos para la integracioacuten de servicios a una plataforma virtual deaprendizaje mediante un mecanismo reutilizable independiente del tipo de plataforma El IMSGlobal Learning Consortium viene desde hace tiempo trabajando en este enfoque IMS GLCpresenta un conjunto de estaacutendares que promueven el uso de servicios de aprendizaje digitales(Digital Learning Services) dentro de las plataformas de aprendizaje tradicionales IMS DigitalLearning Services estaacute integrado por los siguientes estaacutendares principales IMS Common Car-tridge [ims a] IMS Learning Tool Interoperability [ims c] y IMS Learning Information Services[ims b]

El IMS Learning Tool Interoperability es una especicacioacuten para facilitar la inclusioacuten de her-ramientas externas dentro de un curso El administrador de la plataforma de aprendizaje ges-tiona los servicios que podraacuten ser consumidos por la plataforma el docente decide que serviciosutilizaraacute en su curso y el estudiante hace uso de los mismos IMS LTI permite que distintos LMSconsuman un mismo servicio el cual no fue implementado teniendo en cuenta el tipo de LMSsino la implementacioacuten del estaacutendar desde el lado del proveedor

El enfoque del IMS LTI estaacute dirigido a la creciente demanda de un mecanismo reutilizable para laintegracioacuten de herramientas de terceros en el nuacutecleo de las plataformas LMS Estas herramientas

1httpsmoodleorgpluginsviewphpplugin=local_ltiprovider2httpwwwimsglobalorgtoolsinteroperability2cfm

37

pueden agregar funcionalidad especializada a los LMS El enfoque ofrece una solucioacuten basada enWeb Services igualmente aplicable a distintos lenguajes de programacioacuten

Las versiones del LTI son

LTI v10 ( LTI Basic ) ( publicado en mayo de 2010 ) proporciona un meacutetodo sencillopero estaacutendar para establecer una conexioacuten segura a una herramienta desde el interior deun consumidor de herramientas El lanzamiento de este enlace permite una experienciade aprendizaje sin problemas para los estudiantes que acceden a las aplicaciones ricas queparecen tener lugar dentro del ambiente de aprendizaje Versioacuten 10 es el primer paso en eldesarrollo continuo de LTI Figura 51

LTI v11 ( publicado en marzo 2012 ) antildeade la posibilidad de pasar de nuevo un resultadode la herramienta al Consumidor de herramientas Esto permite que los estudiantes recibenuna calicacioacuten o puntuacioacuten de su interaccioacuten con la aplicacioacuten de aprendizaje

LTI v111 ( publicado en julio de 2012 ) incluye soporte para el papel Mentor que se puedeutilizar para representar a un padre tutor o auditor

LTI v20 Aun en estado de desarrollo y proporciona una plataforma maacutes sosticado y ex-tensible para permitir integraciones maacutes profundas y un mayor apoyo para los serviciosy eventos LTI 2 se basa en LTI 1 mediante la incorporacioacuten de maacutes sosticada resulta-dos de informes y una rica arquitectura de extensiones que permite servicios adicionalesque se antildeadiraacuten gradualmente LTI 2 utiliza REST y JSON-LD para ofrecer esta nuevafuncionalidad

Figura 51 Esquema LTI Baacutesico

En la gura 52 podemos observar como se podriacutean utilizar las ventajas de LTI por parte decada unos de los actores a lo largo de la vida de la aplicacioacuten de servicios externos dentro de unaplataforma de aprendizaje

En la paacutegina web de IMS3 podemos encontrar una relacioacuten de aplicaciones certicadas comocompatibles con el estaacutendar LTI indicando la versioacuten del LTI que cumplen En la gura 53podemos ver las aplicaciones certicadas por UOC y en la gura 54 la informacioacuten sobre una deestas herramientas

3httpwwwimsglobalorgccalltoolscfm

Figura 52 Esquema utilizacioacuten LTI

Figura 53 Listado de herramientas LTI de la UOC

53 Herramientas externas en Moodle

La siguiente seccioacuten consiste en la aplicacioacuten de alguno de esto servicios externos en Moodlepara comprobar su funcionamiento Nos decantaremos para la primera prueba por WordPresspues aunque existen manuales al respecto la documentacioacuten en castellano es escasa

531 Wordpress

La versioacuten estaacutendar de Wordpress a la cual accedemos cuando nos abrimos cuenta en Wordpressno viene con las herramientas necesarias para la iteracioacuten mediante LTI por lo que procedere-mos a la instalacioacuten en nuestro servidor de Wordpress para pasar a la instalacioacuten de los pluginsnecesarios

La instalacioacuten ha consistido en la descarga de la web ocial 4 de la versioacuten 351 la cual hemoscopiado dentro del directorio htdocs de nuestra instalacioacuten de Xampp Hemos dado de alta unnuevo usuario en nuestra base de datos llamado username como podemos ver en la imagen 55 yposteriormente hemos seguido los pasos que el instalador nos iba ofreciendo para tener instalado

4httpwordpressorgdownload

Figura 54 Informacioacuten sobre la certicacioacuten

Wordpress bajo la url httplocalhostwordpress

Figura 55 Usuario de Wordpress

Deberemos congurar Wordpress para que trabaje como multisitio para lo que deberemos seguirlos pasos de conguracioacuten que podemos encontrar en la web ocial de Wordpress5 bajo el nombreCreate A Network consistente en los siguientes pasos

1 Realizar una copia de seguridad por si acaso

2 Modicar el chero wp-congphp incluyendo la siguiente linea encima de Thats allstop editing Happy blogging Multisite dene (WP_ ALLOW_ MULTISITE true)

Multisite dene (WP_ ALLOW_ MULTISITE true)

3 Installar un Network Para ello hemos de entra en la opcioacuten Administration -gtTools -gtNetwork Setup donde podremos congurar opciones sobre el nombre que queremos declararpara el nuevo sitio

4 Activar el Network para ello debemos modicar los cheros wp-congphp y htaccess porlo que seriacutea bueno que realizaacuteramos primero un copia de seguridad de los mismos Loscambios que debemos realizar son los siguientes

5httpcodexwordpressorgCreate_A_Network

En wp-congphp dene(MULTISITE true)dene(SUBDOMAIN_ INSTALL false)dene(DOMAIN_ CURRENT_ SITE localhost)dene(PATH_ CURRENT_ SITE wordpress)dene(SITE_ ID_ CURRENT_ SITE 1)dene(BLOG_ ID_ CURRENT_ SITE 1)

El chero htaccess debe quedar asiacute BEGIN WordPressltIfModule mod_ rewritecgtRewriteEngine OnRewriteBase wordpressRewriteRule icircndexphp$ - [L]

add a trailing slash to wp-adminRewriteRule ([_ 0-9a-zA-Z-]+)wp-admin1wp-admin [R=301L]

RewriteCondREQUEST_ FILENAME -f [OR]RewriteCondREQUEST_ FILENAME -dRewriteRule - [L]RewriteRule ([_ 0-9a-zA-Z-]+)(wp-(content|admin|includes)) $2 [L]RewriteRule ([_ 0-9a-zA-Z-]+)( php)$ $2 [L]RewriteRule indexphp [L]ltIfModulegt

END WordPress

5 Esto nos habraacute creado en la parte izquierda de la barra de herramientas de Wordpressuna nueva opcioacuten llamada My Sites que contendraacute un listado de los sitios de nuestroWordpress

El siguiente paso seraacute la descarga del plugin los cual podremos hacerlos desde la web de sour-forgenet 6 En esta web se detalla informacioacuten sobre el plugin y como se debe instalar Siguiendolos pasos que tenemos en el mismo procederemos a la descarga y el desplegado del mismo en lacarpeta wp-contentmu-plugins Salimos de Wordpress y volvemos a entrar como superusuariosi entramos dentro de la nueva red realizada podremos ver que dentro de LTI Consumers Keystendremos la opcioacuten LTI Consumers Keys como podemos ver en la imagen 56

Aquiacute deberemos crear la clave del consumidor del servicio y la clave secreta que nos permitiraacute aMoodle conectarse a Wordpress

Una vez que tenemos la clave secreta y del consumidor deberemos volver a Moodle entrandocomo administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

6httpsourceforgenetappsmediawikilearningappsindexphptitle=LTI4Wordpress

Figura 56 Servicios LTI en Wordpress

Figura 57 Listado de claves de LTI en Wordpress

-LTI En esta paacutegina podremos rellenar nuestras opciones

Tool Name Seraacute el nombre que tendraacute la herramienta y deberemos poner alguno indicativode la herramienta que estemos utilizando

Tool Base URL Es la direccioacuten de la herramienta en nuestro caso httplocalhostwordpress

Deberemos rellenar con los datos obtenidos en Wordpress la clave de consumidor y la clavesecreta

Es importante marcar Show tool type when creating tool instances para que aparezcaposteriormente al crear los recursos en nuestros cursos

Para poder probar el sistema hemos creado un curso dentro de Moodle llamada WordpressLTIdonde daremos de la siguiente manera de alta 59

Dentro de nuestro curso seleccionamos la opcioacuten de Edicioacuten

Pulsamos sobre Antildeadir una actividad o un recurso

Seleccionamos External Tool

Rellenamos las opciones

bull Nombre de la Actividad Cualquiera de nuestra eleccioacuten

Figura 58 Conguracioacuten LTI en Moodle

bull Tipo de herramienta externa El nombre que le pusimos a la herramienta externa enla conguracioacuten LTI de Moodle

bull Launch Container Hemos elegido la opcioacuten Incrustar para ver el resultado

Figura 59 Conguracioacuten Herramienta Externa

Una vez congurado podemos lanzar la herramienta externa teniendo como resultado la gura510

Figura 510 Wordpress integrado en Moodle

532 ChemVantage

ChemVantage es un recurso gratuito para la educacioacuten cientiacuteca que incluye ejercicios de gradoejercicios de preparacioacuten exaacutemenes de la praacutectica conferencias de video y libros de texto enliacutenea gratis Fue creado por ChemVantage LLC que fue fundada por el Prof Chuck Wight queha ensentildeado Quiacutemica General en la Universidad de Utah desde 1984 (ChemVantage 2011)

Nos hemos puesto en contacto con Chuck Wight (adminchemvantageorg) para solicitarle unaclave de consumidor y secreta para poder probar este recurso desde moodle Las opciones y elcorreo puede verse en la gura 511

Una de las cosas maacutes importantes de ChemVantage y por lo que nos hemos decidido a probar esque permite la devolucioacuten de las notas obtenidas en los ejercicios realizados en las herramientasexternas a Moodle El alumno podraacute realizar las tareas en esta herramienta externa y luego sercalicadas en Moodle

ChemVantage estaacute certicada por IMS 7 como un proveedor de herramientas LTI v11 y comotal funciona desde nuestro propio LMS para llevar a cabo la autenticacioacuten de sitios provee decuentas y devuelve resultados de asignacioacuten de estudiantes con el libro LMS grado automaacutetica-mente

Los recursos disponible son ChemVantage son principalmente los siguientes

1 QuizzesLos ejercicios presentados aquiacute estaacuten disentildeados para animar a los estudiantes a leer y en-tender los libros de texto utilizados en el curso Las preguntas se basan en material que sepresente en su mayor parte en los textos de introduccioacuten de quiacutemica Los iacutetems de preguntastienen respuestas straighforward no requieren caacutelculos detallados Las preguntas se presen-tan en varios formatos diferentes incluyendo opcioacuten muacuteltiple verdadero falso casilla devericacioacuten ll-in-the-blanco y numeacutericas Cada cuestionario se compone de 10 preguntasextraiacutedas al azar de una base de datos con muchas maacutes preguntas En el proceso de tomarvarias pruebas para mejorar sus calicaciones los estudiantes probablemente encuentran

7httpdevelopersimsglobalorgcoursechemvantagehtml

algunas preguntas repetidas de concursos anteriores sin embargo es poco probable quecualquiera de los dos cuestionarios contendraacute exactamente el mismo conjunto de preguntasen el mismo orden Asignando pruebas para ser completado antes de la conferencia losprofesores pueden estar seguros de que sus estudiantes tengan un poco de exposicioacuten almaterial Esto permite una mayor discusioacuten el diaacutelogo y la participacioacuten en el aula y haceel aprendizaje maacutes divertido (de verdad)

2 Video LecturesUna serie de conferencias de viacutedeo de 10 minutos sobre una variedad de temas de QuiacutemicaGeneral es accesible desde la paacutegina principal Los videos estaacuten disentildeados para reforzar lospuntos principales que se presentan en muchos libros de texto

3 HoweworksLas tareas estaacuten disentildeadas para dar a los estudiantes la praacutectica en la resolucioacuten de proble-mas cuantitativos que tienen respuestas numeacutericas Cada alumno puede descargar la tareatrabajar los problemas y presentar las respuestas en liacutenea Respuestas son juzgados a sercorrecta si la solucioacuten numeacuterica de acuerdo con la solucioacuten que se encuentra en la base dedatos dentro de una tolerancia especicada (indicado para cada problema) El sitio informaa los estudiantes que las respuestas son correctas para que puedan rehacer problemas malresueltos y volver a presentar las respuestas Cada problema se basa en una plantilla queatrae paraacutemetros al azar por lo que la respuesta correcta es diferente para cada estudianteEsto hace que sean adecuadas para la colaboracioacuten y el trabajo en grupo porque a pesarde que el grupo puede trabajar para encontrar un algoritmo correcto para resolver un prob-lema cada estudiante tendraacute que usar el algoritmo para encontrar la solucioacuten detallada asu propio problema

4 Practice ExamsLos estudiantes pueden realizaar exaacutemenes de praacutectica cronometrados que muestran laspreguntas de un grupo de 3 o maacutes temas Cada examen estaacute disentildeado para tardar unos60 minutos o menos e incluye una seleccioacuten de 10 preguntas Las praacutecticas de exaacutemenespueden repetirse cuantas veces se desee Las preguntas numeacutericas son parametrizadas loque es muy poco probable que un estudiante realice alguna vez dos exaacutemenes de praacutecticaideacutenticos

5 Portofolio PageCada estudiante puede acceder a una paacutegina que le da la puntuacioacuten obtenida en cada prue-ba y la asignacioacuten de tareas Los estudiantes que son miembros de un grupo tienen unapaacutegina de resultados asociados a las tareas de grupo Hay una paacutegina de carpeta separadaque contiene un resumen de todas las actividades realizadas en ChemVantage incluyendovideos vistos cuestionarios completados resolver problemas con la tarea y la praacutectica deexaacutemenes completados Las puntuaciones en los exaacutemenes de praacutectica son desagregadospara revelar fortalezas y debilidades estudiantes por temas

Hemos procedido a darlo de alta en LTI como hicimos con Wordpress Entramos en Moodle co-mo Administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

Figura 511 Correo de Chuck Wight

-LTI quedando como resultado la siguiente hoja de paraacutemetros gura 512

El siguiente paso seraacute antildeadir la herramienta dentro de nuestro curso para ello pulsaremos sobreAntildeadir una actividad o un recurso Deberemos seleccionar External Tool y rellenamos las op-ciones de la herramienta seleccionando como Tipo de herramienta externa la opcioacuten creada enel apartado de LTI de Moodle

Una vez congurado la herramienta en Moodle podemos entrar para realizar una personalizacioacutende la herramienta gura 513 esta consiste en indicar si el alumno cuando se conecta realiza undeterminado tarea o puede elegir navegar por la web de ChemVantage para poder disfrutar dela cantidad de recursos que se encuentran disponibles

Cuando el usuario pulsa sobre la opcioacuten de esta herramienta externa en Moodle lo primero quese le muestra es la informacioacuten sobre su perl en Chemvantage 514Como hemos visto en los paraacutemetros de conguracioacuten existe la posibilidad de llamar a unaherramienta externa incrustaacutendola dentro de Moodle o abrieacutendolo en una paacutegina web nuevaCon esta segunda opcioacuten no hemos conseguido que funcione correctamente la importacioacuten de lasnotas En cambio si la herramienta externa estaacute incrustada permite esa vinculacioacuten

Figura 512 Conguracioacuten de paraacutemetros LTI

Figura 513 Opciones de inicio de la herramienta

Figura 514 Pantalla de utilizacioacuten de la herramienta por el usuario

Capiacutetulo 6

Middleware

61 Introduccioacuten

La uacuteltima opcioacuten seriacutea utilizar una arquitectura middleware de integracioacuten que permita la inte-gracioacuten ligera de muacuteltiples herramientas existentes en el Moodle

62 GluePS

GLUE-PS es una arquitectura de middleware que permite una interoperabilidad ligera entrelos diferentes lenguajes de disentildeo de aprendizaje y diferentes entornos de aprendizaje virtualEsta interoperabilidad permite a los maestros y otros profesionales que particularicen (es decirpara personalizar el disentildeo de aprendizaje abstractoa la clase particular los participantes y laeleccioacuten de los instrumentos en los que va a ser promulgada) desplieguen (es decir para crearde forma semiautomaacutetica las actividades necesarias en el VLE recursos etc para la aprobacioacutendel disentildeo particularizado) e incluso para llevar a cabo ciertos cambios en el tiempo de ejecucioacuten(por ejemplo modicar la composicioacuten del grupo agregar o quitar recursos de las actividadesetc) Todo esto a partir de disentildeos en distintos lenguajes de disentildeo de aprendizaje tales como laespecicacioacuten IMS-LD aprendizaje

Por otra parte GLUE-PS tambieacuten permite desplegar y gestionar disentildeos de aprendizaje en en-tornos virtuales de aprendizaje que integren herramientas de aprendizaje externos (tales comointegrar en Moodle herramientas como Google Docs y muchos otros) - lo que llamamos Am-bientes de Aprendizaje Distribuido (DLE Distributed Learning Enviroments) Esto se consiguegracias a la arquitectura de GLUE para la integracioacuten de los entornos virtuales de aprendizajey herramientas externas

621 Instalacioacuten

Para realizar la instalacioacuten de GLUE-PS nos hemos descargado el software necesario de la webde los desarrolladores1 descargando la opcioacuten de autenticacioacuten centralizada La instalacioacuten haconstado de tres partes que pasaremos a describir a continuacioacuten

1httpwwwgsicuvaesglue

49

Figura 61 Arquitectura de GLUE

La primera parte consiste en la instalacioacuten del GLUEletManager y los adaptadores GSIC toolAunque el sistema viene preparado para Linux o Windows siendo Windows la explicacioacuten quevamos a desarrollar por estar utilizando este sistema operativo con Xampp

1 Crear el directorio GLUE_ HOME El cual hemos creado para mayor comodidad en la raiacutezdel disco duro

2 Denir la variable del sistema GLUE_ HOME con el valor de la direccioacuten completa deldirectorio de GLUE del punto anterior Para ello hemos pulsado botoacuten derecho sobre MiPc Propiedad Opciones Avanzadas Variables de Entorno procediendo a pulsar el botoacutenNueva para crear la variable en cuestioacuten

3 Extraemos en el directorio del punto (1) el paquete descargado de la paacutegina de los desar-rolladores

4 Ejecutar la instalacioacuten del cheroGLUE_ HOMEbininstall gluebat para registar GLUElet-Manager y GSIC tool como un servicio de Windows Tambieacuten este paso crearaacute un cheroen GLUE_ HOMEtool_ adapteradapterdata para proveer de persistencia a los objetoscreados con el adaptador GSIC tool

A continuacioacuten daremos de alta en nuestro gestor de bases de datos un para de bases de datosque necesita GLUEletManager Para ellos seguimos los siguientes pasos

1 Abrimos la consola de phpMyaAdmin para cargar y ejecutar el chero create_ GLUE_databasessql que se encuentra en GLUE_ HOMEmanagerconfdb

2 Modicamos el chero GLUE_ HOMEmanagerconfMETA-INFpersistencexml paradarle los paraacutemetros necesarios para que JDBC se conecte a nuestra base de datos Losparaacutemetros modicados puede verse en la imagen 62

Figura 62 Paraacutemetros modicados en persistencexml

La segunda parte consiste en el registro interno de los adaptadores de las herramientas para seraccedido con GLUEletManager La distribucioacuten trae un chero para facilitar la conguracioacuten delos adaptadores que trae consigo y para su instalacioacuten deberemos ejecutar el chero GLUE_HOMEmanagerconfdbll _ internal_ Registrysql Alguna de las herramientas necesitanuna conguracioacuten maacutes completa como puede ser Google Docs adapter que necesita una cuentade Gmail para poder crear documentos en Google Docs por lo que deberemos modicar el nom-bre de usuario y contrasentildea

La uacuteltima parte consiste en la instalacioacuten del adaptardor de Moodle como VLE utilizado Estainstalacioacuten es como cualquier otro moacutedulo de Moodle 2 La carpeta que deberemos copiar seraacutela del adaptador correspondiente a Moodle que se encuentra en la carpeta GLUE_ HOMEvle_adpatersmoodle_ vle_ adapter Una vez entremos en nuestro Moodle como administrador nosapareceraacute un mensaje indicaacutendonos que el nuevo moacutedulo esta instalado Para congurar el nuevomoacutedulo debermos ir a Noticaciones - Modulos - Actividades como podemos ver en la gura 63para congurar los paraacutemetros la URL del GLUEletManager y el tiempo de espera

Figura 63 Paraacutemetros del moacutedulo GLUE

Cuando el profesor quiera crear una nueva actividad dependiente de los adaptadores de GLUEdeberaacute agregar una actividad maacutes pulsando para ello en esta opcioacuten dentro del bloque deseadopara seleccionar luego el tipo de actividad GLUElet como podemos ver en la gura64

622 Creando un Doodle

El adaptador Doodle permite la creacioacuten conguracioacuten y gestioacuten de instancias del Doodle Cadaencuesta Doodle es considerado un instancia diferente Ademaacutes este adaptador permite realizarademas la conguracioacuten inicial de encuestas Doodle incluyendo el nombre de la encuesta unadescripcioacuten y un conjunto de posibles respuestas

A continuacioacuten antildeadiremos Doodle en un bloque de Moodle para ellos pulsaremos la opcioacuten deAgregar actividad GLUElet lo cual nos mostraraacute la paacutegina65 donde deberemos rellenar comomiacutenimo el nombre de la actividad y el tipo de herramienta seleccionado en este caso Doodle(httpdoodle-testcom)

2httpdocsmoodleorgenInstalling_contributed_modules_or_plugins

Figura 64 Creando una actividad GLUElet

La primera vez que pulsemos sobre la nueva actividad creada apareceraacute un pantalla 66 dondepodemos congurar diferentes elementos de la encuesta desarrollada con Doodle como son eltiacutetulo una pequentildea descripcioacuten y luego las opciones posibles con un liacutemite de 10

El resultado nal seraacute la incrustacioacuten de una encuesta Doodle dentro de nuestro Moodle comopodemos ver en la gura67

Figura 65 Antildeadiendo Doodle como actividad

Figura 66 Opciones iniciales de conguracioacuten de Doodle

Figura 67 Doodel dentro de Moodle

Capiacutetulo 7

Conclusiones Finales

71 Conclusiones Finales

El proyecto actual nos ha servido para acercarnos a las diferentes tecnologiacuteas que permiten lacomunicacioacuten entre Servicios Webs Hemos desarrollado una primera labor de investigacioacuten queha requerido el aprendizaje de diferentes herramientas de control de documentacioacuten y referenciascomo Zotero y Mendeley

La documentacioacuten recabada en el proceso inicial de revisioacuten de documentos nos ha aportadoun visioacuten general de los diferentes sistemas virtuales de aprendizaje que podemos encontrarnosmuchos de ellos gratuitos y las diferentes soluciones que se plantean a la necesidad de incluirrecursos de otros fabricantes que en principio no fueron concebidos para ser utilizados dentro deuna plataforma VLE

Para poner en praacutectica la diferentes opciones encontradas se han montado diferentes maacutequinasvirtuales sobre las que se han probado las mismas Las conclusiones nales se pasan a detallar

IMS LTIEsta solucioacuten de integracioacuten mediante el cumplimiento de unos protocolos y certicacionesde las herramientas que lo cumplen es en principio la que podriacutea parecer la mejor opcioacutenpero la falta de compromiso de los diferentes fabricantes de Servicios Web y la luchapara imponer sus propios estaacutendares hace que aun quede mucho para que esta opcioacuten seacomo tal real

Si vemos el nuacutemero de aplicaciones certicadas para usar IMS LTI apenas superan las 50 yla mayoriacutea solo cumple la especicacioacuten v10 lo cual signica que la integracioacuten solo solu-ciona el problema de llamar a un recurso externo desde Moodle Pocas son las que cumplenla v11 que permite obtener en Moodle una valoracioacuten de los ejercicios desarrollados en unaactividad externa

La versioacuten v20 que daraacute maacutes opciones a la hora de interactuar con actividades externasauacuten esta en desarrollo y nada se sabe sobre posibles fechas para su presentacioacuten Luegocerticacioacuten de herramientas etc

55

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 12: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

Figura 15 Exportacioacuten en SD

httpscholargooglecom para de esta manera compensar la reduccioacuten de las buacutesquedas

La buacutesqueda por lo tanto puede ser resumida en la siguiente tabla 16 donde podemos comprobarla gran cantidad de artiacuteculos encontrados gracias a la utilizacioacuten de Google Scholar

Figura 16 Resumen de resultados

Los resultados de Google Scholar eran prometedores pero tambieacuten presentaban problemas parasu exportacioacuten despueacutes de varias consultas para buscar informacioacuten al respecto se conguroacute labuacutesqueda para que permitiera la exportacioacuten de los enlaces encontrados como podemos ver enla gura 17 pero esta opcioacuten nos volviacutea a obligar a realizar una consulta individual de cadaelemento

Figura 17 Conguracioacuten de Google Scholar

Aunque podriacuteamos realizar la buacutesqueda de esta manera sobre todo por los resultados esperadosel tener que realizar la buacutesqueda desde el navegador presentando solo 20 resultados por paacutegina seantojaba bastante pesada sobre todo si se teniacutea que retomar la buacutesqueda en diversos periodos detiempo La solucioacuten que se encontroacute fue la instalacioacuten de Zotero httpwwwzoteroorg Laherramienta permite instalacioacuten de un complemento para Firefox que se utilizoacute para realizar ladescarga de todos los enlaces Este complemento tambieacuten permite la visualizacioacuten de los enlacesen la web como podemos ver en la gura 18 Aun asiacute se decidioacute realizar la instalacioacuten de laversioacuten consola de Zotero para trabajar mejor con carpetas y de esta manera reorganizar lasreferencias encontradas

Figura 18 Resultados en Zotero

Capiacutetulo 2

Plataformas VLE e integracioacuten

En esta seccioacuten describiremos el Entorno Virtual de Aprendizaje pondremos ejemplos de ellos yveremos las necesidades que generan en el desarrollo del proceso de aprendizaje por la falta deintegracioacuten de nuevas herramientas algunas de ellas utilizadas por si sola como herramientas deaprendizaje Detallaremos los problemas de la integracioacuten y expondremos las posibles solucionesa ello

21 VLE

El Entorno Virtual de Aprendizaje (VLE - Virtual Learning Enviroment) suele ser un teacuterminomuy usado en la educacioacuten a traveacutes de ordenador pero no existe una denicioacuten acordada porlo que muchas veces es confundido con otros teacuterminos anaacutelogos como Learning ManagementSystem (LMS) Sistema de Gestioacuten de Contenidos (Content Management System - CMS) o unaPlataforma de aprendizaje (Learning Plataform - LP)

Las deniciones maacutes aceptadas para VLE pues dada en el 2000 por Joint Information Sys-tems Committee (JISC) en el 2000 [Stiles 2000] indicando que son ccedilomponents in which learn-ers and tutors participate in on-line interactions of various kinds including on-line learningExisten otros autores que no estaacuten de acuerdo con la necesidad de interacciones on-line como[Dillenbourg et al 2002] que los excluyen de su denicioacuten Britain an Liber [Britain et al 2004]tambieacuten omiten la comunicacioacuten on-line de su denicioacuten indicando que las VLEs pretender darcabida a una amplia gama de estilos de aprendizaje y objetivos para fomentar el aprendizajecolaborativo y basado en recursos para permitir una mayor intercambio y reutilizacioacuten de recur-sos [Britain et al 2004]

Una de las deniciones mas formal y comuacutenmente citada fue dada en el trabajo de Dillengourgs[Dillenbourg et al 2002] el cual expone siete argumentos distintivos

1 VLEs are designed information spaces in which multiple authors can produce both struc-tured and unstructured information

2 VLEs are social spaces that promote interactions and discussions both synchronously orasynchronously

3 VLEs are explicitly represented ranging from text-based interfaces to complex 3D graphicalsystems

7

4 VLE students are also actors thus producing rather than consuming contents

5 VLEs are not restricted to distance education supporting also presential and blended learn-ing situations

6 VLEs integrate heterogenous technologies (including a variety of tools supporting diferenttasks) and multiple pedagogical approaches because integration is under the idea of envi-ronment

7 Most VLEs overlap with physical environments at some point since learning activities mayinvolve the use of non-computerized resources or interactions among participants

Por tanto el VLE conlleva un paso hacia delante por constituir un espacio virtual que utilizatecnologiacuteas heterogeacuteneas en el que los alumnos son activos usuarios siendo sistemas centrados enlos educadores que permiten el disentildeo instanciacioacuten promulgacioacuten y evaluacioacuten de situacionesde aprendizaje colaborativo a traveacutes de un conjunto de actividades de aprendizaje que puedenser siacutencronas o asiacutencronas cara a cara o a distancia individuales o de manera colaborativa

211 Ejemplos de VLEs

Existen actualmente diversos VLEs amplimente difundidos y no paran de aparecer nuevos loscuales intentan incluir nuevos teacutecnicas aplicadas al aprendizaje como puede ser el 3D [Nonis 2005]Hemos realizado el resumen por [Alario-Hoyos et al 2012] para mostrar una tabla en la gura21 de los maacutes importantes Moodle Lams LRN Sakai Blackboard Claroline Sharepoint LMSy sus caracteriacutesticas teacutecnicas y funcionales

22 Herramientas de Software

El uso de aplicaciones software como apoyo al aprendizaje ha jugado un papel muy importantesobre todo a la incorporacioacuten del ordenador a nuestra vida diaria Sin embargo no ha sido hastalos uacuteltimos antildeos con la difusioacuten de las tecnologiacuteas web y la posibilidades que ofrece de accesoraacutepido y ubicuo a los recursos e informacioacuten lo que ha provocado la proliferacioacuten de las her-ramientas de Software como Servicio (Software as Service - SaaS) siendo adoptadas en todas lasetapas del aprendizaje

La tendencia actual de los usuarios a generar y compartir contenidos a traveacutes de las herramientasde la llamada Web 20 la mayoriacutea de las cuales son aplicaciones SaaS ha cambiado la formade aprender fomentando la comunicacioacuten colaboracioacuten y ha fomentado un aprendizaje masconstructivista Algunos ejemplos de estas herramientas son

Google Drive httpsdrivegooglecom

Twitter httpstwittercom

Delicious urlhttpsdeliciouscom

Google Maps httpsmapsgooglees

Flickr httpwwwflickrcom

Doodle httpwwwdoodlecom

Figura 21 Anaacutelisis de VLEs

Miles de estas herramientas son usadas como apoyo en las actividades de aprendizaje Muchasde estas herramientas podemos encontrarlas valoradas en un ranking en webs como Tops 100Tools for Learning1 de la cual mostramos la gura 22 tambieacuten podemos encontrarlas en CcediloolsTools for Schools2

221 Integracioacuten de herramientas

Aunque hemos podido ver que existe un gran nuacutemero de herramientas software la cuales puedenapoyar el desarrollo docente son pocos los VLEs y otras plataformas similares utilizadas porlos educadores para disentildear y prestar sus actividades formativas las que incluyen un nuacutemeromuy restringido de estas herramientas de manera integrada Los educadores suelen indicar laslimitaciones que los VLEs tienen en este caso demandando maacutes alternativas para soportar susparticulares aprendizajes colaborativos Por ello ha emergido con fuerza la integracioacuten de her-ramientas externas en los VLEs sobre todo para el uso de SaaS y aplicaciones Web 20

Debemos tener en cuenta que

La integracioacuten de las herramientas actuales en los entornos VLEs actuales suele ser laopcioacuten maacutes aceptada aunque existen otras alternativas

Las SaaS y las aplicaciones Web 20 han sido ampliamente adoptadas como herramientas de

1httpc4lptcouktop100tools2httpcooltoolsforschoolswikispacescom

Figura 22 Top 100 Tools - Abril 2013

aprendizaje pero existen otras herramientas con su particularidades teacutecnicas que puedenser interesantes y tenida en cuenta como actividades de aprendizaje en los VLEs

Estas herramientas usadas durante el ciclo de vida de aprendizaje colaborativo deben poderser analizadas para estudiar sus resultados

El ciclo de vida del aprendizaje colaborativo consta de cuatro fases disentildeo despliegue pues-ta en marcha y evaluacioacuten Las herramientas de software suelen utilizarse principalmenteen dos de ellas en el despliegue donde las herramientas son seleccionadas dependiendo delos objetivos del aprendizaje la conguracioacuten social y las estructuras de las actividades arealizar y en la fase de puesta en marcha pues son utilizadas por los estudiantes para re-alizar sus actividades y de esta manera alcanzar los objetivos del aprendizaje En la fase deevaluacioacuten estas realmente no son importantes pues no nos interesa tanto la herramientacon la que se haya realizado sino el contenido de esos resultados La fase de disentildeo es dondese consideran las tareas a realizar para llevar a cabo el aprendizaje y no herramientas autilizar para ello Aunque estas cuatro fase puede ser ampliadas o reducidas es ampliamenteaceptado En la gura podemos ver graacutecamente este ciclo

Figura 23 Ciclo de vida del aprendizaje colaborativo

222 Problemas en la integracioacuten

El problema general de la integracioacuten de muacuteltiples herramientas externas en diversos VLEspodemos observarlo en la gura 24 donde podemos ver en un lado diferentes VLEs consus correspondientes APIs arquitectura y caracteriacutesticas mientras en el otro lado diferentestecnologiacuteas interfaces y desarrollos para una gran variedad de propoacutesitos Cada uno deellos puede imponer sus restricciones para la integracioacuten Estos requerimientos es lo queha sido denominado por ejemplo en LAMS como ccedilontrato de integracioacuten el cual intentadeterminar las tecnologiacuteas interfaces y modelos de datos que deben ser empleados para lacomunicacioacuten entre un sistema y el programa que intente integrarlo

Cada herramienta puede tener una o maacutes opciones de integracioacuten Algunas son especiacute-cas para una cierta herramienta (Ej comunicacioacuten basado en Rest para Delicious y paraSlidshare de manera diferente) y otras comuacuten para varias herramientas (Ej Google DataProtocol) Lo mismo ocurre en el lado de los VLEs por lo que se abre un amplio abanicode tecnologiacuteas interfaces y modelos de datos que hacen que la tarea de integracioacuten seaalgo realmente complejo En la gura 25 podemos ver un resumen de los problemas deintegracioacuten seguacuten las herramientas seleccionadas

223 Enfoques de la integracioacuten

Podemos denir dos enfoques principales a la hora de enfocar la integracioacuten de las her-ramientas de software y los VLEs siendo estos

bull Estandarizar los contratos de integracioacutenLa denicioacuten de unos estaacutendares de integracioacuten podriacutea resolver los problemas de in-tegracioacuten pero no existen hoy en diacutea los mismos o no son aceptados por la mayoriacutea

Figura 24 Problemas de integracioacuten

seguramente por intereses tecnoloacutegicos y comerciales IMS Global Learning Consor-tium siguen intentando realizar la aprobacioacuten de dicho estaacutendar siendo uno de elloIMS-LTI Integracioacuten de aplicaciones y servicios remotos y aunque la adopcioacuten de losmismo por las nuevas versiones de Moodle y Blackboard podriacutea hacer que se apos-tara por esta opcioacuten la falta de herramientas que lo utilicen (Ej Google no lo utiliza)puede hacer que no llegue a buen puerto

bull Crear una arquitecturaEste enfoque trata de adaptar los contratos de integracioacuten de los VLEs y las her-ramientas sin tener que modicar sus implementacioacuten Este mismo enfoque presentados opciones como podemos ver en la gura 26 y que pasamos a detallar

1 Un adaptador por en el lado de VLE y otro en el lado de las herramientas o inclusoun solo paquete que pueda congure toda la conexioacuten En este caso estariacuteamoshablando por ejemplo de los moacutedulo adicionales de Moodle

2 Una capa intermedia y adaptadores Este tipo de arquitectura permite la in-tegracioacuten entre muacuteltiples herramientas externas y muacuteltiple entorno virtuales deaprendizaje a traveacutes de un middleware comuacuten Dicho middleware estariacutea com-puesto de diferentes programas que pueden ser ejecutados en dominios diferentesEsta arquitectura reduce el esfuerzo para la integracioacuten de cada herramienta encada VLE ya que el coacutedigo estaacute parcialmente implementado por los elementos deintegracioacuten comunes Sin embargo el grado de integracioacuten y funcionalidad que sepuede lograr con estas arquitecturas es menor que con la primera opcioacuten

23 Servicios Web

Aunque han sido englobados dentro de integracioacuten de herramientas vamos a detallar queson y que aportan a Moodle

Figura 25 Problemas de integracioacuten

Los Servicios Web (Web Services) son la parte esencial de la interoperabilidad de Moodlecon otras aplicaciones Web 20 consisten en una pieza de software que utiliza un conjuntode protocolos y estaacutendares abiertos para intercambiar datos entre aplicaciones La idea prin-cipal es que distintas aplicaciones de software desarrolladas en lenguajes de programacioacutendiferentes y ejecutadas sobre cualquier plataforma puedan utilizar los servicios Web paraintercambiar datos en la red de ordenadores como Internet El producto resultante es unconjunto de moacutedulos con funcionalidad especiacuteca y completa que se acoplan entre siacute A suvez estos moacutedulos se conectan a una plataforma de e-learning mediante la utilizacioacuten deservicios de base descritos en una capa estaacutendar que funciona como gateway

Para ampliar un poco mejor el concepto de servicios Web citaremos una exposicioacuten delDoctor Marcos Escobar Un Web Service es un componente de software que se comunicacon otras aplicaciones codicando los mensaje en XML y enviando estos mensaje a traveacutesde protocolos estaacutendares de Internet tales como el HTTP Intuitivamente un Web Servicees similar a un sitio Web que no cuenta con un interfaz de usuario y que da servicio a lasaplicaciones en vez de a las personas Un Web Service en vez de obtener solicitudes desdeel navegador y retornar paacuteginas Web como respuesta lo que hace es recibir solicitudes atraveacutes de un mensaje formateado en XML desde una aplicacioacuten realiza una tarea y de-vuelve un mensaje de respuesta tambieacuten formateado en XML

Figura 26 Enfoques de arquitectura de integracioacuten

231 Orquestacioacuten y Coreografiacutea de Servicios Web

Seguacuten Careaga Mercadillo Ana Lilia [car ] la Orquestacioacuten (Web Service Orchestration)y Coreografiacutea (Web Service Choreography) se suelen ver como dos aproximaciones parala Composicioacuten de Servicios Web que se acercan estrechamente a los conceptos musicalespor lo cual se han importado directamente sus signicados A continuacioacuten detallaremosque son y sus posibles aplicaciones

La tarea de componer servicios Web baacutesicos o simples para brindar servicios Web maacutes com-plejos se conoce teacutecnicamente como Composicioacuten de Servicios Web Existen dos grandesaproximaciones para esta tarea la coreografiacutea con foco en la interaccioacuten entre servicios(equivalente a los bailarines) y la orquestacioacuten (equivalente a los instrumentos de la orques-ta) con foco en la implementacioacuten y ejecucioacuten de servicios La primera puede consid-erarse como una descripcioacuten formal del pasaje de mensajes obviando detalles internosde implementacioacuten Se ajusta maacutes en situaciones donde es provechoso contar con la no-cioacuten de estados y tambieacuten donde estaacuten involucradas transacciones de larga duracioacuten- Elorquestadordetermina la naturaleza y la secuencia de la interaccioacuten En cambio la segun-da aproximacioacuten describe la loacutegica y el estado de cada una de las partes involucradas Laorquestacioacuten tiene una visioacuten mas local y centralizada mientras que la coreografiacutea denela composicioacuten desde una perspectiva global sin control centralizado tal y como sucede enla danza

Existen numerosas deniciones de Servicios Web y esto demuestra en parte la gran com-plejidad de los servicios que se agrupan bajo este teacutermino y las implicaciones asociadas aellos Hasta ahora la denicioacuten maacutes general y convincente es decir que los Servicios Webson el conjunto de aplicaciones tecnoloacutegicas con capacidad para interoperar en la Web Es-tas tecnologiacuteas intercambian datos entre ellas con el n de ofrecer servicios de naturalezaremota

La World Wide Web no es soacutelo un espacio de informacioacuten tambieacuten es un espacio de inter-accioacuten Utilizando la Web como plataforma los usuarios de forma remota pueden solicitar

un servicio que alguacuten proveedor ofrezca en la red Pero para que esta interaccioacuten funcionedeben existir unos mecanismos de comunicacioacuten estaacutendares entre diferentes aplicacionesEstos mecanismos deben poder interactuar entre siacute para presentar la informacioacuten de formadinaacutemica al usuario Se precisa pues una arquitectura de referencia estaacutendar que hagaposible la interoperabilidad y extensibilidad entre las distintas aplicaciones y que permitasu combinacioacuten para realizar operaciones complejas Esta arquitectura es conocida con elnombre de SOA (Service Oriented Architecture)

Con el n de estandarizar los diferentes aspectos relacionados con los servicios Web elW3C (World Wide Web Consortium) recoge todo lo referente a ellos en (Web ServicesActivity) Asiacute pues Web Services (WS) ofrece un signicado estaacutendar para interoperarentre diferentes aplicaciones de software corriendo en diferentes plataformas yo marcosde trabajo El W3C pretende disentildear la arquitectura denirla y crear el nuacutecleo de tec-nologiacuteas que hagan posible los Servicios Web Los servicios Web se basan en un lenguajede caracteriacutesticas especiales llamado XML (Extensible Markup Language) que permite quelas aplicaciones compartan informacioacuten y que ademaacutes invoquen funciones de otras apli-caciones independientemente de coacutemo se hayan creado dichas aplicaciones y del sistemaoperativo o plataforma en que se ejecuten Por ejemplo Google utiliza un Servicio Webllamado Google Web APIs que permite que el usuario programe en diversos lenguajes ase-gurando la recuperacioacuten de informacioacuten independientemente de la plataforma que se utilice

Los Servicios Web se idearon en un principio para realizar interacciones simples e indepen-dientes pero ahora es necesario que los servicios colaboren y se coordinen A la coordinacioacutennecesaria para implementar un servicio Web se le llama Composicioacuten que puede realizarsede dos manerasorquestacioacuten y coreografiacutea La principal diferencia entre orquestacioacuten ycoreografiacutea es el alcance La orquestacioacuten trata de la descripcioacuten y ejecucioacuten de un mismoy uacutenico punto de vista global del modelo (instrumentacioacuten) La coreografiacutea trata de la de-scripcioacuten y guiacutea de un modelo global proyectado en base a cada participante (bailarines)La orquestacioacuten y coreografiacutea son teacuterminos que describen dos aspectos de los estaacutendaresemergentes para la creacioacuten de procesos de negocios de muacuteltiples servicios WebLos dosteacuterminos se superponen pero es claro que la orquestacioacuten se reere a un proceso de nego-cio ejecutable que puede interactuar tanto con servicios Web internos como externos Laorquestacioacuten representa siempre el control desde la perspectiva de una de las partes Estolo distingue de la coreografiacutea que es de mayor colaboracioacuten y permite a cada parte impli-cada describir su papel en la interaccioacuten La orquestacioacuten y coreografiacutea tratan de describiraspectos relacionados con la creacioacuten de procesos de negocio que involucran varios tipos deSoftware

Visto graacutecamente podemos ver en la gura 27 la orquestacioacuten permite disentildear proce-sos de negocio ejecutables que pueden interactuar (a nivel de mensaje) tanto con softwareinterno como externo Por otra parte la coreografiacutea es mucho maacutes colaborativa ya quepermite trazar las secuencias de mensajes que se suceden entre todas las partes partici-pantes del proceso de negocio en lugar de centrarse en los mensajes que se intercambianentre los diversos programas de software que implementan los procesos de negocio

Figura 27 Orquestacioacuten y Coreografiacutea de Servicios Web

232 Estaacutendares de Orquestacioacuten de Servicios Web

WS BPEL( Web Service Business Process Execution Language)Es un lenguaje de orquestacioacuten estandarizado porOASIS (Organisation for Advance Struc-tured Information Business Transaction Protocol) para la composicioacuten de servicios Web quepermite a los desarrolladores crear programas que automatizan las interacciones entre losservicios Web jugando un papel clave en las arquitecturas orientadas a los servicios SOAPara comprender su funcionamiento imaginemos un proceso de negocio determinado quetiene una entrada A y una salida B Dicho proceso como la mayoriacutea de ellos posee a suvez de muchos procesos internos que se van activando de acuerdo a ciertos paraacutemetros yvalores BPEL seriacutea el encargado de orquestar y por lo tanto dirigir la ejecucioacuten de unamanera ordenada La ventaja de que BPEL sea un estaacutendar radica en que puede ser imple-mentado en una gran variedad de motores de ejecucioacuten de diferentes proveedores BPELen si es un formato XML que proviene de la convergencia entre el WSFL (Web ServiceFlow Language) de IBM y XLANG de Microsoft La herramienta BPEL estaacute basada en unmodelo llamado Workow que especica las oacuterdenes de ejecucioacuten Existen actividadesbaacutesicas como iumlnvoke y receive y otras estructuradas como sequence Tambieacuten formanparte del modelo variables y participantes (partners) En las variables se deposita la nocioacutende datos y los participantes representan los elementos que interactuacutean en la composicioacutenEl modelo se completa como un motor que orquestaraacute las invocaciones

BPML (Business Process Modeling Language)Es un metalenguaje basado en XML para la descripcioacuten de procesos de negocio Inicial-mente BMPL se disentildeoacute para soportar los procesos que un sistema de gestioacuten de procesosde negocio pudiera ejecutar BPML dispone de estructuras similares a BPEL como puedenser actividades baacutesicas para el enviacuteo y la recepcioacuten de mensajes y para la invocacioacuten deservicios Adicionalmente BPML permite planicar las tareas para que se ejecuten eninstantes especiacutecos ofreciendo algunas opciones de control temporal Este lenguaje in-cluye caracteriacutesticas para dar soporte a la persistencia ya que fue disentildeado para la gestioacutende procesos de larga duracioacuten BPML ofrece soporte tambieacuten para realizar composicionesrecursivas a n de poder construir procesos de negocio que a su vez consten de otros sub-procesos Asimismo soporta transacciones de larga o corta ejecucioacuten gracias a que usa unateacutecnica similar a BPEL para controlar el alcance de las actividades y gestionar de esta

forma las reglas de compensacioacuten en caso de que las operaciones que deben realizarse deforma automaacutetica se vean interrumpidas

233 Estaacutendares de Coreografiacutea de los Servicios Web

WS-CDL (Web Services Choreography Description Language)Es un lenguaje basado en XML que describe la colaboracioacuten entre pares peer to peemediante la denicioacuten - desde un punto de vista global de los comportamientos comunes yobservables de cada participante de un proceso de negocio Eacuteste es un lenguaje utilizadopara la denicioacuten de servicios dentro de la plataforma SOA y cuyo objetivo es la descrip-cioacuten del comportamiento de cada uno de los servicios establecidos para lograr un objetivocomuacuten Sin embargo antes de WS-CDL ya existiacutea un lenguaje que permitiacutea la descripcioacutende las funcionalidades de un Servicio Web WSDL (Web Services Denition Language)el cual puede describir el conjunto de funciones ofrecidas con los posibles fallos que po-driacutean ocurrir y a pesar de que WS-CDL podriacutea expresar las coreografiacuteas de un servicioen un ambiente SOA W3C (World Wide Web Consortium) abandonoacute su desarrollo en 2009

WSCI (Web Service Choreography Interface)La especicacioacuten de WSCI fue desarrollada por diversas compantildeiacuteas como Sun SAP BEAe Intalio y representa una extensioacuten para WSDL para la colaboracioacuten La especicacioacuten de-ne la coreografiacutea global o el intercambio de mensajes entre los diferentes tipos de softwarey soporta su correlacioacuten reglas de secuenciacioacuten manejo de excepciones transacciones ycolaboracioacuten dinaacutemica WSCI soacutelo describe el comportamiento observable entre el softwareque se emplea Una coreografiacutea WSCI constaraacute de un conjunto de interfases WSCI unapor cada uno de los servicios que participen en la interaccioacuten

24 Moodle

El software de coacutedigo abierto (Open-Source Software-OSS) esta siendo ampliamente de-sarrollado ofreciendo nuevas alternativas y posibilidades hasta hace poco inimaginablesMoodle es un claro ejemplo siendo uno de los programas maacutes ampliamente adoptados porcolegios institucioacuten universidades etc Como podemos ver en la gura 28 el nuacutemero deusuarios registrados y los idiomas en los que se encuentra disponible dan muestra de sugran difusioacuten Algunas de las razones mas importante para su eleccioacuten son

Figura 28 Moodle - Abril 2013

bull Moodle es OSS lo cual signica que los usuarios pueden descargarlo libremente usarlomodicarlos e incluso redistribuirlo seguacuten los teacuterminos GNU 3

bull La losofiacutea planteada por Moodle incluye una aproximacioacuten constructiva basada enel constructivismo social de la educacioacuten enfatizando que los estudiantes (y no soacutelolos profesores) pueden contribuir a la experiencia educativa en muchas formas

bull Compatibilidad con maacutes de 70 idiomas diferentes

bull Una excelente documentacioacuten soporte para seguridad y administracioacuten

bull No requiere modicaciones en el sistema operativo pudiendo ser ejecutado en un en-torno Linux Windows Mac OS o cualquier otro siempre que soporten PHP

bull La informacioacuten esta soportada por una simple base de datos

Ademaacutes su sencilla aplicacioacuten en entorno web que utiliza tecnologiacuteas ya ampliamenteprobadas sus mecanismos de extensioacuten maacutes faacuteciles en comparacioacuten con otros VLEs y laexistencia de una gran cantidad de documentacioacuten de desarrollo han impulsado la creacioacutende una gran comunidad de personas que contribuyen a la mejora de Moodle Esta comu-nidad estaacute en constante desarrollo de nuevas caracteriacutesticas y aplicaciones a traveacutes decientos de plugins que pueden ser descargados desde su la web de Moodle y asesoran tantoa otros desarrolladores como usuarios nales

La primera versioacuten de Moodle (10) fuel lanzada en 2002 como parte de la investigacioacuten deMartin Dougiamas del uso del software de coacutedigo abierto para la ensentildeanza y el aprendizajecon las comunidades basadas en Internet[Dougiamas and Taylor 2000] Actualmente seencuentra disponible la versioacuten 243+ como estable y la beta de la versioacuten 25

En cuanto a la parte teacutecnica Moodle estaacute desarrollado en lenguaje PHP como la mayoriacuteade los VLEs utiliza una arquitectura cliente-servidor comuacuten de tres capas CORREGIRLa capa de presentacioacuten dene como la informacioacuten se presenta a los usuarios nales quetienen acceso a esa informacioacuten a traveacutes de sus navegadores web La Capa de loacutegica de ne-gocios se encarga de las relaciones con Moodle el acceso a la capa de datos por lo generala traveacutes de MySQL para almacenar y recuperar la informacioacuten cuando sea necesario

Moodle se distribuye en un solo paquete multiplataforma que incluye PHP MySQL yApache HTTP Server para facilitar los procesos de instalacioacuten y conguracioacuten La dis-tribucioacuten actual de Moodle cumple con varios estaacutendares educativos Por ejemplo Moodlepuede manejar ADL SCORM paquetes que contienen recursos aislados o cursos completosEn cuanto a los estaacutendares IMS Moodle soporta IMS Content Packaging (IMS CP) IMSCommon Cartridge (IMS CC)IMS pregunta y Test Interoperability (IMS QTI) y estaacuteconsiderado como uno de los VLEs compatible con Basic LTI

241 otras plataformas

No podemos dejar de lado otros escenarios educativos que han ido apareciendo en los uacutelti-mos antildeos a pesar del gran eacutexito de los VLEs Algunos ejemplos de estas plataforma son

3httpsmoodleorg

bull Wikis (Ej MediaWiki) Son sistemas software que permiten la creacioacuten y gestioacutende contenidos estructurados mediante paacuteginas web relacionadas entre siacute El contenidosuele estar editado por varios usuarios que trabajan de manera colaborativa pudiendoincluir enlaces a recursos externos

bull Sitios de redes sociales (Ej Facebook) Son sistema en liacutenea donde los usuariospueden crearse sus propios perles y crear una red personal que les mantendraacute conec-tado con otros usuarios Estos sistemas han proliferado en los uacuteltimos antildeos llegando amillones de usuarios No suelen necesitar un administrador pues se utilizan medianteentorno web y son alojados por el propio proveedor Su gran adopcioacuten y el enfoquea las interacciones sociales es lo que ha llevado a muchos profesor a utilizarlo comoherramienta de aprendizaje Estos sitios permiten la creacioacuten y mantenimiento degrupo mediante el perl de usuario pero no estaacuten disentildeados para seguir un enfoquepedagoacutegico

bull Personal Learning Environment - PLE (Ej Southampton) Son denidos comosistemas de software que permiten al estudiante a tomar el control y la gestioacuten de suspropio aprendizaje Se caracterizan por la por la participacioacuten directa de los alumnosen el acceso agregacioacuten conguracioacuten y manipulacioacuten de herramientas y recursos adiferencia de los VLEs done es el educador el que selecciona y gestiona los recursosque el alumno debe utilizar

Muchas de estas herramientas son de coacutedigo libre y abierto Su funcionalidad respecto ala gestioacuten de actividades grupos funciones y herramientas es limitado siendo en algunoscasos inexistente Ninguna de estas plataformas se puede considerar un VLE ya que nosson sistemas centrados en el educador sin embargo pueden apoyar la integracioacuten de apli-caciones externas en entornos de aprendizaje colaborativo

Capiacutetulo 3

Organizacioacuten y Sistema Inicial

A continuacioacuten pasamos a detallar las distintas actividades de la que consta el proyecto quehemos llevado a cabo durante estos meses

31 Lanzamiento del proyecto

Esta actividad consisten en la eleccioacuten de una de las diferentes posibles aacutereas de desarrollo deproyectos que ofrece la UOC siendo la elegida Aplicaciones Web para trabajo colaborativo

32 Denicioacuten del proyecto

El proyecto queda denido en el presente documento siendo el tiacutetulo del mismo Orchestationand Coreography of Web Services on Moodle - Revisioacuten Sistemaacutetica de la literatura

[Duracioacuten] 27-02-2013 al 03-03-2013

33 Anaacutelisis de requisitos

Nos centraremos en la fase de planicacioacuten que incluye los objetivos de la investigacioacuten y la formaen que se llevaraacute a cabo la revisioacuten

[Duracioacuten] 04-03-2013 al 03-06-2013

331 Cuestiones Realizadas

El primer paso en la fase de planicacioacuten seraacute denir los objetivos principales de esta revisioacutensistemaacutetica de la literatura Estos objetivos son analizar el estado del arte de la coreografiacutea yorquestacioacuten de los servicios web en Moodle como LMS

332 Fuentes de datos y buacutesqueda

Utilizaremos diferentes libreriacuteas o espacios digitales para realizar las buacutesquedas las mismas serealizaraacuten en ingleacutes y espantildeol Las libreriacuteas principales utilizadas son

IEEEXplore [IEEEX] httpieeexploreieeeorg

21

Science Direct [SD] httpwwwsciencedirectcom

SpringerLink [SL] httpwwwspringerlinkcom

Paralelamente a Science Direct se han realizado buacutesquedas en Scopus1 de Elsevier y GoogleScholar2 de Google

333 Criterios de inclusioacuten y exclusioacuten

Las buacutesquedas que se realicen intentaraacuten abarcar todo el aacutembito de cuestiones del SLR pero esposible (y de hecho ocurre) el resultado contenga referencias publicaciones estudios o en generalinformacioacuten que no sirve Para ello seraacute necesario denir criterios de inclusioacuten y exclusioacuten loscual haremos basaacutendonos en la guiacutea [Kitchenham 2007]

334 Asegurar la calidad

Despueacutes de obtener un numero considerable de trabajos o estudios que satisfacen los criteriosde inclusioacuten y exclusioacuten se deberaacute ser capaz de asegurar o armar cuales son los que cumplencon una miacutenima calidad y si son vaacutelidos o no para el estudio en si Es baacutesico poder analizar queacuteestudios son mejores que otros en teacuterminos de calidadSiguiente [Kitchenham 2007] se deniraacuten preguntas y cuestiones que permitan asegurar dichacalidad

335 Extraccioacuten de datos y anaacutelisis

Los criterios de inclusioacuten y exclusioacuten junto con las preguntas orientadas a asegurar la calidadnos serviraacuten para obtener todos los artiacuteculos y estudios que se analizan en este estudioDe cada artiacuteculo se recogeraacute titulo y autores abstract publicacioacuten y antildeo de publicacioacuten

336 Fase de revisioacuten

Esta fase de planicacioacuten seraacute denir el proceso de conducir o dirigir la revisioacuten Para elloutilizaremos tres fases como podemos ver en la gura 31 de la paacutegina 23

337 Fase de Pruebas

Se realizan pruebas con la informacioacuten obtenido montado maacutequinas virtuales para realizar lasmismas En estas se han probado las diferentes opciones de comunicacioacuten que nos ofrece Moodle

1httpwwwscopuscom2httpscholargooglecom

Figura 31 Proceso para dirigir la revisioacuten

34 Calendario de Trabajo

Podemos ver en el siguiente diagrama de Gantt32 la distribucioacuten de trabajos en el tiempo elmismo seraacute modicado para ajustarlo a las variaciones producidas durante el desarrollo de lastareas que contempla

35 Hitos principales

Los principales hitos seraacuten

Lanzamiento del proyecto Se dene correctamente en que va consistir el proyecto

Denicioacuten de cuestiones para la buacutesqueda Donde se detallaraacuten las cuestiones quemarcaran el desarrollo del resto del proyecto

Comprobacioacuten de resultados Se deberaacuten criba los mismo para no obtener duplicadoso informacioacuten ajena a la investigacioacuten

Revisioacuten de informacioacuten obtenida Una vez obtenida la informacioacuten y analizada deberaacuteser revisada para su presentacioacuten

Figura 32 Diagrama de Gantt

36 Instalacioacuten base

Para llevar a cabo las pruebas se ha optado por la creacioacuten de una maacutequina virtual sobre VirtualBox 3 en la cual hemos instalado Windows XP como sistema operativo Este sistema es maacutesligero a la hora de trabajar en maacutequinas virtuales pues requiere menos recursos que las versionesposteriores del mismos sistema

El siguiente paso era la instalacioacuten de Moodle Aunque se dispone de un instalador para Win-dows se ha optado por la descarga e instalacioacuten de XAMPP 4 y su y su posterior conguracioacutenen la maacutequina virtual XAMPP es un servidor independiente de plataforma software libre queconsiste principalmente en la base de datos MySQL el servidor web Apache y los inteacuterpretespara lenguajes de script PHP y Perl El nombre proviene del acroacutenimo de X (para cualquierade los diferentes sistemas operativos) Apache MySQL PHP Perl

XAMPP en su versioacuten 181 incluye

Apache 243

MySQL 5527

PHP 547

phpMyAdmin 3522

FileZilla FTP Server 0941

Tomcat 7030

Strawberry Perl 51611 Portable

XAMPP Control Panel 310

Hemos continuado con la descarga he instalacioacuten de Moodle y hemos querido probar las difer-encias que obtenemos entre las versiones 19x y 25 por lo que se han descargado ambas heinstalado en maacutequinas virtuales diferentes Con ello conseguiremos probar el resultado obtenidoseguacuten la versioacuten Moodle desde su versioacuten 22 ya soporta conexiones mediante IMS - LTI IMSLTI es un estaacutendar IMS Learning Tool Interoperability Esto signica que las herramientas deaprendizaje tienen ahora diversas maneras de conectarse entre sin problemas

En la praacutectica cuando un usuario se registra en una herramienta como Moodle se pueden conectara la otra herramienta como MediaWiki y autenticarse automaacuteticamente proporcionando unaexperiencia perfectaLas guras 33 y 34 nos muestran el panel de control de XAMPP una vez instalado y el panede phpMyAdmin donde hemos debido congurar las bases de datos y usuario necesarios parallevar todo el proceso de conguracioacuten de Moodle y el resto de herramientas

3httpswwwvirtualboxorg4httpwwwapachefriendsorgesxampphtml

Figura 33 Panel de control de XAMPP

Figura 34 Gestor de bases de datos phpMyAdmin

Capiacutetulo 4

Servicios Web de Moodle

41 Introduccioacuten

Moodle 2X incorpora la posibilidad de implementar Servicios Web para manejar sus funciona-lidades lo que nos permite poder acceder a acciones de actualizar y crear tareas para reejar elresultado de las actividades realizadas Moodle soporta varios protocolos (REST SOAP XML-RPC y AMF)

42 Servicios Web de Moodle

Los Servicios Web de Moodle se caracterizan por permitir el acceso desde cualquier aplicacioacutenimplementando para ello tres capas como podemos observar en la gura 41

Capa nuacutecleoLa capa del nuacutecleo estaacute compuesta de todas las funciones principales de Moodle sobreusuarios grupos cursos calendario etc Moodle no dispone de una API al uso sino queofrece diferentes funciones que han sido desarrolladas durante antildeos Por tanto las necesi-dades de los Servicios Web estaacuten obligando a rehacer estas funciones del nuacutecleo para quecomiencen a formar una API (Moodle 2X)

Capa externaLa capa externa estaacute compuesta por nuevos cheros llamados externalphp colocados porlas carpetas de Moodle y conteniendo manejadores para la capa inferior Estos manejadoresson los responsables de comprobar las capacidades paraacutemetros y llamadas correctas a lasfunciones de nuacutecleo

Capa de conectoresLa capa de conectores estaacute compuesta de diferentes conectores para las diferentes imple-mentaciones de los Servicios Web y contiene un conector REST un conector SOAP unconector XML-RPC y un conector AMF Esta capa admite plugins para ampliar los conec-tores disponibles de manera que se puedan integrar otros sistemas en Moodle utilizandootros protocolos

Los pasos para utilizar un Servicio Web con Moodle seriacutean los siguientes

1 El cliente enviacutea el nombre de usuario y contrasentildea al servidor que provee los ServiciosWeb

27

Figura 41 Capas en Moodle

2 El servidor de protocolo devuelve un token de sesioacuten para esa cuenta de usuario

3 El cliente llama a un Servicio Web especiacuteco incluyendo el token de sesioacuten

4 El servidor utiliza el token para comprobar que la sesioacuten del Servicio Web estaacute activa

5 El servidor llama a la funcioacuten correspondiente localizada en el chero externallibphp dentrodel moacutedulo especiacuteco

6 La funcioacuten externa comprueba que el usuario actual tenga los permisos sucientes pararealizar esta operacioacuten

7 La funcioacuten externa llama a la funcioacuten correspondiente del nuacutecleo de Moodle (libphp)

8 La funcioacuten del nuacutecleo puede retornar un resultado a la funcioacuten externa

9 La funcioacuten externa devolveraacute el resultado al servidor de protocolo

10 El servidor de protocolo devolveraacute el resultado al cliente

43 REST

REST (Representational State Transfer) es el acroacutenimo de Transferencia de Estado Representa-cional teacutermino usado por Roy Fielding (uno de los creadores de HTTP) para describir un estilode arquitectura que utilizar como modelo en los sistemas de computacioacuten Web No es un es-taacutendar sino un enfoque que muestra como desarrollar y proporcionar servicios en Internet portanto considerado como un estilo arquitectoacutenico para disentildeo de software a gran escala El propioautor lo dene de manera concisa en eacuteste paacuterrafo

REST es un intento de mostrar coacutemo debe comportarse una aplicacioacuten Web bien disentildeada unared de paacuteginas Web (una maacutequina de estados virtual) donde el usuario progresaraacute seleccionan-do enlaces (transiciones de estado) que devuelven la paacutegina siguiente (el siguiente estado de lamaacutequina) que el usuario manejaraacute a su gusto

Este enfoque no aporta realmente nada nuevo la mayor parte de la Web sigue este estilo arqui-tectoacutenico Sin embargo el autor hace eacutenfasis en las caracteriacutesticas concretas que han hecho quela Web triunfe que van a ser los objetivos buscados por REST y que son a su juicio

Escalabilidad en las interacciones entre componentes La red ha ido creciendo de maneraexponencial y se ha ido comportado de manera satisfactoria

Generalidad en las interfaces Se proporciona acceso con distintos clientes y con distintosmecanismos de acceso

Desarrollo independiente de componentes Implementaciones cliente y servidor pueden serdesarrolladas en distintos momentos

Existencia de componentes intermediarios con los cuales existe compatibilidad (comoproxys)que permiten encapsulacioacuten e integracioacuten de sistemas no Web dentro de la misma

431 Principios de disentildeo

Los objetivos citados van a ser conseguidos imponiendo una serie de restricciones

El estado y la funcionalidad de las aplicaciones se representan por forma de recursos

La identicacioacuten de recursos se realiza de forma uacutenica global mediante Uniform ResourceIdentiers Los recursos identicados con URIs son los objetos loacutegicos a los cuales se lesmandan los mensajes

Manipulacioacuten de recursos a traveacutes de representaciones luego no se manejan directamentelos recursos sino sus representaciones

Todos los recursos comparten un interfaz uniforme formado por

bull Un conjunto de operaciones limitado para transferir el estado Se van a aprovecharlas operaciones que HTTP dene mostradas en la gura 42

bull Un conjunto limitado de tipos de contenidos identicados mediante tipos MIME

Uso de un protocolo clienteservidor sin estado y basado en capas Cada mensaje HTTPcontendraacute la informacioacuten necesaria para comprender la peticioacuten luego como muestra lagura 43 no es necesario que eacutesta sea entendida tanto en el cliente como en el servidor

Uso de hipermedios para representar el estado de una aplicacioacuten permitiendo que el estadode una aplicacioacuten Web particular esteacute almacenado en uno o maacutes documentos de hipertextoque residen bien en el servidor o en el cliente Esto permite al servidor saber el estado desus recursos sin necesidad de almacenar el estado de los clientes concretos

Figura 42 Operaciones denidas por HTTP

Como ya se mencionoacute REST se trata de un estilo arquitectoacutenico no un estaacutendar Sin embargohace uso de varios estaacutendares Web

HTTP HyperText Transfer Protocol

Figura 43 Operaciones denidas por HTTP

URL Uniform Resource Locator como el mecanismo de indenticacioacuten de recursos

XML - HTML - PNG - etc Como distintos formatos de representacioacuten de recursos

Tipos MIME como text-xml text-html image-png etc

44 SOAP

SOAP (siglas de Simple Object Access Protocol) es un protocolo estaacutendar que dene coacutemo dosobjetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML Esteprotocolo deriva de un protocolo creado por David Winer en 1998 llamado XML-RPC SOAPfue creado por Microsoft IBM y otros y estaacute actualmente bajo el auspicio de la W3C

441 Principios de disentildeo

La funcionalidad que aporta SOAP es la de proporcionar un mecanismo simple y ligero de in-tercambio de informacioacuten entre dos puntos usando el lenguaje XML SOAP no es maacutes que unmecanismo sencillo de expresar la informacioacuten mediante un modelo de empaquetado de datosmodular y una serie de mecanismos de codicacioacuten de datos Esto permite que SOAP sea uti-lizado en un amplio rango de servidores de aplicaciones que trabajen mediante el modelo decomunicacioacuten RPC (Remote Procedure Call)

SOAP consta de tres partes como podemos ver en la gura 44

El SOAP envelope que dene el marco de trabajo que determina queacute se puede introduciren un mensaje quieacuten deberiacutea hacerlo y si esa operacioacuten es opcional u obligatoria

Las reglas de codicacioacuten SOAP que denen el mecanismo de serializacioacuten que seraacute usadopara encapsular en los mensajes los distintos tipos de datos

La representacioacuten SOAP RPC que dene un modo de funcionamiento a la hora de realizarllamadas a procedimientos remotos y la obtencioacuten de sus resultados

A la hora de realizar el disentildeo de SOAP se han tenido en cuenta una serie de consideracionescon el n de cumplir una serie de objetivos claros objetivos que le daraacuten el potencial que resideen SOAP y que le haraacuten tan atractivo Eacutestos son

Establecer un protocolo estaacutendar de invocacioacuten a servicios remotos que esteacute basado enprotocolos estaacutendares de uso frecuente en Internet como son HTTP (Hiper Text TransportProtocol) para la transmisioacuten y XML (eXtensible Markup Language)para la codicacioacutende los datos

Figura 44 Partes de SOAP

Independencia de plataforma hardware lenguaje de programacioacuten e implementacioacuten delservicio Web

El logro de estos objetivos ha hecho de SOAP un protocolo extremadamente uacutetil ya que elprotocolo de comunicacioacuten HTTP es el empleado para la conexioacuten sobre Internetpor lo que segarantiza que cualquier cliente con un navegador estaacutendar pueda conectarse con un servidor re-moto Ademaacutes los datos en la transmisioacuten se empaquetan o serializan con el lenguaje XML quese ha convertido en algo imprescindible en el intercambio de datos ya que es capaz de salvar lasincompatibilidades que existiacutean en el resto de protocolos de representacioacuten de datos de la red

Por otra parte los servidores Web pueden procesar las peticiones de usuario empleando tec-nologiacuteas tales como Servlets paacuteginas ASP (Active Server Pages) paacuteginas JSP (Java ServerPages) o sencillamente un servidor de aplicaciones con invocacioacuten de objetos mediante CORBACOM o EJB

Un ejemplo tiacutepico de disentildeo de un servicio Web utilizando las ventajas de SOAP podemos veren la siguiente gura 45

Figura 45 Ejemplo de uso de SOAP

45 AMF

AMF (Action Message Format) es un protocolo binario de Adobe que va por la versioacuten AMF3Aunque por el nombre de la versioacuten pueda parecer que existan 3 cabe destacar que soacutelo existendos AMF0 y AMF3 Una de las mayores diferencias o mejoras que aporta AMF3 es que soporta

datos binarios (ByteArray) y int datos no soportados por AMF0 debido a que en la eacutepoca queaparecioacute el formato Flash Player no soportaba estos tipos de datos

AMF3 no es un protocolo para transferir informacioacuten sino que representa el formato en el quese transmite la informacioacuten en este caso un formato binario

La versioacuten de Moodle 25 viene con Zend_ AMF pero podemos utilizar tambieacuten la libreriacuteaamfPHP

AMFPHP

Zend_ amf httpframeworkzendcommanual112enzendamfhtml

Maacutes informacioacuten en httpdocsmoodleorgdevAMFPHP

46 Conguracioacuten de Moodle Web Services

Los Servicios Web habilitan que otros sistemas puedan entrar a Moodle y realizar operacionesPasaremos a detallar los pasos necesarios para su conguracioacuten y explicaremos distintos pruebasllevadas a cabo sobre su funcionamiento Para poder consumir de manera correcta unWeb Servicede Moodle seriacutea necesario antildeadir a la url que vamos a formar los paraacutemetros oportunos paralograr consumir el Web Service de manera satisfactoria Una vez antildeadidos ya podriacuteamos invocarla funcioacuten seleccionada

461 Activando los Servicios Web

Lo primero que debemos hacer es activar la opcioacuten general que habilita el uso de los serviciosweb En la gura 46 podemos observar la opcioacuten para la activacioacuten de este servicio para ello nosiremos a la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Servicios Externos

Figura 46 Activacioacuten Servicios Web

Esto solo es una opcioacuten a nivel global necesitando ahora activar los protocolos de comunciacionesque vamos a utilizar para ello deberemos ir a la opcioacuten textitAdministracioacuten del Sitio - Exten-siones - Servicios Web - Administrador de protoclos donde encontraremos las diferente opcionesque nos existen En la gura 47 podemos ver la pantalla de nuestra conguracioacuten con todos losprotocolos activados

Una vez activada la opcioacuten de Servicios Externos y seleccionados los protocolos que utilizaremosnecesitamos crear un Servicio Personalizado que no es maacutes que una etiqueta que aglutina los

Figura 47 Activacioacuten Protoclos

Servicios Web que ofrece Moodle y que pueden ser utilizados por los servicios externos Para ellodeberemos darle a la opcioacuten Agregar dentro de la opcioacuten Administracioacuten del Sitio - Extensiones- Servicios Web - Servicios Externos Como prueba habilitaremos un servicio llamado Uso_Servicio_ Web cuya creacioacuten podemos ver en la gura 48

Figura 48 Creacioacuten Servicio Personalizado

Una vez creado el Servicio Personalizado deberemos agregarle las funciones que queramos lesean permitidas pudiente tener maacutes de una En la gura 49 vemos como asociamos la creacioacutende usuarios al Servicio Personalizado

Terminado esto deberemos tener en el listado que nos muestra Moodle de Servicios personaliza-dos algo como lo mostrado en la gura 410

El siguiente paso es conceder los permisos apropiados para que este Servicio Personalizado puedeser usado por los usuarios pare ello debemos primero especicar quienes son los Usuarios au-torizados para ello en la linea de la lista de Servicios Personalizados deberemos pulsar sobre laopcioacuten usuarios autorizados donde apareceraacute una pantalla como 411 donde podremos escogerlos usuarios de los que se encuentran dados de alta en nuestro sistema

Y para terminar aunque este paso podriacutea ser realizado por el propio usuario si tuviera el per-miso de moodlewebservicecreatetoken seraacute la creacioacuten de un token el cual va ser la opcioacuten quevamos a utilizar para las pruebas de los Servicios Web de Moodle Para la creacioacuten del mismodeberemos entrar en la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Admin-istrar tokens y pulsar la opcioacuten Agregar para antildeadir un token nuevo como podemos apreciar en

Figura 49 Agregando funciones al Servicio Personalizado

Figura 410 Listado de Servicios Personalizados

la gura 412 teniendo la precaucioacuten de escoger como Servicio el Servicio Personalizado creadocon anterioridad Uso_ Servicio_ Web

En esta pantalla podemos poner varios tipos de restricciones

Restriccioacuten de IP Donde podemos indicar la direccioacuten IP desde donde

Restriccioacuten de Fecha Se puede denir hasta cuando seraacute valido este token siendo unabuena manera de poder probar cosas y no dejar puertas abiertas por error

En la gura 413 podemos ver el token asignado por el sistema para nuestro Servicio Personalizadoy que procederemos a utilizar para comprobar el funcionamiento de los Servicios Web de Moodle

462 Pruebas cliente Servicio Web

Procederemos ahora a desarrollar pruebas que utilicen los Servicios Personalizados creado Sepodriacutean haber utilizado el Cliente de prueba de servicio web que incorpora Moodle dentro dela opcioacuten Administracioacuten del Sitio - Desarrollo - Cliente de prueba servicio web pero hemosdecidido implementar una Web para comprobar la facilidad del funcionamiento del sistema y losdistintos resultados obtenidos seguacuten el protocolo utilizado

Utilizaremos la libreriacutea cURL de PHP cURL es una herramienta que permite abrir conexionesen una amplia variedad de protocolos y que estaacute disponible tanto como herramienta de consola(para ejecutar directamente con comandos) como en libreriacutea (para usar en vuestro coacutedigo) y quepermite hacer praacutecticamente todo manejo de cookies descarga de cheros binarios enviacuteos de

Figura 411 Alta de Usuarios Autorizados

Figura 412 Creacioacuten de Tokens

paraacutemetros GET y POST etc

La web creada para la introduccioacuten 414 de los usuarios seraacute equivalente para todos los procesosprocesos siendo el programa que da respuesta al formulario el que implemente la funcioacuten nece-saria para la introduccioacuten de los datos en Moodle

Los resultados de REST pueden mostrar los resultados del alta de dos maneras diferentes unaen formato XML como podemos ver en la gura 415 y otro en formatox JSON tambieacuten po-dremos ver en la gura Los resultados obtenidos tambieacuten pueden verse en el la gura 416

Figura 413 Lista de Tokens

Figura 414 Web de alta de usuarios

Figura 415 Resultado de REST en formato XML

Figura 416 Resultado de REST en formato JSON

Capiacutetulo 5

Herramientas Externas

51 Introduccioacuten

Las versiones de Moodle desde la 22 vienen con IMS LTI o External Tool de manera integradaEn versiones anteriores era necesario la instalacioacuten de plugins como LTI Provider (maacutes informa-cioacuten en la web de Moodle1 IMS LTI es un estandar de IMS learing2 para la interoperabilidadde herramientas Esto signica que las herramientas de aprendizaje tienen ahora un mecanismopara jar el modo en que pueden conectarse entre ellas sin problemas

En la praacutectica cuando un usuario se registra en Moodle puede conectarse a otras herramientascomo Wikis o Blogs y autenticarse de manera automaacutetica en estas

52 Estaacutendares IMS

Actualmente se realizan esfuerzos para la integracioacuten de servicios a una plataforma virtual deaprendizaje mediante un mecanismo reutilizable independiente del tipo de plataforma El IMSGlobal Learning Consortium viene desde hace tiempo trabajando en este enfoque IMS GLCpresenta un conjunto de estaacutendares que promueven el uso de servicios de aprendizaje digitales(Digital Learning Services) dentro de las plataformas de aprendizaje tradicionales IMS DigitalLearning Services estaacute integrado por los siguientes estaacutendares principales IMS Common Car-tridge [ims a] IMS Learning Tool Interoperability [ims c] y IMS Learning Information Services[ims b]

El IMS Learning Tool Interoperability es una especicacioacuten para facilitar la inclusioacuten de her-ramientas externas dentro de un curso El administrador de la plataforma de aprendizaje ges-tiona los servicios que podraacuten ser consumidos por la plataforma el docente decide que serviciosutilizaraacute en su curso y el estudiante hace uso de los mismos IMS LTI permite que distintos LMSconsuman un mismo servicio el cual no fue implementado teniendo en cuenta el tipo de LMSsino la implementacioacuten del estaacutendar desde el lado del proveedor

El enfoque del IMS LTI estaacute dirigido a la creciente demanda de un mecanismo reutilizable para laintegracioacuten de herramientas de terceros en el nuacutecleo de las plataformas LMS Estas herramientas

1httpsmoodleorgpluginsviewphpplugin=local_ltiprovider2httpwwwimsglobalorgtoolsinteroperability2cfm

37

pueden agregar funcionalidad especializada a los LMS El enfoque ofrece una solucioacuten basada enWeb Services igualmente aplicable a distintos lenguajes de programacioacuten

Las versiones del LTI son

LTI v10 ( LTI Basic ) ( publicado en mayo de 2010 ) proporciona un meacutetodo sencillopero estaacutendar para establecer una conexioacuten segura a una herramienta desde el interior deun consumidor de herramientas El lanzamiento de este enlace permite una experienciade aprendizaje sin problemas para los estudiantes que acceden a las aplicaciones ricas queparecen tener lugar dentro del ambiente de aprendizaje Versioacuten 10 es el primer paso en eldesarrollo continuo de LTI Figura 51

LTI v11 ( publicado en marzo 2012 ) antildeade la posibilidad de pasar de nuevo un resultadode la herramienta al Consumidor de herramientas Esto permite que los estudiantes recibenuna calicacioacuten o puntuacioacuten de su interaccioacuten con la aplicacioacuten de aprendizaje

LTI v111 ( publicado en julio de 2012 ) incluye soporte para el papel Mentor que se puedeutilizar para representar a un padre tutor o auditor

LTI v20 Aun en estado de desarrollo y proporciona una plataforma maacutes sosticado y ex-tensible para permitir integraciones maacutes profundas y un mayor apoyo para los serviciosy eventos LTI 2 se basa en LTI 1 mediante la incorporacioacuten de maacutes sosticada resulta-dos de informes y una rica arquitectura de extensiones que permite servicios adicionalesque se antildeadiraacuten gradualmente LTI 2 utiliza REST y JSON-LD para ofrecer esta nuevafuncionalidad

Figura 51 Esquema LTI Baacutesico

En la gura 52 podemos observar como se podriacutean utilizar las ventajas de LTI por parte decada unos de los actores a lo largo de la vida de la aplicacioacuten de servicios externos dentro de unaplataforma de aprendizaje

En la paacutegina web de IMS3 podemos encontrar una relacioacuten de aplicaciones certicadas comocompatibles con el estaacutendar LTI indicando la versioacuten del LTI que cumplen En la gura 53podemos ver las aplicaciones certicadas por UOC y en la gura 54 la informacioacuten sobre una deestas herramientas

3httpwwwimsglobalorgccalltoolscfm

Figura 52 Esquema utilizacioacuten LTI

Figura 53 Listado de herramientas LTI de la UOC

53 Herramientas externas en Moodle

La siguiente seccioacuten consiste en la aplicacioacuten de alguno de esto servicios externos en Moodlepara comprobar su funcionamiento Nos decantaremos para la primera prueba por WordPresspues aunque existen manuales al respecto la documentacioacuten en castellano es escasa

531 Wordpress

La versioacuten estaacutendar de Wordpress a la cual accedemos cuando nos abrimos cuenta en Wordpressno viene con las herramientas necesarias para la iteracioacuten mediante LTI por lo que procedere-mos a la instalacioacuten en nuestro servidor de Wordpress para pasar a la instalacioacuten de los pluginsnecesarios

La instalacioacuten ha consistido en la descarga de la web ocial 4 de la versioacuten 351 la cual hemoscopiado dentro del directorio htdocs de nuestra instalacioacuten de Xampp Hemos dado de alta unnuevo usuario en nuestra base de datos llamado username como podemos ver en la imagen 55 yposteriormente hemos seguido los pasos que el instalador nos iba ofreciendo para tener instalado

4httpwordpressorgdownload

Figura 54 Informacioacuten sobre la certicacioacuten

Wordpress bajo la url httplocalhostwordpress

Figura 55 Usuario de Wordpress

Deberemos congurar Wordpress para que trabaje como multisitio para lo que deberemos seguirlos pasos de conguracioacuten que podemos encontrar en la web ocial de Wordpress5 bajo el nombreCreate A Network consistente en los siguientes pasos

1 Realizar una copia de seguridad por si acaso

2 Modicar el chero wp-congphp incluyendo la siguiente linea encima de Thats allstop editing Happy blogging Multisite dene (WP_ ALLOW_ MULTISITE true)

Multisite dene (WP_ ALLOW_ MULTISITE true)

3 Installar un Network Para ello hemos de entra en la opcioacuten Administration -gtTools -gtNetwork Setup donde podremos congurar opciones sobre el nombre que queremos declararpara el nuevo sitio

4 Activar el Network para ello debemos modicar los cheros wp-congphp y htaccess porlo que seriacutea bueno que realizaacuteramos primero un copia de seguridad de los mismos Loscambios que debemos realizar son los siguientes

5httpcodexwordpressorgCreate_A_Network

En wp-congphp dene(MULTISITE true)dene(SUBDOMAIN_ INSTALL false)dene(DOMAIN_ CURRENT_ SITE localhost)dene(PATH_ CURRENT_ SITE wordpress)dene(SITE_ ID_ CURRENT_ SITE 1)dene(BLOG_ ID_ CURRENT_ SITE 1)

El chero htaccess debe quedar asiacute BEGIN WordPressltIfModule mod_ rewritecgtRewriteEngine OnRewriteBase wordpressRewriteRule icircndexphp$ - [L]

add a trailing slash to wp-adminRewriteRule ([_ 0-9a-zA-Z-]+)wp-admin1wp-admin [R=301L]

RewriteCondREQUEST_ FILENAME -f [OR]RewriteCondREQUEST_ FILENAME -dRewriteRule - [L]RewriteRule ([_ 0-9a-zA-Z-]+)(wp-(content|admin|includes)) $2 [L]RewriteRule ([_ 0-9a-zA-Z-]+)( php)$ $2 [L]RewriteRule indexphp [L]ltIfModulegt

END WordPress

5 Esto nos habraacute creado en la parte izquierda de la barra de herramientas de Wordpressuna nueva opcioacuten llamada My Sites que contendraacute un listado de los sitios de nuestroWordpress

El siguiente paso seraacute la descarga del plugin los cual podremos hacerlos desde la web de sour-forgenet 6 En esta web se detalla informacioacuten sobre el plugin y como se debe instalar Siguiendolos pasos que tenemos en el mismo procederemos a la descarga y el desplegado del mismo en lacarpeta wp-contentmu-plugins Salimos de Wordpress y volvemos a entrar como superusuariosi entramos dentro de la nueva red realizada podremos ver que dentro de LTI Consumers Keystendremos la opcioacuten LTI Consumers Keys como podemos ver en la imagen 56

Aquiacute deberemos crear la clave del consumidor del servicio y la clave secreta que nos permitiraacute aMoodle conectarse a Wordpress

Una vez que tenemos la clave secreta y del consumidor deberemos volver a Moodle entrandocomo administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

6httpsourceforgenetappsmediawikilearningappsindexphptitle=LTI4Wordpress

Figura 56 Servicios LTI en Wordpress

Figura 57 Listado de claves de LTI en Wordpress

-LTI En esta paacutegina podremos rellenar nuestras opciones

Tool Name Seraacute el nombre que tendraacute la herramienta y deberemos poner alguno indicativode la herramienta que estemos utilizando

Tool Base URL Es la direccioacuten de la herramienta en nuestro caso httplocalhostwordpress

Deberemos rellenar con los datos obtenidos en Wordpress la clave de consumidor y la clavesecreta

Es importante marcar Show tool type when creating tool instances para que aparezcaposteriormente al crear los recursos en nuestros cursos

Para poder probar el sistema hemos creado un curso dentro de Moodle llamada WordpressLTIdonde daremos de la siguiente manera de alta 59

Dentro de nuestro curso seleccionamos la opcioacuten de Edicioacuten

Pulsamos sobre Antildeadir una actividad o un recurso

Seleccionamos External Tool

Rellenamos las opciones

bull Nombre de la Actividad Cualquiera de nuestra eleccioacuten

Figura 58 Conguracioacuten LTI en Moodle

bull Tipo de herramienta externa El nombre que le pusimos a la herramienta externa enla conguracioacuten LTI de Moodle

bull Launch Container Hemos elegido la opcioacuten Incrustar para ver el resultado

Figura 59 Conguracioacuten Herramienta Externa

Una vez congurado podemos lanzar la herramienta externa teniendo como resultado la gura510

Figura 510 Wordpress integrado en Moodle

532 ChemVantage

ChemVantage es un recurso gratuito para la educacioacuten cientiacuteca que incluye ejercicios de gradoejercicios de preparacioacuten exaacutemenes de la praacutectica conferencias de video y libros de texto enliacutenea gratis Fue creado por ChemVantage LLC que fue fundada por el Prof Chuck Wight queha ensentildeado Quiacutemica General en la Universidad de Utah desde 1984 (ChemVantage 2011)

Nos hemos puesto en contacto con Chuck Wight (adminchemvantageorg) para solicitarle unaclave de consumidor y secreta para poder probar este recurso desde moodle Las opciones y elcorreo puede verse en la gura 511

Una de las cosas maacutes importantes de ChemVantage y por lo que nos hemos decidido a probar esque permite la devolucioacuten de las notas obtenidas en los ejercicios realizados en las herramientasexternas a Moodle El alumno podraacute realizar las tareas en esta herramienta externa y luego sercalicadas en Moodle

ChemVantage estaacute certicada por IMS 7 como un proveedor de herramientas LTI v11 y comotal funciona desde nuestro propio LMS para llevar a cabo la autenticacioacuten de sitios provee decuentas y devuelve resultados de asignacioacuten de estudiantes con el libro LMS grado automaacutetica-mente

Los recursos disponible son ChemVantage son principalmente los siguientes

1 QuizzesLos ejercicios presentados aquiacute estaacuten disentildeados para animar a los estudiantes a leer y en-tender los libros de texto utilizados en el curso Las preguntas se basan en material que sepresente en su mayor parte en los textos de introduccioacuten de quiacutemica Los iacutetems de preguntastienen respuestas straighforward no requieren caacutelculos detallados Las preguntas se presen-tan en varios formatos diferentes incluyendo opcioacuten muacuteltiple verdadero falso casilla devericacioacuten ll-in-the-blanco y numeacutericas Cada cuestionario se compone de 10 preguntasextraiacutedas al azar de una base de datos con muchas maacutes preguntas En el proceso de tomarvarias pruebas para mejorar sus calicaciones los estudiantes probablemente encuentran

7httpdevelopersimsglobalorgcoursechemvantagehtml

algunas preguntas repetidas de concursos anteriores sin embargo es poco probable quecualquiera de los dos cuestionarios contendraacute exactamente el mismo conjunto de preguntasen el mismo orden Asignando pruebas para ser completado antes de la conferencia losprofesores pueden estar seguros de que sus estudiantes tengan un poco de exposicioacuten almaterial Esto permite una mayor discusioacuten el diaacutelogo y la participacioacuten en el aula y haceel aprendizaje maacutes divertido (de verdad)

2 Video LecturesUna serie de conferencias de viacutedeo de 10 minutos sobre una variedad de temas de QuiacutemicaGeneral es accesible desde la paacutegina principal Los videos estaacuten disentildeados para reforzar lospuntos principales que se presentan en muchos libros de texto

3 HoweworksLas tareas estaacuten disentildeadas para dar a los estudiantes la praacutectica en la resolucioacuten de proble-mas cuantitativos que tienen respuestas numeacutericas Cada alumno puede descargar la tareatrabajar los problemas y presentar las respuestas en liacutenea Respuestas son juzgados a sercorrecta si la solucioacuten numeacuterica de acuerdo con la solucioacuten que se encuentra en la base dedatos dentro de una tolerancia especicada (indicado para cada problema) El sitio informaa los estudiantes que las respuestas son correctas para que puedan rehacer problemas malresueltos y volver a presentar las respuestas Cada problema se basa en una plantilla queatrae paraacutemetros al azar por lo que la respuesta correcta es diferente para cada estudianteEsto hace que sean adecuadas para la colaboracioacuten y el trabajo en grupo porque a pesarde que el grupo puede trabajar para encontrar un algoritmo correcto para resolver un prob-lema cada estudiante tendraacute que usar el algoritmo para encontrar la solucioacuten detallada asu propio problema

4 Practice ExamsLos estudiantes pueden realizaar exaacutemenes de praacutectica cronometrados que muestran laspreguntas de un grupo de 3 o maacutes temas Cada examen estaacute disentildeado para tardar unos60 minutos o menos e incluye una seleccioacuten de 10 preguntas Las praacutecticas de exaacutemenespueden repetirse cuantas veces se desee Las preguntas numeacutericas son parametrizadas loque es muy poco probable que un estudiante realice alguna vez dos exaacutemenes de praacutecticaideacutenticos

5 Portofolio PageCada estudiante puede acceder a una paacutegina que le da la puntuacioacuten obtenida en cada prue-ba y la asignacioacuten de tareas Los estudiantes que son miembros de un grupo tienen unapaacutegina de resultados asociados a las tareas de grupo Hay una paacutegina de carpeta separadaque contiene un resumen de todas las actividades realizadas en ChemVantage incluyendovideos vistos cuestionarios completados resolver problemas con la tarea y la praacutectica deexaacutemenes completados Las puntuaciones en los exaacutemenes de praacutectica son desagregadospara revelar fortalezas y debilidades estudiantes por temas

Hemos procedido a darlo de alta en LTI como hicimos con Wordpress Entramos en Moodle co-mo Administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

Figura 511 Correo de Chuck Wight

-LTI quedando como resultado la siguiente hoja de paraacutemetros gura 512

El siguiente paso seraacute antildeadir la herramienta dentro de nuestro curso para ello pulsaremos sobreAntildeadir una actividad o un recurso Deberemos seleccionar External Tool y rellenamos las op-ciones de la herramienta seleccionando como Tipo de herramienta externa la opcioacuten creada enel apartado de LTI de Moodle

Una vez congurado la herramienta en Moodle podemos entrar para realizar una personalizacioacutende la herramienta gura 513 esta consiste en indicar si el alumno cuando se conecta realiza undeterminado tarea o puede elegir navegar por la web de ChemVantage para poder disfrutar dela cantidad de recursos que se encuentran disponibles

Cuando el usuario pulsa sobre la opcioacuten de esta herramienta externa en Moodle lo primero quese le muestra es la informacioacuten sobre su perl en Chemvantage 514Como hemos visto en los paraacutemetros de conguracioacuten existe la posibilidad de llamar a unaherramienta externa incrustaacutendola dentro de Moodle o abrieacutendolo en una paacutegina web nuevaCon esta segunda opcioacuten no hemos conseguido que funcione correctamente la importacioacuten de lasnotas En cambio si la herramienta externa estaacute incrustada permite esa vinculacioacuten

Figura 512 Conguracioacuten de paraacutemetros LTI

Figura 513 Opciones de inicio de la herramienta

Figura 514 Pantalla de utilizacioacuten de la herramienta por el usuario

Capiacutetulo 6

Middleware

61 Introduccioacuten

La uacuteltima opcioacuten seriacutea utilizar una arquitectura middleware de integracioacuten que permita la inte-gracioacuten ligera de muacuteltiples herramientas existentes en el Moodle

62 GluePS

GLUE-PS es una arquitectura de middleware que permite una interoperabilidad ligera entrelos diferentes lenguajes de disentildeo de aprendizaje y diferentes entornos de aprendizaje virtualEsta interoperabilidad permite a los maestros y otros profesionales que particularicen (es decirpara personalizar el disentildeo de aprendizaje abstractoa la clase particular los participantes y laeleccioacuten de los instrumentos en los que va a ser promulgada) desplieguen (es decir para crearde forma semiautomaacutetica las actividades necesarias en el VLE recursos etc para la aprobacioacutendel disentildeo particularizado) e incluso para llevar a cabo ciertos cambios en el tiempo de ejecucioacuten(por ejemplo modicar la composicioacuten del grupo agregar o quitar recursos de las actividadesetc) Todo esto a partir de disentildeos en distintos lenguajes de disentildeo de aprendizaje tales como laespecicacioacuten IMS-LD aprendizaje

Por otra parte GLUE-PS tambieacuten permite desplegar y gestionar disentildeos de aprendizaje en en-tornos virtuales de aprendizaje que integren herramientas de aprendizaje externos (tales comointegrar en Moodle herramientas como Google Docs y muchos otros) - lo que llamamos Am-bientes de Aprendizaje Distribuido (DLE Distributed Learning Enviroments) Esto se consiguegracias a la arquitectura de GLUE para la integracioacuten de los entornos virtuales de aprendizajey herramientas externas

621 Instalacioacuten

Para realizar la instalacioacuten de GLUE-PS nos hemos descargado el software necesario de la webde los desarrolladores1 descargando la opcioacuten de autenticacioacuten centralizada La instalacioacuten haconstado de tres partes que pasaremos a describir a continuacioacuten

1httpwwwgsicuvaesglue

49

Figura 61 Arquitectura de GLUE

La primera parte consiste en la instalacioacuten del GLUEletManager y los adaptadores GSIC toolAunque el sistema viene preparado para Linux o Windows siendo Windows la explicacioacuten quevamos a desarrollar por estar utilizando este sistema operativo con Xampp

1 Crear el directorio GLUE_ HOME El cual hemos creado para mayor comodidad en la raiacutezdel disco duro

2 Denir la variable del sistema GLUE_ HOME con el valor de la direccioacuten completa deldirectorio de GLUE del punto anterior Para ello hemos pulsado botoacuten derecho sobre MiPc Propiedad Opciones Avanzadas Variables de Entorno procediendo a pulsar el botoacutenNueva para crear la variable en cuestioacuten

3 Extraemos en el directorio del punto (1) el paquete descargado de la paacutegina de los desar-rolladores

4 Ejecutar la instalacioacuten del cheroGLUE_ HOMEbininstall gluebat para registar GLUElet-Manager y GSIC tool como un servicio de Windows Tambieacuten este paso crearaacute un cheroen GLUE_ HOMEtool_ adapteradapterdata para proveer de persistencia a los objetoscreados con el adaptador GSIC tool

A continuacioacuten daremos de alta en nuestro gestor de bases de datos un para de bases de datosque necesita GLUEletManager Para ellos seguimos los siguientes pasos

1 Abrimos la consola de phpMyaAdmin para cargar y ejecutar el chero create_ GLUE_databasessql que se encuentra en GLUE_ HOMEmanagerconfdb

2 Modicamos el chero GLUE_ HOMEmanagerconfMETA-INFpersistencexml paradarle los paraacutemetros necesarios para que JDBC se conecte a nuestra base de datos Losparaacutemetros modicados puede verse en la imagen 62

Figura 62 Paraacutemetros modicados en persistencexml

La segunda parte consiste en el registro interno de los adaptadores de las herramientas para seraccedido con GLUEletManager La distribucioacuten trae un chero para facilitar la conguracioacuten delos adaptadores que trae consigo y para su instalacioacuten deberemos ejecutar el chero GLUE_HOMEmanagerconfdbll _ internal_ Registrysql Alguna de las herramientas necesitanuna conguracioacuten maacutes completa como puede ser Google Docs adapter que necesita una cuentade Gmail para poder crear documentos en Google Docs por lo que deberemos modicar el nom-bre de usuario y contrasentildea

La uacuteltima parte consiste en la instalacioacuten del adaptardor de Moodle como VLE utilizado Estainstalacioacuten es como cualquier otro moacutedulo de Moodle 2 La carpeta que deberemos copiar seraacutela del adaptador correspondiente a Moodle que se encuentra en la carpeta GLUE_ HOMEvle_adpatersmoodle_ vle_ adapter Una vez entremos en nuestro Moodle como administrador nosapareceraacute un mensaje indicaacutendonos que el nuevo moacutedulo esta instalado Para congurar el nuevomoacutedulo debermos ir a Noticaciones - Modulos - Actividades como podemos ver en la gura 63para congurar los paraacutemetros la URL del GLUEletManager y el tiempo de espera

Figura 63 Paraacutemetros del moacutedulo GLUE

Cuando el profesor quiera crear una nueva actividad dependiente de los adaptadores de GLUEdeberaacute agregar una actividad maacutes pulsando para ello en esta opcioacuten dentro del bloque deseadopara seleccionar luego el tipo de actividad GLUElet como podemos ver en la gura64

622 Creando un Doodle

El adaptador Doodle permite la creacioacuten conguracioacuten y gestioacuten de instancias del Doodle Cadaencuesta Doodle es considerado un instancia diferente Ademaacutes este adaptador permite realizarademas la conguracioacuten inicial de encuestas Doodle incluyendo el nombre de la encuesta unadescripcioacuten y un conjunto de posibles respuestas

A continuacioacuten antildeadiremos Doodle en un bloque de Moodle para ellos pulsaremos la opcioacuten deAgregar actividad GLUElet lo cual nos mostraraacute la paacutegina65 donde deberemos rellenar comomiacutenimo el nombre de la actividad y el tipo de herramienta seleccionado en este caso Doodle(httpdoodle-testcom)

2httpdocsmoodleorgenInstalling_contributed_modules_or_plugins

Figura 64 Creando una actividad GLUElet

La primera vez que pulsemos sobre la nueva actividad creada apareceraacute un pantalla 66 dondepodemos congurar diferentes elementos de la encuesta desarrollada con Doodle como son eltiacutetulo una pequentildea descripcioacuten y luego las opciones posibles con un liacutemite de 10

El resultado nal seraacute la incrustacioacuten de una encuesta Doodle dentro de nuestro Moodle comopodemos ver en la gura67

Figura 65 Antildeadiendo Doodle como actividad

Figura 66 Opciones iniciales de conguracioacuten de Doodle

Figura 67 Doodel dentro de Moodle

Capiacutetulo 7

Conclusiones Finales

71 Conclusiones Finales

El proyecto actual nos ha servido para acercarnos a las diferentes tecnologiacuteas que permiten lacomunicacioacuten entre Servicios Webs Hemos desarrollado una primera labor de investigacioacuten queha requerido el aprendizaje de diferentes herramientas de control de documentacioacuten y referenciascomo Zotero y Mendeley

La documentacioacuten recabada en el proceso inicial de revisioacuten de documentos nos ha aportadoun visioacuten general de los diferentes sistemas virtuales de aprendizaje que podemos encontrarnosmuchos de ellos gratuitos y las diferentes soluciones que se plantean a la necesidad de incluirrecursos de otros fabricantes que en principio no fueron concebidos para ser utilizados dentro deuna plataforma VLE

Para poner en praacutectica la diferentes opciones encontradas se han montado diferentes maacutequinasvirtuales sobre las que se han probado las mismas Las conclusiones nales se pasan a detallar

IMS LTIEsta solucioacuten de integracioacuten mediante el cumplimiento de unos protocolos y certicacionesde las herramientas que lo cumplen es en principio la que podriacutea parecer la mejor opcioacutenpero la falta de compromiso de los diferentes fabricantes de Servicios Web y la luchapara imponer sus propios estaacutendares hace que aun quede mucho para que esta opcioacuten seacomo tal real

Si vemos el nuacutemero de aplicaciones certicadas para usar IMS LTI apenas superan las 50 yla mayoriacutea solo cumple la especicacioacuten v10 lo cual signica que la integracioacuten solo solu-ciona el problema de llamar a un recurso externo desde Moodle Pocas son las que cumplenla v11 que permite obtener en Moodle una valoracioacuten de los ejercicios desarrollados en unaactividad externa

La versioacuten v20 que daraacute maacutes opciones a la hora de interactuar con actividades externasauacuten esta en desarrollo y nada se sabe sobre posibles fechas para su presentacioacuten Luegocerticacioacuten de herramientas etc

55

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 13: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

Figura 18 Resultados en Zotero

Capiacutetulo 2

Plataformas VLE e integracioacuten

En esta seccioacuten describiremos el Entorno Virtual de Aprendizaje pondremos ejemplos de ellos yveremos las necesidades que generan en el desarrollo del proceso de aprendizaje por la falta deintegracioacuten de nuevas herramientas algunas de ellas utilizadas por si sola como herramientas deaprendizaje Detallaremos los problemas de la integracioacuten y expondremos las posibles solucionesa ello

21 VLE

El Entorno Virtual de Aprendizaje (VLE - Virtual Learning Enviroment) suele ser un teacuterminomuy usado en la educacioacuten a traveacutes de ordenador pero no existe una denicioacuten acordada porlo que muchas veces es confundido con otros teacuterminos anaacutelogos como Learning ManagementSystem (LMS) Sistema de Gestioacuten de Contenidos (Content Management System - CMS) o unaPlataforma de aprendizaje (Learning Plataform - LP)

Las deniciones maacutes aceptadas para VLE pues dada en el 2000 por Joint Information Sys-tems Committee (JISC) en el 2000 [Stiles 2000] indicando que son ccedilomponents in which learn-ers and tutors participate in on-line interactions of various kinds including on-line learningExisten otros autores que no estaacuten de acuerdo con la necesidad de interacciones on-line como[Dillenbourg et al 2002] que los excluyen de su denicioacuten Britain an Liber [Britain et al 2004]tambieacuten omiten la comunicacioacuten on-line de su denicioacuten indicando que las VLEs pretender darcabida a una amplia gama de estilos de aprendizaje y objetivos para fomentar el aprendizajecolaborativo y basado en recursos para permitir una mayor intercambio y reutilizacioacuten de recur-sos [Britain et al 2004]

Una de las deniciones mas formal y comuacutenmente citada fue dada en el trabajo de Dillengourgs[Dillenbourg et al 2002] el cual expone siete argumentos distintivos

1 VLEs are designed information spaces in which multiple authors can produce both struc-tured and unstructured information

2 VLEs are social spaces that promote interactions and discussions both synchronously orasynchronously

3 VLEs are explicitly represented ranging from text-based interfaces to complex 3D graphicalsystems

7

4 VLE students are also actors thus producing rather than consuming contents

5 VLEs are not restricted to distance education supporting also presential and blended learn-ing situations

6 VLEs integrate heterogenous technologies (including a variety of tools supporting diferenttasks) and multiple pedagogical approaches because integration is under the idea of envi-ronment

7 Most VLEs overlap with physical environments at some point since learning activities mayinvolve the use of non-computerized resources or interactions among participants

Por tanto el VLE conlleva un paso hacia delante por constituir un espacio virtual que utilizatecnologiacuteas heterogeacuteneas en el que los alumnos son activos usuarios siendo sistemas centrados enlos educadores que permiten el disentildeo instanciacioacuten promulgacioacuten y evaluacioacuten de situacionesde aprendizaje colaborativo a traveacutes de un conjunto de actividades de aprendizaje que puedenser siacutencronas o asiacutencronas cara a cara o a distancia individuales o de manera colaborativa

211 Ejemplos de VLEs

Existen actualmente diversos VLEs amplimente difundidos y no paran de aparecer nuevos loscuales intentan incluir nuevos teacutecnicas aplicadas al aprendizaje como puede ser el 3D [Nonis 2005]Hemos realizado el resumen por [Alario-Hoyos et al 2012] para mostrar una tabla en la gura21 de los maacutes importantes Moodle Lams LRN Sakai Blackboard Claroline Sharepoint LMSy sus caracteriacutesticas teacutecnicas y funcionales

22 Herramientas de Software

El uso de aplicaciones software como apoyo al aprendizaje ha jugado un papel muy importantesobre todo a la incorporacioacuten del ordenador a nuestra vida diaria Sin embargo no ha sido hastalos uacuteltimos antildeos con la difusioacuten de las tecnologiacuteas web y la posibilidades que ofrece de accesoraacutepido y ubicuo a los recursos e informacioacuten lo que ha provocado la proliferacioacuten de las her-ramientas de Software como Servicio (Software as Service - SaaS) siendo adoptadas en todas lasetapas del aprendizaje

La tendencia actual de los usuarios a generar y compartir contenidos a traveacutes de las herramientasde la llamada Web 20 la mayoriacutea de las cuales son aplicaciones SaaS ha cambiado la formade aprender fomentando la comunicacioacuten colaboracioacuten y ha fomentado un aprendizaje masconstructivista Algunos ejemplos de estas herramientas son

Google Drive httpsdrivegooglecom

Twitter httpstwittercom

Delicious urlhttpsdeliciouscom

Google Maps httpsmapsgooglees

Flickr httpwwwflickrcom

Doodle httpwwwdoodlecom

Figura 21 Anaacutelisis de VLEs

Miles de estas herramientas son usadas como apoyo en las actividades de aprendizaje Muchasde estas herramientas podemos encontrarlas valoradas en un ranking en webs como Tops 100Tools for Learning1 de la cual mostramos la gura 22 tambieacuten podemos encontrarlas en CcediloolsTools for Schools2

221 Integracioacuten de herramientas

Aunque hemos podido ver que existe un gran nuacutemero de herramientas software la cuales puedenapoyar el desarrollo docente son pocos los VLEs y otras plataformas similares utilizadas porlos educadores para disentildear y prestar sus actividades formativas las que incluyen un nuacutemeromuy restringido de estas herramientas de manera integrada Los educadores suelen indicar laslimitaciones que los VLEs tienen en este caso demandando maacutes alternativas para soportar susparticulares aprendizajes colaborativos Por ello ha emergido con fuerza la integracioacuten de her-ramientas externas en los VLEs sobre todo para el uso de SaaS y aplicaciones Web 20

Debemos tener en cuenta que

La integracioacuten de las herramientas actuales en los entornos VLEs actuales suele ser laopcioacuten maacutes aceptada aunque existen otras alternativas

Las SaaS y las aplicaciones Web 20 han sido ampliamente adoptadas como herramientas de

1httpc4lptcouktop100tools2httpcooltoolsforschoolswikispacescom

Figura 22 Top 100 Tools - Abril 2013

aprendizaje pero existen otras herramientas con su particularidades teacutecnicas que puedenser interesantes y tenida en cuenta como actividades de aprendizaje en los VLEs

Estas herramientas usadas durante el ciclo de vida de aprendizaje colaborativo deben poderser analizadas para estudiar sus resultados

El ciclo de vida del aprendizaje colaborativo consta de cuatro fases disentildeo despliegue pues-ta en marcha y evaluacioacuten Las herramientas de software suelen utilizarse principalmenteen dos de ellas en el despliegue donde las herramientas son seleccionadas dependiendo delos objetivos del aprendizaje la conguracioacuten social y las estructuras de las actividades arealizar y en la fase de puesta en marcha pues son utilizadas por los estudiantes para re-alizar sus actividades y de esta manera alcanzar los objetivos del aprendizaje En la fase deevaluacioacuten estas realmente no son importantes pues no nos interesa tanto la herramientacon la que se haya realizado sino el contenido de esos resultados La fase de disentildeo es dondese consideran las tareas a realizar para llevar a cabo el aprendizaje y no herramientas autilizar para ello Aunque estas cuatro fase puede ser ampliadas o reducidas es ampliamenteaceptado En la gura podemos ver graacutecamente este ciclo

Figura 23 Ciclo de vida del aprendizaje colaborativo

222 Problemas en la integracioacuten

El problema general de la integracioacuten de muacuteltiples herramientas externas en diversos VLEspodemos observarlo en la gura 24 donde podemos ver en un lado diferentes VLEs consus correspondientes APIs arquitectura y caracteriacutesticas mientras en el otro lado diferentestecnologiacuteas interfaces y desarrollos para una gran variedad de propoacutesitos Cada uno deellos puede imponer sus restricciones para la integracioacuten Estos requerimientos es lo queha sido denominado por ejemplo en LAMS como ccedilontrato de integracioacuten el cual intentadeterminar las tecnologiacuteas interfaces y modelos de datos que deben ser empleados para lacomunicacioacuten entre un sistema y el programa que intente integrarlo

Cada herramienta puede tener una o maacutes opciones de integracioacuten Algunas son especiacute-cas para una cierta herramienta (Ej comunicacioacuten basado en Rest para Delicious y paraSlidshare de manera diferente) y otras comuacuten para varias herramientas (Ej Google DataProtocol) Lo mismo ocurre en el lado de los VLEs por lo que se abre un amplio abanicode tecnologiacuteas interfaces y modelos de datos que hacen que la tarea de integracioacuten seaalgo realmente complejo En la gura 25 podemos ver un resumen de los problemas deintegracioacuten seguacuten las herramientas seleccionadas

223 Enfoques de la integracioacuten

Podemos denir dos enfoques principales a la hora de enfocar la integracioacuten de las her-ramientas de software y los VLEs siendo estos

bull Estandarizar los contratos de integracioacutenLa denicioacuten de unos estaacutendares de integracioacuten podriacutea resolver los problemas de in-tegracioacuten pero no existen hoy en diacutea los mismos o no son aceptados por la mayoriacutea

Figura 24 Problemas de integracioacuten

seguramente por intereses tecnoloacutegicos y comerciales IMS Global Learning Consor-tium siguen intentando realizar la aprobacioacuten de dicho estaacutendar siendo uno de elloIMS-LTI Integracioacuten de aplicaciones y servicios remotos y aunque la adopcioacuten de losmismo por las nuevas versiones de Moodle y Blackboard podriacutea hacer que se apos-tara por esta opcioacuten la falta de herramientas que lo utilicen (Ej Google no lo utiliza)puede hacer que no llegue a buen puerto

bull Crear una arquitecturaEste enfoque trata de adaptar los contratos de integracioacuten de los VLEs y las her-ramientas sin tener que modicar sus implementacioacuten Este mismo enfoque presentados opciones como podemos ver en la gura 26 y que pasamos a detallar

1 Un adaptador por en el lado de VLE y otro en el lado de las herramientas o inclusoun solo paquete que pueda congure toda la conexioacuten En este caso estariacuteamoshablando por ejemplo de los moacutedulo adicionales de Moodle

2 Una capa intermedia y adaptadores Este tipo de arquitectura permite la in-tegracioacuten entre muacuteltiples herramientas externas y muacuteltiple entorno virtuales deaprendizaje a traveacutes de un middleware comuacuten Dicho middleware estariacutea com-puesto de diferentes programas que pueden ser ejecutados en dominios diferentesEsta arquitectura reduce el esfuerzo para la integracioacuten de cada herramienta encada VLE ya que el coacutedigo estaacute parcialmente implementado por los elementos deintegracioacuten comunes Sin embargo el grado de integracioacuten y funcionalidad que sepuede lograr con estas arquitecturas es menor que con la primera opcioacuten

23 Servicios Web

Aunque han sido englobados dentro de integracioacuten de herramientas vamos a detallar queson y que aportan a Moodle

Figura 25 Problemas de integracioacuten

Los Servicios Web (Web Services) son la parte esencial de la interoperabilidad de Moodlecon otras aplicaciones Web 20 consisten en una pieza de software que utiliza un conjuntode protocolos y estaacutendares abiertos para intercambiar datos entre aplicaciones La idea prin-cipal es que distintas aplicaciones de software desarrolladas en lenguajes de programacioacutendiferentes y ejecutadas sobre cualquier plataforma puedan utilizar los servicios Web paraintercambiar datos en la red de ordenadores como Internet El producto resultante es unconjunto de moacutedulos con funcionalidad especiacuteca y completa que se acoplan entre siacute A suvez estos moacutedulos se conectan a una plataforma de e-learning mediante la utilizacioacuten deservicios de base descritos en una capa estaacutendar que funciona como gateway

Para ampliar un poco mejor el concepto de servicios Web citaremos una exposicioacuten delDoctor Marcos Escobar Un Web Service es un componente de software que se comunicacon otras aplicaciones codicando los mensaje en XML y enviando estos mensaje a traveacutesde protocolos estaacutendares de Internet tales como el HTTP Intuitivamente un Web Servicees similar a un sitio Web que no cuenta con un interfaz de usuario y que da servicio a lasaplicaciones en vez de a las personas Un Web Service en vez de obtener solicitudes desdeel navegador y retornar paacuteginas Web como respuesta lo que hace es recibir solicitudes atraveacutes de un mensaje formateado en XML desde una aplicacioacuten realiza una tarea y de-vuelve un mensaje de respuesta tambieacuten formateado en XML

Figura 26 Enfoques de arquitectura de integracioacuten

231 Orquestacioacuten y Coreografiacutea de Servicios Web

Seguacuten Careaga Mercadillo Ana Lilia [car ] la Orquestacioacuten (Web Service Orchestration)y Coreografiacutea (Web Service Choreography) se suelen ver como dos aproximaciones parala Composicioacuten de Servicios Web que se acercan estrechamente a los conceptos musicalespor lo cual se han importado directamente sus signicados A continuacioacuten detallaremosque son y sus posibles aplicaciones

La tarea de componer servicios Web baacutesicos o simples para brindar servicios Web maacutes com-plejos se conoce teacutecnicamente como Composicioacuten de Servicios Web Existen dos grandesaproximaciones para esta tarea la coreografiacutea con foco en la interaccioacuten entre servicios(equivalente a los bailarines) y la orquestacioacuten (equivalente a los instrumentos de la orques-ta) con foco en la implementacioacuten y ejecucioacuten de servicios La primera puede consid-erarse como una descripcioacuten formal del pasaje de mensajes obviando detalles internosde implementacioacuten Se ajusta maacutes en situaciones donde es provechoso contar con la no-cioacuten de estados y tambieacuten donde estaacuten involucradas transacciones de larga duracioacuten- Elorquestadordetermina la naturaleza y la secuencia de la interaccioacuten En cambio la segun-da aproximacioacuten describe la loacutegica y el estado de cada una de las partes involucradas Laorquestacioacuten tiene una visioacuten mas local y centralizada mientras que la coreografiacutea denela composicioacuten desde una perspectiva global sin control centralizado tal y como sucede enla danza

Existen numerosas deniciones de Servicios Web y esto demuestra en parte la gran com-plejidad de los servicios que se agrupan bajo este teacutermino y las implicaciones asociadas aellos Hasta ahora la denicioacuten maacutes general y convincente es decir que los Servicios Webson el conjunto de aplicaciones tecnoloacutegicas con capacidad para interoperar en la Web Es-tas tecnologiacuteas intercambian datos entre ellas con el n de ofrecer servicios de naturalezaremota

La World Wide Web no es soacutelo un espacio de informacioacuten tambieacuten es un espacio de inter-accioacuten Utilizando la Web como plataforma los usuarios de forma remota pueden solicitar

un servicio que alguacuten proveedor ofrezca en la red Pero para que esta interaccioacuten funcionedeben existir unos mecanismos de comunicacioacuten estaacutendares entre diferentes aplicacionesEstos mecanismos deben poder interactuar entre siacute para presentar la informacioacuten de formadinaacutemica al usuario Se precisa pues una arquitectura de referencia estaacutendar que hagaposible la interoperabilidad y extensibilidad entre las distintas aplicaciones y que permitasu combinacioacuten para realizar operaciones complejas Esta arquitectura es conocida con elnombre de SOA (Service Oriented Architecture)

Con el n de estandarizar los diferentes aspectos relacionados con los servicios Web elW3C (World Wide Web Consortium) recoge todo lo referente a ellos en (Web ServicesActivity) Asiacute pues Web Services (WS) ofrece un signicado estaacutendar para interoperarentre diferentes aplicaciones de software corriendo en diferentes plataformas yo marcosde trabajo El W3C pretende disentildear la arquitectura denirla y crear el nuacutecleo de tec-nologiacuteas que hagan posible los Servicios Web Los servicios Web se basan en un lenguajede caracteriacutesticas especiales llamado XML (Extensible Markup Language) que permite quelas aplicaciones compartan informacioacuten y que ademaacutes invoquen funciones de otras apli-caciones independientemente de coacutemo se hayan creado dichas aplicaciones y del sistemaoperativo o plataforma en que se ejecuten Por ejemplo Google utiliza un Servicio Webllamado Google Web APIs que permite que el usuario programe en diversos lenguajes ase-gurando la recuperacioacuten de informacioacuten independientemente de la plataforma que se utilice

Los Servicios Web se idearon en un principio para realizar interacciones simples e indepen-dientes pero ahora es necesario que los servicios colaboren y se coordinen A la coordinacioacutennecesaria para implementar un servicio Web se le llama Composicioacuten que puede realizarsede dos manerasorquestacioacuten y coreografiacutea La principal diferencia entre orquestacioacuten ycoreografiacutea es el alcance La orquestacioacuten trata de la descripcioacuten y ejecucioacuten de un mismoy uacutenico punto de vista global del modelo (instrumentacioacuten) La coreografiacutea trata de la de-scripcioacuten y guiacutea de un modelo global proyectado en base a cada participante (bailarines)La orquestacioacuten y coreografiacutea son teacuterminos que describen dos aspectos de los estaacutendaresemergentes para la creacioacuten de procesos de negocios de muacuteltiples servicios WebLos dosteacuterminos se superponen pero es claro que la orquestacioacuten se reere a un proceso de nego-cio ejecutable que puede interactuar tanto con servicios Web internos como externos Laorquestacioacuten representa siempre el control desde la perspectiva de una de las partes Estolo distingue de la coreografiacutea que es de mayor colaboracioacuten y permite a cada parte impli-cada describir su papel en la interaccioacuten La orquestacioacuten y coreografiacutea tratan de describiraspectos relacionados con la creacioacuten de procesos de negocio que involucran varios tipos deSoftware

Visto graacutecamente podemos ver en la gura 27 la orquestacioacuten permite disentildear proce-sos de negocio ejecutables que pueden interactuar (a nivel de mensaje) tanto con softwareinterno como externo Por otra parte la coreografiacutea es mucho maacutes colaborativa ya quepermite trazar las secuencias de mensajes que se suceden entre todas las partes partici-pantes del proceso de negocio en lugar de centrarse en los mensajes que se intercambianentre los diversos programas de software que implementan los procesos de negocio

Figura 27 Orquestacioacuten y Coreografiacutea de Servicios Web

232 Estaacutendares de Orquestacioacuten de Servicios Web

WS BPEL( Web Service Business Process Execution Language)Es un lenguaje de orquestacioacuten estandarizado porOASIS (Organisation for Advance Struc-tured Information Business Transaction Protocol) para la composicioacuten de servicios Web quepermite a los desarrolladores crear programas que automatizan las interacciones entre losservicios Web jugando un papel clave en las arquitecturas orientadas a los servicios SOAPara comprender su funcionamiento imaginemos un proceso de negocio determinado quetiene una entrada A y una salida B Dicho proceso como la mayoriacutea de ellos posee a suvez de muchos procesos internos que se van activando de acuerdo a ciertos paraacutemetros yvalores BPEL seriacutea el encargado de orquestar y por lo tanto dirigir la ejecucioacuten de unamanera ordenada La ventaja de que BPEL sea un estaacutendar radica en que puede ser imple-mentado en una gran variedad de motores de ejecucioacuten de diferentes proveedores BPELen si es un formato XML que proviene de la convergencia entre el WSFL (Web ServiceFlow Language) de IBM y XLANG de Microsoft La herramienta BPEL estaacute basada en unmodelo llamado Workow que especica las oacuterdenes de ejecucioacuten Existen actividadesbaacutesicas como iumlnvoke y receive y otras estructuradas como sequence Tambieacuten formanparte del modelo variables y participantes (partners) En las variables se deposita la nocioacutende datos y los participantes representan los elementos que interactuacutean en la composicioacutenEl modelo se completa como un motor que orquestaraacute las invocaciones

BPML (Business Process Modeling Language)Es un metalenguaje basado en XML para la descripcioacuten de procesos de negocio Inicial-mente BMPL se disentildeoacute para soportar los procesos que un sistema de gestioacuten de procesosde negocio pudiera ejecutar BPML dispone de estructuras similares a BPEL como puedenser actividades baacutesicas para el enviacuteo y la recepcioacuten de mensajes y para la invocacioacuten deservicios Adicionalmente BPML permite planicar las tareas para que se ejecuten eninstantes especiacutecos ofreciendo algunas opciones de control temporal Este lenguaje in-cluye caracteriacutesticas para dar soporte a la persistencia ya que fue disentildeado para la gestioacutende procesos de larga duracioacuten BPML ofrece soporte tambieacuten para realizar composicionesrecursivas a n de poder construir procesos de negocio que a su vez consten de otros sub-procesos Asimismo soporta transacciones de larga o corta ejecucioacuten gracias a que usa unateacutecnica similar a BPEL para controlar el alcance de las actividades y gestionar de esta

forma las reglas de compensacioacuten en caso de que las operaciones que deben realizarse deforma automaacutetica se vean interrumpidas

233 Estaacutendares de Coreografiacutea de los Servicios Web

WS-CDL (Web Services Choreography Description Language)Es un lenguaje basado en XML que describe la colaboracioacuten entre pares peer to peemediante la denicioacuten - desde un punto de vista global de los comportamientos comunes yobservables de cada participante de un proceso de negocio Eacuteste es un lenguaje utilizadopara la denicioacuten de servicios dentro de la plataforma SOA y cuyo objetivo es la descrip-cioacuten del comportamiento de cada uno de los servicios establecidos para lograr un objetivocomuacuten Sin embargo antes de WS-CDL ya existiacutea un lenguaje que permitiacutea la descripcioacutende las funcionalidades de un Servicio Web WSDL (Web Services Denition Language)el cual puede describir el conjunto de funciones ofrecidas con los posibles fallos que po-driacutean ocurrir y a pesar de que WS-CDL podriacutea expresar las coreografiacuteas de un servicioen un ambiente SOA W3C (World Wide Web Consortium) abandonoacute su desarrollo en 2009

WSCI (Web Service Choreography Interface)La especicacioacuten de WSCI fue desarrollada por diversas compantildeiacuteas como Sun SAP BEAe Intalio y representa una extensioacuten para WSDL para la colaboracioacuten La especicacioacuten de-ne la coreografiacutea global o el intercambio de mensajes entre los diferentes tipos de softwarey soporta su correlacioacuten reglas de secuenciacioacuten manejo de excepciones transacciones ycolaboracioacuten dinaacutemica WSCI soacutelo describe el comportamiento observable entre el softwareque se emplea Una coreografiacutea WSCI constaraacute de un conjunto de interfases WSCI unapor cada uno de los servicios que participen en la interaccioacuten

24 Moodle

El software de coacutedigo abierto (Open-Source Software-OSS) esta siendo ampliamente de-sarrollado ofreciendo nuevas alternativas y posibilidades hasta hace poco inimaginablesMoodle es un claro ejemplo siendo uno de los programas maacutes ampliamente adoptados porcolegios institucioacuten universidades etc Como podemos ver en la gura 28 el nuacutemero deusuarios registrados y los idiomas en los que se encuentra disponible dan muestra de sugran difusioacuten Algunas de las razones mas importante para su eleccioacuten son

Figura 28 Moodle - Abril 2013

bull Moodle es OSS lo cual signica que los usuarios pueden descargarlo libremente usarlomodicarlos e incluso redistribuirlo seguacuten los teacuterminos GNU 3

bull La losofiacutea planteada por Moodle incluye una aproximacioacuten constructiva basada enel constructivismo social de la educacioacuten enfatizando que los estudiantes (y no soacutelolos profesores) pueden contribuir a la experiencia educativa en muchas formas

bull Compatibilidad con maacutes de 70 idiomas diferentes

bull Una excelente documentacioacuten soporte para seguridad y administracioacuten

bull No requiere modicaciones en el sistema operativo pudiendo ser ejecutado en un en-torno Linux Windows Mac OS o cualquier otro siempre que soporten PHP

bull La informacioacuten esta soportada por una simple base de datos

Ademaacutes su sencilla aplicacioacuten en entorno web que utiliza tecnologiacuteas ya ampliamenteprobadas sus mecanismos de extensioacuten maacutes faacuteciles en comparacioacuten con otros VLEs y laexistencia de una gran cantidad de documentacioacuten de desarrollo han impulsado la creacioacutende una gran comunidad de personas que contribuyen a la mejora de Moodle Esta comu-nidad estaacute en constante desarrollo de nuevas caracteriacutesticas y aplicaciones a traveacutes decientos de plugins que pueden ser descargados desde su la web de Moodle y asesoran tantoa otros desarrolladores como usuarios nales

La primera versioacuten de Moodle (10) fuel lanzada en 2002 como parte de la investigacioacuten deMartin Dougiamas del uso del software de coacutedigo abierto para la ensentildeanza y el aprendizajecon las comunidades basadas en Internet[Dougiamas and Taylor 2000] Actualmente seencuentra disponible la versioacuten 243+ como estable y la beta de la versioacuten 25

En cuanto a la parte teacutecnica Moodle estaacute desarrollado en lenguaje PHP como la mayoriacuteade los VLEs utiliza una arquitectura cliente-servidor comuacuten de tres capas CORREGIRLa capa de presentacioacuten dene como la informacioacuten se presenta a los usuarios nales quetienen acceso a esa informacioacuten a traveacutes de sus navegadores web La Capa de loacutegica de ne-gocios se encarga de las relaciones con Moodle el acceso a la capa de datos por lo generala traveacutes de MySQL para almacenar y recuperar la informacioacuten cuando sea necesario

Moodle se distribuye en un solo paquete multiplataforma que incluye PHP MySQL yApache HTTP Server para facilitar los procesos de instalacioacuten y conguracioacuten La dis-tribucioacuten actual de Moodle cumple con varios estaacutendares educativos Por ejemplo Moodlepuede manejar ADL SCORM paquetes que contienen recursos aislados o cursos completosEn cuanto a los estaacutendares IMS Moodle soporta IMS Content Packaging (IMS CP) IMSCommon Cartridge (IMS CC)IMS pregunta y Test Interoperability (IMS QTI) y estaacuteconsiderado como uno de los VLEs compatible con Basic LTI

241 otras plataformas

No podemos dejar de lado otros escenarios educativos que han ido apareciendo en los uacutelti-mos antildeos a pesar del gran eacutexito de los VLEs Algunos ejemplos de estas plataforma son

3httpsmoodleorg

bull Wikis (Ej MediaWiki) Son sistemas software que permiten la creacioacuten y gestioacutende contenidos estructurados mediante paacuteginas web relacionadas entre siacute El contenidosuele estar editado por varios usuarios que trabajan de manera colaborativa pudiendoincluir enlaces a recursos externos

bull Sitios de redes sociales (Ej Facebook) Son sistema en liacutenea donde los usuariospueden crearse sus propios perles y crear una red personal que les mantendraacute conec-tado con otros usuarios Estos sistemas han proliferado en los uacuteltimos antildeos llegando amillones de usuarios No suelen necesitar un administrador pues se utilizan medianteentorno web y son alojados por el propio proveedor Su gran adopcioacuten y el enfoquea las interacciones sociales es lo que ha llevado a muchos profesor a utilizarlo comoherramienta de aprendizaje Estos sitios permiten la creacioacuten y mantenimiento degrupo mediante el perl de usuario pero no estaacuten disentildeados para seguir un enfoquepedagoacutegico

bull Personal Learning Environment - PLE (Ej Southampton) Son denidos comosistemas de software que permiten al estudiante a tomar el control y la gestioacuten de suspropio aprendizaje Se caracterizan por la por la participacioacuten directa de los alumnosen el acceso agregacioacuten conguracioacuten y manipulacioacuten de herramientas y recursos adiferencia de los VLEs done es el educador el que selecciona y gestiona los recursosque el alumno debe utilizar

Muchas de estas herramientas son de coacutedigo libre y abierto Su funcionalidad respecto ala gestioacuten de actividades grupos funciones y herramientas es limitado siendo en algunoscasos inexistente Ninguna de estas plataformas se puede considerar un VLE ya que nosson sistemas centrados en el educador sin embargo pueden apoyar la integracioacuten de apli-caciones externas en entornos de aprendizaje colaborativo

Capiacutetulo 3

Organizacioacuten y Sistema Inicial

A continuacioacuten pasamos a detallar las distintas actividades de la que consta el proyecto quehemos llevado a cabo durante estos meses

31 Lanzamiento del proyecto

Esta actividad consisten en la eleccioacuten de una de las diferentes posibles aacutereas de desarrollo deproyectos que ofrece la UOC siendo la elegida Aplicaciones Web para trabajo colaborativo

32 Denicioacuten del proyecto

El proyecto queda denido en el presente documento siendo el tiacutetulo del mismo Orchestationand Coreography of Web Services on Moodle - Revisioacuten Sistemaacutetica de la literatura

[Duracioacuten] 27-02-2013 al 03-03-2013

33 Anaacutelisis de requisitos

Nos centraremos en la fase de planicacioacuten que incluye los objetivos de la investigacioacuten y la formaen que se llevaraacute a cabo la revisioacuten

[Duracioacuten] 04-03-2013 al 03-06-2013

331 Cuestiones Realizadas

El primer paso en la fase de planicacioacuten seraacute denir los objetivos principales de esta revisioacutensistemaacutetica de la literatura Estos objetivos son analizar el estado del arte de la coreografiacutea yorquestacioacuten de los servicios web en Moodle como LMS

332 Fuentes de datos y buacutesqueda

Utilizaremos diferentes libreriacuteas o espacios digitales para realizar las buacutesquedas las mismas serealizaraacuten en ingleacutes y espantildeol Las libreriacuteas principales utilizadas son

IEEEXplore [IEEEX] httpieeexploreieeeorg

21

Science Direct [SD] httpwwwsciencedirectcom

SpringerLink [SL] httpwwwspringerlinkcom

Paralelamente a Science Direct se han realizado buacutesquedas en Scopus1 de Elsevier y GoogleScholar2 de Google

333 Criterios de inclusioacuten y exclusioacuten

Las buacutesquedas que se realicen intentaraacuten abarcar todo el aacutembito de cuestiones del SLR pero esposible (y de hecho ocurre) el resultado contenga referencias publicaciones estudios o en generalinformacioacuten que no sirve Para ello seraacute necesario denir criterios de inclusioacuten y exclusioacuten loscual haremos basaacutendonos en la guiacutea [Kitchenham 2007]

334 Asegurar la calidad

Despueacutes de obtener un numero considerable de trabajos o estudios que satisfacen los criteriosde inclusioacuten y exclusioacuten se deberaacute ser capaz de asegurar o armar cuales son los que cumplencon una miacutenima calidad y si son vaacutelidos o no para el estudio en si Es baacutesico poder analizar queacuteestudios son mejores que otros en teacuterminos de calidadSiguiente [Kitchenham 2007] se deniraacuten preguntas y cuestiones que permitan asegurar dichacalidad

335 Extraccioacuten de datos y anaacutelisis

Los criterios de inclusioacuten y exclusioacuten junto con las preguntas orientadas a asegurar la calidadnos serviraacuten para obtener todos los artiacuteculos y estudios que se analizan en este estudioDe cada artiacuteculo se recogeraacute titulo y autores abstract publicacioacuten y antildeo de publicacioacuten

336 Fase de revisioacuten

Esta fase de planicacioacuten seraacute denir el proceso de conducir o dirigir la revisioacuten Para elloutilizaremos tres fases como podemos ver en la gura 31 de la paacutegina 23

337 Fase de Pruebas

Se realizan pruebas con la informacioacuten obtenido montado maacutequinas virtuales para realizar lasmismas En estas se han probado las diferentes opciones de comunicacioacuten que nos ofrece Moodle

1httpwwwscopuscom2httpscholargooglecom

Figura 31 Proceso para dirigir la revisioacuten

34 Calendario de Trabajo

Podemos ver en el siguiente diagrama de Gantt32 la distribucioacuten de trabajos en el tiempo elmismo seraacute modicado para ajustarlo a las variaciones producidas durante el desarrollo de lastareas que contempla

35 Hitos principales

Los principales hitos seraacuten

Lanzamiento del proyecto Se dene correctamente en que va consistir el proyecto

Denicioacuten de cuestiones para la buacutesqueda Donde se detallaraacuten las cuestiones quemarcaran el desarrollo del resto del proyecto

Comprobacioacuten de resultados Se deberaacuten criba los mismo para no obtener duplicadoso informacioacuten ajena a la investigacioacuten

Revisioacuten de informacioacuten obtenida Una vez obtenida la informacioacuten y analizada deberaacuteser revisada para su presentacioacuten

Figura 32 Diagrama de Gantt

36 Instalacioacuten base

Para llevar a cabo las pruebas se ha optado por la creacioacuten de una maacutequina virtual sobre VirtualBox 3 en la cual hemos instalado Windows XP como sistema operativo Este sistema es maacutesligero a la hora de trabajar en maacutequinas virtuales pues requiere menos recursos que las versionesposteriores del mismos sistema

El siguiente paso era la instalacioacuten de Moodle Aunque se dispone de un instalador para Win-dows se ha optado por la descarga e instalacioacuten de XAMPP 4 y su y su posterior conguracioacutenen la maacutequina virtual XAMPP es un servidor independiente de plataforma software libre queconsiste principalmente en la base de datos MySQL el servidor web Apache y los inteacuterpretespara lenguajes de script PHP y Perl El nombre proviene del acroacutenimo de X (para cualquierade los diferentes sistemas operativos) Apache MySQL PHP Perl

XAMPP en su versioacuten 181 incluye

Apache 243

MySQL 5527

PHP 547

phpMyAdmin 3522

FileZilla FTP Server 0941

Tomcat 7030

Strawberry Perl 51611 Portable

XAMPP Control Panel 310

Hemos continuado con la descarga he instalacioacuten de Moodle y hemos querido probar las difer-encias que obtenemos entre las versiones 19x y 25 por lo que se han descargado ambas heinstalado en maacutequinas virtuales diferentes Con ello conseguiremos probar el resultado obtenidoseguacuten la versioacuten Moodle desde su versioacuten 22 ya soporta conexiones mediante IMS - LTI IMSLTI es un estaacutendar IMS Learning Tool Interoperability Esto signica que las herramientas deaprendizaje tienen ahora diversas maneras de conectarse entre sin problemas

En la praacutectica cuando un usuario se registra en una herramienta como Moodle se pueden conectara la otra herramienta como MediaWiki y autenticarse automaacuteticamente proporcionando unaexperiencia perfectaLas guras 33 y 34 nos muestran el panel de control de XAMPP una vez instalado y el panede phpMyAdmin donde hemos debido congurar las bases de datos y usuario necesarios parallevar todo el proceso de conguracioacuten de Moodle y el resto de herramientas

3httpswwwvirtualboxorg4httpwwwapachefriendsorgesxampphtml

Figura 33 Panel de control de XAMPP

Figura 34 Gestor de bases de datos phpMyAdmin

Capiacutetulo 4

Servicios Web de Moodle

41 Introduccioacuten

Moodle 2X incorpora la posibilidad de implementar Servicios Web para manejar sus funciona-lidades lo que nos permite poder acceder a acciones de actualizar y crear tareas para reejar elresultado de las actividades realizadas Moodle soporta varios protocolos (REST SOAP XML-RPC y AMF)

42 Servicios Web de Moodle

Los Servicios Web de Moodle se caracterizan por permitir el acceso desde cualquier aplicacioacutenimplementando para ello tres capas como podemos observar en la gura 41

Capa nuacutecleoLa capa del nuacutecleo estaacute compuesta de todas las funciones principales de Moodle sobreusuarios grupos cursos calendario etc Moodle no dispone de una API al uso sino queofrece diferentes funciones que han sido desarrolladas durante antildeos Por tanto las necesi-dades de los Servicios Web estaacuten obligando a rehacer estas funciones del nuacutecleo para quecomiencen a formar una API (Moodle 2X)

Capa externaLa capa externa estaacute compuesta por nuevos cheros llamados externalphp colocados porlas carpetas de Moodle y conteniendo manejadores para la capa inferior Estos manejadoresson los responsables de comprobar las capacidades paraacutemetros y llamadas correctas a lasfunciones de nuacutecleo

Capa de conectoresLa capa de conectores estaacute compuesta de diferentes conectores para las diferentes imple-mentaciones de los Servicios Web y contiene un conector REST un conector SOAP unconector XML-RPC y un conector AMF Esta capa admite plugins para ampliar los conec-tores disponibles de manera que se puedan integrar otros sistemas en Moodle utilizandootros protocolos

Los pasos para utilizar un Servicio Web con Moodle seriacutean los siguientes

1 El cliente enviacutea el nombre de usuario y contrasentildea al servidor que provee los ServiciosWeb

27

Figura 41 Capas en Moodle

2 El servidor de protocolo devuelve un token de sesioacuten para esa cuenta de usuario

3 El cliente llama a un Servicio Web especiacuteco incluyendo el token de sesioacuten

4 El servidor utiliza el token para comprobar que la sesioacuten del Servicio Web estaacute activa

5 El servidor llama a la funcioacuten correspondiente localizada en el chero externallibphp dentrodel moacutedulo especiacuteco

6 La funcioacuten externa comprueba que el usuario actual tenga los permisos sucientes pararealizar esta operacioacuten

7 La funcioacuten externa llama a la funcioacuten correspondiente del nuacutecleo de Moodle (libphp)

8 La funcioacuten del nuacutecleo puede retornar un resultado a la funcioacuten externa

9 La funcioacuten externa devolveraacute el resultado al servidor de protocolo

10 El servidor de protocolo devolveraacute el resultado al cliente

43 REST

REST (Representational State Transfer) es el acroacutenimo de Transferencia de Estado Representa-cional teacutermino usado por Roy Fielding (uno de los creadores de HTTP) para describir un estilode arquitectura que utilizar como modelo en los sistemas de computacioacuten Web No es un es-taacutendar sino un enfoque que muestra como desarrollar y proporcionar servicios en Internet portanto considerado como un estilo arquitectoacutenico para disentildeo de software a gran escala El propioautor lo dene de manera concisa en eacuteste paacuterrafo

REST es un intento de mostrar coacutemo debe comportarse una aplicacioacuten Web bien disentildeada unared de paacuteginas Web (una maacutequina de estados virtual) donde el usuario progresaraacute seleccionan-do enlaces (transiciones de estado) que devuelven la paacutegina siguiente (el siguiente estado de lamaacutequina) que el usuario manejaraacute a su gusto

Este enfoque no aporta realmente nada nuevo la mayor parte de la Web sigue este estilo arqui-tectoacutenico Sin embargo el autor hace eacutenfasis en las caracteriacutesticas concretas que han hecho quela Web triunfe que van a ser los objetivos buscados por REST y que son a su juicio

Escalabilidad en las interacciones entre componentes La red ha ido creciendo de maneraexponencial y se ha ido comportado de manera satisfactoria

Generalidad en las interfaces Se proporciona acceso con distintos clientes y con distintosmecanismos de acceso

Desarrollo independiente de componentes Implementaciones cliente y servidor pueden serdesarrolladas en distintos momentos

Existencia de componentes intermediarios con los cuales existe compatibilidad (comoproxys)que permiten encapsulacioacuten e integracioacuten de sistemas no Web dentro de la misma

431 Principios de disentildeo

Los objetivos citados van a ser conseguidos imponiendo una serie de restricciones

El estado y la funcionalidad de las aplicaciones se representan por forma de recursos

La identicacioacuten de recursos se realiza de forma uacutenica global mediante Uniform ResourceIdentiers Los recursos identicados con URIs son los objetos loacutegicos a los cuales se lesmandan los mensajes

Manipulacioacuten de recursos a traveacutes de representaciones luego no se manejan directamentelos recursos sino sus representaciones

Todos los recursos comparten un interfaz uniforme formado por

bull Un conjunto de operaciones limitado para transferir el estado Se van a aprovecharlas operaciones que HTTP dene mostradas en la gura 42

bull Un conjunto limitado de tipos de contenidos identicados mediante tipos MIME

Uso de un protocolo clienteservidor sin estado y basado en capas Cada mensaje HTTPcontendraacute la informacioacuten necesaria para comprender la peticioacuten luego como muestra lagura 43 no es necesario que eacutesta sea entendida tanto en el cliente como en el servidor

Uso de hipermedios para representar el estado de una aplicacioacuten permitiendo que el estadode una aplicacioacuten Web particular esteacute almacenado en uno o maacutes documentos de hipertextoque residen bien en el servidor o en el cliente Esto permite al servidor saber el estado desus recursos sin necesidad de almacenar el estado de los clientes concretos

Figura 42 Operaciones denidas por HTTP

Como ya se mencionoacute REST se trata de un estilo arquitectoacutenico no un estaacutendar Sin embargohace uso de varios estaacutendares Web

HTTP HyperText Transfer Protocol

Figura 43 Operaciones denidas por HTTP

URL Uniform Resource Locator como el mecanismo de indenticacioacuten de recursos

XML - HTML - PNG - etc Como distintos formatos de representacioacuten de recursos

Tipos MIME como text-xml text-html image-png etc

44 SOAP

SOAP (siglas de Simple Object Access Protocol) es un protocolo estaacutendar que dene coacutemo dosobjetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML Esteprotocolo deriva de un protocolo creado por David Winer en 1998 llamado XML-RPC SOAPfue creado por Microsoft IBM y otros y estaacute actualmente bajo el auspicio de la W3C

441 Principios de disentildeo

La funcionalidad que aporta SOAP es la de proporcionar un mecanismo simple y ligero de in-tercambio de informacioacuten entre dos puntos usando el lenguaje XML SOAP no es maacutes que unmecanismo sencillo de expresar la informacioacuten mediante un modelo de empaquetado de datosmodular y una serie de mecanismos de codicacioacuten de datos Esto permite que SOAP sea uti-lizado en un amplio rango de servidores de aplicaciones que trabajen mediante el modelo decomunicacioacuten RPC (Remote Procedure Call)

SOAP consta de tres partes como podemos ver en la gura 44

El SOAP envelope que dene el marco de trabajo que determina queacute se puede introduciren un mensaje quieacuten deberiacutea hacerlo y si esa operacioacuten es opcional u obligatoria

Las reglas de codicacioacuten SOAP que denen el mecanismo de serializacioacuten que seraacute usadopara encapsular en los mensajes los distintos tipos de datos

La representacioacuten SOAP RPC que dene un modo de funcionamiento a la hora de realizarllamadas a procedimientos remotos y la obtencioacuten de sus resultados

A la hora de realizar el disentildeo de SOAP se han tenido en cuenta una serie de consideracionescon el n de cumplir una serie de objetivos claros objetivos que le daraacuten el potencial que resideen SOAP y que le haraacuten tan atractivo Eacutestos son

Establecer un protocolo estaacutendar de invocacioacuten a servicios remotos que esteacute basado enprotocolos estaacutendares de uso frecuente en Internet como son HTTP (Hiper Text TransportProtocol) para la transmisioacuten y XML (eXtensible Markup Language)para la codicacioacutende los datos

Figura 44 Partes de SOAP

Independencia de plataforma hardware lenguaje de programacioacuten e implementacioacuten delservicio Web

El logro de estos objetivos ha hecho de SOAP un protocolo extremadamente uacutetil ya que elprotocolo de comunicacioacuten HTTP es el empleado para la conexioacuten sobre Internetpor lo que segarantiza que cualquier cliente con un navegador estaacutendar pueda conectarse con un servidor re-moto Ademaacutes los datos en la transmisioacuten se empaquetan o serializan con el lenguaje XML quese ha convertido en algo imprescindible en el intercambio de datos ya que es capaz de salvar lasincompatibilidades que existiacutean en el resto de protocolos de representacioacuten de datos de la red

Por otra parte los servidores Web pueden procesar las peticiones de usuario empleando tec-nologiacuteas tales como Servlets paacuteginas ASP (Active Server Pages) paacuteginas JSP (Java ServerPages) o sencillamente un servidor de aplicaciones con invocacioacuten de objetos mediante CORBACOM o EJB

Un ejemplo tiacutepico de disentildeo de un servicio Web utilizando las ventajas de SOAP podemos veren la siguiente gura 45

Figura 45 Ejemplo de uso de SOAP

45 AMF

AMF (Action Message Format) es un protocolo binario de Adobe que va por la versioacuten AMF3Aunque por el nombre de la versioacuten pueda parecer que existan 3 cabe destacar que soacutelo existendos AMF0 y AMF3 Una de las mayores diferencias o mejoras que aporta AMF3 es que soporta

datos binarios (ByteArray) y int datos no soportados por AMF0 debido a que en la eacutepoca queaparecioacute el formato Flash Player no soportaba estos tipos de datos

AMF3 no es un protocolo para transferir informacioacuten sino que representa el formato en el quese transmite la informacioacuten en este caso un formato binario

La versioacuten de Moodle 25 viene con Zend_ AMF pero podemos utilizar tambieacuten la libreriacuteaamfPHP

AMFPHP

Zend_ amf httpframeworkzendcommanual112enzendamfhtml

Maacutes informacioacuten en httpdocsmoodleorgdevAMFPHP

46 Conguracioacuten de Moodle Web Services

Los Servicios Web habilitan que otros sistemas puedan entrar a Moodle y realizar operacionesPasaremos a detallar los pasos necesarios para su conguracioacuten y explicaremos distintos pruebasllevadas a cabo sobre su funcionamiento Para poder consumir de manera correcta unWeb Servicede Moodle seriacutea necesario antildeadir a la url que vamos a formar los paraacutemetros oportunos paralograr consumir el Web Service de manera satisfactoria Una vez antildeadidos ya podriacuteamos invocarla funcioacuten seleccionada

461 Activando los Servicios Web

Lo primero que debemos hacer es activar la opcioacuten general que habilita el uso de los serviciosweb En la gura 46 podemos observar la opcioacuten para la activacioacuten de este servicio para ello nosiremos a la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Servicios Externos

Figura 46 Activacioacuten Servicios Web

Esto solo es una opcioacuten a nivel global necesitando ahora activar los protocolos de comunciacionesque vamos a utilizar para ello deberemos ir a la opcioacuten textitAdministracioacuten del Sitio - Exten-siones - Servicios Web - Administrador de protoclos donde encontraremos las diferente opcionesque nos existen En la gura 47 podemos ver la pantalla de nuestra conguracioacuten con todos losprotocolos activados

Una vez activada la opcioacuten de Servicios Externos y seleccionados los protocolos que utilizaremosnecesitamos crear un Servicio Personalizado que no es maacutes que una etiqueta que aglutina los

Figura 47 Activacioacuten Protoclos

Servicios Web que ofrece Moodle y que pueden ser utilizados por los servicios externos Para ellodeberemos darle a la opcioacuten Agregar dentro de la opcioacuten Administracioacuten del Sitio - Extensiones- Servicios Web - Servicios Externos Como prueba habilitaremos un servicio llamado Uso_Servicio_ Web cuya creacioacuten podemos ver en la gura 48

Figura 48 Creacioacuten Servicio Personalizado

Una vez creado el Servicio Personalizado deberemos agregarle las funciones que queramos lesean permitidas pudiente tener maacutes de una En la gura 49 vemos como asociamos la creacioacutende usuarios al Servicio Personalizado

Terminado esto deberemos tener en el listado que nos muestra Moodle de Servicios personaliza-dos algo como lo mostrado en la gura 410

El siguiente paso es conceder los permisos apropiados para que este Servicio Personalizado puedeser usado por los usuarios pare ello debemos primero especicar quienes son los Usuarios au-torizados para ello en la linea de la lista de Servicios Personalizados deberemos pulsar sobre laopcioacuten usuarios autorizados donde apareceraacute una pantalla como 411 donde podremos escogerlos usuarios de los que se encuentran dados de alta en nuestro sistema

Y para terminar aunque este paso podriacutea ser realizado por el propio usuario si tuviera el per-miso de moodlewebservicecreatetoken seraacute la creacioacuten de un token el cual va ser la opcioacuten quevamos a utilizar para las pruebas de los Servicios Web de Moodle Para la creacioacuten del mismodeberemos entrar en la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Admin-istrar tokens y pulsar la opcioacuten Agregar para antildeadir un token nuevo como podemos apreciar en

Figura 49 Agregando funciones al Servicio Personalizado

Figura 410 Listado de Servicios Personalizados

la gura 412 teniendo la precaucioacuten de escoger como Servicio el Servicio Personalizado creadocon anterioridad Uso_ Servicio_ Web

En esta pantalla podemos poner varios tipos de restricciones

Restriccioacuten de IP Donde podemos indicar la direccioacuten IP desde donde

Restriccioacuten de Fecha Se puede denir hasta cuando seraacute valido este token siendo unabuena manera de poder probar cosas y no dejar puertas abiertas por error

En la gura 413 podemos ver el token asignado por el sistema para nuestro Servicio Personalizadoy que procederemos a utilizar para comprobar el funcionamiento de los Servicios Web de Moodle

462 Pruebas cliente Servicio Web

Procederemos ahora a desarrollar pruebas que utilicen los Servicios Personalizados creado Sepodriacutean haber utilizado el Cliente de prueba de servicio web que incorpora Moodle dentro dela opcioacuten Administracioacuten del Sitio - Desarrollo - Cliente de prueba servicio web pero hemosdecidido implementar una Web para comprobar la facilidad del funcionamiento del sistema y losdistintos resultados obtenidos seguacuten el protocolo utilizado

Utilizaremos la libreriacutea cURL de PHP cURL es una herramienta que permite abrir conexionesen una amplia variedad de protocolos y que estaacute disponible tanto como herramienta de consola(para ejecutar directamente con comandos) como en libreriacutea (para usar en vuestro coacutedigo) y quepermite hacer praacutecticamente todo manejo de cookies descarga de cheros binarios enviacuteos de

Figura 411 Alta de Usuarios Autorizados

Figura 412 Creacioacuten de Tokens

paraacutemetros GET y POST etc

La web creada para la introduccioacuten 414 de los usuarios seraacute equivalente para todos los procesosprocesos siendo el programa que da respuesta al formulario el que implemente la funcioacuten nece-saria para la introduccioacuten de los datos en Moodle

Los resultados de REST pueden mostrar los resultados del alta de dos maneras diferentes unaen formato XML como podemos ver en la gura 415 y otro en formatox JSON tambieacuten po-dremos ver en la gura Los resultados obtenidos tambieacuten pueden verse en el la gura 416

Figura 413 Lista de Tokens

Figura 414 Web de alta de usuarios

Figura 415 Resultado de REST en formato XML

Figura 416 Resultado de REST en formato JSON

Capiacutetulo 5

Herramientas Externas

51 Introduccioacuten

Las versiones de Moodle desde la 22 vienen con IMS LTI o External Tool de manera integradaEn versiones anteriores era necesario la instalacioacuten de plugins como LTI Provider (maacutes informa-cioacuten en la web de Moodle1 IMS LTI es un estandar de IMS learing2 para la interoperabilidadde herramientas Esto signica que las herramientas de aprendizaje tienen ahora un mecanismopara jar el modo en que pueden conectarse entre ellas sin problemas

En la praacutectica cuando un usuario se registra en Moodle puede conectarse a otras herramientascomo Wikis o Blogs y autenticarse de manera automaacutetica en estas

52 Estaacutendares IMS

Actualmente se realizan esfuerzos para la integracioacuten de servicios a una plataforma virtual deaprendizaje mediante un mecanismo reutilizable independiente del tipo de plataforma El IMSGlobal Learning Consortium viene desde hace tiempo trabajando en este enfoque IMS GLCpresenta un conjunto de estaacutendares que promueven el uso de servicios de aprendizaje digitales(Digital Learning Services) dentro de las plataformas de aprendizaje tradicionales IMS DigitalLearning Services estaacute integrado por los siguientes estaacutendares principales IMS Common Car-tridge [ims a] IMS Learning Tool Interoperability [ims c] y IMS Learning Information Services[ims b]

El IMS Learning Tool Interoperability es una especicacioacuten para facilitar la inclusioacuten de her-ramientas externas dentro de un curso El administrador de la plataforma de aprendizaje ges-tiona los servicios que podraacuten ser consumidos por la plataforma el docente decide que serviciosutilizaraacute en su curso y el estudiante hace uso de los mismos IMS LTI permite que distintos LMSconsuman un mismo servicio el cual no fue implementado teniendo en cuenta el tipo de LMSsino la implementacioacuten del estaacutendar desde el lado del proveedor

El enfoque del IMS LTI estaacute dirigido a la creciente demanda de un mecanismo reutilizable para laintegracioacuten de herramientas de terceros en el nuacutecleo de las plataformas LMS Estas herramientas

1httpsmoodleorgpluginsviewphpplugin=local_ltiprovider2httpwwwimsglobalorgtoolsinteroperability2cfm

37

pueden agregar funcionalidad especializada a los LMS El enfoque ofrece una solucioacuten basada enWeb Services igualmente aplicable a distintos lenguajes de programacioacuten

Las versiones del LTI son

LTI v10 ( LTI Basic ) ( publicado en mayo de 2010 ) proporciona un meacutetodo sencillopero estaacutendar para establecer una conexioacuten segura a una herramienta desde el interior deun consumidor de herramientas El lanzamiento de este enlace permite una experienciade aprendizaje sin problemas para los estudiantes que acceden a las aplicaciones ricas queparecen tener lugar dentro del ambiente de aprendizaje Versioacuten 10 es el primer paso en eldesarrollo continuo de LTI Figura 51

LTI v11 ( publicado en marzo 2012 ) antildeade la posibilidad de pasar de nuevo un resultadode la herramienta al Consumidor de herramientas Esto permite que los estudiantes recibenuna calicacioacuten o puntuacioacuten de su interaccioacuten con la aplicacioacuten de aprendizaje

LTI v111 ( publicado en julio de 2012 ) incluye soporte para el papel Mentor que se puedeutilizar para representar a un padre tutor o auditor

LTI v20 Aun en estado de desarrollo y proporciona una plataforma maacutes sosticado y ex-tensible para permitir integraciones maacutes profundas y un mayor apoyo para los serviciosy eventos LTI 2 se basa en LTI 1 mediante la incorporacioacuten de maacutes sosticada resulta-dos de informes y una rica arquitectura de extensiones que permite servicios adicionalesque se antildeadiraacuten gradualmente LTI 2 utiliza REST y JSON-LD para ofrecer esta nuevafuncionalidad

Figura 51 Esquema LTI Baacutesico

En la gura 52 podemos observar como se podriacutean utilizar las ventajas de LTI por parte decada unos de los actores a lo largo de la vida de la aplicacioacuten de servicios externos dentro de unaplataforma de aprendizaje

En la paacutegina web de IMS3 podemos encontrar una relacioacuten de aplicaciones certicadas comocompatibles con el estaacutendar LTI indicando la versioacuten del LTI que cumplen En la gura 53podemos ver las aplicaciones certicadas por UOC y en la gura 54 la informacioacuten sobre una deestas herramientas

3httpwwwimsglobalorgccalltoolscfm

Figura 52 Esquema utilizacioacuten LTI

Figura 53 Listado de herramientas LTI de la UOC

53 Herramientas externas en Moodle

La siguiente seccioacuten consiste en la aplicacioacuten de alguno de esto servicios externos en Moodlepara comprobar su funcionamiento Nos decantaremos para la primera prueba por WordPresspues aunque existen manuales al respecto la documentacioacuten en castellano es escasa

531 Wordpress

La versioacuten estaacutendar de Wordpress a la cual accedemos cuando nos abrimos cuenta en Wordpressno viene con las herramientas necesarias para la iteracioacuten mediante LTI por lo que procedere-mos a la instalacioacuten en nuestro servidor de Wordpress para pasar a la instalacioacuten de los pluginsnecesarios

La instalacioacuten ha consistido en la descarga de la web ocial 4 de la versioacuten 351 la cual hemoscopiado dentro del directorio htdocs de nuestra instalacioacuten de Xampp Hemos dado de alta unnuevo usuario en nuestra base de datos llamado username como podemos ver en la imagen 55 yposteriormente hemos seguido los pasos que el instalador nos iba ofreciendo para tener instalado

4httpwordpressorgdownload

Figura 54 Informacioacuten sobre la certicacioacuten

Wordpress bajo la url httplocalhostwordpress

Figura 55 Usuario de Wordpress

Deberemos congurar Wordpress para que trabaje como multisitio para lo que deberemos seguirlos pasos de conguracioacuten que podemos encontrar en la web ocial de Wordpress5 bajo el nombreCreate A Network consistente en los siguientes pasos

1 Realizar una copia de seguridad por si acaso

2 Modicar el chero wp-congphp incluyendo la siguiente linea encima de Thats allstop editing Happy blogging Multisite dene (WP_ ALLOW_ MULTISITE true)

Multisite dene (WP_ ALLOW_ MULTISITE true)

3 Installar un Network Para ello hemos de entra en la opcioacuten Administration -gtTools -gtNetwork Setup donde podremos congurar opciones sobre el nombre que queremos declararpara el nuevo sitio

4 Activar el Network para ello debemos modicar los cheros wp-congphp y htaccess porlo que seriacutea bueno que realizaacuteramos primero un copia de seguridad de los mismos Loscambios que debemos realizar son los siguientes

5httpcodexwordpressorgCreate_A_Network

En wp-congphp dene(MULTISITE true)dene(SUBDOMAIN_ INSTALL false)dene(DOMAIN_ CURRENT_ SITE localhost)dene(PATH_ CURRENT_ SITE wordpress)dene(SITE_ ID_ CURRENT_ SITE 1)dene(BLOG_ ID_ CURRENT_ SITE 1)

El chero htaccess debe quedar asiacute BEGIN WordPressltIfModule mod_ rewritecgtRewriteEngine OnRewriteBase wordpressRewriteRule icircndexphp$ - [L]

add a trailing slash to wp-adminRewriteRule ([_ 0-9a-zA-Z-]+)wp-admin1wp-admin [R=301L]

RewriteCondREQUEST_ FILENAME -f [OR]RewriteCondREQUEST_ FILENAME -dRewriteRule - [L]RewriteRule ([_ 0-9a-zA-Z-]+)(wp-(content|admin|includes)) $2 [L]RewriteRule ([_ 0-9a-zA-Z-]+)( php)$ $2 [L]RewriteRule indexphp [L]ltIfModulegt

END WordPress

5 Esto nos habraacute creado en la parte izquierda de la barra de herramientas de Wordpressuna nueva opcioacuten llamada My Sites que contendraacute un listado de los sitios de nuestroWordpress

El siguiente paso seraacute la descarga del plugin los cual podremos hacerlos desde la web de sour-forgenet 6 En esta web se detalla informacioacuten sobre el plugin y como se debe instalar Siguiendolos pasos que tenemos en el mismo procederemos a la descarga y el desplegado del mismo en lacarpeta wp-contentmu-plugins Salimos de Wordpress y volvemos a entrar como superusuariosi entramos dentro de la nueva red realizada podremos ver que dentro de LTI Consumers Keystendremos la opcioacuten LTI Consumers Keys como podemos ver en la imagen 56

Aquiacute deberemos crear la clave del consumidor del servicio y la clave secreta que nos permitiraacute aMoodle conectarse a Wordpress

Una vez que tenemos la clave secreta y del consumidor deberemos volver a Moodle entrandocomo administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

6httpsourceforgenetappsmediawikilearningappsindexphptitle=LTI4Wordpress

Figura 56 Servicios LTI en Wordpress

Figura 57 Listado de claves de LTI en Wordpress

-LTI En esta paacutegina podremos rellenar nuestras opciones

Tool Name Seraacute el nombre que tendraacute la herramienta y deberemos poner alguno indicativode la herramienta que estemos utilizando

Tool Base URL Es la direccioacuten de la herramienta en nuestro caso httplocalhostwordpress

Deberemos rellenar con los datos obtenidos en Wordpress la clave de consumidor y la clavesecreta

Es importante marcar Show tool type when creating tool instances para que aparezcaposteriormente al crear los recursos en nuestros cursos

Para poder probar el sistema hemos creado un curso dentro de Moodle llamada WordpressLTIdonde daremos de la siguiente manera de alta 59

Dentro de nuestro curso seleccionamos la opcioacuten de Edicioacuten

Pulsamos sobre Antildeadir una actividad o un recurso

Seleccionamos External Tool

Rellenamos las opciones

bull Nombre de la Actividad Cualquiera de nuestra eleccioacuten

Figura 58 Conguracioacuten LTI en Moodle

bull Tipo de herramienta externa El nombre que le pusimos a la herramienta externa enla conguracioacuten LTI de Moodle

bull Launch Container Hemos elegido la opcioacuten Incrustar para ver el resultado

Figura 59 Conguracioacuten Herramienta Externa

Una vez congurado podemos lanzar la herramienta externa teniendo como resultado la gura510

Figura 510 Wordpress integrado en Moodle

532 ChemVantage

ChemVantage es un recurso gratuito para la educacioacuten cientiacuteca que incluye ejercicios de gradoejercicios de preparacioacuten exaacutemenes de la praacutectica conferencias de video y libros de texto enliacutenea gratis Fue creado por ChemVantage LLC que fue fundada por el Prof Chuck Wight queha ensentildeado Quiacutemica General en la Universidad de Utah desde 1984 (ChemVantage 2011)

Nos hemos puesto en contacto con Chuck Wight (adminchemvantageorg) para solicitarle unaclave de consumidor y secreta para poder probar este recurso desde moodle Las opciones y elcorreo puede verse en la gura 511

Una de las cosas maacutes importantes de ChemVantage y por lo que nos hemos decidido a probar esque permite la devolucioacuten de las notas obtenidas en los ejercicios realizados en las herramientasexternas a Moodle El alumno podraacute realizar las tareas en esta herramienta externa y luego sercalicadas en Moodle

ChemVantage estaacute certicada por IMS 7 como un proveedor de herramientas LTI v11 y comotal funciona desde nuestro propio LMS para llevar a cabo la autenticacioacuten de sitios provee decuentas y devuelve resultados de asignacioacuten de estudiantes con el libro LMS grado automaacutetica-mente

Los recursos disponible son ChemVantage son principalmente los siguientes

1 QuizzesLos ejercicios presentados aquiacute estaacuten disentildeados para animar a los estudiantes a leer y en-tender los libros de texto utilizados en el curso Las preguntas se basan en material que sepresente en su mayor parte en los textos de introduccioacuten de quiacutemica Los iacutetems de preguntastienen respuestas straighforward no requieren caacutelculos detallados Las preguntas se presen-tan en varios formatos diferentes incluyendo opcioacuten muacuteltiple verdadero falso casilla devericacioacuten ll-in-the-blanco y numeacutericas Cada cuestionario se compone de 10 preguntasextraiacutedas al azar de una base de datos con muchas maacutes preguntas En el proceso de tomarvarias pruebas para mejorar sus calicaciones los estudiantes probablemente encuentran

7httpdevelopersimsglobalorgcoursechemvantagehtml

algunas preguntas repetidas de concursos anteriores sin embargo es poco probable quecualquiera de los dos cuestionarios contendraacute exactamente el mismo conjunto de preguntasen el mismo orden Asignando pruebas para ser completado antes de la conferencia losprofesores pueden estar seguros de que sus estudiantes tengan un poco de exposicioacuten almaterial Esto permite una mayor discusioacuten el diaacutelogo y la participacioacuten en el aula y haceel aprendizaje maacutes divertido (de verdad)

2 Video LecturesUna serie de conferencias de viacutedeo de 10 minutos sobre una variedad de temas de QuiacutemicaGeneral es accesible desde la paacutegina principal Los videos estaacuten disentildeados para reforzar lospuntos principales que se presentan en muchos libros de texto

3 HoweworksLas tareas estaacuten disentildeadas para dar a los estudiantes la praacutectica en la resolucioacuten de proble-mas cuantitativos que tienen respuestas numeacutericas Cada alumno puede descargar la tareatrabajar los problemas y presentar las respuestas en liacutenea Respuestas son juzgados a sercorrecta si la solucioacuten numeacuterica de acuerdo con la solucioacuten que se encuentra en la base dedatos dentro de una tolerancia especicada (indicado para cada problema) El sitio informaa los estudiantes que las respuestas son correctas para que puedan rehacer problemas malresueltos y volver a presentar las respuestas Cada problema se basa en una plantilla queatrae paraacutemetros al azar por lo que la respuesta correcta es diferente para cada estudianteEsto hace que sean adecuadas para la colaboracioacuten y el trabajo en grupo porque a pesarde que el grupo puede trabajar para encontrar un algoritmo correcto para resolver un prob-lema cada estudiante tendraacute que usar el algoritmo para encontrar la solucioacuten detallada asu propio problema

4 Practice ExamsLos estudiantes pueden realizaar exaacutemenes de praacutectica cronometrados que muestran laspreguntas de un grupo de 3 o maacutes temas Cada examen estaacute disentildeado para tardar unos60 minutos o menos e incluye una seleccioacuten de 10 preguntas Las praacutecticas de exaacutemenespueden repetirse cuantas veces se desee Las preguntas numeacutericas son parametrizadas loque es muy poco probable que un estudiante realice alguna vez dos exaacutemenes de praacutecticaideacutenticos

5 Portofolio PageCada estudiante puede acceder a una paacutegina que le da la puntuacioacuten obtenida en cada prue-ba y la asignacioacuten de tareas Los estudiantes que son miembros de un grupo tienen unapaacutegina de resultados asociados a las tareas de grupo Hay una paacutegina de carpeta separadaque contiene un resumen de todas las actividades realizadas en ChemVantage incluyendovideos vistos cuestionarios completados resolver problemas con la tarea y la praacutectica deexaacutemenes completados Las puntuaciones en los exaacutemenes de praacutectica son desagregadospara revelar fortalezas y debilidades estudiantes por temas

Hemos procedido a darlo de alta en LTI como hicimos con Wordpress Entramos en Moodle co-mo Administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

Figura 511 Correo de Chuck Wight

-LTI quedando como resultado la siguiente hoja de paraacutemetros gura 512

El siguiente paso seraacute antildeadir la herramienta dentro de nuestro curso para ello pulsaremos sobreAntildeadir una actividad o un recurso Deberemos seleccionar External Tool y rellenamos las op-ciones de la herramienta seleccionando como Tipo de herramienta externa la opcioacuten creada enel apartado de LTI de Moodle

Una vez congurado la herramienta en Moodle podemos entrar para realizar una personalizacioacutende la herramienta gura 513 esta consiste en indicar si el alumno cuando se conecta realiza undeterminado tarea o puede elegir navegar por la web de ChemVantage para poder disfrutar dela cantidad de recursos que se encuentran disponibles

Cuando el usuario pulsa sobre la opcioacuten de esta herramienta externa en Moodle lo primero quese le muestra es la informacioacuten sobre su perl en Chemvantage 514Como hemos visto en los paraacutemetros de conguracioacuten existe la posibilidad de llamar a unaherramienta externa incrustaacutendola dentro de Moodle o abrieacutendolo en una paacutegina web nuevaCon esta segunda opcioacuten no hemos conseguido que funcione correctamente la importacioacuten de lasnotas En cambio si la herramienta externa estaacute incrustada permite esa vinculacioacuten

Figura 512 Conguracioacuten de paraacutemetros LTI

Figura 513 Opciones de inicio de la herramienta

Figura 514 Pantalla de utilizacioacuten de la herramienta por el usuario

Capiacutetulo 6

Middleware

61 Introduccioacuten

La uacuteltima opcioacuten seriacutea utilizar una arquitectura middleware de integracioacuten que permita la inte-gracioacuten ligera de muacuteltiples herramientas existentes en el Moodle

62 GluePS

GLUE-PS es una arquitectura de middleware que permite una interoperabilidad ligera entrelos diferentes lenguajes de disentildeo de aprendizaje y diferentes entornos de aprendizaje virtualEsta interoperabilidad permite a los maestros y otros profesionales que particularicen (es decirpara personalizar el disentildeo de aprendizaje abstractoa la clase particular los participantes y laeleccioacuten de los instrumentos en los que va a ser promulgada) desplieguen (es decir para crearde forma semiautomaacutetica las actividades necesarias en el VLE recursos etc para la aprobacioacutendel disentildeo particularizado) e incluso para llevar a cabo ciertos cambios en el tiempo de ejecucioacuten(por ejemplo modicar la composicioacuten del grupo agregar o quitar recursos de las actividadesetc) Todo esto a partir de disentildeos en distintos lenguajes de disentildeo de aprendizaje tales como laespecicacioacuten IMS-LD aprendizaje

Por otra parte GLUE-PS tambieacuten permite desplegar y gestionar disentildeos de aprendizaje en en-tornos virtuales de aprendizaje que integren herramientas de aprendizaje externos (tales comointegrar en Moodle herramientas como Google Docs y muchos otros) - lo que llamamos Am-bientes de Aprendizaje Distribuido (DLE Distributed Learning Enviroments) Esto se consiguegracias a la arquitectura de GLUE para la integracioacuten de los entornos virtuales de aprendizajey herramientas externas

621 Instalacioacuten

Para realizar la instalacioacuten de GLUE-PS nos hemos descargado el software necesario de la webde los desarrolladores1 descargando la opcioacuten de autenticacioacuten centralizada La instalacioacuten haconstado de tres partes que pasaremos a describir a continuacioacuten

1httpwwwgsicuvaesglue

49

Figura 61 Arquitectura de GLUE

La primera parte consiste en la instalacioacuten del GLUEletManager y los adaptadores GSIC toolAunque el sistema viene preparado para Linux o Windows siendo Windows la explicacioacuten quevamos a desarrollar por estar utilizando este sistema operativo con Xampp

1 Crear el directorio GLUE_ HOME El cual hemos creado para mayor comodidad en la raiacutezdel disco duro

2 Denir la variable del sistema GLUE_ HOME con el valor de la direccioacuten completa deldirectorio de GLUE del punto anterior Para ello hemos pulsado botoacuten derecho sobre MiPc Propiedad Opciones Avanzadas Variables de Entorno procediendo a pulsar el botoacutenNueva para crear la variable en cuestioacuten

3 Extraemos en el directorio del punto (1) el paquete descargado de la paacutegina de los desar-rolladores

4 Ejecutar la instalacioacuten del cheroGLUE_ HOMEbininstall gluebat para registar GLUElet-Manager y GSIC tool como un servicio de Windows Tambieacuten este paso crearaacute un cheroen GLUE_ HOMEtool_ adapteradapterdata para proveer de persistencia a los objetoscreados con el adaptador GSIC tool

A continuacioacuten daremos de alta en nuestro gestor de bases de datos un para de bases de datosque necesita GLUEletManager Para ellos seguimos los siguientes pasos

1 Abrimos la consola de phpMyaAdmin para cargar y ejecutar el chero create_ GLUE_databasessql que se encuentra en GLUE_ HOMEmanagerconfdb

2 Modicamos el chero GLUE_ HOMEmanagerconfMETA-INFpersistencexml paradarle los paraacutemetros necesarios para que JDBC se conecte a nuestra base de datos Losparaacutemetros modicados puede verse en la imagen 62

Figura 62 Paraacutemetros modicados en persistencexml

La segunda parte consiste en el registro interno de los adaptadores de las herramientas para seraccedido con GLUEletManager La distribucioacuten trae un chero para facilitar la conguracioacuten delos adaptadores que trae consigo y para su instalacioacuten deberemos ejecutar el chero GLUE_HOMEmanagerconfdbll _ internal_ Registrysql Alguna de las herramientas necesitanuna conguracioacuten maacutes completa como puede ser Google Docs adapter que necesita una cuentade Gmail para poder crear documentos en Google Docs por lo que deberemos modicar el nom-bre de usuario y contrasentildea

La uacuteltima parte consiste en la instalacioacuten del adaptardor de Moodle como VLE utilizado Estainstalacioacuten es como cualquier otro moacutedulo de Moodle 2 La carpeta que deberemos copiar seraacutela del adaptador correspondiente a Moodle que se encuentra en la carpeta GLUE_ HOMEvle_adpatersmoodle_ vle_ adapter Una vez entremos en nuestro Moodle como administrador nosapareceraacute un mensaje indicaacutendonos que el nuevo moacutedulo esta instalado Para congurar el nuevomoacutedulo debermos ir a Noticaciones - Modulos - Actividades como podemos ver en la gura 63para congurar los paraacutemetros la URL del GLUEletManager y el tiempo de espera

Figura 63 Paraacutemetros del moacutedulo GLUE

Cuando el profesor quiera crear una nueva actividad dependiente de los adaptadores de GLUEdeberaacute agregar una actividad maacutes pulsando para ello en esta opcioacuten dentro del bloque deseadopara seleccionar luego el tipo de actividad GLUElet como podemos ver en la gura64

622 Creando un Doodle

El adaptador Doodle permite la creacioacuten conguracioacuten y gestioacuten de instancias del Doodle Cadaencuesta Doodle es considerado un instancia diferente Ademaacutes este adaptador permite realizarademas la conguracioacuten inicial de encuestas Doodle incluyendo el nombre de la encuesta unadescripcioacuten y un conjunto de posibles respuestas

A continuacioacuten antildeadiremos Doodle en un bloque de Moodle para ellos pulsaremos la opcioacuten deAgregar actividad GLUElet lo cual nos mostraraacute la paacutegina65 donde deberemos rellenar comomiacutenimo el nombre de la actividad y el tipo de herramienta seleccionado en este caso Doodle(httpdoodle-testcom)

2httpdocsmoodleorgenInstalling_contributed_modules_or_plugins

Figura 64 Creando una actividad GLUElet

La primera vez que pulsemos sobre la nueva actividad creada apareceraacute un pantalla 66 dondepodemos congurar diferentes elementos de la encuesta desarrollada con Doodle como son eltiacutetulo una pequentildea descripcioacuten y luego las opciones posibles con un liacutemite de 10

El resultado nal seraacute la incrustacioacuten de una encuesta Doodle dentro de nuestro Moodle comopodemos ver en la gura67

Figura 65 Antildeadiendo Doodle como actividad

Figura 66 Opciones iniciales de conguracioacuten de Doodle

Figura 67 Doodel dentro de Moodle

Capiacutetulo 7

Conclusiones Finales

71 Conclusiones Finales

El proyecto actual nos ha servido para acercarnos a las diferentes tecnologiacuteas que permiten lacomunicacioacuten entre Servicios Webs Hemos desarrollado una primera labor de investigacioacuten queha requerido el aprendizaje de diferentes herramientas de control de documentacioacuten y referenciascomo Zotero y Mendeley

La documentacioacuten recabada en el proceso inicial de revisioacuten de documentos nos ha aportadoun visioacuten general de los diferentes sistemas virtuales de aprendizaje que podemos encontrarnosmuchos de ellos gratuitos y las diferentes soluciones que se plantean a la necesidad de incluirrecursos de otros fabricantes que en principio no fueron concebidos para ser utilizados dentro deuna plataforma VLE

Para poner en praacutectica la diferentes opciones encontradas se han montado diferentes maacutequinasvirtuales sobre las que se han probado las mismas Las conclusiones nales se pasan a detallar

IMS LTIEsta solucioacuten de integracioacuten mediante el cumplimiento de unos protocolos y certicacionesde las herramientas que lo cumplen es en principio la que podriacutea parecer la mejor opcioacutenpero la falta de compromiso de los diferentes fabricantes de Servicios Web y la luchapara imponer sus propios estaacutendares hace que aun quede mucho para que esta opcioacuten seacomo tal real

Si vemos el nuacutemero de aplicaciones certicadas para usar IMS LTI apenas superan las 50 yla mayoriacutea solo cumple la especicacioacuten v10 lo cual signica que la integracioacuten solo solu-ciona el problema de llamar a un recurso externo desde Moodle Pocas son las que cumplenla v11 que permite obtener en Moodle una valoracioacuten de los ejercicios desarrollados en unaactividad externa

La versioacuten v20 que daraacute maacutes opciones a la hora de interactuar con actividades externasauacuten esta en desarrollo y nada se sabe sobre posibles fechas para su presentacioacuten Luegocerticacioacuten de herramientas etc

55

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 14: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

Capiacutetulo 2

Plataformas VLE e integracioacuten

En esta seccioacuten describiremos el Entorno Virtual de Aprendizaje pondremos ejemplos de ellos yveremos las necesidades que generan en el desarrollo del proceso de aprendizaje por la falta deintegracioacuten de nuevas herramientas algunas de ellas utilizadas por si sola como herramientas deaprendizaje Detallaremos los problemas de la integracioacuten y expondremos las posibles solucionesa ello

21 VLE

El Entorno Virtual de Aprendizaje (VLE - Virtual Learning Enviroment) suele ser un teacuterminomuy usado en la educacioacuten a traveacutes de ordenador pero no existe una denicioacuten acordada porlo que muchas veces es confundido con otros teacuterminos anaacutelogos como Learning ManagementSystem (LMS) Sistema de Gestioacuten de Contenidos (Content Management System - CMS) o unaPlataforma de aprendizaje (Learning Plataform - LP)

Las deniciones maacutes aceptadas para VLE pues dada en el 2000 por Joint Information Sys-tems Committee (JISC) en el 2000 [Stiles 2000] indicando que son ccedilomponents in which learn-ers and tutors participate in on-line interactions of various kinds including on-line learningExisten otros autores que no estaacuten de acuerdo con la necesidad de interacciones on-line como[Dillenbourg et al 2002] que los excluyen de su denicioacuten Britain an Liber [Britain et al 2004]tambieacuten omiten la comunicacioacuten on-line de su denicioacuten indicando que las VLEs pretender darcabida a una amplia gama de estilos de aprendizaje y objetivos para fomentar el aprendizajecolaborativo y basado en recursos para permitir una mayor intercambio y reutilizacioacuten de recur-sos [Britain et al 2004]

Una de las deniciones mas formal y comuacutenmente citada fue dada en el trabajo de Dillengourgs[Dillenbourg et al 2002] el cual expone siete argumentos distintivos

1 VLEs are designed information spaces in which multiple authors can produce both struc-tured and unstructured information

2 VLEs are social spaces that promote interactions and discussions both synchronously orasynchronously

3 VLEs are explicitly represented ranging from text-based interfaces to complex 3D graphicalsystems

7

4 VLE students are also actors thus producing rather than consuming contents

5 VLEs are not restricted to distance education supporting also presential and blended learn-ing situations

6 VLEs integrate heterogenous technologies (including a variety of tools supporting diferenttasks) and multiple pedagogical approaches because integration is under the idea of envi-ronment

7 Most VLEs overlap with physical environments at some point since learning activities mayinvolve the use of non-computerized resources or interactions among participants

Por tanto el VLE conlleva un paso hacia delante por constituir un espacio virtual que utilizatecnologiacuteas heterogeacuteneas en el que los alumnos son activos usuarios siendo sistemas centrados enlos educadores que permiten el disentildeo instanciacioacuten promulgacioacuten y evaluacioacuten de situacionesde aprendizaje colaborativo a traveacutes de un conjunto de actividades de aprendizaje que puedenser siacutencronas o asiacutencronas cara a cara o a distancia individuales o de manera colaborativa

211 Ejemplos de VLEs

Existen actualmente diversos VLEs amplimente difundidos y no paran de aparecer nuevos loscuales intentan incluir nuevos teacutecnicas aplicadas al aprendizaje como puede ser el 3D [Nonis 2005]Hemos realizado el resumen por [Alario-Hoyos et al 2012] para mostrar una tabla en la gura21 de los maacutes importantes Moodle Lams LRN Sakai Blackboard Claroline Sharepoint LMSy sus caracteriacutesticas teacutecnicas y funcionales

22 Herramientas de Software

El uso de aplicaciones software como apoyo al aprendizaje ha jugado un papel muy importantesobre todo a la incorporacioacuten del ordenador a nuestra vida diaria Sin embargo no ha sido hastalos uacuteltimos antildeos con la difusioacuten de las tecnologiacuteas web y la posibilidades que ofrece de accesoraacutepido y ubicuo a los recursos e informacioacuten lo que ha provocado la proliferacioacuten de las her-ramientas de Software como Servicio (Software as Service - SaaS) siendo adoptadas en todas lasetapas del aprendizaje

La tendencia actual de los usuarios a generar y compartir contenidos a traveacutes de las herramientasde la llamada Web 20 la mayoriacutea de las cuales son aplicaciones SaaS ha cambiado la formade aprender fomentando la comunicacioacuten colaboracioacuten y ha fomentado un aprendizaje masconstructivista Algunos ejemplos de estas herramientas son

Google Drive httpsdrivegooglecom

Twitter httpstwittercom

Delicious urlhttpsdeliciouscom

Google Maps httpsmapsgooglees

Flickr httpwwwflickrcom

Doodle httpwwwdoodlecom

Figura 21 Anaacutelisis de VLEs

Miles de estas herramientas son usadas como apoyo en las actividades de aprendizaje Muchasde estas herramientas podemos encontrarlas valoradas en un ranking en webs como Tops 100Tools for Learning1 de la cual mostramos la gura 22 tambieacuten podemos encontrarlas en CcediloolsTools for Schools2

221 Integracioacuten de herramientas

Aunque hemos podido ver que existe un gran nuacutemero de herramientas software la cuales puedenapoyar el desarrollo docente son pocos los VLEs y otras plataformas similares utilizadas porlos educadores para disentildear y prestar sus actividades formativas las que incluyen un nuacutemeromuy restringido de estas herramientas de manera integrada Los educadores suelen indicar laslimitaciones que los VLEs tienen en este caso demandando maacutes alternativas para soportar susparticulares aprendizajes colaborativos Por ello ha emergido con fuerza la integracioacuten de her-ramientas externas en los VLEs sobre todo para el uso de SaaS y aplicaciones Web 20

Debemos tener en cuenta que

La integracioacuten de las herramientas actuales en los entornos VLEs actuales suele ser laopcioacuten maacutes aceptada aunque existen otras alternativas

Las SaaS y las aplicaciones Web 20 han sido ampliamente adoptadas como herramientas de

1httpc4lptcouktop100tools2httpcooltoolsforschoolswikispacescom

Figura 22 Top 100 Tools - Abril 2013

aprendizaje pero existen otras herramientas con su particularidades teacutecnicas que puedenser interesantes y tenida en cuenta como actividades de aprendizaje en los VLEs

Estas herramientas usadas durante el ciclo de vida de aprendizaje colaborativo deben poderser analizadas para estudiar sus resultados

El ciclo de vida del aprendizaje colaborativo consta de cuatro fases disentildeo despliegue pues-ta en marcha y evaluacioacuten Las herramientas de software suelen utilizarse principalmenteen dos de ellas en el despliegue donde las herramientas son seleccionadas dependiendo delos objetivos del aprendizaje la conguracioacuten social y las estructuras de las actividades arealizar y en la fase de puesta en marcha pues son utilizadas por los estudiantes para re-alizar sus actividades y de esta manera alcanzar los objetivos del aprendizaje En la fase deevaluacioacuten estas realmente no son importantes pues no nos interesa tanto la herramientacon la que se haya realizado sino el contenido de esos resultados La fase de disentildeo es dondese consideran las tareas a realizar para llevar a cabo el aprendizaje y no herramientas autilizar para ello Aunque estas cuatro fase puede ser ampliadas o reducidas es ampliamenteaceptado En la gura podemos ver graacutecamente este ciclo

Figura 23 Ciclo de vida del aprendizaje colaborativo

222 Problemas en la integracioacuten

El problema general de la integracioacuten de muacuteltiples herramientas externas en diversos VLEspodemos observarlo en la gura 24 donde podemos ver en un lado diferentes VLEs consus correspondientes APIs arquitectura y caracteriacutesticas mientras en el otro lado diferentestecnologiacuteas interfaces y desarrollos para una gran variedad de propoacutesitos Cada uno deellos puede imponer sus restricciones para la integracioacuten Estos requerimientos es lo queha sido denominado por ejemplo en LAMS como ccedilontrato de integracioacuten el cual intentadeterminar las tecnologiacuteas interfaces y modelos de datos que deben ser empleados para lacomunicacioacuten entre un sistema y el programa que intente integrarlo

Cada herramienta puede tener una o maacutes opciones de integracioacuten Algunas son especiacute-cas para una cierta herramienta (Ej comunicacioacuten basado en Rest para Delicious y paraSlidshare de manera diferente) y otras comuacuten para varias herramientas (Ej Google DataProtocol) Lo mismo ocurre en el lado de los VLEs por lo que se abre un amplio abanicode tecnologiacuteas interfaces y modelos de datos que hacen que la tarea de integracioacuten seaalgo realmente complejo En la gura 25 podemos ver un resumen de los problemas deintegracioacuten seguacuten las herramientas seleccionadas

223 Enfoques de la integracioacuten

Podemos denir dos enfoques principales a la hora de enfocar la integracioacuten de las her-ramientas de software y los VLEs siendo estos

bull Estandarizar los contratos de integracioacutenLa denicioacuten de unos estaacutendares de integracioacuten podriacutea resolver los problemas de in-tegracioacuten pero no existen hoy en diacutea los mismos o no son aceptados por la mayoriacutea

Figura 24 Problemas de integracioacuten

seguramente por intereses tecnoloacutegicos y comerciales IMS Global Learning Consor-tium siguen intentando realizar la aprobacioacuten de dicho estaacutendar siendo uno de elloIMS-LTI Integracioacuten de aplicaciones y servicios remotos y aunque la adopcioacuten de losmismo por las nuevas versiones de Moodle y Blackboard podriacutea hacer que se apos-tara por esta opcioacuten la falta de herramientas que lo utilicen (Ej Google no lo utiliza)puede hacer que no llegue a buen puerto

bull Crear una arquitecturaEste enfoque trata de adaptar los contratos de integracioacuten de los VLEs y las her-ramientas sin tener que modicar sus implementacioacuten Este mismo enfoque presentados opciones como podemos ver en la gura 26 y que pasamos a detallar

1 Un adaptador por en el lado de VLE y otro en el lado de las herramientas o inclusoun solo paquete que pueda congure toda la conexioacuten En este caso estariacuteamoshablando por ejemplo de los moacutedulo adicionales de Moodle

2 Una capa intermedia y adaptadores Este tipo de arquitectura permite la in-tegracioacuten entre muacuteltiples herramientas externas y muacuteltiple entorno virtuales deaprendizaje a traveacutes de un middleware comuacuten Dicho middleware estariacutea com-puesto de diferentes programas que pueden ser ejecutados en dominios diferentesEsta arquitectura reduce el esfuerzo para la integracioacuten de cada herramienta encada VLE ya que el coacutedigo estaacute parcialmente implementado por los elementos deintegracioacuten comunes Sin embargo el grado de integracioacuten y funcionalidad que sepuede lograr con estas arquitecturas es menor que con la primera opcioacuten

23 Servicios Web

Aunque han sido englobados dentro de integracioacuten de herramientas vamos a detallar queson y que aportan a Moodle

Figura 25 Problemas de integracioacuten

Los Servicios Web (Web Services) son la parte esencial de la interoperabilidad de Moodlecon otras aplicaciones Web 20 consisten en una pieza de software que utiliza un conjuntode protocolos y estaacutendares abiertos para intercambiar datos entre aplicaciones La idea prin-cipal es que distintas aplicaciones de software desarrolladas en lenguajes de programacioacutendiferentes y ejecutadas sobre cualquier plataforma puedan utilizar los servicios Web paraintercambiar datos en la red de ordenadores como Internet El producto resultante es unconjunto de moacutedulos con funcionalidad especiacuteca y completa que se acoplan entre siacute A suvez estos moacutedulos se conectan a una plataforma de e-learning mediante la utilizacioacuten deservicios de base descritos en una capa estaacutendar que funciona como gateway

Para ampliar un poco mejor el concepto de servicios Web citaremos una exposicioacuten delDoctor Marcos Escobar Un Web Service es un componente de software que se comunicacon otras aplicaciones codicando los mensaje en XML y enviando estos mensaje a traveacutesde protocolos estaacutendares de Internet tales como el HTTP Intuitivamente un Web Servicees similar a un sitio Web que no cuenta con un interfaz de usuario y que da servicio a lasaplicaciones en vez de a las personas Un Web Service en vez de obtener solicitudes desdeel navegador y retornar paacuteginas Web como respuesta lo que hace es recibir solicitudes atraveacutes de un mensaje formateado en XML desde una aplicacioacuten realiza una tarea y de-vuelve un mensaje de respuesta tambieacuten formateado en XML

Figura 26 Enfoques de arquitectura de integracioacuten

231 Orquestacioacuten y Coreografiacutea de Servicios Web

Seguacuten Careaga Mercadillo Ana Lilia [car ] la Orquestacioacuten (Web Service Orchestration)y Coreografiacutea (Web Service Choreography) se suelen ver como dos aproximaciones parala Composicioacuten de Servicios Web que se acercan estrechamente a los conceptos musicalespor lo cual se han importado directamente sus signicados A continuacioacuten detallaremosque son y sus posibles aplicaciones

La tarea de componer servicios Web baacutesicos o simples para brindar servicios Web maacutes com-plejos se conoce teacutecnicamente como Composicioacuten de Servicios Web Existen dos grandesaproximaciones para esta tarea la coreografiacutea con foco en la interaccioacuten entre servicios(equivalente a los bailarines) y la orquestacioacuten (equivalente a los instrumentos de la orques-ta) con foco en la implementacioacuten y ejecucioacuten de servicios La primera puede consid-erarse como una descripcioacuten formal del pasaje de mensajes obviando detalles internosde implementacioacuten Se ajusta maacutes en situaciones donde es provechoso contar con la no-cioacuten de estados y tambieacuten donde estaacuten involucradas transacciones de larga duracioacuten- Elorquestadordetermina la naturaleza y la secuencia de la interaccioacuten En cambio la segun-da aproximacioacuten describe la loacutegica y el estado de cada una de las partes involucradas Laorquestacioacuten tiene una visioacuten mas local y centralizada mientras que la coreografiacutea denela composicioacuten desde una perspectiva global sin control centralizado tal y como sucede enla danza

Existen numerosas deniciones de Servicios Web y esto demuestra en parte la gran com-plejidad de los servicios que se agrupan bajo este teacutermino y las implicaciones asociadas aellos Hasta ahora la denicioacuten maacutes general y convincente es decir que los Servicios Webson el conjunto de aplicaciones tecnoloacutegicas con capacidad para interoperar en la Web Es-tas tecnologiacuteas intercambian datos entre ellas con el n de ofrecer servicios de naturalezaremota

La World Wide Web no es soacutelo un espacio de informacioacuten tambieacuten es un espacio de inter-accioacuten Utilizando la Web como plataforma los usuarios de forma remota pueden solicitar

un servicio que alguacuten proveedor ofrezca en la red Pero para que esta interaccioacuten funcionedeben existir unos mecanismos de comunicacioacuten estaacutendares entre diferentes aplicacionesEstos mecanismos deben poder interactuar entre siacute para presentar la informacioacuten de formadinaacutemica al usuario Se precisa pues una arquitectura de referencia estaacutendar que hagaposible la interoperabilidad y extensibilidad entre las distintas aplicaciones y que permitasu combinacioacuten para realizar operaciones complejas Esta arquitectura es conocida con elnombre de SOA (Service Oriented Architecture)

Con el n de estandarizar los diferentes aspectos relacionados con los servicios Web elW3C (World Wide Web Consortium) recoge todo lo referente a ellos en (Web ServicesActivity) Asiacute pues Web Services (WS) ofrece un signicado estaacutendar para interoperarentre diferentes aplicaciones de software corriendo en diferentes plataformas yo marcosde trabajo El W3C pretende disentildear la arquitectura denirla y crear el nuacutecleo de tec-nologiacuteas que hagan posible los Servicios Web Los servicios Web se basan en un lenguajede caracteriacutesticas especiales llamado XML (Extensible Markup Language) que permite quelas aplicaciones compartan informacioacuten y que ademaacutes invoquen funciones de otras apli-caciones independientemente de coacutemo se hayan creado dichas aplicaciones y del sistemaoperativo o plataforma en que se ejecuten Por ejemplo Google utiliza un Servicio Webllamado Google Web APIs que permite que el usuario programe en diversos lenguajes ase-gurando la recuperacioacuten de informacioacuten independientemente de la plataforma que se utilice

Los Servicios Web se idearon en un principio para realizar interacciones simples e indepen-dientes pero ahora es necesario que los servicios colaboren y se coordinen A la coordinacioacutennecesaria para implementar un servicio Web se le llama Composicioacuten que puede realizarsede dos manerasorquestacioacuten y coreografiacutea La principal diferencia entre orquestacioacuten ycoreografiacutea es el alcance La orquestacioacuten trata de la descripcioacuten y ejecucioacuten de un mismoy uacutenico punto de vista global del modelo (instrumentacioacuten) La coreografiacutea trata de la de-scripcioacuten y guiacutea de un modelo global proyectado en base a cada participante (bailarines)La orquestacioacuten y coreografiacutea son teacuterminos que describen dos aspectos de los estaacutendaresemergentes para la creacioacuten de procesos de negocios de muacuteltiples servicios WebLos dosteacuterminos se superponen pero es claro que la orquestacioacuten se reere a un proceso de nego-cio ejecutable que puede interactuar tanto con servicios Web internos como externos Laorquestacioacuten representa siempre el control desde la perspectiva de una de las partes Estolo distingue de la coreografiacutea que es de mayor colaboracioacuten y permite a cada parte impli-cada describir su papel en la interaccioacuten La orquestacioacuten y coreografiacutea tratan de describiraspectos relacionados con la creacioacuten de procesos de negocio que involucran varios tipos deSoftware

Visto graacutecamente podemos ver en la gura 27 la orquestacioacuten permite disentildear proce-sos de negocio ejecutables que pueden interactuar (a nivel de mensaje) tanto con softwareinterno como externo Por otra parte la coreografiacutea es mucho maacutes colaborativa ya quepermite trazar las secuencias de mensajes que se suceden entre todas las partes partici-pantes del proceso de negocio en lugar de centrarse en los mensajes que se intercambianentre los diversos programas de software que implementan los procesos de negocio

Figura 27 Orquestacioacuten y Coreografiacutea de Servicios Web

232 Estaacutendares de Orquestacioacuten de Servicios Web

WS BPEL( Web Service Business Process Execution Language)Es un lenguaje de orquestacioacuten estandarizado porOASIS (Organisation for Advance Struc-tured Information Business Transaction Protocol) para la composicioacuten de servicios Web quepermite a los desarrolladores crear programas que automatizan las interacciones entre losservicios Web jugando un papel clave en las arquitecturas orientadas a los servicios SOAPara comprender su funcionamiento imaginemos un proceso de negocio determinado quetiene una entrada A y una salida B Dicho proceso como la mayoriacutea de ellos posee a suvez de muchos procesos internos que se van activando de acuerdo a ciertos paraacutemetros yvalores BPEL seriacutea el encargado de orquestar y por lo tanto dirigir la ejecucioacuten de unamanera ordenada La ventaja de que BPEL sea un estaacutendar radica en que puede ser imple-mentado en una gran variedad de motores de ejecucioacuten de diferentes proveedores BPELen si es un formato XML que proviene de la convergencia entre el WSFL (Web ServiceFlow Language) de IBM y XLANG de Microsoft La herramienta BPEL estaacute basada en unmodelo llamado Workow que especica las oacuterdenes de ejecucioacuten Existen actividadesbaacutesicas como iumlnvoke y receive y otras estructuradas como sequence Tambieacuten formanparte del modelo variables y participantes (partners) En las variables se deposita la nocioacutende datos y los participantes representan los elementos que interactuacutean en la composicioacutenEl modelo se completa como un motor que orquestaraacute las invocaciones

BPML (Business Process Modeling Language)Es un metalenguaje basado en XML para la descripcioacuten de procesos de negocio Inicial-mente BMPL se disentildeoacute para soportar los procesos que un sistema de gestioacuten de procesosde negocio pudiera ejecutar BPML dispone de estructuras similares a BPEL como puedenser actividades baacutesicas para el enviacuteo y la recepcioacuten de mensajes y para la invocacioacuten deservicios Adicionalmente BPML permite planicar las tareas para que se ejecuten eninstantes especiacutecos ofreciendo algunas opciones de control temporal Este lenguaje in-cluye caracteriacutesticas para dar soporte a la persistencia ya que fue disentildeado para la gestioacutende procesos de larga duracioacuten BPML ofrece soporte tambieacuten para realizar composicionesrecursivas a n de poder construir procesos de negocio que a su vez consten de otros sub-procesos Asimismo soporta transacciones de larga o corta ejecucioacuten gracias a que usa unateacutecnica similar a BPEL para controlar el alcance de las actividades y gestionar de esta

forma las reglas de compensacioacuten en caso de que las operaciones que deben realizarse deforma automaacutetica se vean interrumpidas

233 Estaacutendares de Coreografiacutea de los Servicios Web

WS-CDL (Web Services Choreography Description Language)Es un lenguaje basado en XML que describe la colaboracioacuten entre pares peer to peemediante la denicioacuten - desde un punto de vista global de los comportamientos comunes yobservables de cada participante de un proceso de negocio Eacuteste es un lenguaje utilizadopara la denicioacuten de servicios dentro de la plataforma SOA y cuyo objetivo es la descrip-cioacuten del comportamiento de cada uno de los servicios establecidos para lograr un objetivocomuacuten Sin embargo antes de WS-CDL ya existiacutea un lenguaje que permitiacutea la descripcioacutende las funcionalidades de un Servicio Web WSDL (Web Services Denition Language)el cual puede describir el conjunto de funciones ofrecidas con los posibles fallos que po-driacutean ocurrir y a pesar de que WS-CDL podriacutea expresar las coreografiacuteas de un servicioen un ambiente SOA W3C (World Wide Web Consortium) abandonoacute su desarrollo en 2009

WSCI (Web Service Choreography Interface)La especicacioacuten de WSCI fue desarrollada por diversas compantildeiacuteas como Sun SAP BEAe Intalio y representa una extensioacuten para WSDL para la colaboracioacuten La especicacioacuten de-ne la coreografiacutea global o el intercambio de mensajes entre los diferentes tipos de softwarey soporta su correlacioacuten reglas de secuenciacioacuten manejo de excepciones transacciones ycolaboracioacuten dinaacutemica WSCI soacutelo describe el comportamiento observable entre el softwareque se emplea Una coreografiacutea WSCI constaraacute de un conjunto de interfases WSCI unapor cada uno de los servicios que participen en la interaccioacuten

24 Moodle

El software de coacutedigo abierto (Open-Source Software-OSS) esta siendo ampliamente de-sarrollado ofreciendo nuevas alternativas y posibilidades hasta hace poco inimaginablesMoodle es un claro ejemplo siendo uno de los programas maacutes ampliamente adoptados porcolegios institucioacuten universidades etc Como podemos ver en la gura 28 el nuacutemero deusuarios registrados y los idiomas en los que se encuentra disponible dan muestra de sugran difusioacuten Algunas de las razones mas importante para su eleccioacuten son

Figura 28 Moodle - Abril 2013

bull Moodle es OSS lo cual signica que los usuarios pueden descargarlo libremente usarlomodicarlos e incluso redistribuirlo seguacuten los teacuterminos GNU 3

bull La losofiacutea planteada por Moodle incluye una aproximacioacuten constructiva basada enel constructivismo social de la educacioacuten enfatizando que los estudiantes (y no soacutelolos profesores) pueden contribuir a la experiencia educativa en muchas formas

bull Compatibilidad con maacutes de 70 idiomas diferentes

bull Una excelente documentacioacuten soporte para seguridad y administracioacuten

bull No requiere modicaciones en el sistema operativo pudiendo ser ejecutado en un en-torno Linux Windows Mac OS o cualquier otro siempre que soporten PHP

bull La informacioacuten esta soportada por una simple base de datos

Ademaacutes su sencilla aplicacioacuten en entorno web que utiliza tecnologiacuteas ya ampliamenteprobadas sus mecanismos de extensioacuten maacutes faacuteciles en comparacioacuten con otros VLEs y laexistencia de una gran cantidad de documentacioacuten de desarrollo han impulsado la creacioacutende una gran comunidad de personas que contribuyen a la mejora de Moodle Esta comu-nidad estaacute en constante desarrollo de nuevas caracteriacutesticas y aplicaciones a traveacutes decientos de plugins que pueden ser descargados desde su la web de Moodle y asesoran tantoa otros desarrolladores como usuarios nales

La primera versioacuten de Moodle (10) fuel lanzada en 2002 como parte de la investigacioacuten deMartin Dougiamas del uso del software de coacutedigo abierto para la ensentildeanza y el aprendizajecon las comunidades basadas en Internet[Dougiamas and Taylor 2000] Actualmente seencuentra disponible la versioacuten 243+ como estable y la beta de la versioacuten 25

En cuanto a la parte teacutecnica Moodle estaacute desarrollado en lenguaje PHP como la mayoriacuteade los VLEs utiliza una arquitectura cliente-servidor comuacuten de tres capas CORREGIRLa capa de presentacioacuten dene como la informacioacuten se presenta a los usuarios nales quetienen acceso a esa informacioacuten a traveacutes de sus navegadores web La Capa de loacutegica de ne-gocios se encarga de las relaciones con Moodle el acceso a la capa de datos por lo generala traveacutes de MySQL para almacenar y recuperar la informacioacuten cuando sea necesario

Moodle se distribuye en un solo paquete multiplataforma que incluye PHP MySQL yApache HTTP Server para facilitar los procesos de instalacioacuten y conguracioacuten La dis-tribucioacuten actual de Moodle cumple con varios estaacutendares educativos Por ejemplo Moodlepuede manejar ADL SCORM paquetes que contienen recursos aislados o cursos completosEn cuanto a los estaacutendares IMS Moodle soporta IMS Content Packaging (IMS CP) IMSCommon Cartridge (IMS CC)IMS pregunta y Test Interoperability (IMS QTI) y estaacuteconsiderado como uno de los VLEs compatible con Basic LTI

241 otras plataformas

No podemos dejar de lado otros escenarios educativos que han ido apareciendo en los uacutelti-mos antildeos a pesar del gran eacutexito de los VLEs Algunos ejemplos de estas plataforma son

3httpsmoodleorg

bull Wikis (Ej MediaWiki) Son sistemas software que permiten la creacioacuten y gestioacutende contenidos estructurados mediante paacuteginas web relacionadas entre siacute El contenidosuele estar editado por varios usuarios que trabajan de manera colaborativa pudiendoincluir enlaces a recursos externos

bull Sitios de redes sociales (Ej Facebook) Son sistema en liacutenea donde los usuariospueden crearse sus propios perles y crear una red personal que les mantendraacute conec-tado con otros usuarios Estos sistemas han proliferado en los uacuteltimos antildeos llegando amillones de usuarios No suelen necesitar un administrador pues se utilizan medianteentorno web y son alojados por el propio proveedor Su gran adopcioacuten y el enfoquea las interacciones sociales es lo que ha llevado a muchos profesor a utilizarlo comoherramienta de aprendizaje Estos sitios permiten la creacioacuten y mantenimiento degrupo mediante el perl de usuario pero no estaacuten disentildeados para seguir un enfoquepedagoacutegico

bull Personal Learning Environment - PLE (Ej Southampton) Son denidos comosistemas de software que permiten al estudiante a tomar el control y la gestioacuten de suspropio aprendizaje Se caracterizan por la por la participacioacuten directa de los alumnosen el acceso agregacioacuten conguracioacuten y manipulacioacuten de herramientas y recursos adiferencia de los VLEs done es el educador el que selecciona y gestiona los recursosque el alumno debe utilizar

Muchas de estas herramientas son de coacutedigo libre y abierto Su funcionalidad respecto ala gestioacuten de actividades grupos funciones y herramientas es limitado siendo en algunoscasos inexistente Ninguna de estas plataformas se puede considerar un VLE ya que nosson sistemas centrados en el educador sin embargo pueden apoyar la integracioacuten de apli-caciones externas en entornos de aprendizaje colaborativo

Capiacutetulo 3

Organizacioacuten y Sistema Inicial

A continuacioacuten pasamos a detallar las distintas actividades de la que consta el proyecto quehemos llevado a cabo durante estos meses

31 Lanzamiento del proyecto

Esta actividad consisten en la eleccioacuten de una de las diferentes posibles aacutereas de desarrollo deproyectos que ofrece la UOC siendo la elegida Aplicaciones Web para trabajo colaborativo

32 Denicioacuten del proyecto

El proyecto queda denido en el presente documento siendo el tiacutetulo del mismo Orchestationand Coreography of Web Services on Moodle - Revisioacuten Sistemaacutetica de la literatura

[Duracioacuten] 27-02-2013 al 03-03-2013

33 Anaacutelisis de requisitos

Nos centraremos en la fase de planicacioacuten que incluye los objetivos de la investigacioacuten y la formaen que se llevaraacute a cabo la revisioacuten

[Duracioacuten] 04-03-2013 al 03-06-2013

331 Cuestiones Realizadas

El primer paso en la fase de planicacioacuten seraacute denir los objetivos principales de esta revisioacutensistemaacutetica de la literatura Estos objetivos son analizar el estado del arte de la coreografiacutea yorquestacioacuten de los servicios web en Moodle como LMS

332 Fuentes de datos y buacutesqueda

Utilizaremos diferentes libreriacuteas o espacios digitales para realizar las buacutesquedas las mismas serealizaraacuten en ingleacutes y espantildeol Las libreriacuteas principales utilizadas son

IEEEXplore [IEEEX] httpieeexploreieeeorg

21

Science Direct [SD] httpwwwsciencedirectcom

SpringerLink [SL] httpwwwspringerlinkcom

Paralelamente a Science Direct se han realizado buacutesquedas en Scopus1 de Elsevier y GoogleScholar2 de Google

333 Criterios de inclusioacuten y exclusioacuten

Las buacutesquedas que se realicen intentaraacuten abarcar todo el aacutembito de cuestiones del SLR pero esposible (y de hecho ocurre) el resultado contenga referencias publicaciones estudios o en generalinformacioacuten que no sirve Para ello seraacute necesario denir criterios de inclusioacuten y exclusioacuten loscual haremos basaacutendonos en la guiacutea [Kitchenham 2007]

334 Asegurar la calidad

Despueacutes de obtener un numero considerable de trabajos o estudios que satisfacen los criteriosde inclusioacuten y exclusioacuten se deberaacute ser capaz de asegurar o armar cuales son los que cumplencon una miacutenima calidad y si son vaacutelidos o no para el estudio en si Es baacutesico poder analizar queacuteestudios son mejores que otros en teacuterminos de calidadSiguiente [Kitchenham 2007] se deniraacuten preguntas y cuestiones que permitan asegurar dichacalidad

335 Extraccioacuten de datos y anaacutelisis

Los criterios de inclusioacuten y exclusioacuten junto con las preguntas orientadas a asegurar la calidadnos serviraacuten para obtener todos los artiacuteculos y estudios que se analizan en este estudioDe cada artiacuteculo se recogeraacute titulo y autores abstract publicacioacuten y antildeo de publicacioacuten

336 Fase de revisioacuten

Esta fase de planicacioacuten seraacute denir el proceso de conducir o dirigir la revisioacuten Para elloutilizaremos tres fases como podemos ver en la gura 31 de la paacutegina 23

337 Fase de Pruebas

Se realizan pruebas con la informacioacuten obtenido montado maacutequinas virtuales para realizar lasmismas En estas se han probado las diferentes opciones de comunicacioacuten que nos ofrece Moodle

1httpwwwscopuscom2httpscholargooglecom

Figura 31 Proceso para dirigir la revisioacuten

34 Calendario de Trabajo

Podemos ver en el siguiente diagrama de Gantt32 la distribucioacuten de trabajos en el tiempo elmismo seraacute modicado para ajustarlo a las variaciones producidas durante el desarrollo de lastareas que contempla

35 Hitos principales

Los principales hitos seraacuten

Lanzamiento del proyecto Se dene correctamente en que va consistir el proyecto

Denicioacuten de cuestiones para la buacutesqueda Donde se detallaraacuten las cuestiones quemarcaran el desarrollo del resto del proyecto

Comprobacioacuten de resultados Se deberaacuten criba los mismo para no obtener duplicadoso informacioacuten ajena a la investigacioacuten

Revisioacuten de informacioacuten obtenida Una vez obtenida la informacioacuten y analizada deberaacuteser revisada para su presentacioacuten

Figura 32 Diagrama de Gantt

36 Instalacioacuten base

Para llevar a cabo las pruebas se ha optado por la creacioacuten de una maacutequina virtual sobre VirtualBox 3 en la cual hemos instalado Windows XP como sistema operativo Este sistema es maacutesligero a la hora de trabajar en maacutequinas virtuales pues requiere menos recursos que las versionesposteriores del mismos sistema

El siguiente paso era la instalacioacuten de Moodle Aunque se dispone de un instalador para Win-dows se ha optado por la descarga e instalacioacuten de XAMPP 4 y su y su posterior conguracioacutenen la maacutequina virtual XAMPP es un servidor independiente de plataforma software libre queconsiste principalmente en la base de datos MySQL el servidor web Apache y los inteacuterpretespara lenguajes de script PHP y Perl El nombre proviene del acroacutenimo de X (para cualquierade los diferentes sistemas operativos) Apache MySQL PHP Perl

XAMPP en su versioacuten 181 incluye

Apache 243

MySQL 5527

PHP 547

phpMyAdmin 3522

FileZilla FTP Server 0941

Tomcat 7030

Strawberry Perl 51611 Portable

XAMPP Control Panel 310

Hemos continuado con la descarga he instalacioacuten de Moodle y hemos querido probar las difer-encias que obtenemos entre las versiones 19x y 25 por lo que se han descargado ambas heinstalado en maacutequinas virtuales diferentes Con ello conseguiremos probar el resultado obtenidoseguacuten la versioacuten Moodle desde su versioacuten 22 ya soporta conexiones mediante IMS - LTI IMSLTI es un estaacutendar IMS Learning Tool Interoperability Esto signica que las herramientas deaprendizaje tienen ahora diversas maneras de conectarse entre sin problemas

En la praacutectica cuando un usuario se registra en una herramienta como Moodle se pueden conectara la otra herramienta como MediaWiki y autenticarse automaacuteticamente proporcionando unaexperiencia perfectaLas guras 33 y 34 nos muestran el panel de control de XAMPP una vez instalado y el panede phpMyAdmin donde hemos debido congurar las bases de datos y usuario necesarios parallevar todo el proceso de conguracioacuten de Moodle y el resto de herramientas

3httpswwwvirtualboxorg4httpwwwapachefriendsorgesxampphtml

Figura 33 Panel de control de XAMPP

Figura 34 Gestor de bases de datos phpMyAdmin

Capiacutetulo 4

Servicios Web de Moodle

41 Introduccioacuten

Moodle 2X incorpora la posibilidad de implementar Servicios Web para manejar sus funciona-lidades lo que nos permite poder acceder a acciones de actualizar y crear tareas para reejar elresultado de las actividades realizadas Moodle soporta varios protocolos (REST SOAP XML-RPC y AMF)

42 Servicios Web de Moodle

Los Servicios Web de Moodle se caracterizan por permitir el acceso desde cualquier aplicacioacutenimplementando para ello tres capas como podemos observar en la gura 41

Capa nuacutecleoLa capa del nuacutecleo estaacute compuesta de todas las funciones principales de Moodle sobreusuarios grupos cursos calendario etc Moodle no dispone de una API al uso sino queofrece diferentes funciones que han sido desarrolladas durante antildeos Por tanto las necesi-dades de los Servicios Web estaacuten obligando a rehacer estas funciones del nuacutecleo para quecomiencen a formar una API (Moodle 2X)

Capa externaLa capa externa estaacute compuesta por nuevos cheros llamados externalphp colocados porlas carpetas de Moodle y conteniendo manejadores para la capa inferior Estos manejadoresson los responsables de comprobar las capacidades paraacutemetros y llamadas correctas a lasfunciones de nuacutecleo

Capa de conectoresLa capa de conectores estaacute compuesta de diferentes conectores para las diferentes imple-mentaciones de los Servicios Web y contiene un conector REST un conector SOAP unconector XML-RPC y un conector AMF Esta capa admite plugins para ampliar los conec-tores disponibles de manera que se puedan integrar otros sistemas en Moodle utilizandootros protocolos

Los pasos para utilizar un Servicio Web con Moodle seriacutean los siguientes

1 El cliente enviacutea el nombre de usuario y contrasentildea al servidor que provee los ServiciosWeb

27

Figura 41 Capas en Moodle

2 El servidor de protocolo devuelve un token de sesioacuten para esa cuenta de usuario

3 El cliente llama a un Servicio Web especiacuteco incluyendo el token de sesioacuten

4 El servidor utiliza el token para comprobar que la sesioacuten del Servicio Web estaacute activa

5 El servidor llama a la funcioacuten correspondiente localizada en el chero externallibphp dentrodel moacutedulo especiacuteco

6 La funcioacuten externa comprueba que el usuario actual tenga los permisos sucientes pararealizar esta operacioacuten

7 La funcioacuten externa llama a la funcioacuten correspondiente del nuacutecleo de Moodle (libphp)

8 La funcioacuten del nuacutecleo puede retornar un resultado a la funcioacuten externa

9 La funcioacuten externa devolveraacute el resultado al servidor de protocolo

10 El servidor de protocolo devolveraacute el resultado al cliente

43 REST

REST (Representational State Transfer) es el acroacutenimo de Transferencia de Estado Representa-cional teacutermino usado por Roy Fielding (uno de los creadores de HTTP) para describir un estilode arquitectura que utilizar como modelo en los sistemas de computacioacuten Web No es un es-taacutendar sino un enfoque que muestra como desarrollar y proporcionar servicios en Internet portanto considerado como un estilo arquitectoacutenico para disentildeo de software a gran escala El propioautor lo dene de manera concisa en eacuteste paacuterrafo

REST es un intento de mostrar coacutemo debe comportarse una aplicacioacuten Web bien disentildeada unared de paacuteginas Web (una maacutequina de estados virtual) donde el usuario progresaraacute seleccionan-do enlaces (transiciones de estado) que devuelven la paacutegina siguiente (el siguiente estado de lamaacutequina) que el usuario manejaraacute a su gusto

Este enfoque no aporta realmente nada nuevo la mayor parte de la Web sigue este estilo arqui-tectoacutenico Sin embargo el autor hace eacutenfasis en las caracteriacutesticas concretas que han hecho quela Web triunfe que van a ser los objetivos buscados por REST y que son a su juicio

Escalabilidad en las interacciones entre componentes La red ha ido creciendo de maneraexponencial y se ha ido comportado de manera satisfactoria

Generalidad en las interfaces Se proporciona acceso con distintos clientes y con distintosmecanismos de acceso

Desarrollo independiente de componentes Implementaciones cliente y servidor pueden serdesarrolladas en distintos momentos

Existencia de componentes intermediarios con los cuales existe compatibilidad (comoproxys)que permiten encapsulacioacuten e integracioacuten de sistemas no Web dentro de la misma

431 Principios de disentildeo

Los objetivos citados van a ser conseguidos imponiendo una serie de restricciones

El estado y la funcionalidad de las aplicaciones se representan por forma de recursos

La identicacioacuten de recursos se realiza de forma uacutenica global mediante Uniform ResourceIdentiers Los recursos identicados con URIs son los objetos loacutegicos a los cuales se lesmandan los mensajes

Manipulacioacuten de recursos a traveacutes de representaciones luego no se manejan directamentelos recursos sino sus representaciones

Todos los recursos comparten un interfaz uniforme formado por

bull Un conjunto de operaciones limitado para transferir el estado Se van a aprovecharlas operaciones que HTTP dene mostradas en la gura 42

bull Un conjunto limitado de tipos de contenidos identicados mediante tipos MIME

Uso de un protocolo clienteservidor sin estado y basado en capas Cada mensaje HTTPcontendraacute la informacioacuten necesaria para comprender la peticioacuten luego como muestra lagura 43 no es necesario que eacutesta sea entendida tanto en el cliente como en el servidor

Uso de hipermedios para representar el estado de una aplicacioacuten permitiendo que el estadode una aplicacioacuten Web particular esteacute almacenado en uno o maacutes documentos de hipertextoque residen bien en el servidor o en el cliente Esto permite al servidor saber el estado desus recursos sin necesidad de almacenar el estado de los clientes concretos

Figura 42 Operaciones denidas por HTTP

Como ya se mencionoacute REST se trata de un estilo arquitectoacutenico no un estaacutendar Sin embargohace uso de varios estaacutendares Web

HTTP HyperText Transfer Protocol

Figura 43 Operaciones denidas por HTTP

URL Uniform Resource Locator como el mecanismo de indenticacioacuten de recursos

XML - HTML - PNG - etc Como distintos formatos de representacioacuten de recursos

Tipos MIME como text-xml text-html image-png etc

44 SOAP

SOAP (siglas de Simple Object Access Protocol) es un protocolo estaacutendar que dene coacutemo dosobjetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML Esteprotocolo deriva de un protocolo creado por David Winer en 1998 llamado XML-RPC SOAPfue creado por Microsoft IBM y otros y estaacute actualmente bajo el auspicio de la W3C

441 Principios de disentildeo

La funcionalidad que aporta SOAP es la de proporcionar un mecanismo simple y ligero de in-tercambio de informacioacuten entre dos puntos usando el lenguaje XML SOAP no es maacutes que unmecanismo sencillo de expresar la informacioacuten mediante un modelo de empaquetado de datosmodular y una serie de mecanismos de codicacioacuten de datos Esto permite que SOAP sea uti-lizado en un amplio rango de servidores de aplicaciones que trabajen mediante el modelo decomunicacioacuten RPC (Remote Procedure Call)

SOAP consta de tres partes como podemos ver en la gura 44

El SOAP envelope que dene el marco de trabajo que determina queacute se puede introduciren un mensaje quieacuten deberiacutea hacerlo y si esa operacioacuten es opcional u obligatoria

Las reglas de codicacioacuten SOAP que denen el mecanismo de serializacioacuten que seraacute usadopara encapsular en los mensajes los distintos tipos de datos

La representacioacuten SOAP RPC que dene un modo de funcionamiento a la hora de realizarllamadas a procedimientos remotos y la obtencioacuten de sus resultados

A la hora de realizar el disentildeo de SOAP se han tenido en cuenta una serie de consideracionescon el n de cumplir una serie de objetivos claros objetivos que le daraacuten el potencial que resideen SOAP y que le haraacuten tan atractivo Eacutestos son

Establecer un protocolo estaacutendar de invocacioacuten a servicios remotos que esteacute basado enprotocolos estaacutendares de uso frecuente en Internet como son HTTP (Hiper Text TransportProtocol) para la transmisioacuten y XML (eXtensible Markup Language)para la codicacioacutende los datos

Figura 44 Partes de SOAP

Independencia de plataforma hardware lenguaje de programacioacuten e implementacioacuten delservicio Web

El logro de estos objetivos ha hecho de SOAP un protocolo extremadamente uacutetil ya que elprotocolo de comunicacioacuten HTTP es el empleado para la conexioacuten sobre Internetpor lo que segarantiza que cualquier cliente con un navegador estaacutendar pueda conectarse con un servidor re-moto Ademaacutes los datos en la transmisioacuten se empaquetan o serializan con el lenguaje XML quese ha convertido en algo imprescindible en el intercambio de datos ya que es capaz de salvar lasincompatibilidades que existiacutean en el resto de protocolos de representacioacuten de datos de la red

Por otra parte los servidores Web pueden procesar las peticiones de usuario empleando tec-nologiacuteas tales como Servlets paacuteginas ASP (Active Server Pages) paacuteginas JSP (Java ServerPages) o sencillamente un servidor de aplicaciones con invocacioacuten de objetos mediante CORBACOM o EJB

Un ejemplo tiacutepico de disentildeo de un servicio Web utilizando las ventajas de SOAP podemos veren la siguiente gura 45

Figura 45 Ejemplo de uso de SOAP

45 AMF

AMF (Action Message Format) es un protocolo binario de Adobe que va por la versioacuten AMF3Aunque por el nombre de la versioacuten pueda parecer que existan 3 cabe destacar que soacutelo existendos AMF0 y AMF3 Una de las mayores diferencias o mejoras que aporta AMF3 es que soporta

datos binarios (ByteArray) y int datos no soportados por AMF0 debido a que en la eacutepoca queaparecioacute el formato Flash Player no soportaba estos tipos de datos

AMF3 no es un protocolo para transferir informacioacuten sino que representa el formato en el quese transmite la informacioacuten en este caso un formato binario

La versioacuten de Moodle 25 viene con Zend_ AMF pero podemos utilizar tambieacuten la libreriacuteaamfPHP

AMFPHP

Zend_ amf httpframeworkzendcommanual112enzendamfhtml

Maacutes informacioacuten en httpdocsmoodleorgdevAMFPHP

46 Conguracioacuten de Moodle Web Services

Los Servicios Web habilitan que otros sistemas puedan entrar a Moodle y realizar operacionesPasaremos a detallar los pasos necesarios para su conguracioacuten y explicaremos distintos pruebasllevadas a cabo sobre su funcionamiento Para poder consumir de manera correcta unWeb Servicede Moodle seriacutea necesario antildeadir a la url que vamos a formar los paraacutemetros oportunos paralograr consumir el Web Service de manera satisfactoria Una vez antildeadidos ya podriacuteamos invocarla funcioacuten seleccionada

461 Activando los Servicios Web

Lo primero que debemos hacer es activar la opcioacuten general que habilita el uso de los serviciosweb En la gura 46 podemos observar la opcioacuten para la activacioacuten de este servicio para ello nosiremos a la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Servicios Externos

Figura 46 Activacioacuten Servicios Web

Esto solo es una opcioacuten a nivel global necesitando ahora activar los protocolos de comunciacionesque vamos a utilizar para ello deberemos ir a la opcioacuten textitAdministracioacuten del Sitio - Exten-siones - Servicios Web - Administrador de protoclos donde encontraremos las diferente opcionesque nos existen En la gura 47 podemos ver la pantalla de nuestra conguracioacuten con todos losprotocolos activados

Una vez activada la opcioacuten de Servicios Externos y seleccionados los protocolos que utilizaremosnecesitamos crear un Servicio Personalizado que no es maacutes que una etiqueta que aglutina los

Figura 47 Activacioacuten Protoclos

Servicios Web que ofrece Moodle y que pueden ser utilizados por los servicios externos Para ellodeberemos darle a la opcioacuten Agregar dentro de la opcioacuten Administracioacuten del Sitio - Extensiones- Servicios Web - Servicios Externos Como prueba habilitaremos un servicio llamado Uso_Servicio_ Web cuya creacioacuten podemos ver en la gura 48

Figura 48 Creacioacuten Servicio Personalizado

Una vez creado el Servicio Personalizado deberemos agregarle las funciones que queramos lesean permitidas pudiente tener maacutes de una En la gura 49 vemos como asociamos la creacioacutende usuarios al Servicio Personalizado

Terminado esto deberemos tener en el listado que nos muestra Moodle de Servicios personaliza-dos algo como lo mostrado en la gura 410

El siguiente paso es conceder los permisos apropiados para que este Servicio Personalizado puedeser usado por los usuarios pare ello debemos primero especicar quienes son los Usuarios au-torizados para ello en la linea de la lista de Servicios Personalizados deberemos pulsar sobre laopcioacuten usuarios autorizados donde apareceraacute una pantalla como 411 donde podremos escogerlos usuarios de los que se encuentran dados de alta en nuestro sistema

Y para terminar aunque este paso podriacutea ser realizado por el propio usuario si tuviera el per-miso de moodlewebservicecreatetoken seraacute la creacioacuten de un token el cual va ser la opcioacuten quevamos a utilizar para las pruebas de los Servicios Web de Moodle Para la creacioacuten del mismodeberemos entrar en la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Admin-istrar tokens y pulsar la opcioacuten Agregar para antildeadir un token nuevo como podemos apreciar en

Figura 49 Agregando funciones al Servicio Personalizado

Figura 410 Listado de Servicios Personalizados

la gura 412 teniendo la precaucioacuten de escoger como Servicio el Servicio Personalizado creadocon anterioridad Uso_ Servicio_ Web

En esta pantalla podemos poner varios tipos de restricciones

Restriccioacuten de IP Donde podemos indicar la direccioacuten IP desde donde

Restriccioacuten de Fecha Se puede denir hasta cuando seraacute valido este token siendo unabuena manera de poder probar cosas y no dejar puertas abiertas por error

En la gura 413 podemos ver el token asignado por el sistema para nuestro Servicio Personalizadoy que procederemos a utilizar para comprobar el funcionamiento de los Servicios Web de Moodle

462 Pruebas cliente Servicio Web

Procederemos ahora a desarrollar pruebas que utilicen los Servicios Personalizados creado Sepodriacutean haber utilizado el Cliente de prueba de servicio web que incorpora Moodle dentro dela opcioacuten Administracioacuten del Sitio - Desarrollo - Cliente de prueba servicio web pero hemosdecidido implementar una Web para comprobar la facilidad del funcionamiento del sistema y losdistintos resultados obtenidos seguacuten el protocolo utilizado

Utilizaremos la libreriacutea cURL de PHP cURL es una herramienta que permite abrir conexionesen una amplia variedad de protocolos y que estaacute disponible tanto como herramienta de consola(para ejecutar directamente con comandos) como en libreriacutea (para usar en vuestro coacutedigo) y quepermite hacer praacutecticamente todo manejo de cookies descarga de cheros binarios enviacuteos de

Figura 411 Alta de Usuarios Autorizados

Figura 412 Creacioacuten de Tokens

paraacutemetros GET y POST etc

La web creada para la introduccioacuten 414 de los usuarios seraacute equivalente para todos los procesosprocesos siendo el programa que da respuesta al formulario el que implemente la funcioacuten nece-saria para la introduccioacuten de los datos en Moodle

Los resultados de REST pueden mostrar los resultados del alta de dos maneras diferentes unaen formato XML como podemos ver en la gura 415 y otro en formatox JSON tambieacuten po-dremos ver en la gura Los resultados obtenidos tambieacuten pueden verse en el la gura 416

Figura 413 Lista de Tokens

Figura 414 Web de alta de usuarios

Figura 415 Resultado de REST en formato XML

Figura 416 Resultado de REST en formato JSON

Capiacutetulo 5

Herramientas Externas

51 Introduccioacuten

Las versiones de Moodle desde la 22 vienen con IMS LTI o External Tool de manera integradaEn versiones anteriores era necesario la instalacioacuten de plugins como LTI Provider (maacutes informa-cioacuten en la web de Moodle1 IMS LTI es un estandar de IMS learing2 para la interoperabilidadde herramientas Esto signica que las herramientas de aprendizaje tienen ahora un mecanismopara jar el modo en que pueden conectarse entre ellas sin problemas

En la praacutectica cuando un usuario se registra en Moodle puede conectarse a otras herramientascomo Wikis o Blogs y autenticarse de manera automaacutetica en estas

52 Estaacutendares IMS

Actualmente se realizan esfuerzos para la integracioacuten de servicios a una plataforma virtual deaprendizaje mediante un mecanismo reutilizable independiente del tipo de plataforma El IMSGlobal Learning Consortium viene desde hace tiempo trabajando en este enfoque IMS GLCpresenta un conjunto de estaacutendares que promueven el uso de servicios de aprendizaje digitales(Digital Learning Services) dentro de las plataformas de aprendizaje tradicionales IMS DigitalLearning Services estaacute integrado por los siguientes estaacutendares principales IMS Common Car-tridge [ims a] IMS Learning Tool Interoperability [ims c] y IMS Learning Information Services[ims b]

El IMS Learning Tool Interoperability es una especicacioacuten para facilitar la inclusioacuten de her-ramientas externas dentro de un curso El administrador de la plataforma de aprendizaje ges-tiona los servicios que podraacuten ser consumidos por la plataforma el docente decide que serviciosutilizaraacute en su curso y el estudiante hace uso de los mismos IMS LTI permite que distintos LMSconsuman un mismo servicio el cual no fue implementado teniendo en cuenta el tipo de LMSsino la implementacioacuten del estaacutendar desde el lado del proveedor

El enfoque del IMS LTI estaacute dirigido a la creciente demanda de un mecanismo reutilizable para laintegracioacuten de herramientas de terceros en el nuacutecleo de las plataformas LMS Estas herramientas

1httpsmoodleorgpluginsviewphpplugin=local_ltiprovider2httpwwwimsglobalorgtoolsinteroperability2cfm

37

pueden agregar funcionalidad especializada a los LMS El enfoque ofrece una solucioacuten basada enWeb Services igualmente aplicable a distintos lenguajes de programacioacuten

Las versiones del LTI son

LTI v10 ( LTI Basic ) ( publicado en mayo de 2010 ) proporciona un meacutetodo sencillopero estaacutendar para establecer una conexioacuten segura a una herramienta desde el interior deun consumidor de herramientas El lanzamiento de este enlace permite una experienciade aprendizaje sin problemas para los estudiantes que acceden a las aplicaciones ricas queparecen tener lugar dentro del ambiente de aprendizaje Versioacuten 10 es el primer paso en eldesarrollo continuo de LTI Figura 51

LTI v11 ( publicado en marzo 2012 ) antildeade la posibilidad de pasar de nuevo un resultadode la herramienta al Consumidor de herramientas Esto permite que los estudiantes recibenuna calicacioacuten o puntuacioacuten de su interaccioacuten con la aplicacioacuten de aprendizaje

LTI v111 ( publicado en julio de 2012 ) incluye soporte para el papel Mentor que se puedeutilizar para representar a un padre tutor o auditor

LTI v20 Aun en estado de desarrollo y proporciona una plataforma maacutes sosticado y ex-tensible para permitir integraciones maacutes profundas y un mayor apoyo para los serviciosy eventos LTI 2 se basa en LTI 1 mediante la incorporacioacuten de maacutes sosticada resulta-dos de informes y una rica arquitectura de extensiones que permite servicios adicionalesque se antildeadiraacuten gradualmente LTI 2 utiliza REST y JSON-LD para ofrecer esta nuevafuncionalidad

Figura 51 Esquema LTI Baacutesico

En la gura 52 podemos observar como se podriacutean utilizar las ventajas de LTI por parte decada unos de los actores a lo largo de la vida de la aplicacioacuten de servicios externos dentro de unaplataforma de aprendizaje

En la paacutegina web de IMS3 podemos encontrar una relacioacuten de aplicaciones certicadas comocompatibles con el estaacutendar LTI indicando la versioacuten del LTI que cumplen En la gura 53podemos ver las aplicaciones certicadas por UOC y en la gura 54 la informacioacuten sobre una deestas herramientas

3httpwwwimsglobalorgccalltoolscfm

Figura 52 Esquema utilizacioacuten LTI

Figura 53 Listado de herramientas LTI de la UOC

53 Herramientas externas en Moodle

La siguiente seccioacuten consiste en la aplicacioacuten de alguno de esto servicios externos en Moodlepara comprobar su funcionamiento Nos decantaremos para la primera prueba por WordPresspues aunque existen manuales al respecto la documentacioacuten en castellano es escasa

531 Wordpress

La versioacuten estaacutendar de Wordpress a la cual accedemos cuando nos abrimos cuenta en Wordpressno viene con las herramientas necesarias para la iteracioacuten mediante LTI por lo que procedere-mos a la instalacioacuten en nuestro servidor de Wordpress para pasar a la instalacioacuten de los pluginsnecesarios

La instalacioacuten ha consistido en la descarga de la web ocial 4 de la versioacuten 351 la cual hemoscopiado dentro del directorio htdocs de nuestra instalacioacuten de Xampp Hemos dado de alta unnuevo usuario en nuestra base de datos llamado username como podemos ver en la imagen 55 yposteriormente hemos seguido los pasos que el instalador nos iba ofreciendo para tener instalado

4httpwordpressorgdownload

Figura 54 Informacioacuten sobre la certicacioacuten

Wordpress bajo la url httplocalhostwordpress

Figura 55 Usuario de Wordpress

Deberemos congurar Wordpress para que trabaje como multisitio para lo que deberemos seguirlos pasos de conguracioacuten que podemos encontrar en la web ocial de Wordpress5 bajo el nombreCreate A Network consistente en los siguientes pasos

1 Realizar una copia de seguridad por si acaso

2 Modicar el chero wp-congphp incluyendo la siguiente linea encima de Thats allstop editing Happy blogging Multisite dene (WP_ ALLOW_ MULTISITE true)

Multisite dene (WP_ ALLOW_ MULTISITE true)

3 Installar un Network Para ello hemos de entra en la opcioacuten Administration -gtTools -gtNetwork Setup donde podremos congurar opciones sobre el nombre que queremos declararpara el nuevo sitio

4 Activar el Network para ello debemos modicar los cheros wp-congphp y htaccess porlo que seriacutea bueno que realizaacuteramos primero un copia de seguridad de los mismos Loscambios que debemos realizar son los siguientes

5httpcodexwordpressorgCreate_A_Network

En wp-congphp dene(MULTISITE true)dene(SUBDOMAIN_ INSTALL false)dene(DOMAIN_ CURRENT_ SITE localhost)dene(PATH_ CURRENT_ SITE wordpress)dene(SITE_ ID_ CURRENT_ SITE 1)dene(BLOG_ ID_ CURRENT_ SITE 1)

El chero htaccess debe quedar asiacute BEGIN WordPressltIfModule mod_ rewritecgtRewriteEngine OnRewriteBase wordpressRewriteRule icircndexphp$ - [L]

add a trailing slash to wp-adminRewriteRule ([_ 0-9a-zA-Z-]+)wp-admin1wp-admin [R=301L]

RewriteCondREQUEST_ FILENAME -f [OR]RewriteCondREQUEST_ FILENAME -dRewriteRule - [L]RewriteRule ([_ 0-9a-zA-Z-]+)(wp-(content|admin|includes)) $2 [L]RewriteRule ([_ 0-9a-zA-Z-]+)( php)$ $2 [L]RewriteRule indexphp [L]ltIfModulegt

END WordPress

5 Esto nos habraacute creado en la parte izquierda de la barra de herramientas de Wordpressuna nueva opcioacuten llamada My Sites que contendraacute un listado de los sitios de nuestroWordpress

El siguiente paso seraacute la descarga del plugin los cual podremos hacerlos desde la web de sour-forgenet 6 En esta web se detalla informacioacuten sobre el plugin y como se debe instalar Siguiendolos pasos que tenemos en el mismo procederemos a la descarga y el desplegado del mismo en lacarpeta wp-contentmu-plugins Salimos de Wordpress y volvemos a entrar como superusuariosi entramos dentro de la nueva red realizada podremos ver que dentro de LTI Consumers Keystendremos la opcioacuten LTI Consumers Keys como podemos ver en la imagen 56

Aquiacute deberemos crear la clave del consumidor del servicio y la clave secreta que nos permitiraacute aMoodle conectarse a Wordpress

Una vez que tenemos la clave secreta y del consumidor deberemos volver a Moodle entrandocomo administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

6httpsourceforgenetappsmediawikilearningappsindexphptitle=LTI4Wordpress

Figura 56 Servicios LTI en Wordpress

Figura 57 Listado de claves de LTI en Wordpress

-LTI En esta paacutegina podremos rellenar nuestras opciones

Tool Name Seraacute el nombre que tendraacute la herramienta y deberemos poner alguno indicativode la herramienta que estemos utilizando

Tool Base URL Es la direccioacuten de la herramienta en nuestro caso httplocalhostwordpress

Deberemos rellenar con los datos obtenidos en Wordpress la clave de consumidor y la clavesecreta

Es importante marcar Show tool type when creating tool instances para que aparezcaposteriormente al crear los recursos en nuestros cursos

Para poder probar el sistema hemos creado un curso dentro de Moodle llamada WordpressLTIdonde daremos de la siguiente manera de alta 59

Dentro de nuestro curso seleccionamos la opcioacuten de Edicioacuten

Pulsamos sobre Antildeadir una actividad o un recurso

Seleccionamos External Tool

Rellenamos las opciones

bull Nombre de la Actividad Cualquiera de nuestra eleccioacuten

Figura 58 Conguracioacuten LTI en Moodle

bull Tipo de herramienta externa El nombre que le pusimos a la herramienta externa enla conguracioacuten LTI de Moodle

bull Launch Container Hemos elegido la opcioacuten Incrustar para ver el resultado

Figura 59 Conguracioacuten Herramienta Externa

Una vez congurado podemos lanzar la herramienta externa teniendo como resultado la gura510

Figura 510 Wordpress integrado en Moodle

532 ChemVantage

ChemVantage es un recurso gratuito para la educacioacuten cientiacuteca que incluye ejercicios de gradoejercicios de preparacioacuten exaacutemenes de la praacutectica conferencias de video y libros de texto enliacutenea gratis Fue creado por ChemVantage LLC que fue fundada por el Prof Chuck Wight queha ensentildeado Quiacutemica General en la Universidad de Utah desde 1984 (ChemVantage 2011)

Nos hemos puesto en contacto con Chuck Wight (adminchemvantageorg) para solicitarle unaclave de consumidor y secreta para poder probar este recurso desde moodle Las opciones y elcorreo puede verse en la gura 511

Una de las cosas maacutes importantes de ChemVantage y por lo que nos hemos decidido a probar esque permite la devolucioacuten de las notas obtenidas en los ejercicios realizados en las herramientasexternas a Moodle El alumno podraacute realizar las tareas en esta herramienta externa y luego sercalicadas en Moodle

ChemVantage estaacute certicada por IMS 7 como un proveedor de herramientas LTI v11 y comotal funciona desde nuestro propio LMS para llevar a cabo la autenticacioacuten de sitios provee decuentas y devuelve resultados de asignacioacuten de estudiantes con el libro LMS grado automaacutetica-mente

Los recursos disponible son ChemVantage son principalmente los siguientes

1 QuizzesLos ejercicios presentados aquiacute estaacuten disentildeados para animar a los estudiantes a leer y en-tender los libros de texto utilizados en el curso Las preguntas se basan en material que sepresente en su mayor parte en los textos de introduccioacuten de quiacutemica Los iacutetems de preguntastienen respuestas straighforward no requieren caacutelculos detallados Las preguntas se presen-tan en varios formatos diferentes incluyendo opcioacuten muacuteltiple verdadero falso casilla devericacioacuten ll-in-the-blanco y numeacutericas Cada cuestionario se compone de 10 preguntasextraiacutedas al azar de una base de datos con muchas maacutes preguntas En el proceso de tomarvarias pruebas para mejorar sus calicaciones los estudiantes probablemente encuentran

7httpdevelopersimsglobalorgcoursechemvantagehtml

algunas preguntas repetidas de concursos anteriores sin embargo es poco probable quecualquiera de los dos cuestionarios contendraacute exactamente el mismo conjunto de preguntasen el mismo orden Asignando pruebas para ser completado antes de la conferencia losprofesores pueden estar seguros de que sus estudiantes tengan un poco de exposicioacuten almaterial Esto permite una mayor discusioacuten el diaacutelogo y la participacioacuten en el aula y haceel aprendizaje maacutes divertido (de verdad)

2 Video LecturesUna serie de conferencias de viacutedeo de 10 minutos sobre una variedad de temas de QuiacutemicaGeneral es accesible desde la paacutegina principal Los videos estaacuten disentildeados para reforzar lospuntos principales que se presentan en muchos libros de texto

3 HoweworksLas tareas estaacuten disentildeadas para dar a los estudiantes la praacutectica en la resolucioacuten de proble-mas cuantitativos que tienen respuestas numeacutericas Cada alumno puede descargar la tareatrabajar los problemas y presentar las respuestas en liacutenea Respuestas son juzgados a sercorrecta si la solucioacuten numeacuterica de acuerdo con la solucioacuten que se encuentra en la base dedatos dentro de una tolerancia especicada (indicado para cada problema) El sitio informaa los estudiantes que las respuestas son correctas para que puedan rehacer problemas malresueltos y volver a presentar las respuestas Cada problema se basa en una plantilla queatrae paraacutemetros al azar por lo que la respuesta correcta es diferente para cada estudianteEsto hace que sean adecuadas para la colaboracioacuten y el trabajo en grupo porque a pesarde que el grupo puede trabajar para encontrar un algoritmo correcto para resolver un prob-lema cada estudiante tendraacute que usar el algoritmo para encontrar la solucioacuten detallada asu propio problema

4 Practice ExamsLos estudiantes pueden realizaar exaacutemenes de praacutectica cronometrados que muestran laspreguntas de un grupo de 3 o maacutes temas Cada examen estaacute disentildeado para tardar unos60 minutos o menos e incluye una seleccioacuten de 10 preguntas Las praacutecticas de exaacutemenespueden repetirse cuantas veces se desee Las preguntas numeacutericas son parametrizadas loque es muy poco probable que un estudiante realice alguna vez dos exaacutemenes de praacutecticaideacutenticos

5 Portofolio PageCada estudiante puede acceder a una paacutegina que le da la puntuacioacuten obtenida en cada prue-ba y la asignacioacuten de tareas Los estudiantes que son miembros de un grupo tienen unapaacutegina de resultados asociados a las tareas de grupo Hay una paacutegina de carpeta separadaque contiene un resumen de todas las actividades realizadas en ChemVantage incluyendovideos vistos cuestionarios completados resolver problemas con la tarea y la praacutectica deexaacutemenes completados Las puntuaciones en los exaacutemenes de praacutectica son desagregadospara revelar fortalezas y debilidades estudiantes por temas

Hemos procedido a darlo de alta en LTI como hicimos con Wordpress Entramos en Moodle co-mo Administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

Figura 511 Correo de Chuck Wight

-LTI quedando como resultado la siguiente hoja de paraacutemetros gura 512

El siguiente paso seraacute antildeadir la herramienta dentro de nuestro curso para ello pulsaremos sobreAntildeadir una actividad o un recurso Deberemos seleccionar External Tool y rellenamos las op-ciones de la herramienta seleccionando como Tipo de herramienta externa la opcioacuten creada enel apartado de LTI de Moodle

Una vez congurado la herramienta en Moodle podemos entrar para realizar una personalizacioacutende la herramienta gura 513 esta consiste en indicar si el alumno cuando se conecta realiza undeterminado tarea o puede elegir navegar por la web de ChemVantage para poder disfrutar dela cantidad de recursos que se encuentran disponibles

Cuando el usuario pulsa sobre la opcioacuten de esta herramienta externa en Moodle lo primero quese le muestra es la informacioacuten sobre su perl en Chemvantage 514Como hemos visto en los paraacutemetros de conguracioacuten existe la posibilidad de llamar a unaherramienta externa incrustaacutendola dentro de Moodle o abrieacutendolo en una paacutegina web nuevaCon esta segunda opcioacuten no hemos conseguido que funcione correctamente la importacioacuten de lasnotas En cambio si la herramienta externa estaacute incrustada permite esa vinculacioacuten

Figura 512 Conguracioacuten de paraacutemetros LTI

Figura 513 Opciones de inicio de la herramienta

Figura 514 Pantalla de utilizacioacuten de la herramienta por el usuario

Capiacutetulo 6

Middleware

61 Introduccioacuten

La uacuteltima opcioacuten seriacutea utilizar una arquitectura middleware de integracioacuten que permita la inte-gracioacuten ligera de muacuteltiples herramientas existentes en el Moodle

62 GluePS

GLUE-PS es una arquitectura de middleware que permite una interoperabilidad ligera entrelos diferentes lenguajes de disentildeo de aprendizaje y diferentes entornos de aprendizaje virtualEsta interoperabilidad permite a los maestros y otros profesionales que particularicen (es decirpara personalizar el disentildeo de aprendizaje abstractoa la clase particular los participantes y laeleccioacuten de los instrumentos en los que va a ser promulgada) desplieguen (es decir para crearde forma semiautomaacutetica las actividades necesarias en el VLE recursos etc para la aprobacioacutendel disentildeo particularizado) e incluso para llevar a cabo ciertos cambios en el tiempo de ejecucioacuten(por ejemplo modicar la composicioacuten del grupo agregar o quitar recursos de las actividadesetc) Todo esto a partir de disentildeos en distintos lenguajes de disentildeo de aprendizaje tales como laespecicacioacuten IMS-LD aprendizaje

Por otra parte GLUE-PS tambieacuten permite desplegar y gestionar disentildeos de aprendizaje en en-tornos virtuales de aprendizaje que integren herramientas de aprendizaje externos (tales comointegrar en Moodle herramientas como Google Docs y muchos otros) - lo que llamamos Am-bientes de Aprendizaje Distribuido (DLE Distributed Learning Enviroments) Esto se consiguegracias a la arquitectura de GLUE para la integracioacuten de los entornos virtuales de aprendizajey herramientas externas

621 Instalacioacuten

Para realizar la instalacioacuten de GLUE-PS nos hemos descargado el software necesario de la webde los desarrolladores1 descargando la opcioacuten de autenticacioacuten centralizada La instalacioacuten haconstado de tres partes que pasaremos a describir a continuacioacuten

1httpwwwgsicuvaesglue

49

Figura 61 Arquitectura de GLUE

La primera parte consiste en la instalacioacuten del GLUEletManager y los adaptadores GSIC toolAunque el sistema viene preparado para Linux o Windows siendo Windows la explicacioacuten quevamos a desarrollar por estar utilizando este sistema operativo con Xampp

1 Crear el directorio GLUE_ HOME El cual hemos creado para mayor comodidad en la raiacutezdel disco duro

2 Denir la variable del sistema GLUE_ HOME con el valor de la direccioacuten completa deldirectorio de GLUE del punto anterior Para ello hemos pulsado botoacuten derecho sobre MiPc Propiedad Opciones Avanzadas Variables de Entorno procediendo a pulsar el botoacutenNueva para crear la variable en cuestioacuten

3 Extraemos en el directorio del punto (1) el paquete descargado de la paacutegina de los desar-rolladores

4 Ejecutar la instalacioacuten del cheroGLUE_ HOMEbininstall gluebat para registar GLUElet-Manager y GSIC tool como un servicio de Windows Tambieacuten este paso crearaacute un cheroen GLUE_ HOMEtool_ adapteradapterdata para proveer de persistencia a los objetoscreados con el adaptador GSIC tool

A continuacioacuten daremos de alta en nuestro gestor de bases de datos un para de bases de datosque necesita GLUEletManager Para ellos seguimos los siguientes pasos

1 Abrimos la consola de phpMyaAdmin para cargar y ejecutar el chero create_ GLUE_databasessql que se encuentra en GLUE_ HOMEmanagerconfdb

2 Modicamos el chero GLUE_ HOMEmanagerconfMETA-INFpersistencexml paradarle los paraacutemetros necesarios para que JDBC se conecte a nuestra base de datos Losparaacutemetros modicados puede verse en la imagen 62

Figura 62 Paraacutemetros modicados en persistencexml

La segunda parte consiste en el registro interno de los adaptadores de las herramientas para seraccedido con GLUEletManager La distribucioacuten trae un chero para facilitar la conguracioacuten delos adaptadores que trae consigo y para su instalacioacuten deberemos ejecutar el chero GLUE_HOMEmanagerconfdbll _ internal_ Registrysql Alguna de las herramientas necesitanuna conguracioacuten maacutes completa como puede ser Google Docs adapter que necesita una cuentade Gmail para poder crear documentos en Google Docs por lo que deberemos modicar el nom-bre de usuario y contrasentildea

La uacuteltima parte consiste en la instalacioacuten del adaptardor de Moodle como VLE utilizado Estainstalacioacuten es como cualquier otro moacutedulo de Moodle 2 La carpeta que deberemos copiar seraacutela del adaptador correspondiente a Moodle que se encuentra en la carpeta GLUE_ HOMEvle_adpatersmoodle_ vle_ adapter Una vez entremos en nuestro Moodle como administrador nosapareceraacute un mensaje indicaacutendonos que el nuevo moacutedulo esta instalado Para congurar el nuevomoacutedulo debermos ir a Noticaciones - Modulos - Actividades como podemos ver en la gura 63para congurar los paraacutemetros la URL del GLUEletManager y el tiempo de espera

Figura 63 Paraacutemetros del moacutedulo GLUE

Cuando el profesor quiera crear una nueva actividad dependiente de los adaptadores de GLUEdeberaacute agregar una actividad maacutes pulsando para ello en esta opcioacuten dentro del bloque deseadopara seleccionar luego el tipo de actividad GLUElet como podemos ver en la gura64

622 Creando un Doodle

El adaptador Doodle permite la creacioacuten conguracioacuten y gestioacuten de instancias del Doodle Cadaencuesta Doodle es considerado un instancia diferente Ademaacutes este adaptador permite realizarademas la conguracioacuten inicial de encuestas Doodle incluyendo el nombre de la encuesta unadescripcioacuten y un conjunto de posibles respuestas

A continuacioacuten antildeadiremos Doodle en un bloque de Moodle para ellos pulsaremos la opcioacuten deAgregar actividad GLUElet lo cual nos mostraraacute la paacutegina65 donde deberemos rellenar comomiacutenimo el nombre de la actividad y el tipo de herramienta seleccionado en este caso Doodle(httpdoodle-testcom)

2httpdocsmoodleorgenInstalling_contributed_modules_or_plugins

Figura 64 Creando una actividad GLUElet

La primera vez que pulsemos sobre la nueva actividad creada apareceraacute un pantalla 66 dondepodemos congurar diferentes elementos de la encuesta desarrollada con Doodle como son eltiacutetulo una pequentildea descripcioacuten y luego las opciones posibles con un liacutemite de 10

El resultado nal seraacute la incrustacioacuten de una encuesta Doodle dentro de nuestro Moodle comopodemos ver en la gura67

Figura 65 Antildeadiendo Doodle como actividad

Figura 66 Opciones iniciales de conguracioacuten de Doodle

Figura 67 Doodel dentro de Moodle

Capiacutetulo 7

Conclusiones Finales

71 Conclusiones Finales

El proyecto actual nos ha servido para acercarnos a las diferentes tecnologiacuteas que permiten lacomunicacioacuten entre Servicios Webs Hemos desarrollado una primera labor de investigacioacuten queha requerido el aprendizaje de diferentes herramientas de control de documentacioacuten y referenciascomo Zotero y Mendeley

La documentacioacuten recabada en el proceso inicial de revisioacuten de documentos nos ha aportadoun visioacuten general de los diferentes sistemas virtuales de aprendizaje que podemos encontrarnosmuchos de ellos gratuitos y las diferentes soluciones que se plantean a la necesidad de incluirrecursos de otros fabricantes que en principio no fueron concebidos para ser utilizados dentro deuna plataforma VLE

Para poner en praacutectica la diferentes opciones encontradas se han montado diferentes maacutequinasvirtuales sobre las que se han probado las mismas Las conclusiones nales se pasan a detallar

IMS LTIEsta solucioacuten de integracioacuten mediante el cumplimiento de unos protocolos y certicacionesde las herramientas que lo cumplen es en principio la que podriacutea parecer la mejor opcioacutenpero la falta de compromiso de los diferentes fabricantes de Servicios Web y la luchapara imponer sus propios estaacutendares hace que aun quede mucho para que esta opcioacuten seacomo tal real

Si vemos el nuacutemero de aplicaciones certicadas para usar IMS LTI apenas superan las 50 yla mayoriacutea solo cumple la especicacioacuten v10 lo cual signica que la integracioacuten solo solu-ciona el problema de llamar a un recurso externo desde Moodle Pocas son las que cumplenla v11 que permite obtener en Moodle una valoracioacuten de los ejercicios desarrollados en unaactividad externa

La versioacuten v20 que daraacute maacutes opciones a la hora de interactuar con actividades externasauacuten esta en desarrollo y nada se sabe sobre posibles fechas para su presentacioacuten Luegocerticacioacuten de herramientas etc

55

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 15: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

4 VLE students are also actors thus producing rather than consuming contents

5 VLEs are not restricted to distance education supporting also presential and blended learn-ing situations

6 VLEs integrate heterogenous technologies (including a variety of tools supporting diferenttasks) and multiple pedagogical approaches because integration is under the idea of envi-ronment

7 Most VLEs overlap with physical environments at some point since learning activities mayinvolve the use of non-computerized resources or interactions among participants

Por tanto el VLE conlleva un paso hacia delante por constituir un espacio virtual que utilizatecnologiacuteas heterogeacuteneas en el que los alumnos son activos usuarios siendo sistemas centrados enlos educadores que permiten el disentildeo instanciacioacuten promulgacioacuten y evaluacioacuten de situacionesde aprendizaje colaborativo a traveacutes de un conjunto de actividades de aprendizaje que puedenser siacutencronas o asiacutencronas cara a cara o a distancia individuales o de manera colaborativa

211 Ejemplos de VLEs

Existen actualmente diversos VLEs amplimente difundidos y no paran de aparecer nuevos loscuales intentan incluir nuevos teacutecnicas aplicadas al aprendizaje como puede ser el 3D [Nonis 2005]Hemos realizado el resumen por [Alario-Hoyos et al 2012] para mostrar una tabla en la gura21 de los maacutes importantes Moodle Lams LRN Sakai Blackboard Claroline Sharepoint LMSy sus caracteriacutesticas teacutecnicas y funcionales

22 Herramientas de Software

El uso de aplicaciones software como apoyo al aprendizaje ha jugado un papel muy importantesobre todo a la incorporacioacuten del ordenador a nuestra vida diaria Sin embargo no ha sido hastalos uacuteltimos antildeos con la difusioacuten de las tecnologiacuteas web y la posibilidades que ofrece de accesoraacutepido y ubicuo a los recursos e informacioacuten lo que ha provocado la proliferacioacuten de las her-ramientas de Software como Servicio (Software as Service - SaaS) siendo adoptadas en todas lasetapas del aprendizaje

La tendencia actual de los usuarios a generar y compartir contenidos a traveacutes de las herramientasde la llamada Web 20 la mayoriacutea de las cuales son aplicaciones SaaS ha cambiado la formade aprender fomentando la comunicacioacuten colaboracioacuten y ha fomentado un aprendizaje masconstructivista Algunos ejemplos de estas herramientas son

Google Drive httpsdrivegooglecom

Twitter httpstwittercom

Delicious urlhttpsdeliciouscom

Google Maps httpsmapsgooglees

Flickr httpwwwflickrcom

Doodle httpwwwdoodlecom

Figura 21 Anaacutelisis de VLEs

Miles de estas herramientas son usadas como apoyo en las actividades de aprendizaje Muchasde estas herramientas podemos encontrarlas valoradas en un ranking en webs como Tops 100Tools for Learning1 de la cual mostramos la gura 22 tambieacuten podemos encontrarlas en CcediloolsTools for Schools2

221 Integracioacuten de herramientas

Aunque hemos podido ver que existe un gran nuacutemero de herramientas software la cuales puedenapoyar el desarrollo docente son pocos los VLEs y otras plataformas similares utilizadas porlos educadores para disentildear y prestar sus actividades formativas las que incluyen un nuacutemeromuy restringido de estas herramientas de manera integrada Los educadores suelen indicar laslimitaciones que los VLEs tienen en este caso demandando maacutes alternativas para soportar susparticulares aprendizajes colaborativos Por ello ha emergido con fuerza la integracioacuten de her-ramientas externas en los VLEs sobre todo para el uso de SaaS y aplicaciones Web 20

Debemos tener en cuenta que

La integracioacuten de las herramientas actuales en los entornos VLEs actuales suele ser laopcioacuten maacutes aceptada aunque existen otras alternativas

Las SaaS y las aplicaciones Web 20 han sido ampliamente adoptadas como herramientas de

1httpc4lptcouktop100tools2httpcooltoolsforschoolswikispacescom

Figura 22 Top 100 Tools - Abril 2013

aprendizaje pero existen otras herramientas con su particularidades teacutecnicas que puedenser interesantes y tenida en cuenta como actividades de aprendizaje en los VLEs

Estas herramientas usadas durante el ciclo de vida de aprendizaje colaborativo deben poderser analizadas para estudiar sus resultados

El ciclo de vida del aprendizaje colaborativo consta de cuatro fases disentildeo despliegue pues-ta en marcha y evaluacioacuten Las herramientas de software suelen utilizarse principalmenteen dos de ellas en el despliegue donde las herramientas son seleccionadas dependiendo delos objetivos del aprendizaje la conguracioacuten social y las estructuras de las actividades arealizar y en la fase de puesta en marcha pues son utilizadas por los estudiantes para re-alizar sus actividades y de esta manera alcanzar los objetivos del aprendizaje En la fase deevaluacioacuten estas realmente no son importantes pues no nos interesa tanto la herramientacon la que se haya realizado sino el contenido de esos resultados La fase de disentildeo es dondese consideran las tareas a realizar para llevar a cabo el aprendizaje y no herramientas autilizar para ello Aunque estas cuatro fase puede ser ampliadas o reducidas es ampliamenteaceptado En la gura podemos ver graacutecamente este ciclo

Figura 23 Ciclo de vida del aprendizaje colaborativo

222 Problemas en la integracioacuten

El problema general de la integracioacuten de muacuteltiples herramientas externas en diversos VLEspodemos observarlo en la gura 24 donde podemos ver en un lado diferentes VLEs consus correspondientes APIs arquitectura y caracteriacutesticas mientras en el otro lado diferentestecnologiacuteas interfaces y desarrollos para una gran variedad de propoacutesitos Cada uno deellos puede imponer sus restricciones para la integracioacuten Estos requerimientos es lo queha sido denominado por ejemplo en LAMS como ccedilontrato de integracioacuten el cual intentadeterminar las tecnologiacuteas interfaces y modelos de datos que deben ser empleados para lacomunicacioacuten entre un sistema y el programa que intente integrarlo

Cada herramienta puede tener una o maacutes opciones de integracioacuten Algunas son especiacute-cas para una cierta herramienta (Ej comunicacioacuten basado en Rest para Delicious y paraSlidshare de manera diferente) y otras comuacuten para varias herramientas (Ej Google DataProtocol) Lo mismo ocurre en el lado de los VLEs por lo que se abre un amplio abanicode tecnologiacuteas interfaces y modelos de datos que hacen que la tarea de integracioacuten seaalgo realmente complejo En la gura 25 podemos ver un resumen de los problemas deintegracioacuten seguacuten las herramientas seleccionadas

223 Enfoques de la integracioacuten

Podemos denir dos enfoques principales a la hora de enfocar la integracioacuten de las her-ramientas de software y los VLEs siendo estos

bull Estandarizar los contratos de integracioacutenLa denicioacuten de unos estaacutendares de integracioacuten podriacutea resolver los problemas de in-tegracioacuten pero no existen hoy en diacutea los mismos o no son aceptados por la mayoriacutea

Figura 24 Problemas de integracioacuten

seguramente por intereses tecnoloacutegicos y comerciales IMS Global Learning Consor-tium siguen intentando realizar la aprobacioacuten de dicho estaacutendar siendo uno de elloIMS-LTI Integracioacuten de aplicaciones y servicios remotos y aunque la adopcioacuten de losmismo por las nuevas versiones de Moodle y Blackboard podriacutea hacer que se apos-tara por esta opcioacuten la falta de herramientas que lo utilicen (Ej Google no lo utiliza)puede hacer que no llegue a buen puerto

bull Crear una arquitecturaEste enfoque trata de adaptar los contratos de integracioacuten de los VLEs y las her-ramientas sin tener que modicar sus implementacioacuten Este mismo enfoque presentados opciones como podemos ver en la gura 26 y que pasamos a detallar

1 Un adaptador por en el lado de VLE y otro en el lado de las herramientas o inclusoun solo paquete que pueda congure toda la conexioacuten En este caso estariacuteamoshablando por ejemplo de los moacutedulo adicionales de Moodle

2 Una capa intermedia y adaptadores Este tipo de arquitectura permite la in-tegracioacuten entre muacuteltiples herramientas externas y muacuteltiple entorno virtuales deaprendizaje a traveacutes de un middleware comuacuten Dicho middleware estariacutea com-puesto de diferentes programas que pueden ser ejecutados en dominios diferentesEsta arquitectura reduce el esfuerzo para la integracioacuten de cada herramienta encada VLE ya que el coacutedigo estaacute parcialmente implementado por los elementos deintegracioacuten comunes Sin embargo el grado de integracioacuten y funcionalidad que sepuede lograr con estas arquitecturas es menor que con la primera opcioacuten

23 Servicios Web

Aunque han sido englobados dentro de integracioacuten de herramientas vamos a detallar queson y que aportan a Moodle

Figura 25 Problemas de integracioacuten

Los Servicios Web (Web Services) son la parte esencial de la interoperabilidad de Moodlecon otras aplicaciones Web 20 consisten en una pieza de software que utiliza un conjuntode protocolos y estaacutendares abiertos para intercambiar datos entre aplicaciones La idea prin-cipal es que distintas aplicaciones de software desarrolladas en lenguajes de programacioacutendiferentes y ejecutadas sobre cualquier plataforma puedan utilizar los servicios Web paraintercambiar datos en la red de ordenadores como Internet El producto resultante es unconjunto de moacutedulos con funcionalidad especiacuteca y completa que se acoplan entre siacute A suvez estos moacutedulos se conectan a una plataforma de e-learning mediante la utilizacioacuten deservicios de base descritos en una capa estaacutendar que funciona como gateway

Para ampliar un poco mejor el concepto de servicios Web citaremos una exposicioacuten delDoctor Marcos Escobar Un Web Service es un componente de software que se comunicacon otras aplicaciones codicando los mensaje en XML y enviando estos mensaje a traveacutesde protocolos estaacutendares de Internet tales como el HTTP Intuitivamente un Web Servicees similar a un sitio Web que no cuenta con un interfaz de usuario y que da servicio a lasaplicaciones en vez de a las personas Un Web Service en vez de obtener solicitudes desdeel navegador y retornar paacuteginas Web como respuesta lo que hace es recibir solicitudes atraveacutes de un mensaje formateado en XML desde una aplicacioacuten realiza una tarea y de-vuelve un mensaje de respuesta tambieacuten formateado en XML

Figura 26 Enfoques de arquitectura de integracioacuten

231 Orquestacioacuten y Coreografiacutea de Servicios Web

Seguacuten Careaga Mercadillo Ana Lilia [car ] la Orquestacioacuten (Web Service Orchestration)y Coreografiacutea (Web Service Choreography) se suelen ver como dos aproximaciones parala Composicioacuten de Servicios Web que se acercan estrechamente a los conceptos musicalespor lo cual se han importado directamente sus signicados A continuacioacuten detallaremosque son y sus posibles aplicaciones

La tarea de componer servicios Web baacutesicos o simples para brindar servicios Web maacutes com-plejos se conoce teacutecnicamente como Composicioacuten de Servicios Web Existen dos grandesaproximaciones para esta tarea la coreografiacutea con foco en la interaccioacuten entre servicios(equivalente a los bailarines) y la orquestacioacuten (equivalente a los instrumentos de la orques-ta) con foco en la implementacioacuten y ejecucioacuten de servicios La primera puede consid-erarse como una descripcioacuten formal del pasaje de mensajes obviando detalles internosde implementacioacuten Se ajusta maacutes en situaciones donde es provechoso contar con la no-cioacuten de estados y tambieacuten donde estaacuten involucradas transacciones de larga duracioacuten- Elorquestadordetermina la naturaleza y la secuencia de la interaccioacuten En cambio la segun-da aproximacioacuten describe la loacutegica y el estado de cada una de las partes involucradas Laorquestacioacuten tiene una visioacuten mas local y centralizada mientras que la coreografiacutea denela composicioacuten desde una perspectiva global sin control centralizado tal y como sucede enla danza

Existen numerosas deniciones de Servicios Web y esto demuestra en parte la gran com-plejidad de los servicios que se agrupan bajo este teacutermino y las implicaciones asociadas aellos Hasta ahora la denicioacuten maacutes general y convincente es decir que los Servicios Webson el conjunto de aplicaciones tecnoloacutegicas con capacidad para interoperar en la Web Es-tas tecnologiacuteas intercambian datos entre ellas con el n de ofrecer servicios de naturalezaremota

La World Wide Web no es soacutelo un espacio de informacioacuten tambieacuten es un espacio de inter-accioacuten Utilizando la Web como plataforma los usuarios de forma remota pueden solicitar

un servicio que alguacuten proveedor ofrezca en la red Pero para que esta interaccioacuten funcionedeben existir unos mecanismos de comunicacioacuten estaacutendares entre diferentes aplicacionesEstos mecanismos deben poder interactuar entre siacute para presentar la informacioacuten de formadinaacutemica al usuario Se precisa pues una arquitectura de referencia estaacutendar que hagaposible la interoperabilidad y extensibilidad entre las distintas aplicaciones y que permitasu combinacioacuten para realizar operaciones complejas Esta arquitectura es conocida con elnombre de SOA (Service Oriented Architecture)

Con el n de estandarizar los diferentes aspectos relacionados con los servicios Web elW3C (World Wide Web Consortium) recoge todo lo referente a ellos en (Web ServicesActivity) Asiacute pues Web Services (WS) ofrece un signicado estaacutendar para interoperarentre diferentes aplicaciones de software corriendo en diferentes plataformas yo marcosde trabajo El W3C pretende disentildear la arquitectura denirla y crear el nuacutecleo de tec-nologiacuteas que hagan posible los Servicios Web Los servicios Web se basan en un lenguajede caracteriacutesticas especiales llamado XML (Extensible Markup Language) que permite quelas aplicaciones compartan informacioacuten y que ademaacutes invoquen funciones de otras apli-caciones independientemente de coacutemo se hayan creado dichas aplicaciones y del sistemaoperativo o plataforma en que se ejecuten Por ejemplo Google utiliza un Servicio Webllamado Google Web APIs que permite que el usuario programe en diversos lenguajes ase-gurando la recuperacioacuten de informacioacuten independientemente de la plataforma que se utilice

Los Servicios Web se idearon en un principio para realizar interacciones simples e indepen-dientes pero ahora es necesario que los servicios colaboren y se coordinen A la coordinacioacutennecesaria para implementar un servicio Web se le llama Composicioacuten que puede realizarsede dos manerasorquestacioacuten y coreografiacutea La principal diferencia entre orquestacioacuten ycoreografiacutea es el alcance La orquestacioacuten trata de la descripcioacuten y ejecucioacuten de un mismoy uacutenico punto de vista global del modelo (instrumentacioacuten) La coreografiacutea trata de la de-scripcioacuten y guiacutea de un modelo global proyectado en base a cada participante (bailarines)La orquestacioacuten y coreografiacutea son teacuterminos que describen dos aspectos de los estaacutendaresemergentes para la creacioacuten de procesos de negocios de muacuteltiples servicios WebLos dosteacuterminos se superponen pero es claro que la orquestacioacuten se reere a un proceso de nego-cio ejecutable que puede interactuar tanto con servicios Web internos como externos Laorquestacioacuten representa siempre el control desde la perspectiva de una de las partes Estolo distingue de la coreografiacutea que es de mayor colaboracioacuten y permite a cada parte impli-cada describir su papel en la interaccioacuten La orquestacioacuten y coreografiacutea tratan de describiraspectos relacionados con la creacioacuten de procesos de negocio que involucran varios tipos deSoftware

Visto graacutecamente podemos ver en la gura 27 la orquestacioacuten permite disentildear proce-sos de negocio ejecutables que pueden interactuar (a nivel de mensaje) tanto con softwareinterno como externo Por otra parte la coreografiacutea es mucho maacutes colaborativa ya quepermite trazar las secuencias de mensajes que se suceden entre todas las partes partici-pantes del proceso de negocio en lugar de centrarse en los mensajes que se intercambianentre los diversos programas de software que implementan los procesos de negocio

Figura 27 Orquestacioacuten y Coreografiacutea de Servicios Web

232 Estaacutendares de Orquestacioacuten de Servicios Web

WS BPEL( Web Service Business Process Execution Language)Es un lenguaje de orquestacioacuten estandarizado porOASIS (Organisation for Advance Struc-tured Information Business Transaction Protocol) para la composicioacuten de servicios Web quepermite a los desarrolladores crear programas que automatizan las interacciones entre losservicios Web jugando un papel clave en las arquitecturas orientadas a los servicios SOAPara comprender su funcionamiento imaginemos un proceso de negocio determinado quetiene una entrada A y una salida B Dicho proceso como la mayoriacutea de ellos posee a suvez de muchos procesos internos que se van activando de acuerdo a ciertos paraacutemetros yvalores BPEL seriacutea el encargado de orquestar y por lo tanto dirigir la ejecucioacuten de unamanera ordenada La ventaja de que BPEL sea un estaacutendar radica en que puede ser imple-mentado en una gran variedad de motores de ejecucioacuten de diferentes proveedores BPELen si es un formato XML que proviene de la convergencia entre el WSFL (Web ServiceFlow Language) de IBM y XLANG de Microsoft La herramienta BPEL estaacute basada en unmodelo llamado Workow que especica las oacuterdenes de ejecucioacuten Existen actividadesbaacutesicas como iumlnvoke y receive y otras estructuradas como sequence Tambieacuten formanparte del modelo variables y participantes (partners) En las variables se deposita la nocioacutende datos y los participantes representan los elementos que interactuacutean en la composicioacutenEl modelo se completa como un motor que orquestaraacute las invocaciones

BPML (Business Process Modeling Language)Es un metalenguaje basado en XML para la descripcioacuten de procesos de negocio Inicial-mente BMPL se disentildeoacute para soportar los procesos que un sistema de gestioacuten de procesosde negocio pudiera ejecutar BPML dispone de estructuras similares a BPEL como puedenser actividades baacutesicas para el enviacuteo y la recepcioacuten de mensajes y para la invocacioacuten deservicios Adicionalmente BPML permite planicar las tareas para que se ejecuten eninstantes especiacutecos ofreciendo algunas opciones de control temporal Este lenguaje in-cluye caracteriacutesticas para dar soporte a la persistencia ya que fue disentildeado para la gestioacutende procesos de larga duracioacuten BPML ofrece soporte tambieacuten para realizar composicionesrecursivas a n de poder construir procesos de negocio que a su vez consten de otros sub-procesos Asimismo soporta transacciones de larga o corta ejecucioacuten gracias a que usa unateacutecnica similar a BPEL para controlar el alcance de las actividades y gestionar de esta

forma las reglas de compensacioacuten en caso de que las operaciones que deben realizarse deforma automaacutetica se vean interrumpidas

233 Estaacutendares de Coreografiacutea de los Servicios Web

WS-CDL (Web Services Choreography Description Language)Es un lenguaje basado en XML que describe la colaboracioacuten entre pares peer to peemediante la denicioacuten - desde un punto de vista global de los comportamientos comunes yobservables de cada participante de un proceso de negocio Eacuteste es un lenguaje utilizadopara la denicioacuten de servicios dentro de la plataforma SOA y cuyo objetivo es la descrip-cioacuten del comportamiento de cada uno de los servicios establecidos para lograr un objetivocomuacuten Sin embargo antes de WS-CDL ya existiacutea un lenguaje que permitiacutea la descripcioacutende las funcionalidades de un Servicio Web WSDL (Web Services Denition Language)el cual puede describir el conjunto de funciones ofrecidas con los posibles fallos que po-driacutean ocurrir y a pesar de que WS-CDL podriacutea expresar las coreografiacuteas de un servicioen un ambiente SOA W3C (World Wide Web Consortium) abandonoacute su desarrollo en 2009

WSCI (Web Service Choreography Interface)La especicacioacuten de WSCI fue desarrollada por diversas compantildeiacuteas como Sun SAP BEAe Intalio y representa una extensioacuten para WSDL para la colaboracioacuten La especicacioacuten de-ne la coreografiacutea global o el intercambio de mensajes entre los diferentes tipos de softwarey soporta su correlacioacuten reglas de secuenciacioacuten manejo de excepciones transacciones ycolaboracioacuten dinaacutemica WSCI soacutelo describe el comportamiento observable entre el softwareque se emplea Una coreografiacutea WSCI constaraacute de un conjunto de interfases WSCI unapor cada uno de los servicios que participen en la interaccioacuten

24 Moodle

El software de coacutedigo abierto (Open-Source Software-OSS) esta siendo ampliamente de-sarrollado ofreciendo nuevas alternativas y posibilidades hasta hace poco inimaginablesMoodle es un claro ejemplo siendo uno de los programas maacutes ampliamente adoptados porcolegios institucioacuten universidades etc Como podemos ver en la gura 28 el nuacutemero deusuarios registrados y los idiomas en los que se encuentra disponible dan muestra de sugran difusioacuten Algunas de las razones mas importante para su eleccioacuten son

Figura 28 Moodle - Abril 2013

bull Moodle es OSS lo cual signica que los usuarios pueden descargarlo libremente usarlomodicarlos e incluso redistribuirlo seguacuten los teacuterminos GNU 3

bull La losofiacutea planteada por Moodle incluye una aproximacioacuten constructiva basada enel constructivismo social de la educacioacuten enfatizando que los estudiantes (y no soacutelolos profesores) pueden contribuir a la experiencia educativa en muchas formas

bull Compatibilidad con maacutes de 70 idiomas diferentes

bull Una excelente documentacioacuten soporte para seguridad y administracioacuten

bull No requiere modicaciones en el sistema operativo pudiendo ser ejecutado en un en-torno Linux Windows Mac OS o cualquier otro siempre que soporten PHP

bull La informacioacuten esta soportada por una simple base de datos

Ademaacutes su sencilla aplicacioacuten en entorno web que utiliza tecnologiacuteas ya ampliamenteprobadas sus mecanismos de extensioacuten maacutes faacuteciles en comparacioacuten con otros VLEs y laexistencia de una gran cantidad de documentacioacuten de desarrollo han impulsado la creacioacutende una gran comunidad de personas que contribuyen a la mejora de Moodle Esta comu-nidad estaacute en constante desarrollo de nuevas caracteriacutesticas y aplicaciones a traveacutes decientos de plugins que pueden ser descargados desde su la web de Moodle y asesoran tantoa otros desarrolladores como usuarios nales

La primera versioacuten de Moodle (10) fuel lanzada en 2002 como parte de la investigacioacuten deMartin Dougiamas del uso del software de coacutedigo abierto para la ensentildeanza y el aprendizajecon las comunidades basadas en Internet[Dougiamas and Taylor 2000] Actualmente seencuentra disponible la versioacuten 243+ como estable y la beta de la versioacuten 25

En cuanto a la parte teacutecnica Moodle estaacute desarrollado en lenguaje PHP como la mayoriacuteade los VLEs utiliza una arquitectura cliente-servidor comuacuten de tres capas CORREGIRLa capa de presentacioacuten dene como la informacioacuten se presenta a los usuarios nales quetienen acceso a esa informacioacuten a traveacutes de sus navegadores web La Capa de loacutegica de ne-gocios se encarga de las relaciones con Moodle el acceso a la capa de datos por lo generala traveacutes de MySQL para almacenar y recuperar la informacioacuten cuando sea necesario

Moodle se distribuye en un solo paquete multiplataforma que incluye PHP MySQL yApache HTTP Server para facilitar los procesos de instalacioacuten y conguracioacuten La dis-tribucioacuten actual de Moodle cumple con varios estaacutendares educativos Por ejemplo Moodlepuede manejar ADL SCORM paquetes que contienen recursos aislados o cursos completosEn cuanto a los estaacutendares IMS Moodle soporta IMS Content Packaging (IMS CP) IMSCommon Cartridge (IMS CC)IMS pregunta y Test Interoperability (IMS QTI) y estaacuteconsiderado como uno de los VLEs compatible con Basic LTI

241 otras plataformas

No podemos dejar de lado otros escenarios educativos que han ido apareciendo en los uacutelti-mos antildeos a pesar del gran eacutexito de los VLEs Algunos ejemplos de estas plataforma son

3httpsmoodleorg

bull Wikis (Ej MediaWiki) Son sistemas software que permiten la creacioacuten y gestioacutende contenidos estructurados mediante paacuteginas web relacionadas entre siacute El contenidosuele estar editado por varios usuarios que trabajan de manera colaborativa pudiendoincluir enlaces a recursos externos

bull Sitios de redes sociales (Ej Facebook) Son sistema en liacutenea donde los usuariospueden crearse sus propios perles y crear una red personal que les mantendraacute conec-tado con otros usuarios Estos sistemas han proliferado en los uacuteltimos antildeos llegando amillones de usuarios No suelen necesitar un administrador pues se utilizan medianteentorno web y son alojados por el propio proveedor Su gran adopcioacuten y el enfoquea las interacciones sociales es lo que ha llevado a muchos profesor a utilizarlo comoherramienta de aprendizaje Estos sitios permiten la creacioacuten y mantenimiento degrupo mediante el perl de usuario pero no estaacuten disentildeados para seguir un enfoquepedagoacutegico

bull Personal Learning Environment - PLE (Ej Southampton) Son denidos comosistemas de software que permiten al estudiante a tomar el control y la gestioacuten de suspropio aprendizaje Se caracterizan por la por la participacioacuten directa de los alumnosen el acceso agregacioacuten conguracioacuten y manipulacioacuten de herramientas y recursos adiferencia de los VLEs done es el educador el que selecciona y gestiona los recursosque el alumno debe utilizar

Muchas de estas herramientas son de coacutedigo libre y abierto Su funcionalidad respecto ala gestioacuten de actividades grupos funciones y herramientas es limitado siendo en algunoscasos inexistente Ninguna de estas plataformas se puede considerar un VLE ya que nosson sistemas centrados en el educador sin embargo pueden apoyar la integracioacuten de apli-caciones externas en entornos de aprendizaje colaborativo

Capiacutetulo 3

Organizacioacuten y Sistema Inicial

A continuacioacuten pasamos a detallar las distintas actividades de la que consta el proyecto quehemos llevado a cabo durante estos meses

31 Lanzamiento del proyecto

Esta actividad consisten en la eleccioacuten de una de las diferentes posibles aacutereas de desarrollo deproyectos que ofrece la UOC siendo la elegida Aplicaciones Web para trabajo colaborativo

32 Denicioacuten del proyecto

El proyecto queda denido en el presente documento siendo el tiacutetulo del mismo Orchestationand Coreography of Web Services on Moodle - Revisioacuten Sistemaacutetica de la literatura

[Duracioacuten] 27-02-2013 al 03-03-2013

33 Anaacutelisis de requisitos

Nos centraremos en la fase de planicacioacuten que incluye los objetivos de la investigacioacuten y la formaen que se llevaraacute a cabo la revisioacuten

[Duracioacuten] 04-03-2013 al 03-06-2013

331 Cuestiones Realizadas

El primer paso en la fase de planicacioacuten seraacute denir los objetivos principales de esta revisioacutensistemaacutetica de la literatura Estos objetivos son analizar el estado del arte de la coreografiacutea yorquestacioacuten de los servicios web en Moodle como LMS

332 Fuentes de datos y buacutesqueda

Utilizaremos diferentes libreriacuteas o espacios digitales para realizar las buacutesquedas las mismas serealizaraacuten en ingleacutes y espantildeol Las libreriacuteas principales utilizadas son

IEEEXplore [IEEEX] httpieeexploreieeeorg

21

Science Direct [SD] httpwwwsciencedirectcom

SpringerLink [SL] httpwwwspringerlinkcom

Paralelamente a Science Direct se han realizado buacutesquedas en Scopus1 de Elsevier y GoogleScholar2 de Google

333 Criterios de inclusioacuten y exclusioacuten

Las buacutesquedas que se realicen intentaraacuten abarcar todo el aacutembito de cuestiones del SLR pero esposible (y de hecho ocurre) el resultado contenga referencias publicaciones estudios o en generalinformacioacuten que no sirve Para ello seraacute necesario denir criterios de inclusioacuten y exclusioacuten loscual haremos basaacutendonos en la guiacutea [Kitchenham 2007]

334 Asegurar la calidad

Despueacutes de obtener un numero considerable de trabajos o estudios que satisfacen los criteriosde inclusioacuten y exclusioacuten se deberaacute ser capaz de asegurar o armar cuales son los que cumplencon una miacutenima calidad y si son vaacutelidos o no para el estudio en si Es baacutesico poder analizar queacuteestudios son mejores que otros en teacuterminos de calidadSiguiente [Kitchenham 2007] se deniraacuten preguntas y cuestiones que permitan asegurar dichacalidad

335 Extraccioacuten de datos y anaacutelisis

Los criterios de inclusioacuten y exclusioacuten junto con las preguntas orientadas a asegurar la calidadnos serviraacuten para obtener todos los artiacuteculos y estudios que se analizan en este estudioDe cada artiacuteculo se recogeraacute titulo y autores abstract publicacioacuten y antildeo de publicacioacuten

336 Fase de revisioacuten

Esta fase de planicacioacuten seraacute denir el proceso de conducir o dirigir la revisioacuten Para elloutilizaremos tres fases como podemos ver en la gura 31 de la paacutegina 23

337 Fase de Pruebas

Se realizan pruebas con la informacioacuten obtenido montado maacutequinas virtuales para realizar lasmismas En estas se han probado las diferentes opciones de comunicacioacuten que nos ofrece Moodle

1httpwwwscopuscom2httpscholargooglecom

Figura 31 Proceso para dirigir la revisioacuten

34 Calendario de Trabajo

Podemos ver en el siguiente diagrama de Gantt32 la distribucioacuten de trabajos en el tiempo elmismo seraacute modicado para ajustarlo a las variaciones producidas durante el desarrollo de lastareas que contempla

35 Hitos principales

Los principales hitos seraacuten

Lanzamiento del proyecto Se dene correctamente en que va consistir el proyecto

Denicioacuten de cuestiones para la buacutesqueda Donde se detallaraacuten las cuestiones quemarcaran el desarrollo del resto del proyecto

Comprobacioacuten de resultados Se deberaacuten criba los mismo para no obtener duplicadoso informacioacuten ajena a la investigacioacuten

Revisioacuten de informacioacuten obtenida Una vez obtenida la informacioacuten y analizada deberaacuteser revisada para su presentacioacuten

Figura 32 Diagrama de Gantt

36 Instalacioacuten base

Para llevar a cabo las pruebas se ha optado por la creacioacuten de una maacutequina virtual sobre VirtualBox 3 en la cual hemos instalado Windows XP como sistema operativo Este sistema es maacutesligero a la hora de trabajar en maacutequinas virtuales pues requiere menos recursos que las versionesposteriores del mismos sistema

El siguiente paso era la instalacioacuten de Moodle Aunque se dispone de un instalador para Win-dows se ha optado por la descarga e instalacioacuten de XAMPP 4 y su y su posterior conguracioacutenen la maacutequina virtual XAMPP es un servidor independiente de plataforma software libre queconsiste principalmente en la base de datos MySQL el servidor web Apache y los inteacuterpretespara lenguajes de script PHP y Perl El nombre proviene del acroacutenimo de X (para cualquierade los diferentes sistemas operativos) Apache MySQL PHP Perl

XAMPP en su versioacuten 181 incluye

Apache 243

MySQL 5527

PHP 547

phpMyAdmin 3522

FileZilla FTP Server 0941

Tomcat 7030

Strawberry Perl 51611 Portable

XAMPP Control Panel 310

Hemos continuado con la descarga he instalacioacuten de Moodle y hemos querido probar las difer-encias que obtenemos entre las versiones 19x y 25 por lo que se han descargado ambas heinstalado en maacutequinas virtuales diferentes Con ello conseguiremos probar el resultado obtenidoseguacuten la versioacuten Moodle desde su versioacuten 22 ya soporta conexiones mediante IMS - LTI IMSLTI es un estaacutendar IMS Learning Tool Interoperability Esto signica que las herramientas deaprendizaje tienen ahora diversas maneras de conectarse entre sin problemas

En la praacutectica cuando un usuario se registra en una herramienta como Moodle se pueden conectara la otra herramienta como MediaWiki y autenticarse automaacuteticamente proporcionando unaexperiencia perfectaLas guras 33 y 34 nos muestran el panel de control de XAMPP una vez instalado y el panede phpMyAdmin donde hemos debido congurar las bases de datos y usuario necesarios parallevar todo el proceso de conguracioacuten de Moodle y el resto de herramientas

3httpswwwvirtualboxorg4httpwwwapachefriendsorgesxampphtml

Figura 33 Panel de control de XAMPP

Figura 34 Gestor de bases de datos phpMyAdmin

Capiacutetulo 4

Servicios Web de Moodle

41 Introduccioacuten

Moodle 2X incorpora la posibilidad de implementar Servicios Web para manejar sus funciona-lidades lo que nos permite poder acceder a acciones de actualizar y crear tareas para reejar elresultado de las actividades realizadas Moodle soporta varios protocolos (REST SOAP XML-RPC y AMF)

42 Servicios Web de Moodle

Los Servicios Web de Moodle se caracterizan por permitir el acceso desde cualquier aplicacioacutenimplementando para ello tres capas como podemos observar en la gura 41

Capa nuacutecleoLa capa del nuacutecleo estaacute compuesta de todas las funciones principales de Moodle sobreusuarios grupos cursos calendario etc Moodle no dispone de una API al uso sino queofrece diferentes funciones que han sido desarrolladas durante antildeos Por tanto las necesi-dades de los Servicios Web estaacuten obligando a rehacer estas funciones del nuacutecleo para quecomiencen a formar una API (Moodle 2X)

Capa externaLa capa externa estaacute compuesta por nuevos cheros llamados externalphp colocados porlas carpetas de Moodle y conteniendo manejadores para la capa inferior Estos manejadoresson los responsables de comprobar las capacidades paraacutemetros y llamadas correctas a lasfunciones de nuacutecleo

Capa de conectoresLa capa de conectores estaacute compuesta de diferentes conectores para las diferentes imple-mentaciones de los Servicios Web y contiene un conector REST un conector SOAP unconector XML-RPC y un conector AMF Esta capa admite plugins para ampliar los conec-tores disponibles de manera que se puedan integrar otros sistemas en Moodle utilizandootros protocolos

Los pasos para utilizar un Servicio Web con Moodle seriacutean los siguientes

1 El cliente enviacutea el nombre de usuario y contrasentildea al servidor que provee los ServiciosWeb

27

Figura 41 Capas en Moodle

2 El servidor de protocolo devuelve un token de sesioacuten para esa cuenta de usuario

3 El cliente llama a un Servicio Web especiacuteco incluyendo el token de sesioacuten

4 El servidor utiliza el token para comprobar que la sesioacuten del Servicio Web estaacute activa

5 El servidor llama a la funcioacuten correspondiente localizada en el chero externallibphp dentrodel moacutedulo especiacuteco

6 La funcioacuten externa comprueba que el usuario actual tenga los permisos sucientes pararealizar esta operacioacuten

7 La funcioacuten externa llama a la funcioacuten correspondiente del nuacutecleo de Moodle (libphp)

8 La funcioacuten del nuacutecleo puede retornar un resultado a la funcioacuten externa

9 La funcioacuten externa devolveraacute el resultado al servidor de protocolo

10 El servidor de protocolo devolveraacute el resultado al cliente

43 REST

REST (Representational State Transfer) es el acroacutenimo de Transferencia de Estado Representa-cional teacutermino usado por Roy Fielding (uno de los creadores de HTTP) para describir un estilode arquitectura que utilizar como modelo en los sistemas de computacioacuten Web No es un es-taacutendar sino un enfoque que muestra como desarrollar y proporcionar servicios en Internet portanto considerado como un estilo arquitectoacutenico para disentildeo de software a gran escala El propioautor lo dene de manera concisa en eacuteste paacuterrafo

REST es un intento de mostrar coacutemo debe comportarse una aplicacioacuten Web bien disentildeada unared de paacuteginas Web (una maacutequina de estados virtual) donde el usuario progresaraacute seleccionan-do enlaces (transiciones de estado) que devuelven la paacutegina siguiente (el siguiente estado de lamaacutequina) que el usuario manejaraacute a su gusto

Este enfoque no aporta realmente nada nuevo la mayor parte de la Web sigue este estilo arqui-tectoacutenico Sin embargo el autor hace eacutenfasis en las caracteriacutesticas concretas que han hecho quela Web triunfe que van a ser los objetivos buscados por REST y que son a su juicio

Escalabilidad en las interacciones entre componentes La red ha ido creciendo de maneraexponencial y se ha ido comportado de manera satisfactoria

Generalidad en las interfaces Se proporciona acceso con distintos clientes y con distintosmecanismos de acceso

Desarrollo independiente de componentes Implementaciones cliente y servidor pueden serdesarrolladas en distintos momentos

Existencia de componentes intermediarios con los cuales existe compatibilidad (comoproxys)que permiten encapsulacioacuten e integracioacuten de sistemas no Web dentro de la misma

431 Principios de disentildeo

Los objetivos citados van a ser conseguidos imponiendo una serie de restricciones

El estado y la funcionalidad de las aplicaciones se representan por forma de recursos

La identicacioacuten de recursos se realiza de forma uacutenica global mediante Uniform ResourceIdentiers Los recursos identicados con URIs son los objetos loacutegicos a los cuales se lesmandan los mensajes

Manipulacioacuten de recursos a traveacutes de representaciones luego no se manejan directamentelos recursos sino sus representaciones

Todos los recursos comparten un interfaz uniforme formado por

bull Un conjunto de operaciones limitado para transferir el estado Se van a aprovecharlas operaciones que HTTP dene mostradas en la gura 42

bull Un conjunto limitado de tipos de contenidos identicados mediante tipos MIME

Uso de un protocolo clienteservidor sin estado y basado en capas Cada mensaje HTTPcontendraacute la informacioacuten necesaria para comprender la peticioacuten luego como muestra lagura 43 no es necesario que eacutesta sea entendida tanto en el cliente como en el servidor

Uso de hipermedios para representar el estado de una aplicacioacuten permitiendo que el estadode una aplicacioacuten Web particular esteacute almacenado en uno o maacutes documentos de hipertextoque residen bien en el servidor o en el cliente Esto permite al servidor saber el estado desus recursos sin necesidad de almacenar el estado de los clientes concretos

Figura 42 Operaciones denidas por HTTP

Como ya se mencionoacute REST se trata de un estilo arquitectoacutenico no un estaacutendar Sin embargohace uso de varios estaacutendares Web

HTTP HyperText Transfer Protocol

Figura 43 Operaciones denidas por HTTP

URL Uniform Resource Locator como el mecanismo de indenticacioacuten de recursos

XML - HTML - PNG - etc Como distintos formatos de representacioacuten de recursos

Tipos MIME como text-xml text-html image-png etc

44 SOAP

SOAP (siglas de Simple Object Access Protocol) es un protocolo estaacutendar que dene coacutemo dosobjetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML Esteprotocolo deriva de un protocolo creado por David Winer en 1998 llamado XML-RPC SOAPfue creado por Microsoft IBM y otros y estaacute actualmente bajo el auspicio de la W3C

441 Principios de disentildeo

La funcionalidad que aporta SOAP es la de proporcionar un mecanismo simple y ligero de in-tercambio de informacioacuten entre dos puntos usando el lenguaje XML SOAP no es maacutes que unmecanismo sencillo de expresar la informacioacuten mediante un modelo de empaquetado de datosmodular y una serie de mecanismos de codicacioacuten de datos Esto permite que SOAP sea uti-lizado en un amplio rango de servidores de aplicaciones que trabajen mediante el modelo decomunicacioacuten RPC (Remote Procedure Call)

SOAP consta de tres partes como podemos ver en la gura 44

El SOAP envelope que dene el marco de trabajo que determina queacute se puede introduciren un mensaje quieacuten deberiacutea hacerlo y si esa operacioacuten es opcional u obligatoria

Las reglas de codicacioacuten SOAP que denen el mecanismo de serializacioacuten que seraacute usadopara encapsular en los mensajes los distintos tipos de datos

La representacioacuten SOAP RPC que dene un modo de funcionamiento a la hora de realizarllamadas a procedimientos remotos y la obtencioacuten de sus resultados

A la hora de realizar el disentildeo de SOAP se han tenido en cuenta una serie de consideracionescon el n de cumplir una serie de objetivos claros objetivos que le daraacuten el potencial que resideen SOAP y que le haraacuten tan atractivo Eacutestos son

Establecer un protocolo estaacutendar de invocacioacuten a servicios remotos que esteacute basado enprotocolos estaacutendares de uso frecuente en Internet como son HTTP (Hiper Text TransportProtocol) para la transmisioacuten y XML (eXtensible Markup Language)para la codicacioacutende los datos

Figura 44 Partes de SOAP

Independencia de plataforma hardware lenguaje de programacioacuten e implementacioacuten delservicio Web

El logro de estos objetivos ha hecho de SOAP un protocolo extremadamente uacutetil ya que elprotocolo de comunicacioacuten HTTP es el empleado para la conexioacuten sobre Internetpor lo que segarantiza que cualquier cliente con un navegador estaacutendar pueda conectarse con un servidor re-moto Ademaacutes los datos en la transmisioacuten se empaquetan o serializan con el lenguaje XML quese ha convertido en algo imprescindible en el intercambio de datos ya que es capaz de salvar lasincompatibilidades que existiacutean en el resto de protocolos de representacioacuten de datos de la red

Por otra parte los servidores Web pueden procesar las peticiones de usuario empleando tec-nologiacuteas tales como Servlets paacuteginas ASP (Active Server Pages) paacuteginas JSP (Java ServerPages) o sencillamente un servidor de aplicaciones con invocacioacuten de objetos mediante CORBACOM o EJB

Un ejemplo tiacutepico de disentildeo de un servicio Web utilizando las ventajas de SOAP podemos veren la siguiente gura 45

Figura 45 Ejemplo de uso de SOAP

45 AMF

AMF (Action Message Format) es un protocolo binario de Adobe que va por la versioacuten AMF3Aunque por el nombre de la versioacuten pueda parecer que existan 3 cabe destacar que soacutelo existendos AMF0 y AMF3 Una de las mayores diferencias o mejoras que aporta AMF3 es que soporta

datos binarios (ByteArray) y int datos no soportados por AMF0 debido a que en la eacutepoca queaparecioacute el formato Flash Player no soportaba estos tipos de datos

AMF3 no es un protocolo para transferir informacioacuten sino que representa el formato en el quese transmite la informacioacuten en este caso un formato binario

La versioacuten de Moodle 25 viene con Zend_ AMF pero podemos utilizar tambieacuten la libreriacuteaamfPHP

AMFPHP

Zend_ amf httpframeworkzendcommanual112enzendamfhtml

Maacutes informacioacuten en httpdocsmoodleorgdevAMFPHP

46 Conguracioacuten de Moodle Web Services

Los Servicios Web habilitan que otros sistemas puedan entrar a Moodle y realizar operacionesPasaremos a detallar los pasos necesarios para su conguracioacuten y explicaremos distintos pruebasllevadas a cabo sobre su funcionamiento Para poder consumir de manera correcta unWeb Servicede Moodle seriacutea necesario antildeadir a la url que vamos a formar los paraacutemetros oportunos paralograr consumir el Web Service de manera satisfactoria Una vez antildeadidos ya podriacuteamos invocarla funcioacuten seleccionada

461 Activando los Servicios Web

Lo primero que debemos hacer es activar la opcioacuten general que habilita el uso de los serviciosweb En la gura 46 podemos observar la opcioacuten para la activacioacuten de este servicio para ello nosiremos a la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Servicios Externos

Figura 46 Activacioacuten Servicios Web

Esto solo es una opcioacuten a nivel global necesitando ahora activar los protocolos de comunciacionesque vamos a utilizar para ello deberemos ir a la opcioacuten textitAdministracioacuten del Sitio - Exten-siones - Servicios Web - Administrador de protoclos donde encontraremos las diferente opcionesque nos existen En la gura 47 podemos ver la pantalla de nuestra conguracioacuten con todos losprotocolos activados

Una vez activada la opcioacuten de Servicios Externos y seleccionados los protocolos que utilizaremosnecesitamos crear un Servicio Personalizado que no es maacutes que una etiqueta que aglutina los

Figura 47 Activacioacuten Protoclos

Servicios Web que ofrece Moodle y que pueden ser utilizados por los servicios externos Para ellodeberemos darle a la opcioacuten Agregar dentro de la opcioacuten Administracioacuten del Sitio - Extensiones- Servicios Web - Servicios Externos Como prueba habilitaremos un servicio llamado Uso_Servicio_ Web cuya creacioacuten podemos ver en la gura 48

Figura 48 Creacioacuten Servicio Personalizado

Una vez creado el Servicio Personalizado deberemos agregarle las funciones que queramos lesean permitidas pudiente tener maacutes de una En la gura 49 vemos como asociamos la creacioacutende usuarios al Servicio Personalizado

Terminado esto deberemos tener en el listado que nos muestra Moodle de Servicios personaliza-dos algo como lo mostrado en la gura 410

El siguiente paso es conceder los permisos apropiados para que este Servicio Personalizado puedeser usado por los usuarios pare ello debemos primero especicar quienes son los Usuarios au-torizados para ello en la linea de la lista de Servicios Personalizados deberemos pulsar sobre laopcioacuten usuarios autorizados donde apareceraacute una pantalla como 411 donde podremos escogerlos usuarios de los que se encuentran dados de alta en nuestro sistema

Y para terminar aunque este paso podriacutea ser realizado por el propio usuario si tuviera el per-miso de moodlewebservicecreatetoken seraacute la creacioacuten de un token el cual va ser la opcioacuten quevamos a utilizar para las pruebas de los Servicios Web de Moodle Para la creacioacuten del mismodeberemos entrar en la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Admin-istrar tokens y pulsar la opcioacuten Agregar para antildeadir un token nuevo como podemos apreciar en

Figura 49 Agregando funciones al Servicio Personalizado

Figura 410 Listado de Servicios Personalizados

la gura 412 teniendo la precaucioacuten de escoger como Servicio el Servicio Personalizado creadocon anterioridad Uso_ Servicio_ Web

En esta pantalla podemos poner varios tipos de restricciones

Restriccioacuten de IP Donde podemos indicar la direccioacuten IP desde donde

Restriccioacuten de Fecha Se puede denir hasta cuando seraacute valido este token siendo unabuena manera de poder probar cosas y no dejar puertas abiertas por error

En la gura 413 podemos ver el token asignado por el sistema para nuestro Servicio Personalizadoy que procederemos a utilizar para comprobar el funcionamiento de los Servicios Web de Moodle

462 Pruebas cliente Servicio Web

Procederemos ahora a desarrollar pruebas que utilicen los Servicios Personalizados creado Sepodriacutean haber utilizado el Cliente de prueba de servicio web que incorpora Moodle dentro dela opcioacuten Administracioacuten del Sitio - Desarrollo - Cliente de prueba servicio web pero hemosdecidido implementar una Web para comprobar la facilidad del funcionamiento del sistema y losdistintos resultados obtenidos seguacuten el protocolo utilizado

Utilizaremos la libreriacutea cURL de PHP cURL es una herramienta que permite abrir conexionesen una amplia variedad de protocolos y que estaacute disponible tanto como herramienta de consola(para ejecutar directamente con comandos) como en libreriacutea (para usar en vuestro coacutedigo) y quepermite hacer praacutecticamente todo manejo de cookies descarga de cheros binarios enviacuteos de

Figura 411 Alta de Usuarios Autorizados

Figura 412 Creacioacuten de Tokens

paraacutemetros GET y POST etc

La web creada para la introduccioacuten 414 de los usuarios seraacute equivalente para todos los procesosprocesos siendo el programa que da respuesta al formulario el que implemente la funcioacuten nece-saria para la introduccioacuten de los datos en Moodle

Los resultados de REST pueden mostrar los resultados del alta de dos maneras diferentes unaen formato XML como podemos ver en la gura 415 y otro en formatox JSON tambieacuten po-dremos ver en la gura Los resultados obtenidos tambieacuten pueden verse en el la gura 416

Figura 413 Lista de Tokens

Figura 414 Web de alta de usuarios

Figura 415 Resultado de REST en formato XML

Figura 416 Resultado de REST en formato JSON

Capiacutetulo 5

Herramientas Externas

51 Introduccioacuten

Las versiones de Moodle desde la 22 vienen con IMS LTI o External Tool de manera integradaEn versiones anteriores era necesario la instalacioacuten de plugins como LTI Provider (maacutes informa-cioacuten en la web de Moodle1 IMS LTI es un estandar de IMS learing2 para la interoperabilidadde herramientas Esto signica que las herramientas de aprendizaje tienen ahora un mecanismopara jar el modo en que pueden conectarse entre ellas sin problemas

En la praacutectica cuando un usuario se registra en Moodle puede conectarse a otras herramientascomo Wikis o Blogs y autenticarse de manera automaacutetica en estas

52 Estaacutendares IMS

Actualmente se realizan esfuerzos para la integracioacuten de servicios a una plataforma virtual deaprendizaje mediante un mecanismo reutilizable independiente del tipo de plataforma El IMSGlobal Learning Consortium viene desde hace tiempo trabajando en este enfoque IMS GLCpresenta un conjunto de estaacutendares que promueven el uso de servicios de aprendizaje digitales(Digital Learning Services) dentro de las plataformas de aprendizaje tradicionales IMS DigitalLearning Services estaacute integrado por los siguientes estaacutendares principales IMS Common Car-tridge [ims a] IMS Learning Tool Interoperability [ims c] y IMS Learning Information Services[ims b]

El IMS Learning Tool Interoperability es una especicacioacuten para facilitar la inclusioacuten de her-ramientas externas dentro de un curso El administrador de la plataforma de aprendizaje ges-tiona los servicios que podraacuten ser consumidos por la plataforma el docente decide que serviciosutilizaraacute en su curso y el estudiante hace uso de los mismos IMS LTI permite que distintos LMSconsuman un mismo servicio el cual no fue implementado teniendo en cuenta el tipo de LMSsino la implementacioacuten del estaacutendar desde el lado del proveedor

El enfoque del IMS LTI estaacute dirigido a la creciente demanda de un mecanismo reutilizable para laintegracioacuten de herramientas de terceros en el nuacutecleo de las plataformas LMS Estas herramientas

1httpsmoodleorgpluginsviewphpplugin=local_ltiprovider2httpwwwimsglobalorgtoolsinteroperability2cfm

37

pueden agregar funcionalidad especializada a los LMS El enfoque ofrece una solucioacuten basada enWeb Services igualmente aplicable a distintos lenguajes de programacioacuten

Las versiones del LTI son

LTI v10 ( LTI Basic ) ( publicado en mayo de 2010 ) proporciona un meacutetodo sencillopero estaacutendar para establecer una conexioacuten segura a una herramienta desde el interior deun consumidor de herramientas El lanzamiento de este enlace permite una experienciade aprendizaje sin problemas para los estudiantes que acceden a las aplicaciones ricas queparecen tener lugar dentro del ambiente de aprendizaje Versioacuten 10 es el primer paso en eldesarrollo continuo de LTI Figura 51

LTI v11 ( publicado en marzo 2012 ) antildeade la posibilidad de pasar de nuevo un resultadode la herramienta al Consumidor de herramientas Esto permite que los estudiantes recibenuna calicacioacuten o puntuacioacuten de su interaccioacuten con la aplicacioacuten de aprendizaje

LTI v111 ( publicado en julio de 2012 ) incluye soporte para el papel Mentor que se puedeutilizar para representar a un padre tutor o auditor

LTI v20 Aun en estado de desarrollo y proporciona una plataforma maacutes sosticado y ex-tensible para permitir integraciones maacutes profundas y un mayor apoyo para los serviciosy eventos LTI 2 se basa en LTI 1 mediante la incorporacioacuten de maacutes sosticada resulta-dos de informes y una rica arquitectura de extensiones que permite servicios adicionalesque se antildeadiraacuten gradualmente LTI 2 utiliza REST y JSON-LD para ofrecer esta nuevafuncionalidad

Figura 51 Esquema LTI Baacutesico

En la gura 52 podemos observar como se podriacutean utilizar las ventajas de LTI por parte decada unos de los actores a lo largo de la vida de la aplicacioacuten de servicios externos dentro de unaplataforma de aprendizaje

En la paacutegina web de IMS3 podemos encontrar una relacioacuten de aplicaciones certicadas comocompatibles con el estaacutendar LTI indicando la versioacuten del LTI que cumplen En la gura 53podemos ver las aplicaciones certicadas por UOC y en la gura 54 la informacioacuten sobre una deestas herramientas

3httpwwwimsglobalorgccalltoolscfm

Figura 52 Esquema utilizacioacuten LTI

Figura 53 Listado de herramientas LTI de la UOC

53 Herramientas externas en Moodle

La siguiente seccioacuten consiste en la aplicacioacuten de alguno de esto servicios externos en Moodlepara comprobar su funcionamiento Nos decantaremos para la primera prueba por WordPresspues aunque existen manuales al respecto la documentacioacuten en castellano es escasa

531 Wordpress

La versioacuten estaacutendar de Wordpress a la cual accedemos cuando nos abrimos cuenta en Wordpressno viene con las herramientas necesarias para la iteracioacuten mediante LTI por lo que procedere-mos a la instalacioacuten en nuestro servidor de Wordpress para pasar a la instalacioacuten de los pluginsnecesarios

La instalacioacuten ha consistido en la descarga de la web ocial 4 de la versioacuten 351 la cual hemoscopiado dentro del directorio htdocs de nuestra instalacioacuten de Xampp Hemos dado de alta unnuevo usuario en nuestra base de datos llamado username como podemos ver en la imagen 55 yposteriormente hemos seguido los pasos que el instalador nos iba ofreciendo para tener instalado

4httpwordpressorgdownload

Figura 54 Informacioacuten sobre la certicacioacuten

Wordpress bajo la url httplocalhostwordpress

Figura 55 Usuario de Wordpress

Deberemos congurar Wordpress para que trabaje como multisitio para lo que deberemos seguirlos pasos de conguracioacuten que podemos encontrar en la web ocial de Wordpress5 bajo el nombreCreate A Network consistente en los siguientes pasos

1 Realizar una copia de seguridad por si acaso

2 Modicar el chero wp-congphp incluyendo la siguiente linea encima de Thats allstop editing Happy blogging Multisite dene (WP_ ALLOW_ MULTISITE true)

Multisite dene (WP_ ALLOW_ MULTISITE true)

3 Installar un Network Para ello hemos de entra en la opcioacuten Administration -gtTools -gtNetwork Setup donde podremos congurar opciones sobre el nombre que queremos declararpara el nuevo sitio

4 Activar el Network para ello debemos modicar los cheros wp-congphp y htaccess porlo que seriacutea bueno que realizaacuteramos primero un copia de seguridad de los mismos Loscambios que debemos realizar son los siguientes

5httpcodexwordpressorgCreate_A_Network

En wp-congphp dene(MULTISITE true)dene(SUBDOMAIN_ INSTALL false)dene(DOMAIN_ CURRENT_ SITE localhost)dene(PATH_ CURRENT_ SITE wordpress)dene(SITE_ ID_ CURRENT_ SITE 1)dene(BLOG_ ID_ CURRENT_ SITE 1)

El chero htaccess debe quedar asiacute BEGIN WordPressltIfModule mod_ rewritecgtRewriteEngine OnRewriteBase wordpressRewriteRule icircndexphp$ - [L]

add a trailing slash to wp-adminRewriteRule ([_ 0-9a-zA-Z-]+)wp-admin1wp-admin [R=301L]

RewriteCondREQUEST_ FILENAME -f [OR]RewriteCondREQUEST_ FILENAME -dRewriteRule - [L]RewriteRule ([_ 0-9a-zA-Z-]+)(wp-(content|admin|includes)) $2 [L]RewriteRule ([_ 0-9a-zA-Z-]+)( php)$ $2 [L]RewriteRule indexphp [L]ltIfModulegt

END WordPress

5 Esto nos habraacute creado en la parte izquierda de la barra de herramientas de Wordpressuna nueva opcioacuten llamada My Sites que contendraacute un listado de los sitios de nuestroWordpress

El siguiente paso seraacute la descarga del plugin los cual podremos hacerlos desde la web de sour-forgenet 6 En esta web se detalla informacioacuten sobre el plugin y como se debe instalar Siguiendolos pasos que tenemos en el mismo procederemos a la descarga y el desplegado del mismo en lacarpeta wp-contentmu-plugins Salimos de Wordpress y volvemos a entrar como superusuariosi entramos dentro de la nueva red realizada podremos ver que dentro de LTI Consumers Keystendremos la opcioacuten LTI Consumers Keys como podemos ver en la imagen 56

Aquiacute deberemos crear la clave del consumidor del servicio y la clave secreta que nos permitiraacute aMoodle conectarse a Wordpress

Una vez que tenemos la clave secreta y del consumidor deberemos volver a Moodle entrandocomo administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

6httpsourceforgenetappsmediawikilearningappsindexphptitle=LTI4Wordpress

Figura 56 Servicios LTI en Wordpress

Figura 57 Listado de claves de LTI en Wordpress

-LTI En esta paacutegina podremos rellenar nuestras opciones

Tool Name Seraacute el nombre que tendraacute la herramienta y deberemos poner alguno indicativode la herramienta que estemos utilizando

Tool Base URL Es la direccioacuten de la herramienta en nuestro caso httplocalhostwordpress

Deberemos rellenar con los datos obtenidos en Wordpress la clave de consumidor y la clavesecreta

Es importante marcar Show tool type when creating tool instances para que aparezcaposteriormente al crear los recursos en nuestros cursos

Para poder probar el sistema hemos creado un curso dentro de Moodle llamada WordpressLTIdonde daremos de la siguiente manera de alta 59

Dentro de nuestro curso seleccionamos la opcioacuten de Edicioacuten

Pulsamos sobre Antildeadir una actividad o un recurso

Seleccionamos External Tool

Rellenamos las opciones

bull Nombre de la Actividad Cualquiera de nuestra eleccioacuten

Figura 58 Conguracioacuten LTI en Moodle

bull Tipo de herramienta externa El nombre que le pusimos a la herramienta externa enla conguracioacuten LTI de Moodle

bull Launch Container Hemos elegido la opcioacuten Incrustar para ver el resultado

Figura 59 Conguracioacuten Herramienta Externa

Una vez congurado podemos lanzar la herramienta externa teniendo como resultado la gura510

Figura 510 Wordpress integrado en Moodle

532 ChemVantage

ChemVantage es un recurso gratuito para la educacioacuten cientiacuteca que incluye ejercicios de gradoejercicios de preparacioacuten exaacutemenes de la praacutectica conferencias de video y libros de texto enliacutenea gratis Fue creado por ChemVantage LLC que fue fundada por el Prof Chuck Wight queha ensentildeado Quiacutemica General en la Universidad de Utah desde 1984 (ChemVantage 2011)

Nos hemos puesto en contacto con Chuck Wight (adminchemvantageorg) para solicitarle unaclave de consumidor y secreta para poder probar este recurso desde moodle Las opciones y elcorreo puede verse en la gura 511

Una de las cosas maacutes importantes de ChemVantage y por lo que nos hemos decidido a probar esque permite la devolucioacuten de las notas obtenidas en los ejercicios realizados en las herramientasexternas a Moodle El alumno podraacute realizar las tareas en esta herramienta externa y luego sercalicadas en Moodle

ChemVantage estaacute certicada por IMS 7 como un proveedor de herramientas LTI v11 y comotal funciona desde nuestro propio LMS para llevar a cabo la autenticacioacuten de sitios provee decuentas y devuelve resultados de asignacioacuten de estudiantes con el libro LMS grado automaacutetica-mente

Los recursos disponible son ChemVantage son principalmente los siguientes

1 QuizzesLos ejercicios presentados aquiacute estaacuten disentildeados para animar a los estudiantes a leer y en-tender los libros de texto utilizados en el curso Las preguntas se basan en material que sepresente en su mayor parte en los textos de introduccioacuten de quiacutemica Los iacutetems de preguntastienen respuestas straighforward no requieren caacutelculos detallados Las preguntas se presen-tan en varios formatos diferentes incluyendo opcioacuten muacuteltiple verdadero falso casilla devericacioacuten ll-in-the-blanco y numeacutericas Cada cuestionario se compone de 10 preguntasextraiacutedas al azar de una base de datos con muchas maacutes preguntas En el proceso de tomarvarias pruebas para mejorar sus calicaciones los estudiantes probablemente encuentran

7httpdevelopersimsglobalorgcoursechemvantagehtml

algunas preguntas repetidas de concursos anteriores sin embargo es poco probable quecualquiera de los dos cuestionarios contendraacute exactamente el mismo conjunto de preguntasen el mismo orden Asignando pruebas para ser completado antes de la conferencia losprofesores pueden estar seguros de que sus estudiantes tengan un poco de exposicioacuten almaterial Esto permite una mayor discusioacuten el diaacutelogo y la participacioacuten en el aula y haceel aprendizaje maacutes divertido (de verdad)

2 Video LecturesUna serie de conferencias de viacutedeo de 10 minutos sobre una variedad de temas de QuiacutemicaGeneral es accesible desde la paacutegina principal Los videos estaacuten disentildeados para reforzar lospuntos principales que se presentan en muchos libros de texto

3 HoweworksLas tareas estaacuten disentildeadas para dar a los estudiantes la praacutectica en la resolucioacuten de proble-mas cuantitativos que tienen respuestas numeacutericas Cada alumno puede descargar la tareatrabajar los problemas y presentar las respuestas en liacutenea Respuestas son juzgados a sercorrecta si la solucioacuten numeacuterica de acuerdo con la solucioacuten que se encuentra en la base dedatos dentro de una tolerancia especicada (indicado para cada problema) El sitio informaa los estudiantes que las respuestas son correctas para que puedan rehacer problemas malresueltos y volver a presentar las respuestas Cada problema se basa en una plantilla queatrae paraacutemetros al azar por lo que la respuesta correcta es diferente para cada estudianteEsto hace que sean adecuadas para la colaboracioacuten y el trabajo en grupo porque a pesarde que el grupo puede trabajar para encontrar un algoritmo correcto para resolver un prob-lema cada estudiante tendraacute que usar el algoritmo para encontrar la solucioacuten detallada asu propio problema

4 Practice ExamsLos estudiantes pueden realizaar exaacutemenes de praacutectica cronometrados que muestran laspreguntas de un grupo de 3 o maacutes temas Cada examen estaacute disentildeado para tardar unos60 minutos o menos e incluye una seleccioacuten de 10 preguntas Las praacutecticas de exaacutemenespueden repetirse cuantas veces se desee Las preguntas numeacutericas son parametrizadas loque es muy poco probable que un estudiante realice alguna vez dos exaacutemenes de praacutecticaideacutenticos

5 Portofolio PageCada estudiante puede acceder a una paacutegina que le da la puntuacioacuten obtenida en cada prue-ba y la asignacioacuten de tareas Los estudiantes que son miembros de un grupo tienen unapaacutegina de resultados asociados a las tareas de grupo Hay una paacutegina de carpeta separadaque contiene un resumen de todas las actividades realizadas en ChemVantage incluyendovideos vistos cuestionarios completados resolver problemas con la tarea y la praacutectica deexaacutemenes completados Las puntuaciones en los exaacutemenes de praacutectica son desagregadospara revelar fortalezas y debilidades estudiantes por temas

Hemos procedido a darlo de alta en LTI como hicimos con Wordpress Entramos en Moodle co-mo Administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

Figura 511 Correo de Chuck Wight

-LTI quedando como resultado la siguiente hoja de paraacutemetros gura 512

El siguiente paso seraacute antildeadir la herramienta dentro de nuestro curso para ello pulsaremos sobreAntildeadir una actividad o un recurso Deberemos seleccionar External Tool y rellenamos las op-ciones de la herramienta seleccionando como Tipo de herramienta externa la opcioacuten creada enel apartado de LTI de Moodle

Una vez congurado la herramienta en Moodle podemos entrar para realizar una personalizacioacutende la herramienta gura 513 esta consiste en indicar si el alumno cuando se conecta realiza undeterminado tarea o puede elegir navegar por la web de ChemVantage para poder disfrutar dela cantidad de recursos que se encuentran disponibles

Cuando el usuario pulsa sobre la opcioacuten de esta herramienta externa en Moodle lo primero quese le muestra es la informacioacuten sobre su perl en Chemvantage 514Como hemos visto en los paraacutemetros de conguracioacuten existe la posibilidad de llamar a unaherramienta externa incrustaacutendola dentro de Moodle o abrieacutendolo en una paacutegina web nuevaCon esta segunda opcioacuten no hemos conseguido que funcione correctamente la importacioacuten de lasnotas En cambio si la herramienta externa estaacute incrustada permite esa vinculacioacuten

Figura 512 Conguracioacuten de paraacutemetros LTI

Figura 513 Opciones de inicio de la herramienta

Figura 514 Pantalla de utilizacioacuten de la herramienta por el usuario

Capiacutetulo 6

Middleware

61 Introduccioacuten

La uacuteltima opcioacuten seriacutea utilizar una arquitectura middleware de integracioacuten que permita la inte-gracioacuten ligera de muacuteltiples herramientas existentes en el Moodle

62 GluePS

GLUE-PS es una arquitectura de middleware que permite una interoperabilidad ligera entrelos diferentes lenguajes de disentildeo de aprendizaje y diferentes entornos de aprendizaje virtualEsta interoperabilidad permite a los maestros y otros profesionales que particularicen (es decirpara personalizar el disentildeo de aprendizaje abstractoa la clase particular los participantes y laeleccioacuten de los instrumentos en los que va a ser promulgada) desplieguen (es decir para crearde forma semiautomaacutetica las actividades necesarias en el VLE recursos etc para la aprobacioacutendel disentildeo particularizado) e incluso para llevar a cabo ciertos cambios en el tiempo de ejecucioacuten(por ejemplo modicar la composicioacuten del grupo agregar o quitar recursos de las actividadesetc) Todo esto a partir de disentildeos en distintos lenguajes de disentildeo de aprendizaje tales como laespecicacioacuten IMS-LD aprendizaje

Por otra parte GLUE-PS tambieacuten permite desplegar y gestionar disentildeos de aprendizaje en en-tornos virtuales de aprendizaje que integren herramientas de aprendizaje externos (tales comointegrar en Moodle herramientas como Google Docs y muchos otros) - lo que llamamos Am-bientes de Aprendizaje Distribuido (DLE Distributed Learning Enviroments) Esto se consiguegracias a la arquitectura de GLUE para la integracioacuten de los entornos virtuales de aprendizajey herramientas externas

621 Instalacioacuten

Para realizar la instalacioacuten de GLUE-PS nos hemos descargado el software necesario de la webde los desarrolladores1 descargando la opcioacuten de autenticacioacuten centralizada La instalacioacuten haconstado de tres partes que pasaremos a describir a continuacioacuten

1httpwwwgsicuvaesglue

49

Figura 61 Arquitectura de GLUE

La primera parte consiste en la instalacioacuten del GLUEletManager y los adaptadores GSIC toolAunque el sistema viene preparado para Linux o Windows siendo Windows la explicacioacuten quevamos a desarrollar por estar utilizando este sistema operativo con Xampp

1 Crear el directorio GLUE_ HOME El cual hemos creado para mayor comodidad en la raiacutezdel disco duro

2 Denir la variable del sistema GLUE_ HOME con el valor de la direccioacuten completa deldirectorio de GLUE del punto anterior Para ello hemos pulsado botoacuten derecho sobre MiPc Propiedad Opciones Avanzadas Variables de Entorno procediendo a pulsar el botoacutenNueva para crear la variable en cuestioacuten

3 Extraemos en el directorio del punto (1) el paquete descargado de la paacutegina de los desar-rolladores

4 Ejecutar la instalacioacuten del cheroGLUE_ HOMEbininstall gluebat para registar GLUElet-Manager y GSIC tool como un servicio de Windows Tambieacuten este paso crearaacute un cheroen GLUE_ HOMEtool_ adapteradapterdata para proveer de persistencia a los objetoscreados con el adaptador GSIC tool

A continuacioacuten daremos de alta en nuestro gestor de bases de datos un para de bases de datosque necesita GLUEletManager Para ellos seguimos los siguientes pasos

1 Abrimos la consola de phpMyaAdmin para cargar y ejecutar el chero create_ GLUE_databasessql que se encuentra en GLUE_ HOMEmanagerconfdb

2 Modicamos el chero GLUE_ HOMEmanagerconfMETA-INFpersistencexml paradarle los paraacutemetros necesarios para que JDBC se conecte a nuestra base de datos Losparaacutemetros modicados puede verse en la imagen 62

Figura 62 Paraacutemetros modicados en persistencexml

La segunda parte consiste en el registro interno de los adaptadores de las herramientas para seraccedido con GLUEletManager La distribucioacuten trae un chero para facilitar la conguracioacuten delos adaptadores que trae consigo y para su instalacioacuten deberemos ejecutar el chero GLUE_HOMEmanagerconfdbll _ internal_ Registrysql Alguna de las herramientas necesitanuna conguracioacuten maacutes completa como puede ser Google Docs adapter que necesita una cuentade Gmail para poder crear documentos en Google Docs por lo que deberemos modicar el nom-bre de usuario y contrasentildea

La uacuteltima parte consiste en la instalacioacuten del adaptardor de Moodle como VLE utilizado Estainstalacioacuten es como cualquier otro moacutedulo de Moodle 2 La carpeta que deberemos copiar seraacutela del adaptador correspondiente a Moodle que se encuentra en la carpeta GLUE_ HOMEvle_adpatersmoodle_ vle_ adapter Una vez entremos en nuestro Moodle como administrador nosapareceraacute un mensaje indicaacutendonos que el nuevo moacutedulo esta instalado Para congurar el nuevomoacutedulo debermos ir a Noticaciones - Modulos - Actividades como podemos ver en la gura 63para congurar los paraacutemetros la URL del GLUEletManager y el tiempo de espera

Figura 63 Paraacutemetros del moacutedulo GLUE

Cuando el profesor quiera crear una nueva actividad dependiente de los adaptadores de GLUEdeberaacute agregar una actividad maacutes pulsando para ello en esta opcioacuten dentro del bloque deseadopara seleccionar luego el tipo de actividad GLUElet como podemos ver en la gura64

622 Creando un Doodle

El adaptador Doodle permite la creacioacuten conguracioacuten y gestioacuten de instancias del Doodle Cadaencuesta Doodle es considerado un instancia diferente Ademaacutes este adaptador permite realizarademas la conguracioacuten inicial de encuestas Doodle incluyendo el nombre de la encuesta unadescripcioacuten y un conjunto de posibles respuestas

A continuacioacuten antildeadiremos Doodle en un bloque de Moodle para ellos pulsaremos la opcioacuten deAgregar actividad GLUElet lo cual nos mostraraacute la paacutegina65 donde deberemos rellenar comomiacutenimo el nombre de la actividad y el tipo de herramienta seleccionado en este caso Doodle(httpdoodle-testcom)

2httpdocsmoodleorgenInstalling_contributed_modules_or_plugins

Figura 64 Creando una actividad GLUElet

La primera vez que pulsemos sobre la nueva actividad creada apareceraacute un pantalla 66 dondepodemos congurar diferentes elementos de la encuesta desarrollada con Doodle como son eltiacutetulo una pequentildea descripcioacuten y luego las opciones posibles con un liacutemite de 10

El resultado nal seraacute la incrustacioacuten de una encuesta Doodle dentro de nuestro Moodle comopodemos ver en la gura67

Figura 65 Antildeadiendo Doodle como actividad

Figura 66 Opciones iniciales de conguracioacuten de Doodle

Figura 67 Doodel dentro de Moodle

Capiacutetulo 7

Conclusiones Finales

71 Conclusiones Finales

El proyecto actual nos ha servido para acercarnos a las diferentes tecnologiacuteas que permiten lacomunicacioacuten entre Servicios Webs Hemos desarrollado una primera labor de investigacioacuten queha requerido el aprendizaje de diferentes herramientas de control de documentacioacuten y referenciascomo Zotero y Mendeley

La documentacioacuten recabada en el proceso inicial de revisioacuten de documentos nos ha aportadoun visioacuten general de los diferentes sistemas virtuales de aprendizaje que podemos encontrarnosmuchos de ellos gratuitos y las diferentes soluciones que se plantean a la necesidad de incluirrecursos de otros fabricantes que en principio no fueron concebidos para ser utilizados dentro deuna plataforma VLE

Para poner en praacutectica la diferentes opciones encontradas se han montado diferentes maacutequinasvirtuales sobre las que se han probado las mismas Las conclusiones nales se pasan a detallar

IMS LTIEsta solucioacuten de integracioacuten mediante el cumplimiento de unos protocolos y certicacionesde las herramientas que lo cumplen es en principio la que podriacutea parecer la mejor opcioacutenpero la falta de compromiso de los diferentes fabricantes de Servicios Web y la luchapara imponer sus propios estaacutendares hace que aun quede mucho para que esta opcioacuten seacomo tal real

Si vemos el nuacutemero de aplicaciones certicadas para usar IMS LTI apenas superan las 50 yla mayoriacutea solo cumple la especicacioacuten v10 lo cual signica que la integracioacuten solo solu-ciona el problema de llamar a un recurso externo desde Moodle Pocas son las que cumplenla v11 que permite obtener en Moodle una valoracioacuten de los ejercicios desarrollados en unaactividad externa

La versioacuten v20 que daraacute maacutes opciones a la hora de interactuar con actividades externasauacuten esta en desarrollo y nada se sabe sobre posibles fechas para su presentacioacuten Luegocerticacioacuten de herramientas etc

55

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 16: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

Figura 21 Anaacutelisis de VLEs

Miles de estas herramientas son usadas como apoyo en las actividades de aprendizaje Muchasde estas herramientas podemos encontrarlas valoradas en un ranking en webs como Tops 100Tools for Learning1 de la cual mostramos la gura 22 tambieacuten podemos encontrarlas en CcediloolsTools for Schools2

221 Integracioacuten de herramientas

Aunque hemos podido ver que existe un gran nuacutemero de herramientas software la cuales puedenapoyar el desarrollo docente son pocos los VLEs y otras plataformas similares utilizadas porlos educadores para disentildear y prestar sus actividades formativas las que incluyen un nuacutemeromuy restringido de estas herramientas de manera integrada Los educadores suelen indicar laslimitaciones que los VLEs tienen en este caso demandando maacutes alternativas para soportar susparticulares aprendizajes colaborativos Por ello ha emergido con fuerza la integracioacuten de her-ramientas externas en los VLEs sobre todo para el uso de SaaS y aplicaciones Web 20

Debemos tener en cuenta que

La integracioacuten de las herramientas actuales en los entornos VLEs actuales suele ser laopcioacuten maacutes aceptada aunque existen otras alternativas

Las SaaS y las aplicaciones Web 20 han sido ampliamente adoptadas como herramientas de

1httpc4lptcouktop100tools2httpcooltoolsforschoolswikispacescom

Figura 22 Top 100 Tools - Abril 2013

aprendizaje pero existen otras herramientas con su particularidades teacutecnicas que puedenser interesantes y tenida en cuenta como actividades de aprendizaje en los VLEs

Estas herramientas usadas durante el ciclo de vida de aprendizaje colaborativo deben poderser analizadas para estudiar sus resultados

El ciclo de vida del aprendizaje colaborativo consta de cuatro fases disentildeo despliegue pues-ta en marcha y evaluacioacuten Las herramientas de software suelen utilizarse principalmenteen dos de ellas en el despliegue donde las herramientas son seleccionadas dependiendo delos objetivos del aprendizaje la conguracioacuten social y las estructuras de las actividades arealizar y en la fase de puesta en marcha pues son utilizadas por los estudiantes para re-alizar sus actividades y de esta manera alcanzar los objetivos del aprendizaje En la fase deevaluacioacuten estas realmente no son importantes pues no nos interesa tanto la herramientacon la que se haya realizado sino el contenido de esos resultados La fase de disentildeo es dondese consideran las tareas a realizar para llevar a cabo el aprendizaje y no herramientas autilizar para ello Aunque estas cuatro fase puede ser ampliadas o reducidas es ampliamenteaceptado En la gura podemos ver graacutecamente este ciclo

Figura 23 Ciclo de vida del aprendizaje colaborativo

222 Problemas en la integracioacuten

El problema general de la integracioacuten de muacuteltiples herramientas externas en diversos VLEspodemos observarlo en la gura 24 donde podemos ver en un lado diferentes VLEs consus correspondientes APIs arquitectura y caracteriacutesticas mientras en el otro lado diferentestecnologiacuteas interfaces y desarrollos para una gran variedad de propoacutesitos Cada uno deellos puede imponer sus restricciones para la integracioacuten Estos requerimientos es lo queha sido denominado por ejemplo en LAMS como ccedilontrato de integracioacuten el cual intentadeterminar las tecnologiacuteas interfaces y modelos de datos que deben ser empleados para lacomunicacioacuten entre un sistema y el programa que intente integrarlo

Cada herramienta puede tener una o maacutes opciones de integracioacuten Algunas son especiacute-cas para una cierta herramienta (Ej comunicacioacuten basado en Rest para Delicious y paraSlidshare de manera diferente) y otras comuacuten para varias herramientas (Ej Google DataProtocol) Lo mismo ocurre en el lado de los VLEs por lo que se abre un amplio abanicode tecnologiacuteas interfaces y modelos de datos que hacen que la tarea de integracioacuten seaalgo realmente complejo En la gura 25 podemos ver un resumen de los problemas deintegracioacuten seguacuten las herramientas seleccionadas

223 Enfoques de la integracioacuten

Podemos denir dos enfoques principales a la hora de enfocar la integracioacuten de las her-ramientas de software y los VLEs siendo estos

bull Estandarizar los contratos de integracioacutenLa denicioacuten de unos estaacutendares de integracioacuten podriacutea resolver los problemas de in-tegracioacuten pero no existen hoy en diacutea los mismos o no son aceptados por la mayoriacutea

Figura 24 Problemas de integracioacuten

seguramente por intereses tecnoloacutegicos y comerciales IMS Global Learning Consor-tium siguen intentando realizar la aprobacioacuten de dicho estaacutendar siendo uno de elloIMS-LTI Integracioacuten de aplicaciones y servicios remotos y aunque la adopcioacuten de losmismo por las nuevas versiones de Moodle y Blackboard podriacutea hacer que se apos-tara por esta opcioacuten la falta de herramientas que lo utilicen (Ej Google no lo utiliza)puede hacer que no llegue a buen puerto

bull Crear una arquitecturaEste enfoque trata de adaptar los contratos de integracioacuten de los VLEs y las her-ramientas sin tener que modicar sus implementacioacuten Este mismo enfoque presentados opciones como podemos ver en la gura 26 y que pasamos a detallar

1 Un adaptador por en el lado de VLE y otro en el lado de las herramientas o inclusoun solo paquete que pueda congure toda la conexioacuten En este caso estariacuteamoshablando por ejemplo de los moacutedulo adicionales de Moodle

2 Una capa intermedia y adaptadores Este tipo de arquitectura permite la in-tegracioacuten entre muacuteltiples herramientas externas y muacuteltiple entorno virtuales deaprendizaje a traveacutes de un middleware comuacuten Dicho middleware estariacutea com-puesto de diferentes programas que pueden ser ejecutados en dominios diferentesEsta arquitectura reduce el esfuerzo para la integracioacuten de cada herramienta encada VLE ya que el coacutedigo estaacute parcialmente implementado por los elementos deintegracioacuten comunes Sin embargo el grado de integracioacuten y funcionalidad que sepuede lograr con estas arquitecturas es menor que con la primera opcioacuten

23 Servicios Web

Aunque han sido englobados dentro de integracioacuten de herramientas vamos a detallar queson y que aportan a Moodle

Figura 25 Problemas de integracioacuten

Los Servicios Web (Web Services) son la parte esencial de la interoperabilidad de Moodlecon otras aplicaciones Web 20 consisten en una pieza de software que utiliza un conjuntode protocolos y estaacutendares abiertos para intercambiar datos entre aplicaciones La idea prin-cipal es que distintas aplicaciones de software desarrolladas en lenguajes de programacioacutendiferentes y ejecutadas sobre cualquier plataforma puedan utilizar los servicios Web paraintercambiar datos en la red de ordenadores como Internet El producto resultante es unconjunto de moacutedulos con funcionalidad especiacuteca y completa que se acoplan entre siacute A suvez estos moacutedulos se conectan a una plataforma de e-learning mediante la utilizacioacuten deservicios de base descritos en una capa estaacutendar que funciona como gateway

Para ampliar un poco mejor el concepto de servicios Web citaremos una exposicioacuten delDoctor Marcos Escobar Un Web Service es un componente de software que se comunicacon otras aplicaciones codicando los mensaje en XML y enviando estos mensaje a traveacutesde protocolos estaacutendares de Internet tales como el HTTP Intuitivamente un Web Servicees similar a un sitio Web que no cuenta con un interfaz de usuario y que da servicio a lasaplicaciones en vez de a las personas Un Web Service en vez de obtener solicitudes desdeel navegador y retornar paacuteginas Web como respuesta lo que hace es recibir solicitudes atraveacutes de un mensaje formateado en XML desde una aplicacioacuten realiza una tarea y de-vuelve un mensaje de respuesta tambieacuten formateado en XML

Figura 26 Enfoques de arquitectura de integracioacuten

231 Orquestacioacuten y Coreografiacutea de Servicios Web

Seguacuten Careaga Mercadillo Ana Lilia [car ] la Orquestacioacuten (Web Service Orchestration)y Coreografiacutea (Web Service Choreography) se suelen ver como dos aproximaciones parala Composicioacuten de Servicios Web que se acercan estrechamente a los conceptos musicalespor lo cual se han importado directamente sus signicados A continuacioacuten detallaremosque son y sus posibles aplicaciones

La tarea de componer servicios Web baacutesicos o simples para brindar servicios Web maacutes com-plejos se conoce teacutecnicamente como Composicioacuten de Servicios Web Existen dos grandesaproximaciones para esta tarea la coreografiacutea con foco en la interaccioacuten entre servicios(equivalente a los bailarines) y la orquestacioacuten (equivalente a los instrumentos de la orques-ta) con foco en la implementacioacuten y ejecucioacuten de servicios La primera puede consid-erarse como una descripcioacuten formal del pasaje de mensajes obviando detalles internosde implementacioacuten Se ajusta maacutes en situaciones donde es provechoso contar con la no-cioacuten de estados y tambieacuten donde estaacuten involucradas transacciones de larga duracioacuten- Elorquestadordetermina la naturaleza y la secuencia de la interaccioacuten En cambio la segun-da aproximacioacuten describe la loacutegica y el estado de cada una de las partes involucradas Laorquestacioacuten tiene una visioacuten mas local y centralizada mientras que la coreografiacutea denela composicioacuten desde una perspectiva global sin control centralizado tal y como sucede enla danza

Existen numerosas deniciones de Servicios Web y esto demuestra en parte la gran com-plejidad de los servicios que se agrupan bajo este teacutermino y las implicaciones asociadas aellos Hasta ahora la denicioacuten maacutes general y convincente es decir que los Servicios Webson el conjunto de aplicaciones tecnoloacutegicas con capacidad para interoperar en la Web Es-tas tecnologiacuteas intercambian datos entre ellas con el n de ofrecer servicios de naturalezaremota

La World Wide Web no es soacutelo un espacio de informacioacuten tambieacuten es un espacio de inter-accioacuten Utilizando la Web como plataforma los usuarios de forma remota pueden solicitar

un servicio que alguacuten proveedor ofrezca en la red Pero para que esta interaccioacuten funcionedeben existir unos mecanismos de comunicacioacuten estaacutendares entre diferentes aplicacionesEstos mecanismos deben poder interactuar entre siacute para presentar la informacioacuten de formadinaacutemica al usuario Se precisa pues una arquitectura de referencia estaacutendar que hagaposible la interoperabilidad y extensibilidad entre las distintas aplicaciones y que permitasu combinacioacuten para realizar operaciones complejas Esta arquitectura es conocida con elnombre de SOA (Service Oriented Architecture)

Con el n de estandarizar los diferentes aspectos relacionados con los servicios Web elW3C (World Wide Web Consortium) recoge todo lo referente a ellos en (Web ServicesActivity) Asiacute pues Web Services (WS) ofrece un signicado estaacutendar para interoperarentre diferentes aplicaciones de software corriendo en diferentes plataformas yo marcosde trabajo El W3C pretende disentildear la arquitectura denirla y crear el nuacutecleo de tec-nologiacuteas que hagan posible los Servicios Web Los servicios Web se basan en un lenguajede caracteriacutesticas especiales llamado XML (Extensible Markup Language) que permite quelas aplicaciones compartan informacioacuten y que ademaacutes invoquen funciones de otras apli-caciones independientemente de coacutemo se hayan creado dichas aplicaciones y del sistemaoperativo o plataforma en que se ejecuten Por ejemplo Google utiliza un Servicio Webllamado Google Web APIs que permite que el usuario programe en diversos lenguajes ase-gurando la recuperacioacuten de informacioacuten independientemente de la plataforma que se utilice

Los Servicios Web se idearon en un principio para realizar interacciones simples e indepen-dientes pero ahora es necesario que los servicios colaboren y se coordinen A la coordinacioacutennecesaria para implementar un servicio Web se le llama Composicioacuten que puede realizarsede dos manerasorquestacioacuten y coreografiacutea La principal diferencia entre orquestacioacuten ycoreografiacutea es el alcance La orquestacioacuten trata de la descripcioacuten y ejecucioacuten de un mismoy uacutenico punto de vista global del modelo (instrumentacioacuten) La coreografiacutea trata de la de-scripcioacuten y guiacutea de un modelo global proyectado en base a cada participante (bailarines)La orquestacioacuten y coreografiacutea son teacuterminos que describen dos aspectos de los estaacutendaresemergentes para la creacioacuten de procesos de negocios de muacuteltiples servicios WebLos dosteacuterminos se superponen pero es claro que la orquestacioacuten se reere a un proceso de nego-cio ejecutable que puede interactuar tanto con servicios Web internos como externos Laorquestacioacuten representa siempre el control desde la perspectiva de una de las partes Estolo distingue de la coreografiacutea que es de mayor colaboracioacuten y permite a cada parte impli-cada describir su papel en la interaccioacuten La orquestacioacuten y coreografiacutea tratan de describiraspectos relacionados con la creacioacuten de procesos de negocio que involucran varios tipos deSoftware

Visto graacutecamente podemos ver en la gura 27 la orquestacioacuten permite disentildear proce-sos de negocio ejecutables que pueden interactuar (a nivel de mensaje) tanto con softwareinterno como externo Por otra parte la coreografiacutea es mucho maacutes colaborativa ya quepermite trazar las secuencias de mensajes que se suceden entre todas las partes partici-pantes del proceso de negocio en lugar de centrarse en los mensajes que se intercambianentre los diversos programas de software que implementan los procesos de negocio

Figura 27 Orquestacioacuten y Coreografiacutea de Servicios Web

232 Estaacutendares de Orquestacioacuten de Servicios Web

WS BPEL( Web Service Business Process Execution Language)Es un lenguaje de orquestacioacuten estandarizado porOASIS (Organisation for Advance Struc-tured Information Business Transaction Protocol) para la composicioacuten de servicios Web quepermite a los desarrolladores crear programas que automatizan las interacciones entre losservicios Web jugando un papel clave en las arquitecturas orientadas a los servicios SOAPara comprender su funcionamiento imaginemos un proceso de negocio determinado quetiene una entrada A y una salida B Dicho proceso como la mayoriacutea de ellos posee a suvez de muchos procesos internos que se van activando de acuerdo a ciertos paraacutemetros yvalores BPEL seriacutea el encargado de orquestar y por lo tanto dirigir la ejecucioacuten de unamanera ordenada La ventaja de que BPEL sea un estaacutendar radica en que puede ser imple-mentado en una gran variedad de motores de ejecucioacuten de diferentes proveedores BPELen si es un formato XML que proviene de la convergencia entre el WSFL (Web ServiceFlow Language) de IBM y XLANG de Microsoft La herramienta BPEL estaacute basada en unmodelo llamado Workow que especica las oacuterdenes de ejecucioacuten Existen actividadesbaacutesicas como iumlnvoke y receive y otras estructuradas como sequence Tambieacuten formanparte del modelo variables y participantes (partners) En las variables se deposita la nocioacutende datos y los participantes representan los elementos que interactuacutean en la composicioacutenEl modelo se completa como un motor que orquestaraacute las invocaciones

BPML (Business Process Modeling Language)Es un metalenguaje basado en XML para la descripcioacuten de procesos de negocio Inicial-mente BMPL se disentildeoacute para soportar los procesos que un sistema de gestioacuten de procesosde negocio pudiera ejecutar BPML dispone de estructuras similares a BPEL como puedenser actividades baacutesicas para el enviacuteo y la recepcioacuten de mensajes y para la invocacioacuten deservicios Adicionalmente BPML permite planicar las tareas para que se ejecuten eninstantes especiacutecos ofreciendo algunas opciones de control temporal Este lenguaje in-cluye caracteriacutesticas para dar soporte a la persistencia ya que fue disentildeado para la gestioacutende procesos de larga duracioacuten BPML ofrece soporte tambieacuten para realizar composicionesrecursivas a n de poder construir procesos de negocio que a su vez consten de otros sub-procesos Asimismo soporta transacciones de larga o corta ejecucioacuten gracias a que usa unateacutecnica similar a BPEL para controlar el alcance de las actividades y gestionar de esta

forma las reglas de compensacioacuten en caso de que las operaciones que deben realizarse deforma automaacutetica se vean interrumpidas

233 Estaacutendares de Coreografiacutea de los Servicios Web

WS-CDL (Web Services Choreography Description Language)Es un lenguaje basado en XML que describe la colaboracioacuten entre pares peer to peemediante la denicioacuten - desde un punto de vista global de los comportamientos comunes yobservables de cada participante de un proceso de negocio Eacuteste es un lenguaje utilizadopara la denicioacuten de servicios dentro de la plataforma SOA y cuyo objetivo es la descrip-cioacuten del comportamiento de cada uno de los servicios establecidos para lograr un objetivocomuacuten Sin embargo antes de WS-CDL ya existiacutea un lenguaje que permitiacutea la descripcioacutende las funcionalidades de un Servicio Web WSDL (Web Services Denition Language)el cual puede describir el conjunto de funciones ofrecidas con los posibles fallos que po-driacutean ocurrir y a pesar de que WS-CDL podriacutea expresar las coreografiacuteas de un servicioen un ambiente SOA W3C (World Wide Web Consortium) abandonoacute su desarrollo en 2009

WSCI (Web Service Choreography Interface)La especicacioacuten de WSCI fue desarrollada por diversas compantildeiacuteas como Sun SAP BEAe Intalio y representa una extensioacuten para WSDL para la colaboracioacuten La especicacioacuten de-ne la coreografiacutea global o el intercambio de mensajes entre los diferentes tipos de softwarey soporta su correlacioacuten reglas de secuenciacioacuten manejo de excepciones transacciones ycolaboracioacuten dinaacutemica WSCI soacutelo describe el comportamiento observable entre el softwareque se emplea Una coreografiacutea WSCI constaraacute de un conjunto de interfases WSCI unapor cada uno de los servicios que participen en la interaccioacuten

24 Moodle

El software de coacutedigo abierto (Open-Source Software-OSS) esta siendo ampliamente de-sarrollado ofreciendo nuevas alternativas y posibilidades hasta hace poco inimaginablesMoodle es un claro ejemplo siendo uno de los programas maacutes ampliamente adoptados porcolegios institucioacuten universidades etc Como podemos ver en la gura 28 el nuacutemero deusuarios registrados y los idiomas en los que se encuentra disponible dan muestra de sugran difusioacuten Algunas de las razones mas importante para su eleccioacuten son

Figura 28 Moodle - Abril 2013

bull Moodle es OSS lo cual signica que los usuarios pueden descargarlo libremente usarlomodicarlos e incluso redistribuirlo seguacuten los teacuterminos GNU 3

bull La losofiacutea planteada por Moodle incluye una aproximacioacuten constructiva basada enel constructivismo social de la educacioacuten enfatizando que los estudiantes (y no soacutelolos profesores) pueden contribuir a la experiencia educativa en muchas formas

bull Compatibilidad con maacutes de 70 idiomas diferentes

bull Una excelente documentacioacuten soporte para seguridad y administracioacuten

bull No requiere modicaciones en el sistema operativo pudiendo ser ejecutado en un en-torno Linux Windows Mac OS o cualquier otro siempre que soporten PHP

bull La informacioacuten esta soportada por una simple base de datos

Ademaacutes su sencilla aplicacioacuten en entorno web que utiliza tecnologiacuteas ya ampliamenteprobadas sus mecanismos de extensioacuten maacutes faacuteciles en comparacioacuten con otros VLEs y laexistencia de una gran cantidad de documentacioacuten de desarrollo han impulsado la creacioacutende una gran comunidad de personas que contribuyen a la mejora de Moodle Esta comu-nidad estaacute en constante desarrollo de nuevas caracteriacutesticas y aplicaciones a traveacutes decientos de plugins que pueden ser descargados desde su la web de Moodle y asesoran tantoa otros desarrolladores como usuarios nales

La primera versioacuten de Moodle (10) fuel lanzada en 2002 como parte de la investigacioacuten deMartin Dougiamas del uso del software de coacutedigo abierto para la ensentildeanza y el aprendizajecon las comunidades basadas en Internet[Dougiamas and Taylor 2000] Actualmente seencuentra disponible la versioacuten 243+ como estable y la beta de la versioacuten 25

En cuanto a la parte teacutecnica Moodle estaacute desarrollado en lenguaje PHP como la mayoriacuteade los VLEs utiliza una arquitectura cliente-servidor comuacuten de tres capas CORREGIRLa capa de presentacioacuten dene como la informacioacuten se presenta a los usuarios nales quetienen acceso a esa informacioacuten a traveacutes de sus navegadores web La Capa de loacutegica de ne-gocios se encarga de las relaciones con Moodle el acceso a la capa de datos por lo generala traveacutes de MySQL para almacenar y recuperar la informacioacuten cuando sea necesario

Moodle se distribuye en un solo paquete multiplataforma que incluye PHP MySQL yApache HTTP Server para facilitar los procesos de instalacioacuten y conguracioacuten La dis-tribucioacuten actual de Moodle cumple con varios estaacutendares educativos Por ejemplo Moodlepuede manejar ADL SCORM paquetes que contienen recursos aislados o cursos completosEn cuanto a los estaacutendares IMS Moodle soporta IMS Content Packaging (IMS CP) IMSCommon Cartridge (IMS CC)IMS pregunta y Test Interoperability (IMS QTI) y estaacuteconsiderado como uno de los VLEs compatible con Basic LTI

241 otras plataformas

No podemos dejar de lado otros escenarios educativos que han ido apareciendo en los uacutelti-mos antildeos a pesar del gran eacutexito de los VLEs Algunos ejemplos de estas plataforma son

3httpsmoodleorg

bull Wikis (Ej MediaWiki) Son sistemas software que permiten la creacioacuten y gestioacutende contenidos estructurados mediante paacuteginas web relacionadas entre siacute El contenidosuele estar editado por varios usuarios que trabajan de manera colaborativa pudiendoincluir enlaces a recursos externos

bull Sitios de redes sociales (Ej Facebook) Son sistema en liacutenea donde los usuariospueden crearse sus propios perles y crear una red personal que les mantendraacute conec-tado con otros usuarios Estos sistemas han proliferado en los uacuteltimos antildeos llegando amillones de usuarios No suelen necesitar un administrador pues se utilizan medianteentorno web y son alojados por el propio proveedor Su gran adopcioacuten y el enfoquea las interacciones sociales es lo que ha llevado a muchos profesor a utilizarlo comoherramienta de aprendizaje Estos sitios permiten la creacioacuten y mantenimiento degrupo mediante el perl de usuario pero no estaacuten disentildeados para seguir un enfoquepedagoacutegico

bull Personal Learning Environment - PLE (Ej Southampton) Son denidos comosistemas de software que permiten al estudiante a tomar el control y la gestioacuten de suspropio aprendizaje Se caracterizan por la por la participacioacuten directa de los alumnosen el acceso agregacioacuten conguracioacuten y manipulacioacuten de herramientas y recursos adiferencia de los VLEs done es el educador el que selecciona y gestiona los recursosque el alumno debe utilizar

Muchas de estas herramientas son de coacutedigo libre y abierto Su funcionalidad respecto ala gestioacuten de actividades grupos funciones y herramientas es limitado siendo en algunoscasos inexistente Ninguna de estas plataformas se puede considerar un VLE ya que nosson sistemas centrados en el educador sin embargo pueden apoyar la integracioacuten de apli-caciones externas en entornos de aprendizaje colaborativo

Capiacutetulo 3

Organizacioacuten y Sistema Inicial

A continuacioacuten pasamos a detallar las distintas actividades de la que consta el proyecto quehemos llevado a cabo durante estos meses

31 Lanzamiento del proyecto

Esta actividad consisten en la eleccioacuten de una de las diferentes posibles aacutereas de desarrollo deproyectos que ofrece la UOC siendo la elegida Aplicaciones Web para trabajo colaborativo

32 Denicioacuten del proyecto

El proyecto queda denido en el presente documento siendo el tiacutetulo del mismo Orchestationand Coreography of Web Services on Moodle - Revisioacuten Sistemaacutetica de la literatura

[Duracioacuten] 27-02-2013 al 03-03-2013

33 Anaacutelisis de requisitos

Nos centraremos en la fase de planicacioacuten que incluye los objetivos de la investigacioacuten y la formaen que se llevaraacute a cabo la revisioacuten

[Duracioacuten] 04-03-2013 al 03-06-2013

331 Cuestiones Realizadas

El primer paso en la fase de planicacioacuten seraacute denir los objetivos principales de esta revisioacutensistemaacutetica de la literatura Estos objetivos son analizar el estado del arte de la coreografiacutea yorquestacioacuten de los servicios web en Moodle como LMS

332 Fuentes de datos y buacutesqueda

Utilizaremos diferentes libreriacuteas o espacios digitales para realizar las buacutesquedas las mismas serealizaraacuten en ingleacutes y espantildeol Las libreriacuteas principales utilizadas son

IEEEXplore [IEEEX] httpieeexploreieeeorg

21

Science Direct [SD] httpwwwsciencedirectcom

SpringerLink [SL] httpwwwspringerlinkcom

Paralelamente a Science Direct se han realizado buacutesquedas en Scopus1 de Elsevier y GoogleScholar2 de Google

333 Criterios de inclusioacuten y exclusioacuten

Las buacutesquedas que se realicen intentaraacuten abarcar todo el aacutembito de cuestiones del SLR pero esposible (y de hecho ocurre) el resultado contenga referencias publicaciones estudios o en generalinformacioacuten que no sirve Para ello seraacute necesario denir criterios de inclusioacuten y exclusioacuten loscual haremos basaacutendonos en la guiacutea [Kitchenham 2007]

334 Asegurar la calidad

Despueacutes de obtener un numero considerable de trabajos o estudios que satisfacen los criteriosde inclusioacuten y exclusioacuten se deberaacute ser capaz de asegurar o armar cuales son los que cumplencon una miacutenima calidad y si son vaacutelidos o no para el estudio en si Es baacutesico poder analizar queacuteestudios son mejores que otros en teacuterminos de calidadSiguiente [Kitchenham 2007] se deniraacuten preguntas y cuestiones que permitan asegurar dichacalidad

335 Extraccioacuten de datos y anaacutelisis

Los criterios de inclusioacuten y exclusioacuten junto con las preguntas orientadas a asegurar la calidadnos serviraacuten para obtener todos los artiacuteculos y estudios que se analizan en este estudioDe cada artiacuteculo se recogeraacute titulo y autores abstract publicacioacuten y antildeo de publicacioacuten

336 Fase de revisioacuten

Esta fase de planicacioacuten seraacute denir el proceso de conducir o dirigir la revisioacuten Para elloutilizaremos tres fases como podemos ver en la gura 31 de la paacutegina 23

337 Fase de Pruebas

Se realizan pruebas con la informacioacuten obtenido montado maacutequinas virtuales para realizar lasmismas En estas se han probado las diferentes opciones de comunicacioacuten que nos ofrece Moodle

1httpwwwscopuscom2httpscholargooglecom

Figura 31 Proceso para dirigir la revisioacuten

34 Calendario de Trabajo

Podemos ver en el siguiente diagrama de Gantt32 la distribucioacuten de trabajos en el tiempo elmismo seraacute modicado para ajustarlo a las variaciones producidas durante el desarrollo de lastareas que contempla

35 Hitos principales

Los principales hitos seraacuten

Lanzamiento del proyecto Se dene correctamente en que va consistir el proyecto

Denicioacuten de cuestiones para la buacutesqueda Donde se detallaraacuten las cuestiones quemarcaran el desarrollo del resto del proyecto

Comprobacioacuten de resultados Se deberaacuten criba los mismo para no obtener duplicadoso informacioacuten ajena a la investigacioacuten

Revisioacuten de informacioacuten obtenida Una vez obtenida la informacioacuten y analizada deberaacuteser revisada para su presentacioacuten

Figura 32 Diagrama de Gantt

36 Instalacioacuten base

Para llevar a cabo las pruebas se ha optado por la creacioacuten de una maacutequina virtual sobre VirtualBox 3 en la cual hemos instalado Windows XP como sistema operativo Este sistema es maacutesligero a la hora de trabajar en maacutequinas virtuales pues requiere menos recursos que las versionesposteriores del mismos sistema

El siguiente paso era la instalacioacuten de Moodle Aunque se dispone de un instalador para Win-dows se ha optado por la descarga e instalacioacuten de XAMPP 4 y su y su posterior conguracioacutenen la maacutequina virtual XAMPP es un servidor independiente de plataforma software libre queconsiste principalmente en la base de datos MySQL el servidor web Apache y los inteacuterpretespara lenguajes de script PHP y Perl El nombre proviene del acroacutenimo de X (para cualquierade los diferentes sistemas operativos) Apache MySQL PHP Perl

XAMPP en su versioacuten 181 incluye

Apache 243

MySQL 5527

PHP 547

phpMyAdmin 3522

FileZilla FTP Server 0941

Tomcat 7030

Strawberry Perl 51611 Portable

XAMPP Control Panel 310

Hemos continuado con la descarga he instalacioacuten de Moodle y hemos querido probar las difer-encias que obtenemos entre las versiones 19x y 25 por lo que se han descargado ambas heinstalado en maacutequinas virtuales diferentes Con ello conseguiremos probar el resultado obtenidoseguacuten la versioacuten Moodle desde su versioacuten 22 ya soporta conexiones mediante IMS - LTI IMSLTI es un estaacutendar IMS Learning Tool Interoperability Esto signica que las herramientas deaprendizaje tienen ahora diversas maneras de conectarse entre sin problemas

En la praacutectica cuando un usuario se registra en una herramienta como Moodle se pueden conectara la otra herramienta como MediaWiki y autenticarse automaacuteticamente proporcionando unaexperiencia perfectaLas guras 33 y 34 nos muestran el panel de control de XAMPP una vez instalado y el panede phpMyAdmin donde hemos debido congurar las bases de datos y usuario necesarios parallevar todo el proceso de conguracioacuten de Moodle y el resto de herramientas

3httpswwwvirtualboxorg4httpwwwapachefriendsorgesxampphtml

Figura 33 Panel de control de XAMPP

Figura 34 Gestor de bases de datos phpMyAdmin

Capiacutetulo 4

Servicios Web de Moodle

41 Introduccioacuten

Moodle 2X incorpora la posibilidad de implementar Servicios Web para manejar sus funciona-lidades lo que nos permite poder acceder a acciones de actualizar y crear tareas para reejar elresultado de las actividades realizadas Moodle soporta varios protocolos (REST SOAP XML-RPC y AMF)

42 Servicios Web de Moodle

Los Servicios Web de Moodle se caracterizan por permitir el acceso desde cualquier aplicacioacutenimplementando para ello tres capas como podemos observar en la gura 41

Capa nuacutecleoLa capa del nuacutecleo estaacute compuesta de todas las funciones principales de Moodle sobreusuarios grupos cursos calendario etc Moodle no dispone de una API al uso sino queofrece diferentes funciones que han sido desarrolladas durante antildeos Por tanto las necesi-dades de los Servicios Web estaacuten obligando a rehacer estas funciones del nuacutecleo para quecomiencen a formar una API (Moodle 2X)

Capa externaLa capa externa estaacute compuesta por nuevos cheros llamados externalphp colocados porlas carpetas de Moodle y conteniendo manejadores para la capa inferior Estos manejadoresson los responsables de comprobar las capacidades paraacutemetros y llamadas correctas a lasfunciones de nuacutecleo

Capa de conectoresLa capa de conectores estaacute compuesta de diferentes conectores para las diferentes imple-mentaciones de los Servicios Web y contiene un conector REST un conector SOAP unconector XML-RPC y un conector AMF Esta capa admite plugins para ampliar los conec-tores disponibles de manera que se puedan integrar otros sistemas en Moodle utilizandootros protocolos

Los pasos para utilizar un Servicio Web con Moodle seriacutean los siguientes

1 El cliente enviacutea el nombre de usuario y contrasentildea al servidor que provee los ServiciosWeb

27

Figura 41 Capas en Moodle

2 El servidor de protocolo devuelve un token de sesioacuten para esa cuenta de usuario

3 El cliente llama a un Servicio Web especiacuteco incluyendo el token de sesioacuten

4 El servidor utiliza el token para comprobar que la sesioacuten del Servicio Web estaacute activa

5 El servidor llama a la funcioacuten correspondiente localizada en el chero externallibphp dentrodel moacutedulo especiacuteco

6 La funcioacuten externa comprueba que el usuario actual tenga los permisos sucientes pararealizar esta operacioacuten

7 La funcioacuten externa llama a la funcioacuten correspondiente del nuacutecleo de Moodle (libphp)

8 La funcioacuten del nuacutecleo puede retornar un resultado a la funcioacuten externa

9 La funcioacuten externa devolveraacute el resultado al servidor de protocolo

10 El servidor de protocolo devolveraacute el resultado al cliente

43 REST

REST (Representational State Transfer) es el acroacutenimo de Transferencia de Estado Representa-cional teacutermino usado por Roy Fielding (uno de los creadores de HTTP) para describir un estilode arquitectura que utilizar como modelo en los sistemas de computacioacuten Web No es un es-taacutendar sino un enfoque que muestra como desarrollar y proporcionar servicios en Internet portanto considerado como un estilo arquitectoacutenico para disentildeo de software a gran escala El propioautor lo dene de manera concisa en eacuteste paacuterrafo

REST es un intento de mostrar coacutemo debe comportarse una aplicacioacuten Web bien disentildeada unared de paacuteginas Web (una maacutequina de estados virtual) donde el usuario progresaraacute seleccionan-do enlaces (transiciones de estado) que devuelven la paacutegina siguiente (el siguiente estado de lamaacutequina) que el usuario manejaraacute a su gusto

Este enfoque no aporta realmente nada nuevo la mayor parte de la Web sigue este estilo arqui-tectoacutenico Sin embargo el autor hace eacutenfasis en las caracteriacutesticas concretas que han hecho quela Web triunfe que van a ser los objetivos buscados por REST y que son a su juicio

Escalabilidad en las interacciones entre componentes La red ha ido creciendo de maneraexponencial y se ha ido comportado de manera satisfactoria

Generalidad en las interfaces Se proporciona acceso con distintos clientes y con distintosmecanismos de acceso

Desarrollo independiente de componentes Implementaciones cliente y servidor pueden serdesarrolladas en distintos momentos

Existencia de componentes intermediarios con los cuales existe compatibilidad (comoproxys)que permiten encapsulacioacuten e integracioacuten de sistemas no Web dentro de la misma

431 Principios de disentildeo

Los objetivos citados van a ser conseguidos imponiendo una serie de restricciones

El estado y la funcionalidad de las aplicaciones se representan por forma de recursos

La identicacioacuten de recursos se realiza de forma uacutenica global mediante Uniform ResourceIdentiers Los recursos identicados con URIs son los objetos loacutegicos a los cuales se lesmandan los mensajes

Manipulacioacuten de recursos a traveacutes de representaciones luego no se manejan directamentelos recursos sino sus representaciones

Todos los recursos comparten un interfaz uniforme formado por

bull Un conjunto de operaciones limitado para transferir el estado Se van a aprovecharlas operaciones que HTTP dene mostradas en la gura 42

bull Un conjunto limitado de tipos de contenidos identicados mediante tipos MIME

Uso de un protocolo clienteservidor sin estado y basado en capas Cada mensaje HTTPcontendraacute la informacioacuten necesaria para comprender la peticioacuten luego como muestra lagura 43 no es necesario que eacutesta sea entendida tanto en el cliente como en el servidor

Uso de hipermedios para representar el estado de una aplicacioacuten permitiendo que el estadode una aplicacioacuten Web particular esteacute almacenado en uno o maacutes documentos de hipertextoque residen bien en el servidor o en el cliente Esto permite al servidor saber el estado desus recursos sin necesidad de almacenar el estado de los clientes concretos

Figura 42 Operaciones denidas por HTTP

Como ya se mencionoacute REST se trata de un estilo arquitectoacutenico no un estaacutendar Sin embargohace uso de varios estaacutendares Web

HTTP HyperText Transfer Protocol

Figura 43 Operaciones denidas por HTTP

URL Uniform Resource Locator como el mecanismo de indenticacioacuten de recursos

XML - HTML - PNG - etc Como distintos formatos de representacioacuten de recursos

Tipos MIME como text-xml text-html image-png etc

44 SOAP

SOAP (siglas de Simple Object Access Protocol) es un protocolo estaacutendar que dene coacutemo dosobjetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML Esteprotocolo deriva de un protocolo creado por David Winer en 1998 llamado XML-RPC SOAPfue creado por Microsoft IBM y otros y estaacute actualmente bajo el auspicio de la W3C

441 Principios de disentildeo

La funcionalidad que aporta SOAP es la de proporcionar un mecanismo simple y ligero de in-tercambio de informacioacuten entre dos puntos usando el lenguaje XML SOAP no es maacutes que unmecanismo sencillo de expresar la informacioacuten mediante un modelo de empaquetado de datosmodular y una serie de mecanismos de codicacioacuten de datos Esto permite que SOAP sea uti-lizado en un amplio rango de servidores de aplicaciones que trabajen mediante el modelo decomunicacioacuten RPC (Remote Procedure Call)

SOAP consta de tres partes como podemos ver en la gura 44

El SOAP envelope que dene el marco de trabajo que determina queacute se puede introduciren un mensaje quieacuten deberiacutea hacerlo y si esa operacioacuten es opcional u obligatoria

Las reglas de codicacioacuten SOAP que denen el mecanismo de serializacioacuten que seraacute usadopara encapsular en los mensajes los distintos tipos de datos

La representacioacuten SOAP RPC que dene un modo de funcionamiento a la hora de realizarllamadas a procedimientos remotos y la obtencioacuten de sus resultados

A la hora de realizar el disentildeo de SOAP se han tenido en cuenta una serie de consideracionescon el n de cumplir una serie de objetivos claros objetivos que le daraacuten el potencial que resideen SOAP y que le haraacuten tan atractivo Eacutestos son

Establecer un protocolo estaacutendar de invocacioacuten a servicios remotos que esteacute basado enprotocolos estaacutendares de uso frecuente en Internet como son HTTP (Hiper Text TransportProtocol) para la transmisioacuten y XML (eXtensible Markup Language)para la codicacioacutende los datos

Figura 44 Partes de SOAP

Independencia de plataforma hardware lenguaje de programacioacuten e implementacioacuten delservicio Web

El logro de estos objetivos ha hecho de SOAP un protocolo extremadamente uacutetil ya que elprotocolo de comunicacioacuten HTTP es el empleado para la conexioacuten sobre Internetpor lo que segarantiza que cualquier cliente con un navegador estaacutendar pueda conectarse con un servidor re-moto Ademaacutes los datos en la transmisioacuten se empaquetan o serializan con el lenguaje XML quese ha convertido en algo imprescindible en el intercambio de datos ya que es capaz de salvar lasincompatibilidades que existiacutean en el resto de protocolos de representacioacuten de datos de la red

Por otra parte los servidores Web pueden procesar las peticiones de usuario empleando tec-nologiacuteas tales como Servlets paacuteginas ASP (Active Server Pages) paacuteginas JSP (Java ServerPages) o sencillamente un servidor de aplicaciones con invocacioacuten de objetos mediante CORBACOM o EJB

Un ejemplo tiacutepico de disentildeo de un servicio Web utilizando las ventajas de SOAP podemos veren la siguiente gura 45

Figura 45 Ejemplo de uso de SOAP

45 AMF

AMF (Action Message Format) es un protocolo binario de Adobe que va por la versioacuten AMF3Aunque por el nombre de la versioacuten pueda parecer que existan 3 cabe destacar que soacutelo existendos AMF0 y AMF3 Una de las mayores diferencias o mejoras que aporta AMF3 es que soporta

datos binarios (ByteArray) y int datos no soportados por AMF0 debido a que en la eacutepoca queaparecioacute el formato Flash Player no soportaba estos tipos de datos

AMF3 no es un protocolo para transferir informacioacuten sino que representa el formato en el quese transmite la informacioacuten en este caso un formato binario

La versioacuten de Moodle 25 viene con Zend_ AMF pero podemos utilizar tambieacuten la libreriacuteaamfPHP

AMFPHP

Zend_ amf httpframeworkzendcommanual112enzendamfhtml

Maacutes informacioacuten en httpdocsmoodleorgdevAMFPHP

46 Conguracioacuten de Moodle Web Services

Los Servicios Web habilitan que otros sistemas puedan entrar a Moodle y realizar operacionesPasaremos a detallar los pasos necesarios para su conguracioacuten y explicaremos distintos pruebasllevadas a cabo sobre su funcionamiento Para poder consumir de manera correcta unWeb Servicede Moodle seriacutea necesario antildeadir a la url que vamos a formar los paraacutemetros oportunos paralograr consumir el Web Service de manera satisfactoria Una vez antildeadidos ya podriacuteamos invocarla funcioacuten seleccionada

461 Activando los Servicios Web

Lo primero que debemos hacer es activar la opcioacuten general que habilita el uso de los serviciosweb En la gura 46 podemos observar la opcioacuten para la activacioacuten de este servicio para ello nosiremos a la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Servicios Externos

Figura 46 Activacioacuten Servicios Web

Esto solo es una opcioacuten a nivel global necesitando ahora activar los protocolos de comunciacionesque vamos a utilizar para ello deberemos ir a la opcioacuten textitAdministracioacuten del Sitio - Exten-siones - Servicios Web - Administrador de protoclos donde encontraremos las diferente opcionesque nos existen En la gura 47 podemos ver la pantalla de nuestra conguracioacuten con todos losprotocolos activados

Una vez activada la opcioacuten de Servicios Externos y seleccionados los protocolos que utilizaremosnecesitamos crear un Servicio Personalizado que no es maacutes que una etiqueta que aglutina los

Figura 47 Activacioacuten Protoclos

Servicios Web que ofrece Moodle y que pueden ser utilizados por los servicios externos Para ellodeberemos darle a la opcioacuten Agregar dentro de la opcioacuten Administracioacuten del Sitio - Extensiones- Servicios Web - Servicios Externos Como prueba habilitaremos un servicio llamado Uso_Servicio_ Web cuya creacioacuten podemos ver en la gura 48

Figura 48 Creacioacuten Servicio Personalizado

Una vez creado el Servicio Personalizado deberemos agregarle las funciones que queramos lesean permitidas pudiente tener maacutes de una En la gura 49 vemos como asociamos la creacioacutende usuarios al Servicio Personalizado

Terminado esto deberemos tener en el listado que nos muestra Moodle de Servicios personaliza-dos algo como lo mostrado en la gura 410

El siguiente paso es conceder los permisos apropiados para que este Servicio Personalizado puedeser usado por los usuarios pare ello debemos primero especicar quienes son los Usuarios au-torizados para ello en la linea de la lista de Servicios Personalizados deberemos pulsar sobre laopcioacuten usuarios autorizados donde apareceraacute una pantalla como 411 donde podremos escogerlos usuarios de los que se encuentran dados de alta en nuestro sistema

Y para terminar aunque este paso podriacutea ser realizado por el propio usuario si tuviera el per-miso de moodlewebservicecreatetoken seraacute la creacioacuten de un token el cual va ser la opcioacuten quevamos a utilizar para las pruebas de los Servicios Web de Moodle Para la creacioacuten del mismodeberemos entrar en la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Admin-istrar tokens y pulsar la opcioacuten Agregar para antildeadir un token nuevo como podemos apreciar en

Figura 49 Agregando funciones al Servicio Personalizado

Figura 410 Listado de Servicios Personalizados

la gura 412 teniendo la precaucioacuten de escoger como Servicio el Servicio Personalizado creadocon anterioridad Uso_ Servicio_ Web

En esta pantalla podemos poner varios tipos de restricciones

Restriccioacuten de IP Donde podemos indicar la direccioacuten IP desde donde

Restriccioacuten de Fecha Se puede denir hasta cuando seraacute valido este token siendo unabuena manera de poder probar cosas y no dejar puertas abiertas por error

En la gura 413 podemos ver el token asignado por el sistema para nuestro Servicio Personalizadoy que procederemos a utilizar para comprobar el funcionamiento de los Servicios Web de Moodle

462 Pruebas cliente Servicio Web

Procederemos ahora a desarrollar pruebas que utilicen los Servicios Personalizados creado Sepodriacutean haber utilizado el Cliente de prueba de servicio web que incorpora Moodle dentro dela opcioacuten Administracioacuten del Sitio - Desarrollo - Cliente de prueba servicio web pero hemosdecidido implementar una Web para comprobar la facilidad del funcionamiento del sistema y losdistintos resultados obtenidos seguacuten el protocolo utilizado

Utilizaremos la libreriacutea cURL de PHP cURL es una herramienta que permite abrir conexionesen una amplia variedad de protocolos y que estaacute disponible tanto como herramienta de consola(para ejecutar directamente con comandos) como en libreriacutea (para usar en vuestro coacutedigo) y quepermite hacer praacutecticamente todo manejo de cookies descarga de cheros binarios enviacuteos de

Figura 411 Alta de Usuarios Autorizados

Figura 412 Creacioacuten de Tokens

paraacutemetros GET y POST etc

La web creada para la introduccioacuten 414 de los usuarios seraacute equivalente para todos los procesosprocesos siendo el programa que da respuesta al formulario el que implemente la funcioacuten nece-saria para la introduccioacuten de los datos en Moodle

Los resultados de REST pueden mostrar los resultados del alta de dos maneras diferentes unaen formato XML como podemos ver en la gura 415 y otro en formatox JSON tambieacuten po-dremos ver en la gura Los resultados obtenidos tambieacuten pueden verse en el la gura 416

Figura 413 Lista de Tokens

Figura 414 Web de alta de usuarios

Figura 415 Resultado de REST en formato XML

Figura 416 Resultado de REST en formato JSON

Capiacutetulo 5

Herramientas Externas

51 Introduccioacuten

Las versiones de Moodle desde la 22 vienen con IMS LTI o External Tool de manera integradaEn versiones anteriores era necesario la instalacioacuten de plugins como LTI Provider (maacutes informa-cioacuten en la web de Moodle1 IMS LTI es un estandar de IMS learing2 para la interoperabilidadde herramientas Esto signica que las herramientas de aprendizaje tienen ahora un mecanismopara jar el modo en que pueden conectarse entre ellas sin problemas

En la praacutectica cuando un usuario se registra en Moodle puede conectarse a otras herramientascomo Wikis o Blogs y autenticarse de manera automaacutetica en estas

52 Estaacutendares IMS

Actualmente se realizan esfuerzos para la integracioacuten de servicios a una plataforma virtual deaprendizaje mediante un mecanismo reutilizable independiente del tipo de plataforma El IMSGlobal Learning Consortium viene desde hace tiempo trabajando en este enfoque IMS GLCpresenta un conjunto de estaacutendares que promueven el uso de servicios de aprendizaje digitales(Digital Learning Services) dentro de las plataformas de aprendizaje tradicionales IMS DigitalLearning Services estaacute integrado por los siguientes estaacutendares principales IMS Common Car-tridge [ims a] IMS Learning Tool Interoperability [ims c] y IMS Learning Information Services[ims b]

El IMS Learning Tool Interoperability es una especicacioacuten para facilitar la inclusioacuten de her-ramientas externas dentro de un curso El administrador de la plataforma de aprendizaje ges-tiona los servicios que podraacuten ser consumidos por la plataforma el docente decide que serviciosutilizaraacute en su curso y el estudiante hace uso de los mismos IMS LTI permite que distintos LMSconsuman un mismo servicio el cual no fue implementado teniendo en cuenta el tipo de LMSsino la implementacioacuten del estaacutendar desde el lado del proveedor

El enfoque del IMS LTI estaacute dirigido a la creciente demanda de un mecanismo reutilizable para laintegracioacuten de herramientas de terceros en el nuacutecleo de las plataformas LMS Estas herramientas

1httpsmoodleorgpluginsviewphpplugin=local_ltiprovider2httpwwwimsglobalorgtoolsinteroperability2cfm

37

pueden agregar funcionalidad especializada a los LMS El enfoque ofrece una solucioacuten basada enWeb Services igualmente aplicable a distintos lenguajes de programacioacuten

Las versiones del LTI son

LTI v10 ( LTI Basic ) ( publicado en mayo de 2010 ) proporciona un meacutetodo sencillopero estaacutendar para establecer una conexioacuten segura a una herramienta desde el interior deun consumidor de herramientas El lanzamiento de este enlace permite una experienciade aprendizaje sin problemas para los estudiantes que acceden a las aplicaciones ricas queparecen tener lugar dentro del ambiente de aprendizaje Versioacuten 10 es el primer paso en eldesarrollo continuo de LTI Figura 51

LTI v11 ( publicado en marzo 2012 ) antildeade la posibilidad de pasar de nuevo un resultadode la herramienta al Consumidor de herramientas Esto permite que los estudiantes recibenuna calicacioacuten o puntuacioacuten de su interaccioacuten con la aplicacioacuten de aprendizaje

LTI v111 ( publicado en julio de 2012 ) incluye soporte para el papel Mentor que se puedeutilizar para representar a un padre tutor o auditor

LTI v20 Aun en estado de desarrollo y proporciona una plataforma maacutes sosticado y ex-tensible para permitir integraciones maacutes profundas y un mayor apoyo para los serviciosy eventos LTI 2 se basa en LTI 1 mediante la incorporacioacuten de maacutes sosticada resulta-dos de informes y una rica arquitectura de extensiones que permite servicios adicionalesque se antildeadiraacuten gradualmente LTI 2 utiliza REST y JSON-LD para ofrecer esta nuevafuncionalidad

Figura 51 Esquema LTI Baacutesico

En la gura 52 podemos observar como se podriacutean utilizar las ventajas de LTI por parte decada unos de los actores a lo largo de la vida de la aplicacioacuten de servicios externos dentro de unaplataforma de aprendizaje

En la paacutegina web de IMS3 podemos encontrar una relacioacuten de aplicaciones certicadas comocompatibles con el estaacutendar LTI indicando la versioacuten del LTI que cumplen En la gura 53podemos ver las aplicaciones certicadas por UOC y en la gura 54 la informacioacuten sobre una deestas herramientas

3httpwwwimsglobalorgccalltoolscfm

Figura 52 Esquema utilizacioacuten LTI

Figura 53 Listado de herramientas LTI de la UOC

53 Herramientas externas en Moodle

La siguiente seccioacuten consiste en la aplicacioacuten de alguno de esto servicios externos en Moodlepara comprobar su funcionamiento Nos decantaremos para la primera prueba por WordPresspues aunque existen manuales al respecto la documentacioacuten en castellano es escasa

531 Wordpress

La versioacuten estaacutendar de Wordpress a la cual accedemos cuando nos abrimos cuenta en Wordpressno viene con las herramientas necesarias para la iteracioacuten mediante LTI por lo que procedere-mos a la instalacioacuten en nuestro servidor de Wordpress para pasar a la instalacioacuten de los pluginsnecesarios

La instalacioacuten ha consistido en la descarga de la web ocial 4 de la versioacuten 351 la cual hemoscopiado dentro del directorio htdocs de nuestra instalacioacuten de Xampp Hemos dado de alta unnuevo usuario en nuestra base de datos llamado username como podemos ver en la imagen 55 yposteriormente hemos seguido los pasos que el instalador nos iba ofreciendo para tener instalado

4httpwordpressorgdownload

Figura 54 Informacioacuten sobre la certicacioacuten

Wordpress bajo la url httplocalhostwordpress

Figura 55 Usuario de Wordpress

Deberemos congurar Wordpress para que trabaje como multisitio para lo que deberemos seguirlos pasos de conguracioacuten que podemos encontrar en la web ocial de Wordpress5 bajo el nombreCreate A Network consistente en los siguientes pasos

1 Realizar una copia de seguridad por si acaso

2 Modicar el chero wp-congphp incluyendo la siguiente linea encima de Thats allstop editing Happy blogging Multisite dene (WP_ ALLOW_ MULTISITE true)

Multisite dene (WP_ ALLOW_ MULTISITE true)

3 Installar un Network Para ello hemos de entra en la opcioacuten Administration -gtTools -gtNetwork Setup donde podremos congurar opciones sobre el nombre que queremos declararpara el nuevo sitio

4 Activar el Network para ello debemos modicar los cheros wp-congphp y htaccess porlo que seriacutea bueno que realizaacuteramos primero un copia de seguridad de los mismos Loscambios que debemos realizar son los siguientes

5httpcodexwordpressorgCreate_A_Network

En wp-congphp dene(MULTISITE true)dene(SUBDOMAIN_ INSTALL false)dene(DOMAIN_ CURRENT_ SITE localhost)dene(PATH_ CURRENT_ SITE wordpress)dene(SITE_ ID_ CURRENT_ SITE 1)dene(BLOG_ ID_ CURRENT_ SITE 1)

El chero htaccess debe quedar asiacute BEGIN WordPressltIfModule mod_ rewritecgtRewriteEngine OnRewriteBase wordpressRewriteRule icircndexphp$ - [L]

add a trailing slash to wp-adminRewriteRule ([_ 0-9a-zA-Z-]+)wp-admin1wp-admin [R=301L]

RewriteCondREQUEST_ FILENAME -f [OR]RewriteCondREQUEST_ FILENAME -dRewriteRule - [L]RewriteRule ([_ 0-9a-zA-Z-]+)(wp-(content|admin|includes)) $2 [L]RewriteRule ([_ 0-9a-zA-Z-]+)( php)$ $2 [L]RewriteRule indexphp [L]ltIfModulegt

END WordPress

5 Esto nos habraacute creado en la parte izquierda de la barra de herramientas de Wordpressuna nueva opcioacuten llamada My Sites que contendraacute un listado de los sitios de nuestroWordpress

El siguiente paso seraacute la descarga del plugin los cual podremos hacerlos desde la web de sour-forgenet 6 En esta web se detalla informacioacuten sobre el plugin y como se debe instalar Siguiendolos pasos que tenemos en el mismo procederemos a la descarga y el desplegado del mismo en lacarpeta wp-contentmu-plugins Salimos de Wordpress y volvemos a entrar como superusuariosi entramos dentro de la nueva red realizada podremos ver que dentro de LTI Consumers Keystendremos la opcioacuten LTI Consumers Keys como podemos ver en la imagen 56

Aquiacute deberemos crear la clave del consumidor del servicio y la clave secreta que nos permitiraacute aMoodle conectarse a Wordpress

Una vez que tenemos la clave secreta y del consumidor deberemos volver a Moodle entrandocomo administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

6httpsourceforgenetappsmediawikilearningappsindexphptitle=LTI4Wordpress

Figura 56 Servicios LTI en Wordpress

Figura 57 Listado de claves de LTI en Wordpress

-LTI En esta paacutegina podremos rellenar nuestras opciones

Tool Name Seraacute el nombre que tendraacute la herramienta y deberemos poner alguno indicativode la herramienta que estemos utilizando

Tool Base URL Es la direccioacuten de la herramienta en nuestro caso httplocalhostwordpress

Deberemos rellenar con los datos obtenidos en Wordpress la clave de consumidor y la clavesecreta

Es importante marcar Show tool type when creating tool instances para que aparezcaposteriormente al crear los recursos en nuestros cursos

Para poder probar el sistema hemos creado un curso dentro de Moodle llamada WordpressLTIdonde daremos de la siguiente manera de alta 59

Dentro de nuestro curso seleccionamos la opcioacuten de Edicioacuten

Pulsamos sobre Antildeadir una actividad o un recurso

Seleccionamos External Tool

Rellenamos las opciones

bull Nombre de la Actividad Cualquiera de nuestra eleccioacuten

Figura 58 Conguracioacuten LTI en Moodle

bull Tipo de herramienta externa El nombre que le pusimos a la herramienta externa enla conguracioacuten LTI de Moodle

bull Launch Container Hemos elegido la opcioacuten Incrustar para ver el resultado

Figura 59 Conguracioacuten Herramienta Externa

Una vez congurado podemos lanzar la herramienta externa teniendo como resultado la gura510

Figura 510 Wordpress integrado en Moodle

532 ChemVantage

ChemVantage es un recurso gratuito para la educacioacuten cientiacuteca que incluye ejercicios de gradoejercicios de preparacioacuten exaacutemenes de la praacutectica conferencias de video y libros de texto enliacutenea gratis Fue creado por ChemVantage LLC que fue fundada por el Prof Chuck Wight queha ensentildeado Quiacutemica General en la Universidad de Utah desde 1984 (ChemVantage 2011)

Nos hemos puesto en contacto con Chuck Wight (adminchemvantageorg) para solicitarle unaclave de consumidor y secreta para poder probar este recurso desde moodle Las opciones y elcorreo puede verse en la gura 511

Una de las cosas maacutes importantes de ChemVantage y por lo que nos hemos decidido a probar esque permite la devolucioacuten de las notas obtenidas en los ejercicios realizados en las herramientasexternas a Moodle El alumno podraacute realizar las tareas en esta herramienta externa y luego sercalicadas en Moodle

ChemVantage estaacute certicada por IMS 7 como un proveedor de herramientas LTI v11 y comotal funciona desde nuestro propio LMS para llevar a cabo la autenticacioacuten de sitios provee decuentas y devuelve resultados de asignacioacuten de estudiantes con el libro LMS grado automaacutetica-mente

Los recursos disponible son ChemVantage son principalmente los siguientes

1 QuizzesLos ejercicios presentados aquiacute estaacuten disentildeados para animar a los estudiantes a leer y en-tender los libros de texto utilizados en el curso Las preguntas se basan en material que sepresente en su mayor parte en los textos de introduccioacuten de quiacutemica Los iacutetems de preguntastienen respuestas straighforward no requieren caacutelculos detallados Las preguntas se presen-tan en varios formatos diferentes incluyendo opcioacuten muacuteltiple verdadero falso casilla devericacioacuten ll-in-the-blanco y numeacutericas Cada cuestionario se compone de 10 preguntasextraiacutedas al azar de una base de datos con muchas maacutes preguntas En el proceso de tomarvarias pruebas para mejorar sus calicaciones los estudiantes probablemente encuentran

7httpdevelopersimsglobalorgcoursechemvantagehtml

algunas preguntas repetidas de concursos anteriores sin embargo es poco probable quecualquiera de los dos cuestionarios contendraacute exactamente el mismo conjunto de preguntasen el mismo orden Asignando pruebas para ser completado antes de la conferencia losprofesores pueden estar seguros de que sus estudiantes tengan un poco de exposicioacuten almaterial Esto permite una mayor discusioacuten el diaacutelogo y la participacioacuten en el aula y haceel aprendizaje maacutes divertido (de verdad)

2 Video LecturesUna serie de conferencias de viacutedeo de 10 minutos sobre una variedad de temas de QuiacutemicaGeneral es accesible desde la paacutegina principal Los videos estaacuten disentildeados para reforzar lospuntos principales que se presentan en muchos libros de texto

3 HoweworksLas tareas estaacuten disentildeadas para dar a los estudiantes la praacutectica en la resolucioacuten de proble-mas cuantitativos que tienen respuestas numeacutericas Cada alumno puede descargar la tareatrabajar los problemas y presentar las respuestas en liacutenea Respuestas son juzgados a sercorrecta si la solucioacuten numeacuterica de acuerdo con la solucioacuten que se encuentra en la base dedatos dentro de una tolerancia especicada (indicado para cada problema) El sitio informaa los estudiantes que las respuestas son correctas para que puedan rehacer problemas malresueltos y volver a presentar las respuestas Cada problema se basa en una plantilla queatrae paraacutemetros al azar por lo que la respuesta correcta es diferente para cada estudianteEsto hace que sean adecuadas para la colaboracioacuten y el trabajo en grupo porque a pesarde que el grupo puede trabajar para encontrar un algoritmo correcto para resolver un prob-lema cada estudiante tendraacute que usar el algoritmo para encontrar la solucioacuten detallada asu propio problema

4 Practice ExamsLos estudiantes pueden realizaar exaacutemenes de praacutectica cronometrados que muestran laspreguntas de un grupo de 3 o maacutes temas Cada examen estaacute disentildeado para tardar unos60 minutos o menos e incluye una seleccioacuten de 10 preguntas Las praacutecticas de exaacutemenespueden repetirse cuantas veces se desee Las preguntas numeacutericas son parametrizadas loque es muy poco probable que un estudiante realice alguna vez dos exaacutemenes de praacutecticaideacutenticos

5 Portofolio PageCada estudiante puede acceder a una paacutegina que le da la puntuacioacuten obtenida en cada prue-ba y la asignacioacuten de tareas Los estudiantes que son miembros de un grupo tienen unapaacutegina de resultados asociados a las tareas de grupo Hay una paacutegina de carpeta separadaque contiene un resumen de todas las actividades realizadas en ChemVantage incluyendovideos vistos cuestionarios completados resolver problemas con la tarea y la praacutectica deexaacutemenes completados Las puntuaciones en los exaacutemenes de praacutectica son desagregadospara revelar fortalezas y debilidades estudiantes por temas

Hemos procedido a darlo de alta en LTI como hicimos con Wordpress Entramos en Moodle co-mo Administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

Figura 511 Correo de Chuck Wight

-LTI quedando como resultado la siguiente hoja de paraacutemetros gura 512

El siguiente paso seraacute antildeadir la herramienta dentro de nuestro curso para ello pulsaremos sobreAntildeadir una actividad o un recurso Deberemos seleccionar External Tool y rellenamos las op-ciones de la herramienta seleccionando como Tipo de herramienta externa la opcioacuten creada enel apartado de LTI de Moodle

Una vez congurado la herramienta en Moodle podemos entrar para realizar una personalizacioacutende la herramienta gura 513 esta consiste en indicar si el alumno cuando se conecta realiza undeterminado tarea o puede elegir navegar por la web de ChemVantage para poder disfrutar dela cantidad de recursos que se encuentran disponibles

Cuando el usuario pulsa sobre la opcioacuten de esta herramienta externa en Moodle lo primero quese le muestra es la informacioacuten sobre su perl en Chemvantage 514Como hemos visto en los paraacutemetros de conguracioacuten existe la posibilidad de llamar a unaherramienta externa incrustaacutendola dentro de Moodle o abrieacutendolo en una paacutegina web nuevaCon esta segunda opcioacuten no hemos conseguido que funcione correctamente la importacioacuten de lasnotas En cambio si la herramienta externa estaacute incrustada permite esa vinculacioacuten

Figura 512 Conguracioacuten de paraacutemetros LTI

Figura 513 Opciones de inicio de la herramienta

Figura 514 Pantalla de utilizacioacuten de la herramienta por el usuario

Capiacutetulo 6

Middleware

61 Introduccioacuten

La uacuteltima opcioacuten seriacutea utilizar una arquitectura middleware de integracioacuten que permita la inte-gracioacuten ligera de muacuteltiples herramientas existentes en el Moodle

62 GluePS

GLUE-PS es una arquitectura de middleware que permite una interoperabilidad ligera entrelos diferentes lenguajes de disentildeo de aprendizaje y diferentes entornos de aprendizaje virtualEsta interoperabilidad permite a los maestros y otros profesionales que particularicen (es decirpara personalizar el disentildeo de aprendizaje abstractoa la clase particular los participantes y laeleccioacuten de los instrumentos en los que va a ser promulgada) desplieguen (es decir para crearde forma semiautomaacutetica las actividades necesarias en el VLE recursos etc para la aprobacioacutendel disentildeo particularizado) e incluso para llevar a cabo ciertos cambios en el tiempo de ejecucioacuten(por ejemplo modicar la composicioacuten del grupo agregar o quitar recursos de las actividadesetc) Todo esto a partir de disentildeos en distintos lenguajes de disentildeo de aprendizaje tales como laespecicacioacuten IMS-LD aprendizaje

Por otra parte GLUE-PS tambieacuten permite desplegar y gestionar disentildeos de aprendizaje en en-tornos virtuales de aprendizaje que integren herramientas de aprendizaje externos (tales comointegrar en Moodle herramientas como Google Docs y muchos otros) - lo que llamamos Am-bientes de Aprendizaje Distribuido (DLE Distributed Learning Enviroments) Esto se consiguegracias a la arquitectura de GLUE para la integracioacuten de los entornos virtuales de aprendizajey herramientas externas

621 Instalacioacuten

Para realizar la instalacioacuten de GLUE-PS nos hemos descargado el software necesario de la webde los desarrolladores1 descargando la opcioacuten de autenticacioacuten centralizada La instalacioacuten haconstado de tres partes que pasaremos a describir a continuacioacuten

1httpwwwgsicuvaesglue

49

Figura 61 Arquitectura de GLUE

La primera parte consiste en la instalacioacuten del GLUEletManager y los adaptadores GSIC toolAunque el sistema viene preparado para Linux o Windows siendo Windows la explicacioacuten quevamos a desarrollar por estar utilizando este sistema operativo con Xampp

1 Crear el directorio GLUE_ HOME El cual hemos creado para mayor comodidad en la raiacutezdel disco duro

2 Denir la variable del sistema GLUE_ HOME con el valor de la direccioacuten completa deldirectorio de GLUE del punto anterior Para ello hemos pulsado botoacuten derecho sobre MiPc Propiedad Opciones Avanzadas Variables de Entorno procediendo a pulsar el botoacutenNueva para crear la variable en cuestioacuten

3 Extraemos en el directorio del punto (1) el paquete descargado de la paacutegina de los desar-rolladores

4 Ejecutar la instalacioacuten del cheroGLUE_ HOMEbininstall gluebat para registar GLUElet-Manager y GSIC tool como un servicio de Windows Tambieacuten este paso crearaacute un cheroen GLUE_ HOMEtool_ adapteradapterdata para proveer de persistencia a los objetoscreados con el adaptador GSIC tool

A continuacioacuten daremos de alta en nuestro gestor de bases de datos un para de bases de datosque necesita GLUEletManager Para ellos seguimos los siguientes pasos

1 Abrimos la consola de phpMyaAdmin para cargar y ejecutar el chero create_ GLUE_databasessql que se encuentra en GLUE_ HOMEmanagerconfdb

2 Modicamos el chero GLUE_ HOMEmanagerconfMETA-INFpersistencexml paradarle los paraacutemetros necesarios para que JDBC se conecte a nuestra base de datos Losparaacutemetros modicados puede verse en la imagen 62

Figura 62 Paraacutemetros modicados en persistencexml

La segunda parte consiste en el registro interno de los adaptadores de las herramientas para seraccedido con GLUEletManager La distribucioacuten trae un chero para facilitar la conguracioacuten delos adaptadores que trae consigo y para su instalacioacuten deberemos ejecutar el chero GLUE_HOMEmanagerconfdbll _ internal_ Registrysql Alguna de las herramientas necesitanuna conguracioacuten maacutes completa como puede ser Google Docs adapter que necesita una cuentade Gmail para poder crear documentos en Google Docs por lo que deberemos modicar el nom-bre de usuario y contrasentildea

La uacuteltima parte consiste en la instalacioacuten del adaptardor de Moodle como VLE utilizado Estainstalacioacuten es como cualquier otro moacutedulo de Moodle 2 La carpeta que deberemos copiar seraacutela del adaptador correspondiente a Moodle que se encuentra en la carpeta GLUE_ HOMEvle_adpatersmoodle_ vle_ adapter Una vez entremos en nuestro Moodle como administrador nosapareceraacute un mensaje indicaacutendonos que el nuevo moacutedulo esta instalado Para congurar el nuevomoacutedulo debermos ir a Noticaciones - Modulos - Actividades como podemos ver en la gura 63para congurar los paraacutemetros la URL del GLUEletManager y el tiempo de espera

Figura 63 Paraacutemetros del moacutedulo GLUE

Cuando el profesor quiera crear una nueva actividad dependiente de los adaptadores de GLUEdeberaacute agregar una actividad maacutes pulsando para ello en esta opcioacuten dentro del bloque deseadopara seleccionar luego el tipo de actividad GLUElet como podemos ver en la gura64

622 Creando un Doodle

El adaptador Doodle permite la creacioacuten conguracioacuten y gestioacuten de instancias del Doodle Cadaencuesta Doodle es considerado un instancia diferente Ademaacutes este adaptador permite realizarademas la conguracioacuten inicial de encuestas Doodle incluyendo el nombre de la encuesta unadescripcioacuten y un conjunto de posibles respuestas

A continuacioacuten antildeadiremos Doodle en un bloque de Moodle para ellos pulsaremos la opcioacuten deAgregar actividad GLUElet lo cual nos mostraraacute la paacutegina65 donde deberemos rellenar comomiacutenimo el nombre de la actividad y el tipo de herramienta seleccionado en este caso Doodle(httpdoodle-testcom)

2httpdocsmoodleorgenInstalling_contributed_modules_or_plugins

Figura 64 Creando una actividad GLUElet

La primera vez que pulsemos sobre la nueva actividad creada apareceraacute un pantalla 66 dondepodemos congurar diferentes elementos de la encuesta desarrollada con Doodle como son eltiacutetulo una pequentildea descripcioacuten y luego las opciones posibles con un liacutemite de 10

El resultado nal seraacute la incrustacioacuten de una encuesta Doodle dentro de nuestro Moodle comopodemos ver en la gura67

Figura 65 Antildeadiendo Doodle como actividad

Figura 66 Opciones iniciales de conguracioacuten de Doodle

Figura 67 Doodel dentro de Moodle

Capiacutetulo 7

Conclusiones Finales

71 Conclusiones Finales

El proyecto actual nos ha servido para acercarnos a las diferentes tecnologiacuteas que permiten lacomunicacioacuten entre Servicios Webs Hemos desarrollado una primera labor de investigacioacuten queha requerido el aprendizaje de diferentes herramientas de control de documentacioacuten y referenciascomo Zotero y Mendeley

La documentacioacuten recabada en el proceso inicial de revisioacuten de documentos nos ha aportadoun visioacuten general de los diferentes sistemas virtuales de aprendizaje que podemos encontrarnosmuchos de ellos gratuitos y las diferentes soluciones que se plantean a la necesidad de incluirrecursos de otros fabricantes que en principio no fueron concebidos para ser utilizados dentro deuna plataforma VLE

Para poner en praacutectica la diferentes opciones encontradas se han montado diferentes maacutequinasvirtuales sobre las que se han probado las mismas Las conclusiones nales se pasan a detallar

IMS LTIEsta solucioacuten de integracioacuten mediante el cumplimiento de unos protocolos y certicacionesde las herramientas que lo cumplen es en principio la que podriacutea parecer la mejor opcioacutenpero la falta de compromiso de los diferentes fabricantes de Servicios Web y la luchapara imponer sus propios estaacutendares hace que aun quede mucho para que esta opcioacuten seacomo tal real

Si vemos el nuacutemero de aplicaciones certicadas para usar IMS LTI apenas superan las 50 yla mayoriacutea solo cumple la especicacioacuten v10 lo cual signica que la integracioacuten solo solu-ciona el problema de llamar a un recurso externo desde Moodle Pocas son las que cumplenla v11 que permite obtener en Moodle una valoracioacuten de los ejercicios desarrollados en unaactividad externa

La versioacuten v20 que daraacute maacutes opciones a la hora de interactuar con actividades externasauacuten esta en desarrollo y nada se sabe sobre posibles fechas para su presentacioacuten Luegocerticacioacuten de herramientas etc

55

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 17: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

Figura 22 Top 100 Tools - Abril 2013

aprendizaje pero existen otras herramientas con su particularidades teacutecnicas que puedenser interesantes y tenida en cuenta como actividades de aprendizaje en los VLEs

Estas herramientas usadas durante el ciclo de vida de aprendizaje colaborativo deben poderser analizadas para estudiar sus resultados

El ciclo de vida del aprendizaje colaborativo consta de cuatro fases disentildeo despliegue pues-ta en marcha y evaluacioacuten Las herramientas de software suelen utilizarse principalmenteen dos de ellas en el despliegue donde las herramientas son seleccionadas dependiendo delos objetivos del aprendizaje la conguracioacuten social y las estructuras de las actividades arealizar y en la fase de puesta en marcha pues son utilizadas por los estudiantes para re-alizar sus actividades y de esta manera alcanzar los objetivos del aprendizaje En la fase deevaluacioacuten estas realmente no son importantes pues no nos interesa tanto la herramientacon la que se haya realizado sino el contenido de esos resultados La fase de disentildeo es dondese consideran las tareas a realizar para llevar a cabo el aprendizaje y no herramientas autilizar para ello Aunque estas cuatro fase puede ser ampliadas o reducidas es ampliamenteaceptado En la gura podemos ver graacutecamente este ciclo

Figura 23 Ciclo de vida del aprendizaje colaborativo

222 Problemas en la integracioacuten

El problema general de la integracioacuten de muacuteltiples herramientas externas en diversos VLEspodemos observarlo en la gura 24 donde podemos ver en un lado diferentes VLEs consus correspondientes APIs arquitectura y caracteriacutesticas mientras en el otro lado diferentestecnologiacuteas interfaces y desarrollos para una gran variedad de propoacutesitos Cada uno deellos puede imponer sus restricciones para la integracioacuten Estos requerimientos es lo queha sido denominado por ejemplo en LAMS como ccedilontrato de integracioacuten el cual intentadeterminar las tecnologiacuteas interfaces y modelos de datos que deben ser empleados para lacomunicacioacuten entre un sistema y el programa que intente integrarlo

Cada herramienta puede tener una o maacutes opciones de integracioacuten Algunas son especiacute-cas para una cierta herramienta (Ej comunicacioacuten basado en Rest para Delicious y paraSlidshare de manera diferente) y otras comuacuten para varias herramientas (Ej Google DataProtocol) Lo mismo ocurre en el lado de los VLEs por lo que se abre un amplio abanicode tecnologiacuteas interfaces y modelos de datos que hacen que la tarea de integracioacuten seaalgo realmente complejo En la gura 25 podemos ver un resumen de los problemas deintegracioacuten seguacuten las herramientas seleccionadas

223 Enfoques de la integracioacuten

Podemos denir dos enfoques principales a la hora de enfocar la integracioacuten de las her-ramientas de software y los VLEs siendo estos

bull Estandarizar los contratos de integracioacutenLa denicioacuten de unos estaacutendares de integracioacuten podriacutea resolver los problemas de in-tegracioacuten pero no existen hoy en diacutea los mismos o no son aceptados por la mayoriacutea

Figura 24 Problemas de integracioacuten

seguramente por intereses tecnoloacutegicos y comerciales IMS Global Learning Consor-tium siguen intentando realizar la aprobacioacuten de dicho estaacutendar siendo uno de elloIMS-LTI Integracioacuten de aplicaciones y servicios remotos y aunque la adopcioacuten de losmismo por las nuevas versiones de Moodle y Blackboard podriacutea hacer que se apos-tara por esta opcioacuten la falta de herramientas que lo utilicen (Ej Google no lo utiliza)puede hacer que no llegue a buen puerto

bull Crear una arquitecturaEste enfoque trata de adaptar los contratos de integracioacuten de los VLEs y las her-ramientas sin tener que modicar sus implementacioacuten Este mismo enfoque presentados opciones como podemos ver en la gura 26 y que pasamos a detallar

1 Un adaptador por en el lado de VLE y otro en el lado de las herramientas o inclusoun solo paquete que pueda congure toda la conexioacuten En este caso estariacuteamoshablando por ejemplo de los moacutedulo adicionales de Moodle

2 Una capa intermedia y adaptadores Este tipo de arquitectura permite la in-tegracioacuten entre muacuteltiples herramientas externas y muacuteltiple entorno virtuales deaprendizaje a traveacutes de un middleware comuacuten Dicho middleware estariacutea com-puesto de diferentes programas que pueden ser ejecutados en dominios diferentesEsta arquitectura reduce el esfuerzo para la integracioacuten de cada herramienta encada VLE ya que el coacutedigo estaacute parcialmente implementado por los elementos deintegracioacuten comunes Sin embargo el grado de integracioacuten y funcionalidad que sepuede lograr con estas arquitecturas es menor que con la primera opcioacuten

23 Servicios Web

Aunque han sido englobados dentro de integracioacuten de herramientas vamos a detallar queson y que aportan a Moodle

Figura 25 Problemas de integracioacuten

Los Servicios Web (Web Services) son la parte esencial de la interoperabilidad de Moodlecon otras aplicaciones Web 20 consisten en una pieza de software que utiliza un conjuntode protocolos y estaacutendares abiertos para intercambiar datos entre aplicaciones La idea prin-cipal es que distintas aplicaciones de software desarrolladas en lenguajes de programacioacutendiferentes y ejecutadas sobre cualquier plataforma puedan utilizar los servicios Web paraintercambiar datos en la red de ordenadores como Internet El producto resultante es unconjunto de moacutedulos con funcionalidad especiacuteca y completa que se acoplan entre siacute A suvez estos moacutedulos se conectan a una plataforma de e-learning mediante la utilizacioacuten deservicios de base descritos en una capa estaacutendar que funciona como gateway

Para ampliar un poco mejor el concepto de servicios Web citaremos una exposicioacuten delDoctor Marcos Escobar Un Web Service es un componente de software que se comunicacon otras aplicaciones codicando los mensaje en XML y enviando estos mensaje a traveacutesde protocolos estaacutendares de Internet tales como el HTTP Intuitivamente un Web Servicees similar a un sitio Web que no cuenta con un interfaz de usuario y que da servicio a lasaplicaciones en vez de a las personas Un Web Service en vez de obtener solicitudes desdeel navegador y retornar paacuteginas Web como respuesta lo que hace es recibir solicitudes atraveacutes de un mensaje formateado en XML desde una aplicacioacuten realiza una tarea y de-vuelve un mensaje de respuesta tambieacuten formateado en XML

Figura 26 Enfoques de arquitectura de integracioacuten

231 Orquestacioacuten y Coreografiacutea de Servicios Web

Seguacuten Careaga Mercadillo Ana Lilia [car ] la Orquestacioacuten (Web Service Orchestration)y Coreografiacutea (Web Service Choreography) se suelen ver como dos aproximaciones parala Composicioacuten de Servicios Web que se acercan estrechamente a los conceptos musicalespor lo cual se han importado directamente sus signicados A continuacioacuten detallaremosque son y sus posibles aplicaciones

La tarea de componer servicios Web baacutesicos o simples para brindar servicios Web maacutes com-plejos se conoce teacutecnicamente como Composicioacuten de Servicios Web Existen dos grandesaproximaciones para esta tarea la coreografiacutea con foco en la interaccioacuten entre servicios(equivalente a los bailarines) y la orquestacioacuten (equivalente a los instrumentos de la orques-ta) con foco en la implementacioacuten y ejecucioacuten de servicios La primera puede consid-erarse como una descripcioacuten formal del pasaje de mensajes obviando detalles internosde implementacioacuten Se ajusta maacutes en situaciones donde es provechoso contar con la no-cioacuten de estados y tambieacuten donde estaacuten involucradas transacciones de larga duracioacuten- Elorquestadordetermina la naturaleza y la secuencia de la interaccioacuten En cambio la segun-da aproximacioacuten describe la loacutegica y el estado de cada una de las partes involucradas Laorquestacioacuten tiene una visioacuten mas local y centralizada mientras que la coreografiacutea denela composicioacuten desde una perspectiva global sin control centralizado tal y como sucede enla danza

Existen numerosas deniciones de Servicios Web y esto demuestra en parte la gran com-plejidad de los servicios que se agrupan bajo este teacutermino y las implicaciones asociadas aellos Hasta ahora la denicioacuten maacutes general y convincente es decir que los Servicios Webson el conjunto de aplicaciones tecnoloacutegicas con capacidad para interoperar en la Web Es-tas tecnologiacuteas intercambian datos entre ellas con el n de ofrecer servicios de naturalezaremota

La World Wide Web no es soacutelo un espacio de informacioacuten tambieacuten es un espacio de inter-accioacuten Utilizando la Web como plataforma los usuarios de forma remota pueden solicitar

un servicio que alguacuten proveedor ofrezca en la red Pero para que esta interaccioacuten funcionedeben existir unos mecanismos de comunicacioacuten estaacutendares entre diferentes aplicacionesEstos mecanismos deben poder interactuar entre siacute para presentar la informacioacuten de formadinaacutemica al usuario Se precisa pues una arquitectura de referencia estaacutendar que hagaposible la interoperabilidad y extensibilidad entre las distintas aplicaciones y que permitasu combinacioacuten para realizar operaciones complejas Esta arquitectura es conocida con elnombre de SOA (Service Oriented Architecture)

Con el n de estandarizar los diferentes aspectos relacionados con los servicios Web elW3C (World Wide Web Consortium) recoge todo lo referente a ellos en (Web ServicesActivity) Asiacute pues Web Services (WS) ofrece un signicado estaacutendar para interoperarentre diferentes aplicaciones de software corriendo en diferentes plataformas yo marcosde trabajo El W3C pretende disentildear la arquitectura denirla y crear el nuacutecleo de tec-nologiacuteas que hagan posible los Servicios Web Los servicios Web se basan en un lenguajede caracteriacutesticas especiales llamado XML (Extensible Markup Language) que permite quelas aplicaciones compartan informacioacuten y que ademaacutes invoquen funciones de otras apli-caciones independientemente de coacutemo se hayan creado dichas aplicaciones y del sistemaoperativo o plataforma en que se ejecuten Por ejemplo Google utiliza un Servicio Webllamado Google Web APIs que permite que el usuario programe en diversos lenguajes ase-gurando la recuperacioacuten de informacioacuten independientemente de la plataforma que se utilice

Los Servicios Web se idearon en un principio para realizar interacciones simples e indepen-dientes pero ahora es necesario que los servicios colaboren y se coordinen A la coordinacioacutennecesaria para implementar un servicio Web se le llama Composicioacuten que puede realizarsede dos manerasorquestacioacuten y coreografiacutea La principal diferencia entre orquestacioacuten ycoreografiacutea es el alcance La orquestacioacuten trata de la descripcioacuten y ejecucioacuten de un mismoy uacutenico punto de vista global del modelo (instrumentacioacuten) La coreografiacutea trata de la de-scripcioacuten y guiacutea de un modelo global proyectado en base a cada participante (bailarines)La orquestacioacuten y coreografiacutea son teacuterminos que describen dos aspectos de los estaacutendaresemergentes para la creacioacuten de procesos de negocios de muacuteltiples servicios WebLos dosteacuterminos se superponen pero es claro que la orquestacioacuten se reere a un proceso de nego-cio ejecutable que puede interactuar tanto con servicios Web internos como externos Laorquestacioacuten representa siempre el control desde la perspectiva de una de las partes Estolo distingue de la coreografiacutea que es de mayor colaboracioacuten y permite a cada parte impli-cada describir su papel en la interaccioacuten La orquestacioacuten y coreografiacutea tratan de describiraspectos relacionados con la creacioacuten de procesos de negocio que involucran varios tipos deSoftware

Visto graacutecamente podemos ver en la gura 27 la orquestacioacuten permite disentildear proce-sos de negocio ejecutables que pueden interactuar (a nivel de mensaje) tanto con softwareinterno como externo Por otra parte la coreografiacutea es mucho maacutes colaborativa ya quepermite trazar las secuencias de mensajes que se suceden entre todas las partes partici-pantes del proceso de negocio en lugar de centrarse en los mensajes que se intercambianentre los diversos programas de software que implementan los procesos de negocio

Figura 27 Orquestacioacuten y Coreografiacutea de Servicios Web

232 Estaacutendares de Orquestacioacuten de Servicios Web

WS BPEL( Web Service Business Process Execution Language)Es un lenguaje de orquestacioacuten estandarizado porOASIS (Organisation for Advance Struc-tured Information Business Transaction Protocol) para la composicioacuten de servicios Web quepermite a los desarrolladores crear programas que automatizan las interacciones entre losservicios Web jugando un papel clave en las arquitecturas orientadas a los servicios SOAPara comprender su funcionamiento imaginemos un proceso de negocio determinado quetiene una entrada A y una salida B Dicho proceso como la mayoriacutea de ellos posee a suvez de muchos procesos internos que se van activando de acuerdo a ciertos paraacutemetros yvalores BPEL seriacutea el encargado de orquestar y por lo tanto dirigir la ejecucioacuten de unamanera ordenada La ventaja de que BPEL sea un estaacutendar radica en que puede ser imple-mentado en una gran variedad de motores de ejecucioacuten de diferentes proveedores BPELen si es un formato XML que proviene de la convergencia entre el WSFL (Web ServiceFlow Language) de IBM y XLANG de Microsoft La herramienta BPEL estaacute basada en unmodelo llamado Workow que especica las oacuterdenes de ejecucioacuten Existen actividadesbaacutesicas como iumlnvoke y receive y otras estructuradas como sequence Tambieacuten formanparte del modelo variables y participantes (partners) En las variables se deposita la nocioacutende datos y los participantes representan los elementos que interactuacutean en la composicioacutenEl modelo se completa como un motor que orquestaraacute las invocaciones

BPML (Business Process Modeling Language)Es un metalenguaje basado en XML para la descripcioacuten de procesos de negocio Inicial-mente BMPL se disentildeoacute para soportar los procesos que un sistema de gestioacuten de procesosde negocio pudiera ejecutar BPML dispone de estructuras similares a BPEL como puedenser actividades baacutesicas para el enviacuteo y la recepcioacuten de mensajes y para la invocacioacuten deservicios Adicionalmente BPML permite planicar las tareas para que se ejecuten eninstantes especiacutecos ofreciendo algunas opciones de control temporal Este lenguaje in-cluye caracteriacutesticas para dar soporte a la persistencia ya que fue disentildeado para la gestioacutende procesos de larga duracioacuten BPML ofrece soporte tambieacuten para realizar composicionesrecursivas a n de poder construir procesos de negocio que a su vez consten de otros sub-procesos Asimismo soporta transacciones de larga o corta ejecucioacuten gracias a que usa unateacutecnica similar a BPEL para controlar el alcance de las actividades y gestionar de esta

forma las reglas de compensacioacuten en caso de que las operaciones que deben realizarse deforma automaacutetica se vean interrumpidas

233 Estaacutendares de Coreografiacutea de los Servicios Web

WS-CDL (Web Services Choreography Description Language)Es un lenguaje basado en XML que describe la colaboracioacuten entre pares peer to peemediante la denicioacuten - desde un punto de vista global de los comportamientos comunes yobservables de cada participante de un proceso de negocio Eacuteste es un lenguaje utilizadopara la denicioacuten de servicios dentro de la plataforma SOA y cuyo objetivo es la descrip-cioacuten del comportamiento de cada uno de los servicios establecidos para lograr un objetivocomuacuten Sin embargo antes de WS-CDL ya existiacutea un lenguaje que permitiacutea la descripcioacutende las funcionalidades de un Servicio Web WSDL (Web Services Denition Language)el cual puede describir el conjunto de funciones ofrecidas con los posibles fallos que po-driacutean ocurrir y a pesar de que WS-CDL podriacutea expresar las coreografiacuteas de un servicioen un ambiente SOA W3C (World Wide Web Consortium) abandonoacute su desarrollo en 2009

WSCI (Web Service Choreography Interface)La especicacioacuten de WSCI fue desarrollada por diversas compantildeiacuteas como Sun SAP BEAe Intalio y representa una extensioacuten para WSDL para la colaboracioacuten La especicacioacuten de-ne la coreografiacutea global o el intercambio de mensajes entre los diferentes tipos de softwarey soporta su correlacioacuten reglas de secuenciacioacuten manejo de excepciones transacciones ycolaboracioacuten dinaacutemica WSCI soacutelo describe el comportamiento observable entre el softwareque se emplea Una coreografiacutea WSCI constaraacute de un conjunto de interfases WSCI unapor cada uno de los servicios que participen en la interaccioacuten

24 Moodle

El software de coacutedigo abierto (Open-Source Software-OSS) esta siendo ampliamente de-sarrollado ofreciendo nuevas alternativas y posibilidades hasta hace poco inimaginablesMoodle es un claro ejemplo siendo uno de los programas maacutes ampliamente adoptados porcolegios institucioacuten universidades etc Como podemos ver en la gura 28 el nuacutemero deusuarios registrados y los idiomas en los que se encuentra disponible dan muestra de sugran difusioacuten Algunas de las razones mas importante para su eleccioacuten son

Figura 28 Moodle - Abril 2013

bull Moodle es OSS lo cual signica que los usuarios pueden descargarlo libremente usarlomodicarlos e incluso redistribuirlo seguacuten los teacuterminos GNU 3

bull La losofiacutea planteada por Moodle incluye una aproximacioacuten constructiva basada enel constructivismo social de la educacioacuten enfatizando que los estudiantes (y no soacutelolos profesores) pueden contribuir a la experiencia educativa en muchas formas

bull Compatibilidad con maacutes de 70 idiomas diferentes

bull Una excelente documentacioacuten soporte para seguridad y administracioacuten

bull No requiere modicaciones en el sistema operativo pudiendo ser ejecutado en un en-torno Linux Windows Mac OS o cualquier otro siempre que soporten PHP

bull La informacioacuten esta soportada por una simple base de datos

Ademaacutes su sencilla aplicacioacuten en entorno web que utiliza tecnologiacuteas ya ampliamenteprobadas sus mecanismos de extensioacuten maacutes faacuteciles en comparacioacuten con otros VLEs y laexistencia de una gran cantidad de documentacioacuten de desarrollo han impulsado la creacioacutende una gran comunidad de personas que contribuyen a la mejora de Moodle Esta comu-nidad estaacute en constante desarrollo de nuevas caracteriacutesticas y aplicaciones a traveacutes decientos de plugins que pueden ser descargados desde su la web de Moodle y asesoran tantoa otros desarrolladores como usuarios nales

La primera versioacuten de Moodle (10) fuel lanzada en 2002 como parte de la investigacioacuten deMartin Dougiamas del uso del software de coacutedigo abierto para la ensentildeanza y el aprendizajecon las comunidades basadas en Internet[Dougiamas and Taylor 2000] Actualmente seencuentra disponible la versioacuten 243+ como estable y la beta de la versioacuten 25

En cuanto a la parte teacutecnica Moodle estaacute desarrollado en lenguaje PHP como la mayoriacuteade los VLEs utiliza una arquitectura cliente-servidor comuacuten de tres capas CORREGIRLa capa de presentacioacuten dene como la informacioacuten se presenta a los usuarios nales quetienen acceso a esa informacioacuten a traveacutes de sus navegadores web La Capa de loacutegica de ne-gocios se encarga de las relaciones con Moodle el acceso a la capa de datos por lo generala traveacutes de MySQL para almacenar y recuperar la informacioacuten cuando sea necesario

Moodle se distribuye en un solo paquete multiplataforma que incluye PHP MySQL yApache HTTP Server para facilitar los procesos de instalacioacuten y conguracioacuten La dis-tribucioacuten actual de Moodle cumple con varios estaacutendares educativos Por ejemplo Moodlepuede manejar ADL SCORM paquetes que contienen recursos aislados o cursos completosEn cuanto a los estaacutendares IMS Moodle soporta IMS Content Packaging (IMS CP) IMSCommon Cartridge (IMS CC)IMS pregunta y Test Interoperability (IMS QTI) y estaacuteconsiderado como uno de los VLEs compatible con Basic LTI

241 otras plataformas

No podemos dejar de lado otros escenarios educativos que han ido apareciendo en los uacutelti-mos antildeos a pesar del gran eacutexito de los VLEs Algunos ejemplos de estas plataforma son

3httpsmoodleorg

bull Wikis (Ej MediaWiki) Son sistemas software que permiten la creacioacuten y gestioacutende contenidos estructurados mediante paacuteginas web relacionadas entre siacute El contenidosuele estar editado por varios usuarios que trabajan de manera colaborativa pudiendoincluir enlaces a recursos externos

bull Sitios de redes sociales (Ej Facebook) Son sistema en liacutenea donde los usuariospueden crearse sus propios perles y crear una red personal que les mantendraacute conec-tado con otros usuarios Estos sistemas han proliferado en los uacuteltimos antildeos llegando amillones de usuarios No suelen necesitar un administrador pues se utilizan medianteentorno web y son alojados por el propio proveedor Su gran adopcioacuten y el enfoquea las interacciones sociales es lo que ha llevado a muchos profesor a utilizarlo comoherramienta de aprendizaje Estos sitios permiten la creacioacuten y mantenimiento degrupo mediante el perl de usuario pero no estaacuten disentildeados para seguir un enfoquepedagoacutegico

bull Personal Learning Environment - PLE (Ej Southampton) Son denidos comosistemas de software que permiten al estudiante a tomar el control y la gestioacuten de suspropio aprendizaje Se caracterizan por la por la participacioacuten directa de los alumnosen el acceso agregacioacuten conguracioacuten y manipulacioacuten de herramientas y recursos adiferencia de los VLEs done es el educador el que selecciona y gestiona los recursosque el alumno debe utilizar

Muchas de estas herramientas son de coacutedigo libre y abierto Su funcionalidad respecto ala gestioacuten de actividades grupos funciones y herramientas es limitado siendo en algunoscasos inexistente Ninguna de estas plataformas se puede considerar un VLE ya que nosson sistemas centrados en el educador sin embargo pueden apoyar la integracioacuten de apli-caciones externas en entornos de aprendizaje colaborativo

Capiacutetulo 3

Organizacioacuten y Sistema Inicial

A continuacioacuten pasamos a detallar las distintas actividades de la que consta el proyecto quehemos llevado a cabo durante estos meses

31 Lanzamiento del proyecto

Esta actividad consisten en la eleccioacuten de una de las diferentes posibles aacutereas de desarrollo deproyectos que ofrece la UOC siendo la elegida Aplicaciones Web para trabajo colaborativo

32 Denicioacuten del proyecto

El proyecto queda denido en el presente documento siendo el tiacutetulo del mismo Orchestationand Coreography of Web Services on Moodle - Revisioacuten Sistemaacutetica de la literatura

[Duracioacuten] 27-02-2013 al 03-03-2013

33 Anaacutelisis de requisitos

Nos centraremos en la fase de planicacioacuten que incluye los objetivos de la investigacioacuten y la formaen que se llevaraacute a cabo la revisioacuten

[Duracioacuten] 04-03-2013 al 03-06-2013

331 Cuestiones Realizadas

El primer paso en la fase de planicacioacuten seraacute denir los objetivos principales de esta revisioacutensistemaacutetica de la literatura Estos objetivos son analizar el estado del arte de la coreografiacutea yorquestacioacuten de los servicios web en Moodle como LMS

332 Fuentes de datos y buacutesqueda

Utilizaremos diferentes libreriacuteas o espacios digitales para realizar las buacutesquedas las mismas serealizaraacuten en ingleacutes y espantildeol Las libreriacuteas principales utilizadas son

IEEEXplore [IEEEX] httpieeexploreieeeorg

21

Science Direct [SD] httpwwwsciencedirectcom

SpringerLink [SL] httpwwwspringerlinkcom

Paralelamente a Science Direct se han realizado buacutesquedas en Scopus1 de Elsevier y GoogleScholar2 de Google

333 Criterios de inclusioacuten y exclusioacuten

Las buacutesquedas que se realicen intentaraacuten abarcar todo el aacutembito de cuestiones del SLR pero esposible (y de hecho ocurre) el resultado contenga referencias publicaciones estudios o en generalinformacioacuten que no sirve Para ello seraacute necesario denir criterios de inclusioacuten y exclusioacuten loscual haremos basaacutendonos en la guiacutea [Kitchenham 2007]

334 Asegurar la calidad

Despueacutes de obtener un numero considerable de trabajos o estudios que satisfacen los criteriosde inclusioacuten y exclusioacuten se deberaacute ser capaz de asegurar o armar cuales son los que cumplencon una miacutenima calidad y si son vaacutelidos o no para el estudio en si Es baacutesico poder analizar queacuteestudios son mejores que otros en teacuterminos de calidadSiguiente [Kitchenham 2007] se deniraacuten preguntas y cuestiones que permitan asegurar dichacalidad

335 Extraccioacuten de datos y anaacutelisis

Los criterios de inclusioacuten y exclusioacuten junto con las preguntas orientadas a asegurar la calidadnos serviraacuten para obtener todos los artiacuteculos y estudios que se analizan en este estudioDe cada artiacuteculo se recogeraacute titulo y autores abstract publicacioacuten y antildeo de publicacioacuten

336 Fase de revisioacuten

Esta fase de planicacioacuten seraacute denir el proceso de conducir o dirigir la revisioacuten Para elloutilizaremos tres fases como podemos ver en la gura 31 de la paacutegina 23

337 Fase de Pruebas

Se realizan pruebas con la informacioacuten obtenido montado maacutequinas virtuales para realizar lasmismas En estas se han probado las diferentes opciones de comunicacioacuten que nos ofrece Moodle

1httpwwwscopuscom2httpscholargooglecom

Figura 31 Proceso para dirigir la revisioacuten

34 Calendario de Trabajo

Podemos ver en el siguiente diagrama de Gantt32 la distribucioacuten de trabajos en el tiempo elmismo seraacute modicado para ajustarlo a las variaciones producidas durante el desarrollo de lastareas que contempla

35 Hitos principales

Los principales hitos seraacuten

Lanzamiento del proyecto Se dene correctamente en que va consistir el proyecto

Denicioacuten de cuestiones para la buacutesqueda Donde se detallaraacuten las cuestiones quemarcaran el desarrollo del resto del proyecto

Comprobacioacuten de resultados Se deberaacuten criba los mismo para no obtener duplicadoso informacioacuten ajena a la investigacioacuten

Revisioacuten de informacioacuten obtenida Una vez obtenida la informacioacuten y analizada deberaacuteser revisada para su presentacioacuten

Figura 32 Diagrama de Gantt

36 Instalacioacuten base

Para llevar a cabo las pruebas se ha optado por la creacioacuten de una maacutequina virtual sobre VirtualBox 3 en la cual hemos instalado Windows XP como sistema operativo Este sistema es maacutesligero a la hora de trabajar en maacutequinas virtuales pues requiere menos recursos que las versionesposteriores del mismos sistema

El siguiente paso era la instalacioacuten de Moodle Aunque se dispone de un instalador para Win-dows se ha optado por la descarga e instalacioacuten de XAMPP 4 y su y su posterior conguracioacutenen la maacutequina virtual XAMPP es un servidor independiente de plataforma software libre queconsiste principalmente en la base de datos MySQL el servidor web Apache y los inteacuterpretespara lenguajes de script PHP y Perl El nombre proviene del acroacutenimo de X (para cualquierade los diferentes sistemas operativos) Apache MySQL PHP Perl

XAMPP en su versioacuten 181 incluye

Apache 243

MySQL 5527

PHP 547

phpMyAdmin 3522

FileZilla FTP Server 0941

Tomcat 7030

Strawberry Perl 51611 Portable

XAMPP Control Panel 310

Hemos continuado con la descarga he instalacioacuten de Moodle y hemos querido probar las difer-encias que obtenemos entre las versiones 19x y 25 por lo que se han descargado ambas heinstalado en maacutequinas virtuales diferentes Con ello conseguiremos probar el resultado obtenidoseguacuten la versioacuten Moodle desde su versioacuten 22 ya soporta conexiones mediante IMS - LTI IMSLTI es un estaacutendar IMS Learning Tool Interoperability Esto signica que las herramientas deaprendizaje tienen ahora diversas maneras de conectarse entre sin problemas

En la praacutectica cuando un usuario se registra en una herramienta como Moodle se pueden conectara la otra herramienta como MediaWiki y autenticarse automaacuteticamente proporcionando unaexperiencia perfectaLas guras 33 y 34 nos muestran el panel de control de XAMPP una vez instalado y el panede phpMyAdmin donde hemos debido congurar las bases de datos y usuario necesarios parallevar todo el proceso de conguracioacuten de Moodle y el resto de herramientas

3httpswwwvirtualboxorg4httpwwwapachefriendsorgesxampphtml

Figura 33 Panel de control de XAMPP

Figura 34 Gestor de bases de datos phpMyAdmin

Capiacutetulo 4

Servicios Web de Moodle

41 Introduccioacuten

Moodle 2X incorpora la posibilidad de implementar Servicios Web para manejar sus funciona-lidades lo que nos permite poder acceder a acciones de actualizar y crear tareas para reejar elresultado de las actividades realizadas Moodle soporta varios protocolos (REST SOAP XML-RPC y AMF)

42 Servicios Web de Moodle

Los Servicios Web de Moodle se caracterizan por permitir el acceso desde cualquier aplicacioacutenimplementando para ello tres capas como podemos observar en la gura 41

Capa nuacutecleoLa capa del nuacutecleo estaacute compuesta de todas las funciones principales de Moodle sobreusuarios grupos cursos calendario etc Moodle no dispone de una API al uso sino queofrece diferentes funciones que han sido desarrolladas durante antildeos Por tanto las necesi-dades de los Servicios Web estaacuten obligando a rehacer estas funciones del nuacutecleo para quecomiencen a formar una API (Moodle 2X)

Capa externaLa capa externa estaacute compuesta por nuevos cheros llamados externalphp colocados porlas carpetas de Moodle y conteniendo manejadores para la capa inferior Estos manejadoresson los responsables de comprobar las capacidades paraacutemetros y llamadas correctas a lasfunciones de nuacutecleo

Capa de conectoresLa capa de conectores estaacute compuesta de diferentes conectores para las diferentes imple-mentaciones de los Servicios Web y contiene un conector REST un conector SOAP unconector XML-RPC y un conector AMF Esta capa admite plugins para ampliar los conec-tores disponibles de manera que se puedan integrar otros sistemas en Moodle utilizandootros protocolos

Los pasos para utilizar un Servicio Web con Moodle seriacutean los siguientes

1 El cliente enviacutea el nombre de usuario y contrasentildea al servidor que provee los ServiciosWeb

27

Figura 41 Capas en Moodle

2 El servidor de protocolo devuelve un token de sesioacuten para esa cuenta de usuario

3 El cliente llama a un Servicio Web especiacuteco incluyendo el token de sesioacuten

4 El servidor utiliza el token para comprobar que la sesioacuten del Servicio Web estaacute activa

5 El servidor llama a la funcioacuten correspondiente localizada en el chero externallibphp dentrodel moacutedulo especiacuteco

6 La funcioacuten externa comprueba que el usuario actual tenga los permisos sucientes pararealizar esta operacioacuten

7 La funcioacuten externa llama a la funcioacuten correspondiente del nuacutecleo de Moodle (libphp)

8 La funcioacuten del nuacutecleo puede retornar un resultado a la funcioacuten externa

9 La funcioacuten externa devolveraacute el resultado al servidor de protocolo

10 El servidor de protocolo devolveraacute el resultado al cliente

43 REST

REST (Representational State Transfer) es el acroacutenimo de Transferencia de Estado Representa-cional teacutermino usado por Roy Fielding (uno de los creadores de HTTP) para describir un estilode arquitectura que utilizar como modelo en los sistemas de computacioacuten Web No es un es-taacutendar sino un enfoque que muestra como desarrollar y proporcionar servicios en Internet portanto considerado como un estilo arquitectoacutenico para disentildeo de software a gran escala El propioautor lo dene de manera concisa en eacuteste paacuterrafo

REST es un intento de mostrar coacutemo debe comportarse una aplicacioacuten Web bien disentildeada unared de paacuteginas Web (una maacutequina de estados virtual) donde el usuario progresaraacute seleccionan-do enlaces (transiciones de estado) que devuelven la paacutegina siguiente (el siguiente estado de lamaacutequina) que el usuario manejaraacute a su gusto

Este enfoque no aporta realmente nada nuevo la mayor parte de la Web sigue este estilo arqui-tectoacutenico Sin embargo el autor hace eacutenfasis en las caracteriacutesticas concretas que han hecho quela Web triunfe que van a ser los objetivos buscados por REST y que son a su juicio

Escalabilidad en las interacciones entre componentes La red ha ido creciendo de maneraexponencial y se ha ido comportado de manera satisfactoria

Generalidad en las interfaces Se proporciona acceso con distintos clientes y con distintosmecanismos de acceso

Desarrollo independiente de componentes Implementaciones cliente y servidor pueden serdesarrolladas en distintos momentos

Existencia de componentes intermediarios con los cuales existe compatibilidad (comoproxys)que permiten encapsulacioacuten e integracioacuten de sistemas no Web dentro de la misma

431 Principios de disentildeo

Los objetivos citados van a ser conseguidos imponiendo una serie de restricciones

El estado y la funcionalidad de las aplicaciones se representan por forma de recursos

La identicacioacuten de recursos se realiza de forma uacutenica global mediante Uniform ResourceIdentiers Los recursos identicados con URIs son los objetos loacutegicos a los cuales se lesmandan los mensajes

Manipulacioacuten de recursos a traveacutes de representaciones luego no se manejan directamentelos recursos sino sus representaciones

Todos los recursos comparten un interfaz uniforme formado por

bull Un conjunto de operaciones limitado para transferir el estado Se van a aprovecharlas operaciones que HTTP dene mostradas en la gura 42

bull Un conjunto limitado de tipos de contenidos identicados mediante tipos MIME

Uso de un protocolo clienteservidor sin estado y basado en capas Cada mensaje HTTPcontendraacute la informacioacuten necesaria para comprender la peticioacuten luego como muestra lagura 43 no es necesario que eacutesta sea entendida tanto en el cliente como en el servidor

Uso de hipermedios para representar el estado de una aplicacioacuten permitiendo que el estadode una aplicacioacuten Web particular esteacute almacenado en uno o maacutes documentos de hipertextoque residen bien en el servidor o en el cliente Esto permite al servidor saber el estado desus recursos sin necesidad de almacenar el estado de los clientes concretos

Figura 42 Operaciones denidas por HTTP

Como ya se mencionoacute REST se trata de un estilo arquitectoacutenico no un estaacutendar Sin embargohace uso de varios estaacutendares Web

HTTP HyperText Transfer Protocol

Figura 43 Operaciones denidas por HTTP

URL Uniform Resource Locator como el mecanismo de indenticacioacuten de recursos

XML - HTML - PNG - etc Como distintos formatos de representacioacuten de recursos

Tipos MIME como text-xml text-html image-png etc

44 SOAP

SOAP (siglas de Simple Object Access Protocol) es un protocolo estaacutendar que dene coacutemo dosobjetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML Esteprotocolo deriva de un protocolo creado por David Winer en 1998 llamado XML-RPC SOAPfue creado por Microsoft IBM y otros y estaacute actualmente bajo el auspicio de la W3C

441 Principios de disentildeo

La funcionalidad que aporta SOAP es la de proporcionar un mecanismo simple y ligero de in-tercambio de informacioacuten entre dos puntos usando el lenguaje XML SOAP no es maacutes que unmecanismo sencillo de expresar la informacioacuten mediante un modelo de empaquetado de datosmodular y una serie de mecanismos de codicacioacuten de datos Esto permite que SOAP sea uti-lizado en un amplio rango de servidores de aplicaciones que trabajen mediante el modelo decomunicacioacuten RPC (Remote Procedure Call)

SOAP consta de tres partes como podemos ver en la gura 44

El SOAP envelope que dene el marco de trabajo que determina queacute se puede introduciren un mensaje quieacuten deberiacutea hacerlo y si esa operacioacuten es opcional u obligatoria

Las reglas de codicacioacuten SOAP que denen el mecanismo de serializacioacuten que seraacute usadopara encapsular en los mensajes los distintos tipos de datos

La representacioacuten SOAP RPC que dene un modo de funcionamiento a la hora de realizarllamadas a procedimientos remotos y la obtencioacuten de sus resultados

A la hora de realizar el disentildeo de SOAP se han tenido en cuenta una serie de consideracionescon el n de cumplir una serie de objetivos claros objetivos que le daraacuten el potencial que resideen SOAP y que le haraacuten tan atractivo Eacutestos son

Establecer un protocolo estaacutendar de invocacioacuten a servicios remotos que esteacute basado enprotocolos estaacutendares de uso frecuente en Internet como son HTTP (Hiper Text TransportProtocol) para la transmisioacuten y XML (eXtensible Markup Language)para la codicacioacutende los datos

Figura 44 Partes de SOAP

Independencia de plataforma hardware lenguaje de programacioacuten e implementacioacuten delservicio Web

El logro de estos objetivos ha hecho de SOAP un protocolo extremadamente uacutetil ya que elprotocolo de comunicacioacuten HTTP es el empleado para la conexioacuten sobre Internetpor lo que segarantiza que cualquier cliente con un navegador estaacutendar pueda conectarse con un servidor re-moto Ademaacutes los datos en la transmisioacuten se empaquetan o serializan con el lenguaje XML quese ha convertido en algo imprescindible en el intercambio de datos ya que es capaz de salvar lasincompatibilidades que existiacutean en el resto de protocolos de representacioacuten de datos de la red

Por otra parte los servidores Web pueden procesar las peticiones de usuario empleando tec-nologiacuteas tales como Servlets paacuteginas ASP (Active Server Pages) paacuteginas JSP (Java ServerPages) o sencillamente un servidor de aplicaciones con invocacioacuten de objetos mediante CORBACOM o EJB

Un ejemplo tiacutepico de disentildeo de un servicio Web utilizando las ventajas de SOAP podemos veren la siguiente gura 45

Figura 45 Ejemplo de uso de SOAP

45 AMF

AMF (Action Message Format) es un protocolo binario de Adobe que va por la versioacuten AMF3Aunque por el nombre de la versioacuten pueda parecer que existan 3 cabe destacar que soacutelo existendos AMF0 y AMF3 Una de las mayores diferencias o mejoras que aporta AMF3 es que soporta

datos binarios (ByteArray) y int datos no soportados por AMF0 debido a que en la eacutepoca queaparecioacute el formato Flash Player no soportaba estos tipos de datos

AMF3 no es un protocolo para transferir informacioacuten sino que representa el formato en el quese transmite la informacioacuten en este caso un formato binario

La versioacuten de Moodle 25 viene con Zend_ AMF pero podemos utilizar tambieacuten la libreriacuteaamfPHP

AMFPHP

Zend_ amf httpframeworkzendcommanual112enzendamfhtml

Maacutes informacioacuten en httpdocsmoodleorgdevAMFPHP

46 Conguracioacuten de Moodle Web Services

Los Servicios Web habilitan que otros sistemas puedan entrar a Moodle y realizar operacionesPasaremos a detallar los pasos necesarios para su conguracioacuten y explicaremos distintos pruebasllevadas a cabo sobre su funcionamiento Para poder consumir de manera correcta unWeb Servicede Moodle seriacutea necesario antildeadir a la url que vamos a formar los paraacutemetros oportunos paralograr consumir el Web Service de manera satisfactoria Una vez antildeadidos ya podriacuteamos invocarla funcioacuten seleccionada

461 Activando los Servicios Web

Lo primero que debemos hacer es activar la opcioacuten general que habilita el uso de los serviciosweb En la gura 46 podemos observar la opcioacuten para la activacioacuten de este servicio para ello nosiremos a la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Servicios Externos

Figura 46 Activacioacuten Servicios Web

Esto solo es una opcioacuten a nivel global necesitando ahora activar los protocolos de comunciacionesque vamos a utilizar para ello deberemos ir a la opcioacuten textitAdministracioacuten del Sitio - Exten-siones - Servicios Web - Administrador de protoclos donde encontraremos las diferente opcionesque nos existen En la gura 47 podemos ver la pantalla de nuestra conguracioacuten con todos losprotocolos activados

Una vez activada la opcioacuten de Servicios Externos y seleccionados los protocolos que utilizaremosnecesitamos crear un Servicio Personalizado que no es maacutes que una etiqueta que aglutina los

Figura 47 Activacioacuten Protoclos

Servicios Web que ofrece Moodle y que pueden ser utilizados por los servicios externos Para ellodeberemos darle a la opcioacuten Agregar dentro de la opcioacuten Administracioacuten del Sitio - Extensiones- Servicios Web - Servicios Externos Como prueba habilitaremos un servicio llamado Uso_Servicio_ Web cuya creacioacuten podemos ver en la gura 48

Figura 48 Creacioacuten Servicio Personalizado

Una vez creado el Servicio Personalizado deberemos agregarle las funciones que queramos lesean permitidas pudiente tener maacutes de una En la gura 49 vemos como asociamos la creacioacutende usuarios al Servicio Personalizado

Terminado esto deberemos tener en el listado que nos muestra Moodle de Servicios personaliza-dos algo como lo mostrado en la gura 410

El siguiente paso es conceder los permisos apropiados para que este Servicio Personalizado puedeser usado por los usuarios pare ello debemos primero especicar quienes son los Usuarios au-torizados para ello en la linea de la lista de Servicios Personalizados deberemos pulsar sobre laopcioacuten usuarios autorizados donde apareceraacute una pantalla como 411 donde podremos escogerlos usuarios de los que se encuentran dados de alta en nuestro sistema

Y para terminar aunque este paso podriacutea ser realizado por el propio usuario si tuviera el per-miso de moodlewebservicecreatetoken seraacute la creacioacuten de un token el cual va ser la opcioacuten quevamos a utilizar para las pruebas de los Servicios Web de Moodle Para la creacioacuten del mismodeberemos entrar en la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Admin-istrar tokens y pulsar la opcioacuten Agregar para antildeadir un token nuevo como podemos apreciar en

Figura 49 Agregando funciones al Servicio Personalizado

Figura 410 Listado de Servicios Personalizados

la gura 412 teniendo la precaucioacuten de escoger como Servicio el Servicio Personalizado creadocon anterioridad Uso_ Servicio_ Web

En esta pantalla podemos poner varios tipos de restricciones

Restriccioacuten de IP Donde podemos indicar la direccioacuten IP desde donde

Restriccioacuten de Fecha Se puede denir hasta cuando seraacute valido este token siendo unabuena manera de poder probar cosas y no dejar puertas abiertas por error

En la gura 413 podemos ver el token asignado por el sistema para nuestro Servicio Personalizadoy que procederemos a utilizar para comprobar el funcionamiento de los Servicios Web de Moodle

462 Pruebas cliente Servicio Web

Procederemos ahora a desarrollar pruebas que utilicen los Servicios Personalizados creado Sepodriacutean haber utilizado el Cliente de prueba de servicio web que incorpora Moodle dentro dela opcioacuten Administracioacuten del Sitio - Desarrollo - Cliente de prueba servicio web pero hemosdecidido implementar una Web para comprobar la facilidad del funcionamiento del sistema y losdistintos resultados obtenidos seguacuten el protocolo utilizado

Utilizaremos la libreriacutea cURL de PHP cURL es una herramienta que permite abrir conexionesen una amplia variedad de protocolos y que estaacute disponible tanto como herramienta de consola(para ejecutar directamente con comandos) como en libreriacutea (para usar en vuestro coacutedigo) y quepermite hacer praacutecticamente todo manejo de cookies descarga de cheros binarios enviacuteos de

Figura 411 Alta de Usuarios Autorizados

Figura 412 Creacioacuten de Tokens

paraacutemetros GET y POST etc

La web creada para la introduccioacuten 414 de los usuarios seraacute equivalente para todos los procesosprocesos siendo el programa que da respuesta al formulario el que implemente la funcioacuten nece-saria para la introduccioacuten de los datos en Moodle

Los resultados de REST pueden mostrar los resultados del alta de dos maneras diferentes unaen formato XML como podemos ver en la gura 415 y otro en formatox JSON tambieacuten po-dremos ver en la gura Los resultados obtenidos tambieacuten pueden verse en el la gura 416

Figura 413 Lista de Tokens

Figura 414 Web de alta de usuarios

Figura 415 Resultado de REST en formato XML

Figura 416 Resultado de REST en formato JSON

Capiacutetulo 5

Herramientas Externas

51 Introduccioacuten

Las versiones de Moodle desde la 22 vienen con IMS LTI o External Tool de manera integradaEn versiones anteriores era necesario la instalacioacuten de plugins como LTI Provider (maacutes informa-cioacuten en la web de Moodle1 IMS LTI es un estandar de IMS learing2 para la interoperabilidadde herramientas Esto signica que las herramientas de aprendizaje tienen ahora un mecanismopara jar el modo en que pueden conectarse entre ellas sin problemas

En la praacutectica cuando un usuario se registra en Moodle puede conectarse a otras herramientascomo Wikis o Blogs y autenticarse de manera automaacutetica en estas

52 Estaacutendares IMS

Actualmente se realizan esfuerzos para la integracioacuten de servicios a una plataforma virtual deaprendizaje mediante un mecanismo reutilizable independiente del tipo de plataforma El IMSGlobal Learning Consortium viene desde hace tiempo trabajando en este enfoque IMS GLCpresenta un conjunto de estaacutendares que promueven el uso de servicios de aprendizaje digitales(Digital Learning Services) dentro de las plataformas de aprendizaje tradicionales IMS DigitalLearning Services estaacute integrado por los siguientes estaacutendares principales IMS Common Car-tridge [ims a] IMS Learning Tool Interoperability [ims c] y IMS Learning Information Services[ims b]

El IMS Learning Tool Interoperability es una especicacioacuten para facilitar la inclusioacuten de her-ramientas externas dentro de un curso El administrador de la plataforma de aprendizaje ges-tiona los servicios que podraacuten ser consumidos por la plataforma el docente decide que serviciosutilizaraacute en su curso y el estudiante hace uso de los mismos IMS LTI permite que distintos LMSconsuman un mismo servicio el cual no fue implementado teniendo en cuenta el tipo de LMSsino la implementacioacuten del estaacutendar desde el lado del proveedor

El enfoque del IMS LTI estaacute dirigido a la creciente demanda de un mecanismo reutilizable para laintegracioacuten de herramientas de terceros en el nuacutecleo de las plataformas LMS Estas herramientas

1httpsmoodleorgpluginsviewphpplugin=local_ltiprovider2httpwwwimsglobalorgtoolsinteroperability2cfm

37

pueden agregar funcionalidad especializada a los LMS El enfoque ofrece una solucioacuten basada enWeb Services igualmente aplicable a distintos lenguajes de programacioacuten

Las versiones del LTI son

LTI v10 ( LTI Basic ) ( publicado en mayo de 2010 ) proporciona un meacutetodo sencillopero estaacutendar para establecer una conexioacuten segura a una herramienta desde el interior deun consumidor de herramientas El lanzamiento de este enlace permite una experienciade aprendizaje sin problemas para los estudiantes que acceden a las aplicaciones ricas queparecen tener lugar dentro del ambiente de aprendizaje Versioacuten 10 es el primer paso en eldesarrollo continuo de LTI Figura 51

LTI v11 ( publicado en marzo 2012 ) antildeade la posibilidad de pasar de nuevo un resultadode la herramienta al Consumidor de herramientas Esto permite que los estudiantes recibenuna calicacioacuten o puntuacioacuten de su interaccioacuten con la aplicacioacuten de aprendizaje

LTI v111 ( publicado en julio de 2012 ) incluye soporte para el papel Mentor que se puedeutilizar para representar a un padre tutor o auditor

LTI v20 Aun en estado de desarrollo y proporciona una plataforma maacutes sosticado y ex-tensible para permitir integraciones maacutes profundas y un mayor apoyo para los serviciosy eventos LTI 2 se basa en LTI 1 mediante la incorporacioacuten de maacutes sosticada resulta-dos de informes y una rica arquitectura de extensiones que permite servicios adicionalesque se antildeadiraacuten gradualmente LTI 2 utiliza REST y JSON-LD para ofrecer esta nuevafuncionalidad

Figura 51 Esquema LTI Baacutesico

En la gura 52 podemos observar como se podriacutean utilizar las ventajas de LTI por parte decada unos de los actores a lo largo de la vida de la aplicacioacuten de servicios externos dentro de unaplataforma de aprendizaje

En la paacutegina web de IMS3 podemos encontrar una relacioacuten de aplicaciones certicadas comocompatibles con el estaacutendar LTI indicando la versioacuten del LTI que cumplen En la gura 53podemos ver las aplicaciones certicadas por UOC y en la gura 54 la informacioacuten sobre una deestas herramientas

3httpwwwimsglobalorgccalltoolscfm

Figura 52 Esquema utilizacioacuten LTI

Figura 53 Listado de herramientas LTI de la UOC

53 Herramientas externas en Moodle

La siguiente seccioacuten consiste en la aplicacioacuten de alguno de esto servicios externos en Moodlepara comprobar su funcionamiento Nos decantaremos para la primera prueba por WordPresspues aunque existen manuales al respecto la documentacioacuten en castellano es escasa

531 Wordpress

La versioacuten estaacutendar de Wordpress a la cual accedemos cuando nos abrimos cuenta en Wordpressno viene con las herramientas necesarias para la iteracioacuten mediante LTI por lo que procedere-mos a la instalacioacuten en nuestro servidor de Wordpress para pasar a la instalacioacuten de los pluginsnecesarios

La instalacioacuten ha consistido en la descarga de la web ocial 4 de la versioacuten 351 la cual hemoscopiado dentro del directorio htdocs de nuestra instalacioacuten de Xampp Hemos dado de alta unnuevo usuario en nuestra base de datos llamado username como podemos ver en la imagen 55 yposteriormente hemos seguido los pasos que el instalador nos iba ofreciendo para tener instalado

4httpwordpressorgdownload

Figura 54 Informacioacuten sobre la certicacioacuten

Wordpress bajo la url httplocalhostwordpress

Figura 55 Usuario de Wordpress

Deberemos congurar Wordpress para que trabaje como multisitio para lo que deberemos seguirlos pasos de conguracioacuten que podemos encontrar en la web ocial de Wordpress5 bajo el nombreCreate A Network consistente en los siguientes pasos

1 Realizar una copia de seguridad por si acaso

2 Modicar el chero wp-congphp incluyendo la siguiente linea encima de Thats allstop editing Happy blogging Multisite dene (WP_ ALLOW_ MULTISITE true)

Multisite dene (WP_ ALLOW_ MULTISITE true)

3 Installar un Network Para ello hemos de entra en la opcioacuten Administration -gtTools -gtNetwork Setup donde podremos congurar opciones sobre el nombre que queremos declararpara el nuevo sitio

4 Activar el Network para ello debemos modicar los cheros wp-congphp y htaccess porlo que seriacutea bueno que realizaacuteramos primero un copia de seguridad de los mismos Loscambios que debemos realizar son los siguientes

5httpcodexwordpressorgCreate_A_Network

En wp-congphp dene(MULTISITE true)dene(SUBDOMAIN_ INSTALL false)dene(DOMAIN_ CURRENT_ SITE localhost)dene(PATH_ CURRENT_ SITE wordpress)dene(SITE_ ID_ CURRENT_ SITE 1)dene(BLOG_ ID_ CURRENT_ SITE 1)

El chero htaccess debe quedar asiacute BEGIN WordPressltIfModule mod_ rewritecgtRewriteEngine OnRewriteBase wordpressRewriteRule icircndexphp$ - [L]

add a trailing slash to wp-adminRewriteRule ([_ 0-9a-zA-Z-]+)wp-admin1wp-admin [R=301L]

RewriteCondREQUEST_ FILENAME -f [OR]RewriteCondREQUEST_ FILENAME -dRewriteRule - [L]RewriteRule ([_ 0-9a-zA-Z-]+)(wp-(content|admin|includes)) $2 [L]RewriteRule ([_ 0-9a-zA-Z-]+)( php)$ $2 [L]RewriteRule indexphp [L]ltIfModulegt

END WordPress

5 Esto nos habraacute creado en la parte izquierda de la barra de herramientas de Wordpressuna nueva opcioacuten llamada My Sites que contendraacute un listado de los sitios de nuestroWordpress

El siguiente paso seraacute la descarga del plugin los cual podremos hacerlos desde la web de sour-forgenet 6 En esta web se detalla informacioacuten sobre el plugin y como se debe instalar Siguiendolos pasos que tenemos en el mismo procederemos a la descarga y el desplegado del mismo en lacarpeta wp-contentmu-plugins Salimos de Wordpress y volvemos a entrar como superusuariosi entramos dentro de la nueva red realizada podremos ver que dentro de LTI Consumers Keystendremos la opcioacuten LTI Consumers Keys como podemos ver en la imagen 56

Aquiacute deberemos crear la clave del consumidor del servicio y la clave secreta que nos permitiraacute aMoodle conectarse a Wordpress

Una vez que tenemos la clave secreta y del consumidor deberemos volver a Moodle entrandocomo administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

6httpsourceforgenetappsmediawikilearningappsindexphptitle=LTI4Wordpress

Figura 56 Servicios LTI en Wordpress

Figura 57 Listado de claves de LTI en Wordpress

-LTI En esta paacutegina podremos rellenar nuestras opciones

Tool Name Seraacute el nombre que tendraacute la herramienta y deberemos poner alguno indicativode la herramienta que estemos utilizando

Tool Base URL Es la direccioacuten de la herramienta en nuestro caso httplocalhostwordpress

Deberemos rellenar con los datos obtenidos en Wordpress la clave de consumidor y la clavesecreta

Es importante marcar Show tool type when creating tool instances para que aparezcaposteriormente al crear los recursos en nuestros cursos

Para poder probar el sistema hemos creado un curso dentro de Moodle llamada WordpressLTIdonde daremos de la siguiente manera de alta 59

Dentro de nuestro curso seleccionamos la opcioacuten de Edicioacuten

Pulsamos sobre Antildeadir una actividad o un recurso

Seleccionamos External Tool

Rellenamos las opciones

bull Nombre de la Actividad Cualquiera de nuestra eleccioacuten

Figura 58 Conguracioacuten LTI en Moodle

bull Tipo de herramienta externa El nombre que le pusimos a la herramienta externa enla conguracioacuten LTI de Moodle

bull Launch Container Hemos elegido la opcioacuten Incrustar para ver el resultado

Figura 59 Conguracioacuten Herramienta Externa

Una vez congurado podemos lanzar la herramienta externa teniendo como resultado la gura510

Figura 510 Wordpress integrado en Moodle

532 ChemVantage

ChemVantage es un recurso gratuito para la educacioacuten cientiacuteca que incluye ejercicios de gradoejercicios de preparacioacuten exaacutemenes de la praacutectica conferencias de video y libros de texto enliacutenea gratis Fue creado por ChemVantage LLC que fue fundada por el Prof Chuck Wight queha ensentildeado Quiacutemica General en la Universidad de Utah desde 1984 (ChemVantage 2011)

Nos hemos puesto en contacto con Chuck Wight (adminchemvantageorg) para solicitarle unaclave de consumidor y secreta para poder probar este recurso desde moodle Las opciones y elcorreo puede verse en la gura 511

Una de las cosas maacutes importantes de ChemVantage y por lo que nos hemos decidido a probar esque permite la devolucioacuten de las notas obtenidas en los ejercicios realizados en las herramientasexternas a Moodle El alumno podraacute realizar las tareas en esta herramienta externa y luego sercalicadas en Moodle

ChemVantage estaacute certicada por IMS 7 como un proveedor de herramientas LTI v11 y comotal funciona desde nuestro propio LMS para llevar a cabo la autenticacioacuten de sitios provee decuentas y devuelve resultados de asignacioacuten de estudiantes con el libro LMS grado automaacutetica-mente

Los recursos disponible son ChemVantage son principalmente los siguientes

1 QuizzesLos ejercicios presentados aquiacute estaacuten disentildeados para animar a los estudiantes a leer y en-tender los libros de texto utilizados en el curso Las preguntas se basan en material que sepresente en su mayor parte en los textos de introduccioacuten de quiacutemica Los iacutetems de preguntastienen respuestas straighforward no requieren caacutelculos detallados Las preguntas se presen-tan en varios formatos diferentes incluyendo opcioacuten muacuteltiple verdadero falso casilla devericacioacuten ll-in-the-blanco y numeacutericas Cada cuestionario se compone de 10 preguntasextraiacutedas al azar de una base de datos con muchas maacutes preguntas En el proceso de tomarvarias pruebas para mejorar sus calicaciones los estudiantes probablemente encuentran

7httpdevelopersimsglobalorgcoursechemvantagehtml

algunas preguntas repetidas de concursos anteriores sin embargo es poco probable quecualquiera de los dos cuestionarios contendraacute exactamente el mismo conjunto de preguntasen el mismo orden Asignando pruebas para ser completado antes de la conferencia losprofesores pueden estar seguros de que sus estudiantes tengan un poco de exposicioacuten almaterial Esto permite una mayor discusioacuten el diaacutelogo y la participacioacuten en el aula y haceel aprendizaje maacutes divertido (de verdad)

2 Video LecturesUna serie de conferencias de viacutedeo de 10 minutos sobre una variedad de temas de QuiacutemicaGeneral es accesible desde la paacutegina principal Los videos estaacuten disentildeados para reforzar lospuntos principales que se presentan en muchos libros de texto

3 HoweworksLas tareas estaacuten disentildeadas para dar a los estudiantes la praacutectica en la resolucioacuten de proble-mas cuantitativos que tienen respuestas numeacutericas Cada alumno puede descargar la tareatrabajar los problemas y presentar las respuestas en liacutenea Respuestas son juzgados a sercorrecta si la solucioacuten numeacuterica de acuerdo con la solucioacuten que se encuentra en la base dedatos dentro de una tolerancia especicada (indicado para cada problema) El sitio informaa los estudiantes que las respuestas son correctas para que puedan rehacer problemas malresueltos y volver a presentar las respuestas Cada problema se basa en una plantilla queatrae paraacutemetros al azar por lo que la respuesta correcta es diferente para cada estudianteEsto hace que sean adecuadas para la colaboracioacuten y el trabajo en grupo porque a pesarde que el grupo puede trabajar para encontrar un algoritmo correcto para resolver un prob-lema cada estudiante tendraacute que usar el algoritmo para encontrar la solucioacuten detallada asu propio problema

4 Practice ExamsLos estudiantes pueden realizaar exaacutemenes de praacutectica cronometrados que muestran laspreguntas de un grupo de 3 o maacutes temas Cada examen estaacute disentildeado para tardar unos60 minutos o menos e incluye una seleccioacuten de 10 preguntas Las praacutecticas de exaacutemenespueden repetirse cuantas veces se desee Las preguntas numeacutericas son parametrizadas loque es muy poco probable que un estudiante realice alguna vez dos exaacutemenes de praacutecticaideacutenticos

5 Portofolio PageCada estudiante puede acceder a una paacutegina que le da la puntuacioacuten obtenida en cada prue-ba y la asignacioacuten de tareas Los estudiantes que son miembros de un grupo tienen unapaacutegina de resultados asociados a las tareas de grupo Hay una paacutegina de carpeta separadaque contiene un resumen de todas las actividades realizadas en ChemVantage incluyendovideos vistos cuestionarios completados resolver problemas con la tarea y la praacutectica deexaacutemenes completados Las puntuaciones en los exaacutemenes de praacutectica son desagregadospara revelar fortalezas y debilidades estudiantes por temas

Hemos procedido a darlo de alta en LTI como hicimos con Wordpress Entramos en Moodle co-mo Administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

Figura 511 Correo de Chuck Wight

-LTI quedando como resultado la siguiente hoja de paraacutemetros gura 512

El siguiente paso seraacute antildeadir la herramienta dentro de nuestro curso para ello pulsaremos sobreAntildeadir una actividad o un recurso Deberemos seleccionar External Tool y rellenamos las op-ciones de la herramienta seleccionando como Tipo de herramienta externa la opcioacuten creada enel apartado de LTI de Moodle

Una vez congurado la herramienta en Moodle podemos entrar para realizar una personalizacioacutende la herramienta gura 513 esta consiste en indicar si el alumno cuando se conecta realiza undeterminado tarea o puede elegir navegar por la web de ChemVantage para poder disfrutar dela cantidad de recursos que se encuentran disponibles

Cuando el usuario pulsa sobre la opcioacuten de esta herramienta externa en Moodle lo primero quese le muestra es la informacioacuten sobre su perl en Chemvantage 514Como hemos visto en los paraacutemetros de conguracioacuten existe la posibilidad de llamar a unaherramienta externa incrustaacutendola dentro de Moodle o abrieacutendolo en una paacutegina web nuevaCon esta segunda opcioacuten no hemos conseguido que funcione correctamente la importacioacuten de lasnotas En cambio si la herramienta externa estaacute incrustada permite esa vinculacioacuten

Figura 512 Conguracioacuten de paraacutemetros LTI

Figura 513 Opciones de inicio de la herramienta

Figura 514 Pantalla de utilizacioacuten de la herramienta por el usuario

Capiacutetulo 6

Middleware

61 Introduccioacuten

La uacuteltima opcioacuten seriacutea utilizar una arquitectura middleware de integracioacuten que permita la inte-gracioacuten ligera de muacuteltiples herramientas existentes en el Moodle

62 GluePS

GLUE-PS es una arquitectura de middleware que permite una interoperabilidad ligera entrelos diferentes lenguajes de disentildeo de aprendizaje y diferentes entornos de aprendizaje virtualEsta interoperabilidad permite a los maestros y otros profesionales que particularicen (es decirpara personalizar el disentildeo de aprendizaje abstractoa la clase particular los participantes y laeleccioacuten de los instrumentos en los que va a ser promulgada) desplieguen (es decir para crearde forma semiautomaacutetica las actividades necesarias en el VLE recursos etc para la aprobacioacutendel disentildeo particularizado) e incluso para llevar a cabo ciertos cambios en el tiempo de ejecucioacuten(por ejemplo modicar la composicioacuten del grupo agregar o quitar recursos de las actividadesetc) Todo esto a partir de disentildeos en distintos lenguajes de disentildeo de aprendizaje tales como laespecicacioacuten IMS-LD aprendizaje

Por otra parte GLUE-PS tambieacuten permite desplegar y gestionar disentildeos de aprendizaje en en-tornos virtuales de aprendizaje que integren herramientas de aprendizaje externos (tales comointegrar en Moodle herramientas como Google Docs y muchos otros) - lo que llamamos Am-bientes de Aprendizaje Distribuido (DLE Distributed Learning Enviroments) Esto se consiguegracias a la arquitectura de GLUE para la integracioacuten de los entornos virtuales de aprendizajey herramientas externas

621 Instalacioacuten

Para realizar la instalacioacuten de GLUE-PS nos hemos descargado el software necesario de la webde los desarrolladores1 descargando la opcioacuten de autenticacioacuten centralizada La instalacioacuten haconstado de tres partes que pasaremos a describir a continuacioacuten

1httpwwwgsicuvaesglue

49

Figura 61 Arquitectura de GLUE

La primera parte consiste en la instalacioacuten del GLUEletManager y los adaptadores GSIC toolAunque el sistema viene preparado para Linux o Windows siendo Windows la explicacioacuten quevamos a desarrollar por estar utilizando este sistema operativo con Xampp

1 Crear el directorio GLUE_ HOME El cual hemos creado para mayor comodidad en la raiacutezdel disco duro

2 Denir la variable del sistema GLUE_ HOME con el valor de la direccioacuten completa deldirectorio de GLUE del punto anterior Para ello hemos pulsado botoacuten derecho sobre MiPc Propiedad Opciones Avanzadas Variables de Entorno procediendo a pulsar el botoacutenNueva para crear la variable en cuestioacuten

3 Extraemos en el directorio del punto (1) el paquete descargado de la paacutegina de los desar-rolladores

4 Ejecutar la instalacioacuten del cheroGLUE_ HOMEbininstall gluebat para registar GLUElet-Manager y GSIC tool como un servicio de Windows Tambieacuten este paso crearaacute un cheroen GLUE_ HOMEtool_ adapteradapterdata para proveer de persistencia a los objetoscreados con el adaptador GSIC tool

A continuacioacuten daremos de alta en nuestro gestor de bases de datos un para de bases de datosque necesita GLUEletManager Para ellos seguimos los siguientes pasos

1 Abrimos la consola de phpMyaAdmin para cargar y ejecutar el chero create_ GLUE_databasessql que se encuentra en GLUE_ HOMEmanagerconfdb

2 Modicamos el chero GLUE_ HOMEmanagerconfMETA-INFpersistencexml paradarle los paraacutemetros necesarios para que JDBC se conecte a nuestra base de datos Losparaacutemetros modicados puede verse en la imagen 62

Figura 62 Paraacutemetros modicados en persistencexml

La segunda parte consiste en el registro interno de los adaptadores de las herramientas para seraccedido con GLUEletManager La distribucioacuten trae un chero para facilitar la conguracioacuten delos adaptadores que trae consigo y para su instalacioacuten deberemos ejecutar el chero GLUE_HOMEmanagerconfdbll _ internal_ Registrysql Alguna de las herramientas necesitanuna conguracioacuten maacutes completa como puede ser Google Docs adapter que necesita una cuentade Gmail para poder crear documentos en Google Docs por lo que deberemos modicar el nom-bre de usuario y contrasentildea

La uacuteltima parte consiste en la instalacioacuten del adaptardor de Moodle como VLE utilizado Estainstalacioacuten es como cualquier otro moacutedulo de Moodle 2 La carpeta que deberemos copiar seraacutela del adaptador correspondiente a Moodle que se encuentra en la carpeta GLUE_ HOMEvle_adpatersmoodle_ vle_ adapter Una vez entremos en nuestro Moodle como administrador nosapareceraacute un mensaje indicaacutendonos que el nuevo moacutedulo esta instalado Para congurar el nuevomoacutedulo debermos ir a Noticaciones - Modulos - Actividades como podemos ver en la gura 63para congurar los paraacutemetros la URL del GLUEletManager y el tiempo de espera

Figura 63 Paraacutemetros del moacutedulo GLUE

Cuando el profesor quiera crear una nueva actividad dependiente de los adaptadores de GLUEdeberaacute agregar una actividad maacutes pulsando para ello en esta opcioacuten dentro del bloque deseadopara seleccionar luego el tipo de actividad GLUElet como podemos ver en la gura64

622 Creando un Doodle

El adaptador Doodle permite la creacioacuten conguracioacuten y gestioacuten de instancias del Doodle Cadaencuesta Doodle es considerado un instancia diferente Ademaacutes este adaptador permite realizarademas la conguracioacuten inicial de encuestas Doodle incluyendo el nombre de la encuesta unadescripcioacuten y un conjunto de posibles respuestas

A continuacioacuten antildeadiremos Doodle en un bloque de Moodle para ellos pulsaremos la opcioacuten deAgregar actividad GLUElet lo cual nos mostraraacute la paacutegina65 donde deberemos rellenar comomiacutenimo el nombre de la actividad y el tipo de herramienta seleccionado en este caso Doodle(httpdoodle-testcom)

2httpdocsmoodleorgenInstalling_contributed_modules_or_plugins

Figura 64 Creando una actividad GLUElet

La primera vez que pulsemos sobre la nueva actividad creada apareceraacute un pantalla 66 dondepodemos congurar diferentes elementos de la encuesta desarrollada con Doodle como son eltiacutetulo una pequentildea descripcioacuten y luego las opciones posibles con un liacutemite de 10

El resultado nal seraacute la incrustacioacuten de una encuesta Doodle dentro de nuestro Moodle comopodemos ver en la gura67

Figura 65 Antildeadiendo Doodle como actividad

Figura 66 Opciones iniciales de conguracioacuten de Doodle

Figura 67 Doodel dentro de Moodle

Capiacutetulo 7

Conclusiones Finales

71 Conclusiones Finales

El proyecto actual nos ha servido para acercarnos a las diferentes tecnologiacuteas que permiten lacomunicacioacuten entre Servicios Webs Hemos desarrollado una primera labor de investigacioacuten queha requerido el aprendizaje de diferentes herramientas de control de documentacioacuten y referenciascomo Zotero y Mendeley

La documentacioacuten recabada en el proceso inicial de revisioacuten de documentos nos ha aportadoun visioacuten general de los diferentes sistemas virtuales de aprendizaje que podemos encontrarnosmuchos de ellos gratuitos y las diferentes soluciones que se plantean a la necesidad de incluirrecursos de otros fabricantes que en principio no fueron concebidos para ser utilizados dentro deuna plataforma VLE

Para poner en praacutectica la diferentes opciones encontradas se han montado diferentes maacutequinasvirtuales sobre las que se han probado las mismas Las conclusiones nales se pasan a detallar

IMS LTIEsta solucioacuten de integracioacuten mediante el cumplimiento de unos protocolos y certicacionesde las herramientas que lo cumplen es en principio la que podriacutea parecer la mejor opcioacutenpero la falta de compromiso de los diferentes fabricantes de Servicios Web y la luchapara imponer sus propios estaacutendares hace que aun quede mucho para que esta opcioacuten seacomo tal real

Si vemos el nuacutemero de aplicaciones certicadas para usar IMS LTI apenas superan las 50 yla mayoriacutea solo cumple la especicacioacuten v10 lo cual signica que la integracioacuten solo solu-ciona el problema de llamar a un recurso externo desde Moodle Pocas son las que cumplenla v11 que permite obtener en Moodle una valoracioacuten de los ejercicios desarrollados en unaactividad externa

La versioacuten v20 que daraacute maacutes opciones a la hora de interactuar con actividades externasauacuten esta en desarrollo y nada se sabe sobre posibles fechas para su presentacioacuten Luegocerticacioacuten de herramientas etc

55

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 18: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

Figura 23 Ciclo de vida del aprendizaje colaborativo

222 Problemas en la integracioacuten

El problema general de la integracioacuten de muacuteltiples herramientas externas en diversos VLEspodemos observarlo en la gura 24 donde podemos ver en un lado diferentes VLEs consus correspondientes APIs arquitectura y caracteriacutesticas mientras en el otro lado diferentestecnologiacuteas interfaces y desarrollos para una gran variedad de propoacutesitos Cada uno deellos puede imponer sus restricciones para la integracioacuten Estos requerimientos es lo queha sido denominado por ejemplo en LAMS como ccedilontrato de integracioacuten el cual intentadeterminar las tecnologiacuteas interfaces y modelos de datos que deben ser empleados para lacomunicacioacuten entre un sistema y el programa que intente integrarlo

Cada herramienta puede tener una o maacutes opciones de integracioacuten Algunas son especiacute-cas para una cierta herramienta (Ej comunicacioacuten basado en Rest para Delicious y paraSlidshare de manera diferente) y otras comuacuten para varias herramientas (Ej Google DataProtocol) Lo mismo ocurre en el lado de los VLEs por lo que se abre un amplio abanicode tecnologiacuteas interfaces y modelos de datos que hacen que la tarea de integracioacuten seaalgo realmente complejo En la gura 25 podemos ver un resumen de los problemas deintegracioacuten seguacuten las herramientas seleccionadas

223 Enfoques de la integracioacuten

Podemos denir dos enfoques principales a la hora de enfocar la integracioacuten de las her-ramientas de software y los VLEs siendo estos

bull Estandarizar los contratos de integracioacutenLa denicioacuten de unos estaacutendares de integracioacuten podriacutea resolver los problemas de in-tegracioacuten pero no existen hoy en diacutea los mismos o no son aceptados por la mayoriacutea

Figura 24 Problemas de integracioacuten

seguramente por intereses tecnoloacutegicos y comerciales IMS Global Learning Consor-tium siguen intentando realizar la aprobacioacuten de dicho estaacutendar siendo uno de elloIMS-LTI Integracioacuten de aplicaciones y servicios remotos y aunque la adopcioacuten de losmismo por las nuevas versiones de Moodle y Blackboard podriacutea hacer que se apos-tara por esta opcioacuten la falta de herramientas que lo utilicen (Ej Google no lo utiliza)puede hacer que no llegue a buen puerto

bull Crear una arquitecturaEste enfoque trata de adaptar los contratos de integracioacuten de los VLEs y las her-ramientas sin tener que modicar sus implementacioacuten Este mismo enfoque presentados opciones como podemos ver en la gura 26 y que pasamos a detallar

1 Un adaptador por en el lado de VLE y otro en el lado de las herramientas o inclusoun solo paquete que pueda congure toda la conexioacuten En este caso estariacuteamoshablando por ejemplo de los moacutedulo adicionales de Moodle

2 Una capa intermedia y adaptadores Este tipo de arquitectura permite la in-tegracioacuten entre muacuteltiples herramientas externas y muacuteltiple entorno virtuales deaprendizaje a traveacutes de un middleware comuacuten Dicho middleware estariacutea com-puesto de diferentes programas que pueden ser ejecutados en dominios diferentesEsta arquitectura reduce el esfuerzo para la integracioacuten de cada herramienta encada VLE ya que el coacutedigo estaacute parcialmente implementado por los elementos deintegracioacuten comunes Sin embargo el grado de integracioacuten y funcionalidad que sepuede lograr con estas arquitecturas es menor que con la primera opcioacuten

23 Servicios Web

Aunque han sido englobados dentro de integracioacuten de herramientas vamos a detallar queson y que aportan a Moodle

Figura 25 Problemas de integracioacuten

Los Servicios Web (Web Services) son la parte esencial de la interoperabilidad de Moodlecon otras aplicaciones Web 20 consisten en una pieza de software que utiliza un conjuntode protocolos y estaacutendares abiertos para intercambiar datos entre aplicaciones La idea prin-cipal es que distintas aplicaciones de software desarrolladas en lenguajes de programacioacutendiferentes y ejecutadas sobre cualquier plataforma puedan utilizar los servicios Web paraintercambiar datos en la red de ordenadores como Internet El producto resultante es unconjunto de moacutedulos con funcionalidad especiacuteca y completa que se acoplan entre siacute A suvez estos moacutedulos se conectan a una plataforma de e-learning mediante la utilizacioacuten deservicios de base descritos en una capa estaacutendar que funciona como gateway

Para ampliar un poco mejor el concepto de servicios Web citaremos una exposicioacuten delDoctor Marcos Escobar Un Web Service es un componente de software que se comunicacon otras aplicaciones codicando los mensaje en XML y enviando estos mensaje a traveacutesde protocolos estaacutendares de Internet tales como el HTTP Intuitivamente un Web Servicees similar a un sitio Web que no cuenta con un interfaz de usuario y que da servicio a lasaplicaciones en vez de a las personas Un Web Service en vez de obtener solicitudes desdeel navegador y retornar paacuteginas Web como respuesta lo que hace es recibir solicitudes atraveacutes de un mensaje formateado en XML desde una aplicacioacuten realiza una tarea y de-vuelve un mensaje de respuesta tambieacuten formateado en XML

Figura 26 Enfoques de arquitectura de integracioacuten

231 Orquestacioacuten y Coreografiacutea de Servicios Web

Seguacuten Careaga Mercadillo Ana Lilia [car ] la Orquestacioacuten (Web Service Orchestration)y Coreografiacutea (Web Service Choreography) se suelen ver como dos aproximaciones parala Composicioacuten de Servicios Web que se acercan estrechamente a los conceptos musicalespor lo cual se han importado directamente sus signicados A continuacioacuten detallaremosque son y sus posibles aplicaciones

La tarea de componer servicios Web baacutesicos o simples para brindar servicios Web maacutes com-plejos se conoce teacutecnicamente como Composicioacuten de Servicios Web Existen dos grandesaproximaciones para esta tarea la coreografiacutea con foco en la interaccioacuten entre servicios(equivalente a los bailarines) y la orquestacioacuten (equivalente a los instrumentos de la orques-ta) con foco en la implementacioacuten y ejecucioacuten de servicios La primera puede consid-erarse como una descripcioacuten formal del pasaje de mensajes obviando detalles internosde implementacioacuten Se ajusta maacutes en situaciones donde es provechoso contar con la no-cioacuten de estados y tambieacuten donde estaacuten involucradas transacciones de larga duracioacuten- Elorquestadordetermina la naturaleza y la secuencia de la interaccioacuten En cambio la segun-da aproximacioacuten describe la loacutegica y el estado de cada una de las partes involucradas Laorquestacioacuten tiene una visioacuten mas local y centralizada mientras que la coreografiacutea denela composicioacuten desde una perspectiva global sin control centralizado tal y como sucede enla danza

Existen numerosas deniciones de Servicios Web y esto demuestra en parte la gran com-plejidad de los servicios que se agrupan bajo este teacutermino y las implicaciones asociadas aellos Hasta ahora la denicioacuten maacutes general y convincente es decir que los Servicios Webson el conjunto de aplicaciones tecnoloacutegicas con capacidad para interoperar en la Web Es-tas tecnologiacuteas intercambian datos entre ellas con el n de ofrecer servicios de naturalezaremota

La World Wide Web no es soacutelo un espacio de informacioacuten tambieacuten es un espacio de inter-accioacuten Utilizando la Web como plataforma los usuarios de forma remota pueden solicitar

un servicio que alguacuten proveedor ofrezca en la red Pero para que esta interaccioacuten funcionedeben existir unos mecanismos de comunicacioacuten estaacutendares entre diferentes aplicacionesEstos mecanismos deben poder interactuar entre siacute para presentar la informacioacuten de formadinaacutemica al usuario Se precisa pues una arquitectura de referencia estaacutendar que hagaposible la interoperabilidad y extensibilidad entre las distintas aplicaciones y que permitasu combinacioacuten para realizar operaciones complejas Esta arquitectura es conocida con elnombre de SOA (Service Oriented Architecture)

Con el n de estandarizar los diferentes aspectos relacionados con los servicios Web elW3C (World Wide Web Consortium) recoge todo lo referente a ellos en (Web ServicesActivity) Asiacute pues Web Services (WS) ofrece un signicado estaacutendar para interoperarentre diferentes aplicaciones de software corriendo en diferentes plataformas yo marcosde trabajo El W3C pretende disentildear la arquitectura denirla y crear el nuacutecleo de tec-nologiacuteas que hagan posible los Servicios Web Los servicios Web se basan en un lenguajede caracteriacutesticas especiales llamado XML (Extensible Markup Language) que permite quelas aplicaciones compartan informacioacuten y que ademaacutes invoquen funciones de otras apli-caciones independientemente de coacutemo se hayan creado dichas aplicaciones y del sistemaoperativo o plataforma en que se ejecuten Por ejemplo Google utiliza un Servicio Webllamado Google Web APIs que permite que el usuario programe en diversos lenguajes ase-gurando la recuperacioacuten de informacioacuten independientemente de la plataforma que se utilice

Los Servicios Web se idearon en un principio para realizar interacciones simples e indepen-dientes pero ahora es necesario que los servicios colaboren y se coordinen A la coordinacioacutennecesaria para implementar un servicio Web se le llama Composicioacuten que puede realizarsede dos manerasorquestacioacuten y coreografiacutea La principal diferencia entre orquestacioacuten ycoreografiacutea es el alcance La orquestacioacuten trata de la descripcioacuten y ejecucioacuten de un mismoy uacutenico punto de vista global del modelo (instrumentacioacuten) La coreografiacutea trata de la de-scripcioacuten y guiacutea de un modelo global proyectado en base a cada participante (bailarines)La orquestacioacuten y coreografiacutea son teacuterminos que describen dos aspectos de los estaacutendaresemergentes para la creacioacuten de procesos de negocios de muacuteltiples servicios WebLos dosteacuterminos se superponen pero es claro que la orquestacioacuten se reere a un proceso de nego-cio ejecutable que puede interactuar tanto con servicios Web internos como externos Laorquestacioacuten representa siempre el control desde la perspectiva de una de las partes Estolo distingue de la coreografiacutea que es de mayor colaboracioacuten y permite a cada parte impli-cada describir su papel en la interaccioacuten La orquestacioacuten y coreografiacutea tratan de describiraspectos relacionados con la creacioacuten de procesos de negocio que involucran varios tipos deSoftware

Visto graacutecamente podemos ver en la gura 27 la orquestacioacuten permite disentildear proce-sos de negocio ejecutables que pueden interactuar (a nivel de mensaje) tanto con softwareinterno como externo Por otra parte la coreografiacutea es mucho maacutes colaborativa ya quepermite trazar las secuencias de mensajes que se suceden entre todas las partes partici-pantes del proceso de negocio en lugar de centrarse en los mensajes que se intercambianentre los diversos programas de software que implementan los procesos de negocio

Figura 27 Orquestacioacuten y Coreografiacutea de Servicios Web

232 Estaacutendares de Orquestacioacuten de Servicios Web

WS BPEL( Web Service Business Process Execution Language)Es un lenguaje de orquestacioacuten estandarizado porOASIS (Organisation for Advance Struc-tured Information Business Transaction Protocol) para la composicioacuten de servicios Web quepermite a los desarrolladores crear programas que automatizan las interacciones entre losservicios Web jugando un papel clave en las arquitecturas orientadas a los servicios SOAPara comprender su funcionamiento imaginemos un proceso de negocio determinado quetiene una entrada A y una salida B Dicho proceso como la mayoriacutea de ellos posee a suvez de muchos procesos internos que se van activando de acuerdo a ciertos paraacutemetros yvalores BPEL seriacutea el encargado de orquestar y por lo tanto dirigir la ejecucioacuten de unamanera ordenada La ventaja de que BPEL sea un estaacutendar radica en que puede ser imple-mentado en una gran variedad de motores de ejecucioacuten de diferentes proveedores BPELen si es un formato XML que proviene de la convergencia entre el WSFL (Web ServiceFlow Language) de IBM y XLANG de Microsoft La herramienta BPEL estaacute basada en unmodelo llamado Workow que especica las oacuterdenes de ejecucioacuten Existen actividadesbaacutesicas como iumlnvoke y receive y otras estructuradas como sequence Tambieacuten formanparte del modelo variables y participantes (partners) En las variables se deposita la nocioacutende datos y los participantes representan los elementos que interactuacutean en la composicioacutenEl modelo se completa como un motor que orquestaraacute las invocaciones

BPML (Business Process Modeling Language)Es un metalenguaje basado en XML para la descripcioacuten de procesos de negocio Inicial-mente BMPL se disentildeoacute para soportar los procesos que un sistema de gestioacuten de procesosde negocio pudiera ejecutar BPML dispone de estructuras similares a BPEL como puedenser actividades baacutesicas para el enviacuteo y la recepcioacuten de mensajes y para la invocacioacuten deservicios Adicionalmente BPML permite planicar las tareas para que se ejecuten eninstantes especiacutecos ofreciendo algunas opciones de control temporal Este lenguaje in-cluye caracteriacutesticas para dar soporte a la persistencia ya que fue disentildeado para la gestioacutende procesos de larga duracioacuten BPML ofrece soporte tambieacuten para realizar composicionesrecursivas a n de poder construir procesos de negocio que a su vez consten de otros sub-procesos Asimismo soporta transacciones de larga o corta ejecucioacuten gracias a que usa unateacutecnica similar a BPEL para controlar el alcance de las actividades y gestionar de esta

forma las reglas de compensacioacuten en caso de que las operaciones que deben realizarse deforma automaacutetica se vean interrumpidas

233 Estaacutendares de Coreografiacutea de los Servicios Web

WS-CDL (Web Services Choreography Description Language)Es un lenguaje basado en XML que describe la colaboracioacuten entre pares peer to peemediante la denicioacuten - desde un punto de vista global de los comportamientos comunes yobservables de cada participante de un proceso de negocio Eacuteste es un lenguaje utilizadopara la denicioacuten de servicios dentro de la plataforma SOA y cuyo objetivo es la descrip-cioacuten del comportamiento de cada uno de los servicios establecidos para lograr un objetivocomuacuten Sin embargo antes de WS-CDL ya existiacutea un lenguaje que permitiacutea la descripcioacutende las funcionalidades de un Servicio Web WSDL (Web Services Denition Language)el cual puede describir el conjunto de funciones ofrecidas con los posibles fallos que po-driacutean ocurrir y a pesar de que WS-CDL podriacutea expresar las coreografiacuteas de un servicioen un ambiente SOA W3C (World Wide Web Consortium) abandonoacute su desarrollo en 2009

WSCI (Web Service Choreography Interface)La especicacioacuten de WSCI fue desarrollada por diversas compantildeiacuteas como Sun SAP BEAe Intalio y representa una extensioacuten para WSDL para la colaboracioacuten La especicacioacuten de-ne la coreografiacutea global o el intercambio de mensajes entre los diferentes tipos de softwarey soporta su correlacioacuten reglas de secuenciacioacuten manejo de excepciones transacciones ycolaboracioacuten dinaacutemica WSCI soacutelo describe el comportamiento observable entre el softwareque se emplea Una coreografiacutea WSCI constaraacute de un conjunto de interfases WSCI unapor cada uno de los servicios que participen en la interaccioacuten

24 Moodle

El software de coacutedigo abierto (Open-Source Software-OSS) esta siendo ampliamente de-sarrollado ofreciendo nuevas alternativas y posibilidades hasta hace poco inimaginablesMoodle es un claro ejemplo siendo uno de los programas maacutes ampliamente adoptados porcolegios institucioacuten universidades etc Como podemos ver en la gura 28 el nuacutemero deusuarios registrados y los idiomas en los que se encuentra disponible dan muestra de sugran difusioacuten Algunas de las razones mas importante para su eleccioacuten son

Figura 28 Moodle - Abril 2013

bull Moodle es OSS lo cual signica que los usuarios pueden descargarlo libremente usarlomodicarlos e incluso redistribuirlo seguacuten los teacuterminos GNU 3

bull La losofiacutea planteada por Moodle incluye una aproximacioacuten constructiva basada enel constructivismo social de la educacioacuten enfatizando que los estudiantes (y no soacutelolos profesores) pueden contribuir a la experiencia educativa en muchas formas

bull Compatibilidad con maacutes de 70 idiomas diferentes

bull Una excelente documentacioacuten soporte para seguridad y administracioacuten

bull No requiere modicaciones en el sistema operativo pudiendo ser ejecutado en un en-torno Linux Windows Mac OS o cualquier otro siempre que soporten PHP

bull La informacioacuten esta soportada por una simple base de datos

Ademaacutes su sencilla aplicacioacuten en entorno web que utiliza tecnologiacuteas ya ampliamenteprobadas sus mecanismos de extensioacuten maacutes faacuteciles en comparacioacuten con otros VLEs y laexistencia de una gran cantidad de documentacioacuten de desarrollo han impulsado la creacioacutende una gran comunidad de personas que contribuyen a la mejora de Moodle Esta comu-nidad estaacute en constante desarrollo de nuevas caracteriacutesticas y aplicaciones a traveacutes decientos de plugins que pueden ser descargados desde su la web de Moodle y asesoran tantoa otros desarrolladores como usuarios nales

La primera versioacuten de Moodle (10) fuel lanzada en 2002 como parte de la investigacioacuten deMartin Dougiamas del uso del software de coacutedigo abierto para la ensentildeanza y el aprendizajecon las comunidades basadas en Internet[Dougiamas and Taylor 2000] Actualmente seencuentra disponible la versioacuten 243+ como estable y la beta de la versioacuten 25

En cuanto a la parte teacutecnica Moodle estaacute desarrollado en lenguaje PHP como la mayoriacuteade los VLEs utiliza una arquitectura cliente-servidor comuacuten de tres capas CORREGIRLa capa de presentacioacuten dene como la informacioacuten se presenta a los usuarios nales quetienen acceso a esa informacioacuten a traveacutes de sus navegadores web La Capa de loacutegica de ne-gocios se encarga de las relaciones con Moodle el acceso a la capa de datos por lo generala traveacutes de MySQL para almacenar y recuperar la informacioacuten cuando sea necesario

Moodle se distribuye en un solo paquete multiplataforma que incluye PHP MySQL yApache HTTP Server para facilitar los procesos de instalacioacuten y conguracioacuten La dis-tribucioacuten actual de Moodle cumple con varios estaacutendares educativos Por ejemplo Moodlepuede manejar ADL SCORM paquetes que contienen recursos aislados o cursos completosEn cuanto a los estaacutendares IMS Moodle soporta IMS Content Packaging (IMS CP) IMSCommon Cartridge (IMS CC)IMS pregunta y Test Interoperability (IMS QTI) y estaacuteconsiderado como uno de los VLEs compatible con Basic LTI

241 otras plataformas

No podemos dejar de lado otros escenarios educativos que han ido apareciendo en los uacutelti-mos antildeos a pesar del gran eacutexito de los VLEs Algunos ejemplos de estas plataforma son

3httpsmoodleorg

bull Wikis (Ej MediaWiki) Son sistemas software que permiten la creacioacuten y gestioacutende contenidos estructurados mediante paacuteginas web relacionadas entre siacute El contenidosuele estar editado por varios usuarios que trabajan de manera colaborativa pudiendoincluir enlaces a recursos externos

bull Sitios de redes sociales (Ej Facebook) Son sistema en liacutenea donde los usuariospueden crearse sus propios perles y crear una red personal que les mantendraacute conec-tado con otros usuarios Estos sistemas han proliferado en los uacuteltimos antildeos llegando amillones de usuarios No suelen necesitar un administrador pues se utilizan medianteentorno web y son alojados por el propio proveedor Su gran adopcioacuten y el enfoquea las interacciones sociales es lo que ha llevado a muchos profesor a utilizarlo comoherramienta de aprendizaje Estos sitios permiten la creacioacuten y mantenimiento degrupo mediante el perl de usuario pero no estaacuten disentildeados para seguir un enfoquepedagoacutegico

bull Personal Learning Environment - PLE (Ej Southampton) Son denidos comosistemas de software que permiten al estudiante a tomar el control y la gestioacuten de suspropio aprendizaje Se caracterizan por la por la participacioacuten directa de los alumnosen el acceso agregacioacuten conguracioacuten y manipulacioacuten de herramientas y recursos adiferencia de los VLEs done es el educador el que selecciona y gestiona los recursosque el alumno debe utilizar

Muchas de estas herramientas son de coacutedigo libre y abierto Su funcionalidad respecto ala gestioacuten de actividades grupos funciones y herramientas es limitado siendo en algunoscasos inexistente Ninguna de estas plataformas se puede considerar un VLE ya que nosson sistemas centrados en el educador sin embargo pueden apoyar la integracioacuten de apli-caciones externas en entornos de aprendizaje colaborativo

Capiacutetulo 3

Organizacioacuten y Sistema Inicial

A continuacioacuten pasamos a detallar las distintas actividades de la que consta el proyecto quehemos llevado a cabo durante estos meses

31 Lanzamiento del proyecto

Esta actividad consisten en la eleccioacuten de una de las diferentes posibles aacutereas de desarrollo deproyectos que ofrece la UOC siendo la elegida Aplicaciones Web para trabajo colaborativo

32 Denicioacuten del proyecto

El proyecto queda denido en el presente documento siendo el tiacutetulo del mismo Orchestationand Coreography of Web Services on Moodle - Revisioacuten Sistemaacutetica de la literatura

[Duracioacuten] 27-02-2013 al 03-03-2013

33 Anaacutelisis de requisitos

Nos centraremos en la fase de planicacioacuten que incluye los objetivos de la investigacioacuten y la formaen que se llevaraacute a cabo la revisioacuten

[Duracioacuten] 04-03-2013 al 03-06-2013

331 Cuestiones Realizadas

El primer paso en la fase de planicacioacuten seraacute denir los objetivos principales de esta revisioacutensistemaacutetica de la literatura Estos objetivos son analizar el estado del arte de la coreografiacutea yorquestacioacuten de los servicios web en Moodle como LMS

332 Fuentes de datos y buacutesqueda

Utilizaremos diferentes libreriacuteas o espacios digitales para realizar las buacutesquedas las mismas serealizaraacuten en ingleacutes y espantildeol Las libreriacuteas principales utilizadas son

IEEEXplore [IEEEX] httpieeexploreieeeorg

21

Science Direct [SD] httpwwwsciencedirectcom

SpringerLink [SL] httpwwwspringerlinkcom

Paralelamente a Science Direct se han realizado buacutesquedas en Scopus1 de Elsevier y GoogleScholar2 de Google

333 Criterios de inclusioacuten y exclusioacuten

Las buacutesquedas que se realicen intentaraacuten abarcar todo el aacutembito de cuestiones del SLR pero esposible (y de hecho ocurre) el resultado contenga referencias publicaciones estudios o en generalinformacioacuten que no sirve Para ello seraacute necesario denir criterios de inclusioacuten y exclusioacuten loscual haremos basaacutendonos en la guiacutea [Kitchenham 2007]

334 Asegurar la calidad

Despueacutes de obtener un numero considerable de trabajos o estudios que satisfacen los criteriosde inclusioacuten y exclusioacuten se deberaacute ser capaz de asegurar o armar cuales son los que cumplencon una miacutenima calidad y si son vaacutelidos o no para el estudio en si Es baacutesico poder analizar queacuteestudios son mejores que otros en teacuterminos de calidadSiguiente [Kitchenham 2007] se deniraacuten preguntas y cuestiones que permitan asegurar dichacalidad

335 Extraccioacuten de datos y anaacutelisis

Los criterios de inclusioacuten y exclusioacuten junto con las preguntas orientadas a asegurar la calidadnos serviraacuten para obtener todos los artiacuteculos y estudios que se analizan en este estudioDe cada artiacuteculo se recogeraacute titulo y autores abstract publicacioacuten y antildeo de publicacioacuten

336 Fase de revisioacuten

Esta fase de planicacioacuten seraacute denir el proceso de conducir o dirigir la revisioacuten Para elloutilizaremos tres fases como podemos ver en la gura 31 de la paacutegina 23

337 Fase de Pruebas

Se realizan pruebas con la informacioacuten obtenido montado maacutequinas virtuales para realizar lasmismas En estas se han probado las diferentes opciones de comunicacioacuten que nos ofrece Moodle

1httpwwwscopuscom2httpscholargooglecom

Figura 31 Proceso para dirigir la revisioacuten

34 Calendario de Trabajo

Podemos ver en el siguiente diagrama de Gantt32 la distribucioacuten de trabajos en el tiempo elmismo seraacute modicado para ajustarlo a las variaciones producidas durante el desarrollo de lastareas que contempla

35 Hitos principales

Los principales hitos seraacuten

Lanzamiento del proyecto Se dene correctamente en que va consistir el proyecto

Denicioacuten de cuestiones para la buacutesqueda Donde se detallaraacuten las cuestiones quemarcaran el desarrollo del resto del proyecto

Comprobacioacuten de resultados Se deberaacuten criba los mismo para no obtener duplicadoso informacioacuten ajena a la investigacioacuten

Revisioacuten de informacioacuten obtenida Una vez obtenida la informacioacuten y analizada deberaacuteser revisada para su presentacioacuten

Figura 32 Diagrama de Gantt

36 Instalacioacuten base

Para llevar a cabo las pruebas se ha optado por la creacioacuten de una maacutequina virtual sobre VirtualBox 3 en la cual hemos instalado Windows XP como sistema operativo Este sistema es maacutesligero a la hora de trabajar en maacutequinas virtuales pues requiere menos recursos que las versionesposteriores del mismos sistema

El siguiente paso era la instalacioacuten de Moodle Aunque se dispone de un instalador para Win-dows se ha optado por la descarga e instalacioacuten de XAMPP 4 y su y su posterior conguracioacutenen la maacutequina virtual XAMPP es un servidor independiente de plataforma software libre queconsiste principalmente en la base de datos MySQL el servidor web Apache y los inteacuterpretespara lenguajes de script PHP y Perl El nombre proviene del acroacutenimo de X (para cualquierade los diferentes sistemas operativos) Apache MySQL PHP Perl

XAMPP en su versioacuten 181 incluye

Apache 243

MySQL 5527

PHP 547

phpMyAdmin 3522

FileZilla FTP Server 0941

Tomcat 7030

Strawberry Perl 51611 Portable

XAMPP Control Panel 310

Hemos continuado con la descarga he instalacioacuten de Moodle y hemos querido probar las difer-encias que obtenemos entre las versiones 19x y 25 por lo que se han descargado ambas heinstalado en maacutequinas virtuales diferentes Con ello conseguiremos probar el resultado obtenidoseguacuten la versioacuten Moodle desde su versioacuten 22 ya soporta conexiones mediante IMS - LTI IMSLTI es un estaacutendar IMS Learning Tool Interoperability Esto signica que las herramientas deaprendizaje tienen ahora diversas maneras de conectarse entre sin problemas

En la praacutectica cuando un usuario se registra en una herramienta como Moodle se pueden conectara la otra herramienta como MediaWiki y autenticarse automaacuteticamente proporcionando unaexperiencia perfectaLas guras 33 y 34 nos muestran el panel de control de XAMPP una vez instalado y el panede phpMyAdmin donde hemos debido congurar las bases de datos y usuario necesarios parallevar todo el proceso de conguracioacuten de Moodle y el resto de herramientas

3httpswwwvirtualboxorg4httpwwwapachefriendsorgesxampphtml

Figura 33 Panel de control de XAMPP

Figura 34 Gestor de bases de datos phpMyAdmin

Capiacutetulo 4

Servicios Web de Moodle

41 Introduccioacuten

Moodle 2X incorpora la posibilidad de implementar Servicios Web para manejar sus funciona-lidades lo que nos permite poder acceder a acciones de actualizar y crear tareas para reejar elresultado de las actividades realizadas Moodle soporta varios protocolos (REST SOAP XML-RPC y AMF)

42 Servicios Web de Moodle

Los Servicios Web de Moodle se caracterizan por permitir el acceso desde cualquier aplicacioacutenimplementando para ello tres capas como podemos observar en la gura 41

Capa nuacutecleoLa capa del nuacutecleo estaacute compuesta de todas las funciones principales de Moodle sobreusuarios grupos cursos calendario etc Moodle no dispone de una API al uso sino queofrece diferentes funciones que han sido desarrolladas durante antildeos Por tanto las necesi-dades de los Servicios Web estaacuten obligando a rehacer estas funciones del nuacutecleo para quecomiencen a formar una API (Moodle 2X)

Capa externaLa capa externa estaacute compuesta por nuevos cheros llamados externalphp colocados porlas carpetas de Moodle y conteniendo manejadores para la capa inferior Estos manejadoresson los responsables de comprobar las capacidades paraacutemetros y llamadas correctas a lasfunciones de nuacutecleo

Capa de conectoresLa capa de conectores estaacute compuesta de diferentes conectores para las diferentes imple-mentaciones de los Servicios Web y contiene un conector REST un conector SOAP unconector XML-RPC y un conector AMF Esta capa admite plugins para ampliar los conec-tores disponibles de manera que se puedan integrar otros sistemas en Moodle utilizandootros protocolos

Los pasos para utilizar un Servicio Web con Moodle seriacutean los siguientes

1 El cliente enviacutea el nombre de usuario y contrasentildea al servidor que provee los ServiciosWeb

27

Figura 41 Capas en Moodle

2 El servidor de protocolo devuelve un token de sesioacuten para esa cuenta de usuario

3 El cliente llama a un Servicio Web especiacuteco incluyendo el token de sesioacuten

4 El servidor utiliza el token para comprobar que la sesioacuten del Servicio Web estaacute activa

5 El servidor llama a la funcioacuten correspondiente localizada en el chero externallibphp dentrodel moacutedulo especiacuteco

6 La funcioacuten externa comprueba que el usuario actual tenga los permisos sucientes pararealizar esta operacioacuten

7 La funcioacuten externa llama a la funcioacuten correspondiente del nuacutecleo de Moodle (libphp)

8 La funcioacuten del nuacutecleo puede retornar un resultado a la funcioacuten externa

9 La funcioacuten externa devolveraacute el resultado al servidor de protocolo

10 El servidor de protocolo devolveraacute el resultado al cliente

43 REST

REST (Representational State Transfer) es el acroacutenimo de Transferencia de Estado Representa-cional teacutermino usado por Roy Fielding (uno de los creadores de HTTP) para describir un estilode arquitectura que utilizar como modelo en los sistemas de computacioacuten Web No es un es-taacutendar sino un enfoque que muestra como desarrollar y proporcionar servicios en Internet portanto considerado como un estilo arquitectoacutenico para disentildeo de software a gran escala El propioautor lo dene de manera concisa en eacuteste paacuterrafo

REST es un intento de mostrar coacutemo debe comportarse una aplicacioacuten Web bien disentildeada unared de paacuteginas Web (una maacutequina de estados virtual) donde el usuario progresaraacute seleccionan-do enlaces (transiciones de estado) que devuelven la paacutegina siguiente (el siguiente estado de lamaacutequina) que el usuario manejaraacute a su gusto

Este enfoque no aporta realmente nada nuevo la mayor parte de la Web sigue este estilo arqui-tectoacutenico Sin embargo el autor hace eacutenfasis en las caracteriacutesticas concretas que han hecho quela Web triunfe que van a ser los objetivos buscados por REST y que son a su juicio

Escalabilidad en las interacciones entre componentes La red ha ido creciendo de maneraexponencial y se ha ido comportado de manera satisfactoria

Generalidad en las interfaces Se proporciona acceso con distintos clientes y con distintosmecanismos de acceso

Desarrollo independiente de componentes Implementaciones cliente y servidor pueden serdesarrolladas en distintos momentos

Existencia de componentes intermediarios con los cuales existe compatibilidad (comoproxys)que permiten encapsulacioacuten e integracioacuten de sistemas no Web dentro de la misma

431 Principios de disentildeo

Los objetivos citados van a ser conseguidos imponiendo una serie de restricciones

El estado y la funcionalidad de las aplicaciones se representan por forma de recursos

La identicacioacuten de recursos se realiza de forma uacutenica global mediante Uniform ResourceIdentiers Los recursos identicados con URIs son los objetos loacutegicos a los cuales se lesmandan los mensajes

Manipulacioacuten de recursos a traveacutes de representaciones luego no se manejan directamentelos recursos sino sus representaciones

Todos los recursos comparten un interfaz uniforme formado por

bull Un conjunto de operaciones limitado para transferir el estado Se van a aprovecharlas operaciones que HTTP dene mostradas en la gura 42

bull Un conjunto limitado de tipos de contenidos identicados mediante tipos MIME

Uso de un protocolo clienteservidor sin estado y basado en capas Cada mensaje HTTPcontendraacute la informacioacuten necesaria para comprender la peticioacuten luego como muestra lagura 43 no es necesario que eacutesta sea entendida tanto en el cliente como en el servidor

Uso de hipermedios para representar el estado de una aplicacioacuten permitiendo que el estadode una aplicacioacuten Web particular esteacute almacenado en uno o maacutes documentos de hipertextoque residen bien en el servidor o en el cliente Esto permite al servidor saber el estado desus recursos sin necesidad de almacenar el estado de los clientes concretos

Figura 42 Operaciones denidas por HTTP

Como ya se mencionoacute REST se trata de un estilo arquitectoacutenico no un estaacutendar Sin embargohace uso de varios estaacutendares Web

HTTP HyperText Transfer Protocol

Figura 43 Operaciones denidas por HTTP

URL Uniform Resource Locator como el mecanismo de indenticacioacuten de recursos

XML - HTML - PNG - etc Como distintos formatos de representacioacuten de recursos

Tipos MIME como text-xml text-html image-png etc

44 SOAP

SOAP (siglas de Simple Object Access Protocol) es un protocolo estaacutendar que dene coacutemo dosobjetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML Esteprotocolo deriva de un protocolo creado por David Winer en 1998 llamado XML-RPC SOAPfue creado por Microsoft IBM y otros y estaacute actualmente bajo el auspicio de la W3C

441 Principios de disentildeo

La funcionalidad que aporta SOAP es la de proporcionar un mecanismo simple y ligero de in-tercambio de informacioacuten entre dos puntos usando el lenguaje XML SOAP no es maacutes que unmecanismo sencillo de expresar la informacioacuten mediante un modelo de empaquetado de datosmodular y una serie de mecanismos de codicacioacuten de datos Esto permite que SOAP sea uti-lizado en un amplio rango de servidores de aplicaciones que trabajen mediante el modelo decomunicacioacuten RPC (Remote Procedure Call)

SOAP consta de tres partes como podemos ver en la gura 44

El SOAP envelope que dene el marco de trabajo que determina queacute se puede introduciren un mensaje quieacuten deberiacutea hacerlo y si esa operacioacuten es opcional u obligatoria

Las reglas de codicacioacuten SOAP que denen el mecanismo de serializacioacuten que seraacute usadopara encapsular en los mensajes los distintos tipos de datos

La representacioacuten SOAP RPC que dene un modo de funcionamiento a la hora de realizarllamadas a procedimientos remotos y la obtencioacuten de sus resultados

A la hora de realizar el disentildeo de SOAP se han tenido en cuenta una serie de consideracionescon el n de cumplir una serie de objetivos claros objetivos que le daraacuten el potencial que resideen SOAP y que le haraacuten tan atractivo Eacutestos son

Establecer un protocolo estaacutendar de invocacioacuten a servicios remotos que esteacute basado enprotocolos estaacutendares de uso frecuente en Internet como son HTTP (Hiper Text TransportProtocol) para la transmisioacuten y XML (eXtensible Markup Language)para la codicacioacutende los datos

Figura 44 Partes de SOAP

Independencia de plataforma hardware lenguaje de programacioacuten e implementacioacuten delservicio Web

El logro de estos objetivos ha hecho de SOAP un protocolo extremadamente uacutetil ya que elprotocolo de comunicacioacuten HTTP es el empleado para la conexioacuten sobre Internetpor lo que segarantiza que cualquier cliente con un navegador estaacutendar pueda conectarse con un servidor re-moto Ademaacutes los datos en la transmisioacuten se empaquetan o serializan con el lenguaje XML quese ha convertido en algo imprescindible en el intercambio de datos ya que es capaz de salvar lasincompatibilidades que existiacutean en el resto de protocolos de representacioacuten de datos de la red

Por otra parte los servidores Web pueden procesar las peticiones de usuario empleando tec-nologiacuteas tales como Servlets paacuteginas ASP (Active Server Pages) paacuteginas JSP (Java ServerPages) o sencillamente un servidor de aplicaciones con invocacioacuten de objetos mediante CORBACOM o EJB

Un ejemplo tiacutepico de disentildeo de un servicio Web utilizando las ventajas de SOAP podemos veren la siguiente gura 45

Figura 45 Ejemplo de uso de SOAP

45 AMF

AMF (Action Message Format) es un protocolo binario de Adobe que va por la versioacuten AMF3Aunque por el nombre de la versioacuten pueda parecer que existan 3 cabe destacar que soacutelo existendos AMF0 y AMF3 Una de las mayores diferencias o mejoras que aporta AMF3 es que soporta

datos binarios (ByteArray) y int datos no soportados por AMF0 debido a que en la eacutepoca queaparecioacute el formato Flash Player no soportaba estos tipos de datos

AMF3 no es un protocolo para transferir informacioacuten sino que representa el formato en el quese transmite la informacioacuten en este caso un formato binario

La versioacuten de Moodle 25 viene con Zend_ AMF pero podemos utilizar tambieacuten la libreriacuteaamfPHP

AMFPHP

Zend_ amf httpframeworkzendcommanual112enzendamfhtml

Maacutes informacioacuten en httpdocsmoodleorgdevAMFPHP

46 Conguracioacuten de Moodle Web Services

Los Servicios Web habilitan que otros sistemas puedan entrar a Moodle y realizar operacionesPasaremos a detallar los pasos necesarios para su conguracioacuten y explicaremos distintos pruebasllevadas a cabo sobre su funcionamiento Para poder consumir de manera correcta unWeb Servicede Moodle seriacutea necesario antildeadir a la url que vamos a formar los paraacutemetros oportunos paralograr consumir el Web Service de manera satisfactoria Una vez antildeadidos ya podriacuteamos invocarla funcioacuten seleccionada

461 Activando los Servicios Web

Lo primero que debemos hacer es activar la opcioacuten general que habilita el uso de los serviciosweb En la gura 46 podemos observar la opcioacuten para la activacioacuten de este servicio para ello nosiremos a la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Servicios Externos

Figura 46 Activacioacuten Servicios Web

Esto solo es una opcioacuten a nivel global necesitando ahora activar los protocolos de comunciacionesque vamos a utilizar para ello deberemos ir a la opcioacuten textitAdministracioacuten del Sitio - Exten-siones - Servicios Web - Administrador de protoclos donde encontraremos las diferente opcionesque nos existen En la gura 47 podemos ver la pantalla de nuestra conguracioacuten con todos losprotocolos activados

Una vez activada la opcioacuten de Servicios Externos y seleccionados los protocolos que utilizaremosnecesitamos crear un Servicio Personalizado que no es maacutes que una etiqueta que aglutina los

Figura 47 Activacioacuten Protoclos

Servicios Web que ofrece Moodle y que pueden ser utilizados por los servicios externos Para ellodeberemos darle a la opcioacuten Agregar dentro de la opcioacuten Administracioacuten del Sitio - Extensiones- Servicios Web - Servicios Externos Como prueba habilitaremos un servicio llamado Uso_Servicio_ Web cuya creacioacuten podemos ver en la gura 48

Figura 48 Creacioacuten Servicio Personalizado

Una vez creado el Servicio Personalizado deberemos agregarle las funciones que queramos lesean permitidas pudiente tener maacutes de una En la gura 49 vemos como asociamos la creacioacutende usuarios al Servicio Personalizado

Terminado esto deberemos tener en el listado que nos muestra Moodle de Servicios personaliza-dos algo como lo mostrado en la gura 410

El siguiente paso es conceder los permisos apropiados para que este Servicio Personalizado puedeser usado por los usuarios pare ello debemos primero especicar quienes son los Usuarios au-torizados para ello en la linea de la lista de Servicios Personalizados deberemos pulsar sobre laopcioacuten usuarios autorizados donde apareceraacute una pantalla como 411 donde podremos escogerlos usuarios de los que se encuentran dados de alta en nuestro sistema

Y para terminar aunque este paso podriacutea ser realizado por el propio usuario si tuviera el per-miso de moodlewebservicecreatetoken seraacute la creacioacuten de un token el cual va ser la opcioacuten quevamos a utilizar para las pruebas de los Servicios Web de Moodle Para la creacioacuten del mismodeberemos entrar en la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Admin-istrar tokens y pulsar la opcioacuten Agregar para antildeadir un token nuevo como podemos apreciar en

Figura 49 Agregando funciones al Servicio Personalizado

Figura 410 Listado de Servicios Personalizados

la gura 412 teniendo la precaucioacuten de escoger como Servicio el Servicio Personalizado creadocon anterioridad Uso_ Servicio_ Web

En esta pantalla podemos poner varios tipos de restricciones

Restriccioacuten de IP Donde podemos indicar la direccioacuten IP desde donde

Restriccioacuten de Fecha Se puede denir hasta cuando seraacute valido este token siendo unabuena manera de poder probar cosas y no dejar puertas abiertas por error

En la gura 413 podemos ver el token asignado por el sistema para nuestro Servicio Personalizadoy que procederemos a utilizar para comprobar el funcionamiento de los Servicios Web de Moodle

462 Pruebas cliente Servicio Web

Procederemos ahora a desarrollar pruebas que utilicen los Servicios Personalizados creado Sepodriacutean haber utilizado el Cliente de prueba de servicio web que incorpora Moodle dentro dela opcioacuten Administracioacuten del Sitio - Desarrollo - Cliente de prueba servicio web pero hemosdecidido implementar una Web para comprobar la facilidad del funcionamiento del sistema y losdistintos resultados obtenidos seguacuten el protocolo utilizado

Utilizaremos la libreriacutea cURL de PHP cURL es una herramienta que permite abrir conexionesen una amplia variedad de protocolos y que estaacute disponible tanto como herramienta de consola(para ejecutar directamente con comandos) como en libreriacutea (para usar en vuestro coacutedigo) y quepermite hacer praacutecticamente todo manejo de cookies descarga de cheros binarios enviacuteos de

Figura 411 Alta de Usuarios Autorizados

Figura 412 Creacioacuten de Tokens

paraacutemetros GET y POST etc

La web creada para la introduccioacuten 414 de los usuarios seraacute equivalente para todos los procesosprocesos siendo el programa que da respuesta al formulario el que implemente la funcioacuten nece-saria para la introduccioacuten de los datos en Moodle

Los resultados de REST pueden mostrar los resultados del alta de dos maneras diferentes unaen formato XML como podemos ver en la gura 415 y otro en formatox JSON tambieacuten po-dremos ver en la gura Los resultados obtenidos tambieacuten pueden verse en el la gura 416

Figura 413 Lista de Tokens

Figura 414 Web de alta de usuarios

Figura 415 Resultado de REST en formato XML

Figura 416 Resultado de REST en formato JSON

Capiacutetulo 5

Herramientas Externas

51 Introduccioacuten

Las versiones de Moodle desde la 22 vienen con IMS LTI o External Tool de manera integradaEn versiones anteriores era necesario la instalacioacuten de plugins como LTI Provider (maacutes informa-cioacuten en la web de Moodle1 IMS LTI es un estandar de IMS learing2 para la interoperabilidadde herramientas Esto signica que las herramientas de aprendizaje tienen ahora un mecanismopara jar el modo en que pueden conectarse entre ellas sin problemas

En la praacutectica cuando un usuario se registra en Moodle puede conectarse a otras herramientascomo Wikis o Blogs y autenticarse de manera automaacutetica en estas

52 Estaacutendares IMS

Actualmente se realizan esfuerzos para la integracioacuten de servicios a una plataforma virtual deaprendizaje mediante un mecanismo reutilizable independiente del tipo de plataforma El IMSGlobal Learning Consortium viene desde hace tiempo trabajando en este enfoque IMS GLCpresenta un conjunto de estaacutendares que promueven el uso de servicios de aprendizaje digitales(Digital Learning Services) dentro de las plataformas de aprendizaje tradicionales IMS DigitalLearning Services estaacute integrado por los siguientes estaacutendares principales IMS Common Car-tridge [ims a] IMS Learning Tool Interoperability [ims c] y IMS Learning Information Services[ims b]

El IMS Learning Tool Interoperability es una especicacioacuten para facilitar la inclusioacuten de her-ramientas externas dentro de un curso El administrador de la plataforma de aprendizaje ges-tiona los servicios que podraacuten ser consumidos por la plataforma el docente decide que serviciosutilizaraacute en su curso y el estudiante hace uso de los mismos IMS LTI permite que distintos LMSconsuman un mismo servicio el cual no fue implementado teniendo en cuenta el tipo de LMSsino la implementacioacuten del estaacutendar desde el lado del proveedor

El enfoque del IMS LTI estaacute dirigido a la creciente demanda de un mecanismo reutilizable para laintegracioacuten de herramientas de terceros en el nuacutecleo de las plataformas LMS Estas herramientas

1httpsmoodleorgpluginsviewphpplugin=local_ltiprovider2httpwwwimsglobalorgtoolsinteroperability2cfm

37

pueden agregar funcionalidad especializada a los LMS El enfoque ofrece una solucioacuten basada enWeb Services igualmente aplicable a distintos lenguajes de programacioacuten

Las versiones del LTI son

LTI v10 ( LTI Basic ) ( publicado en mayo de 2010 ) proporciona un meacutetodo sencillopero estaacutendar para establecer una conexioacuten segura a una herramienta desde el interior deun consumidor de herramientas El lanzamiento de este enlace permite una experienciade aprendizaje sin problemas para los estudiantes que acceden a las aplicaciones ricas queparecen tener lugar dentro del ambiente de aprendizaje Versioacuten 10 es el primer paso en eldesarrollo continuo de LTI Figura 51

LTI v11 ( publicado en marzo 2012 ) antildeade la posibilidad de pasar de nuevo un resultadode la herramienta al Consumidor de herramientas Esto permite que los estudiantes recibenuna calicacioacuten o puntuacioacuten de su interaccioacuten con la aplicacioacuten de aprendizaje

LTI v111 ( publicado en julio de 2012 ) incluye soporte para el papel Mentor que se puedeutilizar para representar a un padre tutor o auditor

LTI v20 Aun en estado de desarrollo y proporciona una plataforma maacutes sosticado y ex-tensible para permitir integraciones maacutes profundas y un mayor apoyo para los serviciosy eventos LTI 2 se basa en LTI 1 mediante la incorporacioacuten de maacutes sosticada resulta-dos de informes y una rica arquitectura de extensiones que permite servicios adicionalesque se antildeadiraacuten gradualmente LTI 2 utiliza REST y JSON-LD para ofrecer esta nuevafuncionalidad

Figura 51 Esquema LTI Baacutesico

En la gura 52 podemos observar como se podriacutean utilizar las ventajas de LTI por parte decada unos de los actores a lo largo de la vida de la aplicacioacuten de servicios externos dentro de unaplataforma de aprendizaje

En la paacutegina web de IMS3 podemos encontrar una relacioacuten de aplicaciones certicadas comocompatibles con el estaacutendar LTI indicando la versioacuten del LTI que cumplen En la gura 53podemos ver las aplicaciones certicadas por UOC y en la gura 54 la informacioacuten sobre una deestas herramientas

3httpwwwimsglobalorgccalltoolscfm

Figura 52 Esquema utilizacioacuten LTI

Figura 53 Listado de herramientas LTI de la UOC

53 Herramientas externas en Moodle

La siguiente seccioacuten consiste en la aplicacioacuten de alguno de esto servicios externos en Moodlepara comprobar su funcionamiento Nos decantaremos para la primera prueba por WordPresspues aunque existen manuales al respecto la documentacioacuten en castellano es escasa

531 Wordpress

La versioacuten estaacutendar de Wordpress a la cual accedemos cuando nos abrimos cuenta en Wordpressno viene con las herramientas necesarias para la iteracioacuten mediante LTI por lo que procedere-mos a la instalacioacuten en nuestro servidor de Wordpress para pasar a la instalacioacuten de los pluginsnecesarios

La instalacioacuten ha consistido en la descarga de la web ocial 4 de la versioacuten 351 la cual hemoscopiado dentro del directorio htdocs de nuestra instalacioacuten de Xampp Hemos dado de alta unnuevo usuario en nuestra base de datos llamado username como podemos ver en la imagen 55 yposteriormente hemos seguido los pasos que el instalador nos iba ofreciendo para tener instalado

4httpwordpressorgdownload

Figura 54 Informacioacuten sobre la certicacioacuten

Wordpress bajo la url httplocalhostwordpress

Figura 55 Usuario de Wordpress

Deberemos congurar Wordpress para que trabaje como multisitio para lo que deberemos seguirlos pasos de conguracioacuten que podemos encontrar en la web ocial de Wordpress5 bajo el nombreCreate A Network consistente en los siguientes pasos

1 Realizar una copia de seguridad por si acaso

2 Modicar el chero wp-congphp incluyendo la siguiente linea encima de Thats allstop editing Happy blogging Multisite dene (WP_ ALLOW_ MULTISITE true)

Multisite dene (WP_ ALLOW_ MULTISITE true)

3 Installar un Network Para ello hemos de entra en la opcioacuten Administration -gtTools -gtNetwork Setup donde podremos congurar opciones sobre el nombre que queremos declararpara el nuevo sitio

4 Activar el Network para ello debemos modicar los cheros wp-congphp y htaccess porlo que seriacutea bueno que realizaacuteramos primero un copia de seguridad de los mismos Loscambios que debemos realizar son los siguientes

5httpcodexwordpressorgCreate_A_Network

En wp-congphp dene(MULTISITE true)dene(SUBDOMAIN_ INSTALL false)dene(DOMAIN_ CURRENT_ SITE localhost)dene(PATH_ CURRENT_ SITE wordpress)dene(SITE_ ID_ CURRENT_ SITE 1)dene(BLOG_ ID_ CURRENT_ SITE 1)

El chero htaccess debe quedar asiacute BEGIN WordPressltIfModule mod_ rewritecgtRewriteEngine OnRewriteBase wordpressRewriteRule icircndexphp$ - [L]

add a trailing slash to wp-adminRewriteRule ([_ 0-9a-zA-Z-]+)wp-admin1wp-admin [R=301L]

RewriteCondREQUEST_ FILENAME -f [OR]RewriteCondREQUEST_ FILENAME -dRewriteRule - [L]RewriteRule ([_ 0-9a-zA-Z-]+)(wp-(content|admin|includes)) $2 [L]RewriteRule ([_ 0-9a-zA-Z-]+)( php)$ $2 [L]RewriteRule indexphp [L]ltIfModulegt

END WordPress

5 Esto nos habraacute creado en la parte izquierda de la barra de herramientas de Wordpressuna nueva opcioacuten llamada My Sites que contendraacute un listado de los sitios de nuestroWordpress

El siguiente paso seraacute la descarga del plugin los cual podremos hacerlos desde la web de sour-forgenet 6 En esta web se detalla informacioacuten sobre el plugin y como se debe instalar Siguiendolos pasos que tenemos en el mismo procederemos a la descarga y el desplegado del mismo en lacarpeta wp-contentmu-plugins Salimos de Wordpress y volvemos a entrar como superusuariosi entramos dentro de la nueva red realizada podremos ver que dentro de LTI Consumers Keystendremos la opcioacuten LTI Consumers Keys como podemos ver en la imagen 56

Aquiacute deberemos crear la clave del consumidor del servicio y la clave secreta que nos permitiraacute aMoodle conectarse a Wordpress

Una vez que tenemos la clave secreta y del consumidor deberemos volver a Moodle entrandocomo administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

6httpsourceforgenetappsmediawikilearningappsindexphptitle=LTI4Wordpress

Figura 56 Servicios LTI en Wordpress

Figura 57 Listado de claves de LTI en Wordpress

-LTI En esta paacutegina podremos rellenar nuestras opciones

Tool Name Seraacute el nombre que tendraacute la herramienta y deberemos poner alguno indicativode la herramienta que estemos utilizando

Tool Base URL Es la direccioacuten de la herramienta en nuestro caso httplocalhostwordpress

Deberemos rellenar con los datos obtenidos en Wordpress la clave de consumidor y la clavesecreta

Es importante marcar Show tool type when creating tool instances para que aparezcaposteriormente al crear los recursos en nuestros cursos

Para poder probar el sistema hemos creado un curso dentro de Moodle llamada WordpressLTIdonde daremos de la siguiente manera de alta 59

Dentro de nuestro curso seleccionamos la opcioacuten de Edicioacuten

Pulsamos sobre Antildeadir una actividad o un recurso

Seleccionamos External Tool

Rellenamos las opciones

bull Nombre de la Actividad Cualquiera de nuestra eleccioacuten

Figura 58 Conguracioacuten LTI en Moodle

bull Tipo de herramienta externa El nombre que le pusimos a la herramienta externa enla conguracioacuten LTI de Moodle

bull Launch Container Hemos elegido la opcioacuten Incrustar para ver el resultado

Figura 59 Conguracioacuten Herramienta Externa

Una vez congurado podemos lanzar la herramienta externa teniendo como resultado la gura510

Figura 510 Wordpress integrado en Moodle

532 ChemVantage

ChemVantage es un recurso gratuito para la educacioacuten cientiacuteca que incluye ejercicios de gradoejercicios de preparacioacuten exaacutemenes de la praacutectica conferencias de video y libros de texto enliacutenea gratis Fue creado por ChemVantage LLC que fue fundada por el Prof Chuck Wight queha ensentildeado Quiacutemica General en la Universidad de Utah desde 1984 (ChemVantage 2011)

Nos hemos puesto en contacto con Chuck Wight (adminchemvantageorg) para solicitarle unaclave de consumidor y secreta para poder probar este recurso desde moodle Las opciones y elcorreo puede verse en la gura 511

Una de las cosas maacutes importantes de ChemVantage y por lo que nos hemos decidido a probar esque permite la devolucioacuten de las notas obtenidas en los ejercicios realizados en las herramientasexternas a Moodle El alumno podraacute realizar las tareas en esta herramienta externa y luego sercalicadas en Moodle

ChemVantage estaacute certicada por IMS 7 como un proveedor de herramientas LTI v11 y comotal funciona desde nuestro propio LMS para llevar a cabo la autenticacioacuten de sitios provee decuentas y devuelve resultados de asignacioacuten de estudiantes con el libro LMS grado automaacutetica-mente

Los recursos disponible son ChemVantage son principalmente los siguientes

1 QuizzesLos ejercicios presentados aquiacute estaacuten disentildeados para animar a los estudiantes a leer y en-tender los libros de texto utilizados en el curso Las preguntas se basan en material que sepresente en su mayor parte en los textos de introduccioacuten de quiacutemica Los iacutetems de preguntastienen respuestas straighforward no requieren caacutelculos detallados Las preguntas se presen-tan en varios formatos diferentes incluyendo opcioacuten muacuteltiple verdadero falso casilla devericacioacuten ll-in-the-blanco y numeacutericas Cada cuestionario se compone de 10 preguntasextraiacutedas al azar de una base de datos con muchas maacutes preguntas En el proceso de tomarvarias pruebas para mejorar sus calicaciones los estudiantes probablemente encuentran

7httpdevelopersimsglobalorgcoursechemvantagehtml

algunas preguntas repetidas de concursos anteriores sin embargo es poco probable quecualquiera de los dos cuestionarios contendraacute exactamente el mismo conjunto de preguntasen el mismo orden Asignando pruebas para ser completado antes de la conferencia losprofesores pueden estar seguros de que sus estudiantes tengan un poco de exposicioacuten almaterial Esto permite una mayor discusioacuten el diaacutelogo y la participacioacuten en el aula y haceel aprendizaje maacutes divertido (de verdad)

2 Video LecturesUna serie de conferencias de viacutedeo de 10 minutos sobre una variedad de temas de QuiacutemicaGeneral es accesible desde la paacutegina principal Los videos estaacuten disentildeados para reforzar lospuntos principales que se presentan en muchos libros de texto

3 HoweworksLas tareas estaacuten disentildeadas para dar a los estudiantes la praacutectica en la resolucioacuten de proble-mas cuantitativos que tienen respuestas numeacutericas Cada alumno puede descargar la tareatrabajar los problemas y presentar las respuestas en liacutenea Respuestas son juzgados a sercorrecta si la solucioacuten numeacuterica de acuerdo con la solucioacuten que se encuentra en la base dedatos dentro de una tolerancia especicada (indicado para cada problema) El sitio informaa los estudiantes que las respuestas son correctas para que puedan rehacer problemas malresueltos y volver a presentar las respuestas Cada problema se basa en una plantilla queatrae paraacutemetros al azar por lo que la respuesta correcta es diferente para cada estudianteEsto hace que sean adecuadas para la colaboracioacuten y el trabajo en grupo porque a pesarde que el grupo puede trabajar para encontrar un algoritmo correcto para resolver un prob-lema cada estudiante tendraacute que usar el algoritmo para encontrar la solucioacuten detallada asu propio problema

4 Practice ExamsLos estudiantes pueden realizaar exaacutemenes de praacutectica cronometrados que muestran laspreguntas de un grupo de 3 o maacutes temas Cada examen estaacute disentildeado para tardar unos60 minutos o menos e incluye una seleccioacuten de 10 preguntas Las praacutecticas de exaacutemenespueden repetirse cuantas veces se desee Las preguntas numeacutericas son parametrizadas loque es muy poco probable que un estudiante realice alguna vez dos exaacutemenes de praacutecticaideacutenticos

5 Portofolio PageCada estudiante puede acceder a una paacutegina que le da la puntuacioacuten obtenida en cada prue-ba y la asignacioacuten de tareas Los estudiantes que son miembros de un grupo tienen unapaacutegina de resultados asociados a las tareas de grupo Hay una paacutegina de carpeta separadaque contiene un resumen de todas las actividades realizadas en ChemVantage incluyendovideos vistos cuestionarios completados resolver problemas con la tarea y la praacutectica deexaacutemenes completados Las puntuaciones en los exaacutemenes de praacutectica son desagregadospara revelar fortalezas y debilidades estudiantes por temas

Hemos procedido a darlo de alta en LTI como hicimos con Wordpress Entramos en Moodle co-mo Administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

Figura 511 Correo de Chuck Wight

-LTI quedando como resultado la siguiente hoja de paraacutemetros gura 512

El siguiente paso seraacute antildeadir la herramienta dentro de nuestro curso para ello pulsaremos sobreAntildeadir una actividad o un recurso Deberemos seleccionar External Tool y rellenamos las op-ciones de la herramienta seleccionando como Tipo de herramienta externa la opcioacuten creada enel apartado de LTI de Moodle

Una vez congurado la herramienta en Moodle podemos entrar para realizar una personalizacioacutende la herramienta gura 513 esta consiste en indicar si el alumno cuando se conecta realiza undeterminado tarea o puede elegir navegar por la web de ChemVantage para poder disfrutar dela cantidad de recursos que se encuentran disponibles

Cuando el usuario pulsa sobre la opcioacuten de esta herramienta externa en Moodle lo primero quese le muestra es la informacioacuten sobre su perl en Chemvantage 514Como hemos visto en los paraacutemetros de conguracioacuten existe la posibilidad de llamar a unaherramienta externa incrustaacutendola dentro de Moodle o abrieacutendolo en una paacutegina web nuevaCon esta segunda opcioacuten no hemos conseguido que funcione correctamente la importacioacuten de lasnotas En cambio si la herramienta externa estaacute incrustada permite esa vinculacioacuten

Figura 512 Conguracioacuten de paraacutemetros LTI

Figura 513 Opciones de inicio de la herramienta

Figura 514 Pantalla de utilizacioacuten de la herramienta por el usuario

Capiacutetulo 6

Middleware

61 Introduccioacuten

La uacuteltima opcioacuten seriacutea utilizar una arquitectura middleware de integracioacuten que permita la inte-gracioacuten ligera de muacuteltiples herramientas existentes en el Moodle

62 GluePS

GLUE-PS es una arquitectura de middleware que permite una interoperabilidad ligera entrelos diferentes lenguajes de disentildeo de aprendizaje y diferentes entornos de aprendizaje virtualEsta interoperabilidad permite a los maestros y otros profesionales que particularicen (es decirpara personalizar el disentildeo de aprendizaje abstractoa la clase particular los participantes y laeleccioacuten de los instrumentos en los que va a ser promulgada) desplieguen (es decir para crearde forma semiautomaacutetica las actividades necesarias en el VLE recursos etc para la aprobacioacutendel disentildeo particularizado) e incluso para llevar a cabo ciertos cambios en el tiempo de ejecucioacuten(por ejemplo modicar la composicioacuten del grupo agregar o quitar recursos de las actividadesetc) Todo esto a partir de disentildeos en distintos lenguajes de disentildeo de aprendizaje tales como laespecicacioacuten IMS-LD aprendizaje

Por otra parte GLUE-PS tambieacuten permite desplegar y gestionar disentildeos de aprendizaje en en-tornos virtuales de aprendizaje que integren herramientas de aprendizaje externos (tales comointegrar en Moodle herramientas como Google Docs y muchos otros) - lo que llamamos Am-bientes de Aprendizaje Distribuido (DLE Distributed Learning Enviroments) Esto se consiguegracias a la arquitectura de GLUE para la integracioacuten de los entornos virtuales de aprendizajey herramientas externas

621 Instalacioacuten

Para realizar la instalacioacuten de GLUE-PS nos hemos descargado el software necesario de la webde los desarrolladores1 descargando la opcioacuten de autenticacioacuten centralizada La instalacioacuten haconstado de tres partes que pasaremos a describir a continuacioacuten

1httpwwwgsicuvaesglue

49

Figura 61 Arquitectura de GLUE

La primera parte consiste en la instalacioacuten del GLUEletManager y los adaptadores GSIC toolAunque el sistema viene preparado para Linux o Windows siendo Windows la explicacioacuten quevamos a desarrollar por estar utilizando este sistema operativo con Xampp

1 Crear el directorio GLUE_ HOME El cual hemos creado para mayor comodidad en la raiacutezdel disco duro

2 Denir la variable del sistema GLUE_ HOME con el valor de la direccioacuten completa deldirectorio de GLUE del punto anterior Para ello hemos pulsado botoacuten derecho sobre MiPc Propiedad Opciones Avanzadas Variables de Entorno procediendo a pulsar el botoacutenNueva para crear la variable en cuestioacuten

3 Extraemos en el directorio del punto (1) el paquete descargado de la paacutegina de los desar-rolladores

4 Ejecutar la instalacioacuten del cheroGLUE_ HOMEbininstall gluebat para registar GLUElet-Manager y GSIC tool como un servicio de Windows Tambieacuten este paso crearaacute un cheroen GLUE_ HOMEtool_ adapteradapterdata para proveer de persistencia a los objetoscreados con el adaptador GSIC tool

A continuacioacuten daremos de alta en nuestro gestor de bases de datos un para de bases de datosque necesita GLUEletManager Para ellos seguimos los siguientes pasos

1 Abrimos la consola de phpMyaAdmin para cargar y ejecutar el chero create_ GLUE_databasessql que se encuentra en GLUE_ HOMEmanagerconfdb

2 Modicamos el chero GLUE_ HOMEmanagerconfMETA-INFpersistencexml paradarle los paraacutemetros necesarios para que JDBC se conecte a nuestra base de datos Losparaacutemetros modicados puede verse en la imagen 62

Figura 62 Paraacutemetros modicados en persistencexml

La segunda parte consiste en el registro interno de los adaptadores de las herramientas para seraccedido con GLUEletManager La distribucioacuten trae un chero para facilitar la conguracioacuten delos adaptadores que trae consigo y para su instalacioacuten deberemos ejecutar el chero GLUE_HOMEmanagerconfdbll _ internal_ Registrysql Alguna de las herramientas necesitanuna conguracioacuten maacutes completa como puede ser Google Docs adapter que necesita una cuentade Gmail para poder crear documentos en Google Docs por lo que deberemos modicar el nom-bre de usuario y contrasentildea

La uacuteltima parte consiste en la instalacioacuten del adaptardor de Moodle como VLE utilizado Estainstalacioacuten es como cualquier otro moacutedulo de Moodle 2 La carpeta que deberemos copiar seraacutela del adaptador correspondiente a Moodle que se encuentra en la carpeta GLUE_ HOMEvle_adpatersmoodle_ vle_ adapter Una vez entremos en nuestro Moodle como administrador nosapareceraacute un mensaje indicaacutendonos que el nuevo moacutedulo esta instalado Para congurar el nuevomoacutedulo debermos ir a Noticaciones - Modulos - Actividades como podemos ver en la gura 63para congurar los paraacutemetros la URL del GLUEletManager y el tiempo de espera

Figura 63 Paraacutemetros del moacutedulo GLUE

Cuando el profesor quiera crear una nueva actividad dependiente de los adaptadores de GLUEdeberaacute agregar una actividad maacutes pulsando para ello en esta opcioacuten dentro del bloque deseadopara seleccionar luego el tipo de actividad GLUElet como podemos ver en la gura64

622 Creando un Doodle

El adaptador Doodle permite la creacioacuten conguracioacuten y gestioacuten de instancias del Doodle Cadaencuesta Doodle es considerado un instancia diferente Ademaacutes este adaptador permite realizarademas la conguracioacuten inicial de encuestas Doodle incluyendo el nombre de la encuesta unadescripcioacuten y un conjunto de posibles respuestas

A continuacioacuten antildeadiremos Doodle en un bloque de Moodle para ellos pulsaremos la opcioacuten deAgregar actividad GLUElet lo cual nos mostraraacute la paacutegina65 donde deberemos rellenar comomiacutenimo el nombre de la actividad y el tipo de herramienta seleccionado en este caso Doodle(httpdoodle-testcom)

2httpdocsmoodleorgenInstalling_contributed_modules_or_plugins

Figura 64 Creando una actividad GLUElet

La primera vez que pulsemos sobre la nueva actividad creada apareceraacute un pantalla 66 dondepodemos congurar diferentes elementos de la encuesta desarrollada con Doodle como son eltiacutetulo una pequentildea descripcioacuten y luego las opciones posibles con un liacutemite de 10

El resultado nal seraacute la incrustacioacuten de una encuesta Doodle dentro de nuestro Moodle comopodemos ver en la gura67

Figura 65 Antildeadiendo Doodle como actividad

Figura 66 Opciones iniciales de conguracioacuten de Doodle

Figura 67 Doodel dentro de Moodle

Capiacutetulo 7

Conclusiones Finales

71 Conclusiones Finales

El proyecto actual nos ha servido para acercarnos a las diferentes tecnologiacuteas que permiten lacomunicacioacuten entre Servicios Webs Hemos desarrollado una primera labor de investigacioacuten queha requerido el aprendizaje de diferentes herramientas de control de documentacioacuten y referenciascomo Zotero y Mendeley

La documentacioacuten recabada en el proceso inicial de revisioacuten de documentos nos ha aportadoun visioacuten general de los diferentes sistemas virtuales de aprendizaje que podemos encontrarnosmuchos de ellos gratuitos y las diferentes soluciones que se plantean a la necesidad de incluirrecursos de otros fabricantes que en principio no fueron concebidos para ser utilizados dentro deuna plataforma VLE

Para poner en praacutectica la diferentes opciones encontradas se han montado diferentes maacutequinasvirtuales sobre las que se han probado las mismas Las conclusiones nales se pasan a detallar

IMS LTIEsta solucioacuten de integracioacuten mediante el cumplimiento de unos protocolos y certicacionesde las herramientas que lo cumplen es en principio la que podriacutea parecer la mejor opcioacutenpero la falta de compromiso de los diferentes fabricantes de Servicios Web y la luchapara imponer sus propios estaacutendares hace que aun quede mucho para que esta opcioacuten seacomo tal real

Si vemos el nuacutemero de aplicaciones certicadas para usar IMS LTI apenas superan las 50 yla mayoriacutea solo cumple la especicacioacuten v10 lo cual signica que la integracioacuten solo solu-ciona el problema de llamar a un recurso externo desde Moodle Pocas son las que cumplenla v11 que permite obtener en Moodle una valoracioacuten de los ejercicios desarrollados en unaactividad externa

La versioacuten v20 que daraacute maacutes opciones a la hora de interactuar con actividades externasauacuten esta en desarrollo y nada se sabe sobre posibles fechas para su presentacioacuten Luegocerticacioacuten de herramientas etc

55

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 19: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

Figura 24 Problemas de integracioacuten

seguramente por intereses tecnoloacutegicos y comerciales IMS Global Learning Consor-tium siguen intentando realizar la aprobacioacuten de dicho estaacutendar siendo uno de elloIMS-LTI Integracioacuten de aplicaciones y servicios remotos y aunque la adopcioacuten de losmismo por las nuevas versiones de Moodle y Blackboard podriacutea hacer que se apos-tara por esta opcioacuten la falta de herramientas que lo utilicen (Ej Google no lo utiliza)puede hacer que no llegue a buen puerto

bull Crear una arquitecturaEste enfoque trata de adaptar los contratos de integracioacuten de los VLEs y las her-ramientas sin tener que modicar sus implementacioacuten Este mismo enfoque presentados opciones como podemos ver en la gura 26 y que pasamos a detallar

1 Un adaptador por en el lado de VLE y otro en el lado de las herramientas o inclusoun solo paquete que pueda congure toda la conexioacuten En este caso estariacuteamoshablando por ejemplo de los moacutedulo adicionales de Moodle

2 Una capa intermedia y adaptadores Este tipo de arquitectura permite la in-tegracioacuten entre muacuteltiples herramientas externas y muacuteltiple entorno virtuales deaprendizaje a traveacutes de un middleware comuacuten Dicho middleware estariacutea com-puesto de diferentes programas que pueden ser ejecutados en dominios diferentesEsta arquitectura reduce el esfuerzo para la integracioacuten de cada herramienta encada VLE ya que el coacutedigo estaacute parcialmente implementado por los elementos deintegracioacuten comunes Sin embargo el grado de integracioacuten y funcionalidad que sepuede lograr con estas arquitecturas es menor que con la primera opcioacuten

23 Servicios Web

Aunque han sido englobados dentro de integracioacuten de herramientas vamos a detallar queson y que aportan a Moodle

Figura 25 Problemas de integracioacuten

Los Servicios Web (Web Services) son la parte esencial de la interoperabilidad de Moodlecon otras aplicaciones Web 20 consisten en una pieza de software que utiliza un conjuntode protocolos y estaacutendares abiertos para intercambiar datos entre aplicaciones La idea prin-cipal es que distintas aplicaciones de software desarrolladas en lenguajes de programacioacutendiferentes y ejecutadas sobre cualquier plataforma puedan utilizar los servicios Web paraintercambiar datos en la red de ordenadores como Internet El producto resultante es unconjunto de moacutedulos con funcionalidad especiacuteca y completa que se acoplan entre siacute A suvez estos moacutedulos se conectan a una plataforma de e-learning mediante la utilizacioacuten deservicios de base descritos en una capa estaacutendar que funciona como gateway

Para ampliar un poco mejor el concepto de servicios Web citaremos una exposicioacuten delDoctor Marcos Escobar Un Web Service es un componente de software que se comunicacon otras aplicaciones codicando los mensaje en XML y enviando estos mensaje a traveacutesde protocolos estaacutendares de Internet tales como el HTTP Intuitivamente un Web Servicees similar a un sitio Web que no cuenta con un interfaz de usuario y que da servicio a lasaplicaciones en vez de a las personas Un Web Service en vez de obtener solicitudes desdeel navegador y retornar paacuteginas Web como respuesta lo que hace es recibir solicitudes atraveacutes de un mensaje formateado en XML desde una aplicacioacuten realiza una tarea y de-vuelve un mensaje de respuesta tambieacuten formateado en XML

Figura 26 Enfoques de arquitectura de integracioacuten

231 Orquestacioacuten y Coreografiacutea de Servicios Web

Seguacuten Careaga Mercadillo Ana Lilia [car ] la Orquestacioacuten (Web Service Orchestration)y Coreografiacutea (Web Service Choreography) se suelen ver como dos aproximaciones parala Composicioacuten de Servicios Web que se acercan estrechamente a los conceptos musicalespor lo cual se han importado directamente sus signicados A continuacioacuten detallaremosque son y sus posibles aplicaciones

La tarea de componer servicios Web baacutesicos o simples para brindar servicios Web maacutes com-plejos se conoce teacutecnicamente como Composicioacuten de Servicios Web Existen dos grandesaproximaciones para esta tarea la coreografiacutea con foco en la interaccioacuten entre servicios(equivalente a los bailarines) y la orquestacioacuten (equivalente a los instrumentos de la orques-ta) con foco en la implementacioacuten y ejecucioacuten de servicios La primera puede consid-erarse como una descripcioacuten formal del pasaje de mensajes obviando detalles internosde implementacioacuten Se ajusta maacutes en situaciones donde es provechoso contar con la no-cioacuten de estados y tambieacuten donde estaacuten involucradas transacciones de larga duracioacuten- Elorquestadordetermina la naturaleza y la secuencia de la interaccioacuten En cambio la segun-da aproximacioacuten describe la loacutegica y el estado de cada una de las partes involucradas Laorquestacioacuten tiene una visioacuten mas local y centralizada mientras que la coreografiacutea denela composicioacuten desde una perspectiva global sin control centralizado tal y como sucede enla danza

Existen numerosas deniciones de Servicios Web y esto demuestra en parte la gran com-plejidad de los servicios que se agrupan bajo este teacutermino y las implicaciones asociadas aellos Hasta ahora la denicioacuten maacutes general y convincente es decir que los Servicios Webson el conjunto de aplicaciones tecnoloacutegicas con capacidad para interoperar en la Web Es-tas tecnologiacuteas intercambian datos entre ellas con el n de ofrecer servicios de naturalezaremota

La World Wide Web no es soacutelo un espacio de informacioacuten tambieacuten es un espacio de inter-accioacuten Utilizando la Web como plataforma los usuarios de forma remota pueden solicitar

un servicio que alguacuten proveedor ofrezca en la red Pero para que esta interaccioacuten funcionedeben existir unos mecanismos de comunicacioacuten estaacutendares entre diferentes aplicacionesEstos mecanismos deben poder interactuar entre siacute para presentar la informacioacuten de formadinaacutemica al usuario Se precisa pues una arquitectura de referencia estaacutendar que hagaposible la interoperabilidad y extensibilidad entre las distintas aplicaciones y que permitasu combinacioacuten para realizar operaciones complejas Esta arquitectura es conocida con elnombre de SOA (Service Oriented Architecture)

Con el n de estandarizar los diferentes aspectos relacionados con los servicios Web elW3C (World Wide Web Consortium) recoge todo lo referente a ellos en (Web ServicesActivity) Asiacute pues Web Services (WS) ofrece un signicado estaacutendar para interoperarentre diferentes aplicaciones de software corriendo en diferentes plataformas yo marcosde trabajo El W3C pretende disentildear la arquitectura denirla y crear el nuacutecleo de tec-nologiacuteas que hagan posible los Servicios Web Los servicios Web se basan en un lenguajede caracteriacutesticas especiales llamado XML (Extensible Markup Language) que permite quelas aplicaciones compartan informacioacuten y que ademaacutes invoquen funciones de otras apli-caciones independientemente de coacutemo se hayan creado dichas aplicaciones y del sistemaoperativo o plataforma en que se ejecuten Por ejemplo Google utiliza un Servicio Webllamado Google Web APIs que permite que el usuario programe en diversos lenguajes ase-gurando la recuperacioacuten de informacioacuten independientemente de la plataforma que se utilice

Los Servicios Web se idearon en un principio para realizar interacciones simples e indepen-dientes pero ahora es necesario que los servicios colaboren y se coordinen A la coordinacioacutennecesaria para implementar un servicio Web se le llama Composicioacuten que puede realizarsede dos manerasorquestacioacuten y coreografiacutea La principal diferencia entre orquestacioacuten ycoreografiacutea es el alcance La orquestacioacuten trata de la descripcioacuten y ejecucioacuten de un mismoy uacutenico punto de vista global del modelo (instrumentacioacuten) La coreografiacutea trata de la de-scripcioacuten y guiacutea de un modelo global proyectado en base a cada participante (bailarines)La orquestacioacuten y coreografiacutea son teacuterminos que describen dos aspectos de los estaacutendaresemergentes para la creacioacuten de procesos de negocios de muacuteltiples servicios WebLos dosteacuterminos se superponen pero es claro que la orquestacioacuten se reere a un proceso de nego-cio ejecutable que puede interactuar tanto con servicios Web internos como externos Laorquestacioacuten representa siempre el control desde la perspectiva de una de las partes Estolo distingue de la coreografiacutea que es de mayor colaboracioacuten y permite a cada parte impli-cada describir su papel en la interaccioacuten La orquestacioacuten y coreografiacutea tratan de describiraspectos relacionados con la creacioacuten de procesos de negocio que involucran varios tipos deSoftware

Visto graacutecamente podemos ver en la gura 27 la orquestacioacuten permite disentildear proce-sos de negocio ejecutables que pueden interactuar (a nivel de mensaje) tanto con softwareinterno como externo Por otra parte la coreografiacutea es mucho maacutes colaborativa ya quepermite trazar las secuencias de mensajes que se suceden entre todas las partes partici-pantes del proceso de negocio en lugar de centrarse en los mensajes que se intercambianentre los diversos programas de software que implementan los procesos de negocio

Figura 27 Orquestacioacuten y Coreografiacutea de Servicios Web

232 Estaacutendares de Orquestacioacuten de Servicios Web

WS BPEL( Web Service Business Process Execution Language)Es un lenguaje de orquestacioacuten estandarizado porOASIS (Organisation for Advance Struc-tured Information Business Transaction Protocol) para la composicioacuten de servicios Web quepermite a los desarrolladores crear programas que automatizan las interacciones entre losservicios Web jugando un papel clave en las arquitecturas orientadas a los servicios SOAPara comprender su funcionamiento imaginemos un proceso de negocio determinado quetiene una entrada A y una salida B Dicho proceso como la mayoriacutea de ellos posee a suvez de muchos procesos internos que se van activando de acuerdo a ciertos paraacutemetros yvalores BPEL seriacutea el encargado de orquestar y por lo tanto dirigir la ejecucioacuten de unamanera ordenada La ventaja de que BPEL sea un estaacutendar radica en que puede ser imple-mentado en una gran variedad de motores de ejecucioacuten de diferentes proveedores BPELen si es un formato XML que proviene de la convergencia entre el WSFL (Web ServiceFlow Language) de IBM y XLANG de Microsoft La herramienta BPEL estaacute basada en unmodelo llamado Workow que especica las oacuterdenes de ejecucioacuten Existen actividadesbaacutesicas como iumlnvoke y receive y otras estructuradas como sequence Tambieacuten formanparte del modelo variables y participantes (partners) En las variables se deposita la nocioacutende datos y los participantes representan los elementos que interactuacutean en la composicioacutenEl modelo se completa como un motor que orquestaraacute las invocaciones

BPML (Business Process Modeling Language)Es un metalenguaje basado en XML para la descripcioacuten de procesos de negocio Inicial-mente BMPL se disentildeoacute para soportar los procesos que un sistema de gestioacuten de procesosde negocio pudiera ejecutar BPML dispone de estructuras similares a BPEL como puedenser actividades baacutesicas para el enviacuteo y la recepcioacuten de mensajes y para la invocacioacuten deservicios Adicionalmente BPML permite planicar las tareas para que se ejecuten eninstantes especiacutecos ofreciendo algunas opciones de control temporal Este lenguaje in-cluye caracteriacutesticas para dar soporte a la persistencia ya que fue disentildeado para la gestioacutende procesos de larga duracioacuten BPML ofrece soporte tambieacuten para realizar composicionesrecursivas a n de poder construir procesos de negocio que a su vez consten de otros sub-procesos Asimismo soporta transacciones de larga o corta ejecucioacuten gracias a que usa unateacutecnica similar a BPEL para controlar el alcance de las actividades y gestionar de esta

forma las reglas de compensacioacuten en caso de que las operaciones que deben realizarse deforma automaacutetica se vean interrumpidas

233 Estaacutendares de Coreografiacutea de los Servicios Web

WS-CDL (Web Services Choreography Description Language)Es un lenguaje basado en XML que describe la colaboracioacuten entre pares peer to peemediante la denicioacuten - desde un punto de vista global de los comportamientos comunes yobservables de cada participante de un proceso de negocio Eacuteste es un lenguaje utilizadopara la denicioacuten de servicios dentro de la plataforma SOA y cuyo objetivo es la descrip-cioacuten del comportamiento de cada uno de los servicios establecidos para lograr un objetivocomuacuten Sin embargo antes de WS-CDL ya existiacutea un lenguaje que permitiacutea la descripcioacutende las funcionalidades de un Servicio Web WSDL (Web Services Denition Language)el cual puede describir el conjunto de funciones ofrecidas con los posibles fallos que po-driacutean ocurrir y a pesar de que WS-CDL podriacutea expresar las coreografiacuteas de un servicioen un ambiente SOA W3C (World Wide Web Consortium) abandonoacute su desarrollo en 2009

WSCI (Web Service Choreography Interface)La especicacioacuten de WSCI fue desarrollada por diversas compantildeiacuteas como Sun SAP BEAe Intalio y representa una extensioacuten para WSDL para la colaboracioacuten La especicacioacuten de-ne la coreografiacutea global o el intercambio de mensajes entre los diferentes tipos de softwarey soporta su correlacioacuten reglas de secuenciacioacuten manejo de excepciones transacciones ycolaboracioacuten dinaacutemica WSCI soacutelo describe el comportamiento observable entre el softwareque se emplea Una coreografiacutea WSCI constaraacute de un conjunto de interfases WSCI unapor cada uno de los servicios que participen en la interaccioacuten

24 Moodle

El software de coacutedigo abierto (Open-Source Software-OSS) esta siendo ampliamente de-sarrollado ofreciendo nuevas alternativas y posibilidades hasta hace poco inimaginablesMoodle es un claro ejemplo siendo uno de los programas maacutes ampliamente adoptados porcolegios institucioacuten universidades etc Como podemos ver en la gura 28 el nuacutemero deusuarios registrados y los idiomas en los que se encuentra disponible dan muestra de sugran difusioacuten Algunas de las razones mas importante para su eleccioacuten son

Figura 28 Moodle - Abril 2013

bull Moodle es OSS lo cual signica que los usuarios pueden descargarlo libremente usarlomodicarlos e incluso redistribuirlo seguacuten los teacuterminos GNU 3

bull La losofiacutea planteada por Moodle incluye una aproximacioacuten constructiva basada enel constructivismo social de la educacioacuten enfatizando que los estudiantes (y no soacutelolos profesores) pueden contribuir a la experiencia educativa en muchas formas

bull Compatibilidad con maacutes de 70 idiomas diferentes

bull Una excelente documentacioacuten soporte para seguridad y administracioacuten

bull No requiere modicaciones en el sistema operativo pudiendo ser ejecutado en un en-torno Linux Windows Mac OS o cualquier otro siempre que soporten PHP

bull La informacioacuten esta soportada por una simple base de datos

Ademaacutes su sencilla aplicacioacuten en entorno web que utiliza tecnologiacuteas ya ampliamenteprobadas sus mecanismos de extensioacuten maacutes faacuteciles en comparacioacuten con otros VLEs y laexistencia de una gran cantidad de documentacioacuten de desarrollo han impulsado la creacioacutende una gran comunidad de personas que contribuyen a la mejora de Moodle Esta comu-nidad estaacute en constante desarrollo de nuevas caracteriacutesticas y aplicaciones a traveacutes decientos de plugins que pueden ser descargados desde su la web de Moodle y asesoran tantoa otros desarrolladores como usuarios nales

La primera versioacuten de Moodle (10) fuel lanzada en 2002 como parte de la investigacioacuten deMartin Dougiamas del uso del software de coacutedigo abierto para la ensentildeanza y el aprendizajecon las comunidades basadas en Internet[Dougiamas and Taylor 2000] Actualmente seencuentra disponible la versioacuten 243+ como estable y la beta de la versioacuten 25

En cuanto a la parte teacutecnica Moodle estaacute desarrollado en lenguaje PHP como la mayoriacuteade los VLEs utiliza una arquitectura cliente-servidor comuacuten de tres capas CORREGIRLa capa de presentacioacuten dene como la informacioacuten se presenta a los usuarios nales quetienen acceso a esa informacioacuten a traveacutes de sus navegadores web La Capa de loacutegica de ne-gocios se encarga de las relaciones con Moodle el acceso a la capa de datos por lo generala traveacutes de MySQL para almacenar y recuperar la informacioacuten cuando sea necesario

Moodle se distribuye en un solo paquete multiplataforma que incluye PHP MySQL yApache HTTP Server para facilitar los procesos de instalacioacuten y conguracioacuten La dis-tribucioacuten actual de Moodle cumple con varios estaacutendares educativos Por ejemplo Moodlepuede manejar ADL SCORM paquetes que contienen recursos aislados o cursos completosEn cuanto a los estaacutendares IMS Moodle soporta IMS Content Packaging (IMS CP) IMSCommon Cartridge (IMS CC)IMS pregunta y Test Interoperability (IMS QTI) y estaacuteconsiderado como uno de los VLEs compatible con Basic LTI

241 otras plataformas

No podemos dejar de lado otros escenarios educativos que han ido apareciendo en los uacutelti-mos antildeos a pesar del gran eacutexito de los VLEs Algunos ejemplos de estas plataforma son

3httpsmoodleorg

bull Wikis (Ej MediaWiki) Son sistemas software que permiten la creacioacuten y gestioacutende contenidos estructurados mediante paacuteginas web relacionadas entre siacute El contenidosuele estar editado por varios usuarios que trabajan de manera colaborativa pudiendoincluir enlaces a recursos externos

bull Sitios de redes sociales (Ej Facebook) Son sistema en liacutenea donde los usuariospueden crearse sus propios perles y crear una red personal que les mantendraacute conec-tado con otros usuarios Estos sistemas han proliferado en los uacuteltimos antildeos llegando amillones de usuarios No suelen necesitar un administrador pues se utilizan medianteentorno web y son alojados por el propio proveedor Su gran adopcioacuten y el enfoquea las interacciones sociales es lo que ha llevado a muchos profesor a utilizarlo comoherramienta de aprendizaje Estos sitios permiten la creacioacuten y mantenimiento degrupo mediante el perl de usuario pero no estaacuten disentildeados para seguir un enfoquepedagoacutegico

bull Personal Learning Environment - PLE (Ej Southampton) Son denidos comosistemas de software que permiten al estudiante a tomar el control y la gestioacuten de suspropio aprendizaje Se caracterizan por la por la participacioacuten directa de los alumnosen el acceso agregacioacuten conguracioacuten y manipulacioacuten de herramientas y recursos adiferencia de los VLEs done es el educador el que selecciona y gestiona los recursosque el alumno debe utilizar

Muchas de estas herramientas son de coacutedigo libre y abierto Su funcionalidad respecto ala gestioacuten de actividades grupos funciones y herramientas es limitado siendo en algunoscasos inexistente Ninguna de estas plataformas se puede considerar un VLE ya que nosson sistemas centrados en el educador sin embargo pueden apoyar la integracioacuten de apli-caciones externas en entornos de aprendizaje colaborativo

Capiacutetulo 3

Organizacioacuten y Sistema Inicial

A continuacioacuten pasamos a detallar las distintas actividades de la que consta el proyecto quehemos llevado a cabo durante estos meses

31 Lanzamiento del proyecto

Esta actividad consisten en la eleccioacuten de una de las diferentes posibles aacutereas de desarrollo deproyectos que ofrece la UOC siendo la elegida Aplicaciones Web para trabajo colaborativo

32 Denicioacuten del proyecto

El proyecto queda denido en el presente documento siendo el tiacutetulo del mismo Orchestationand Coreography of Web Services on Moodle - Revisioacuten Sistemaacutetica de la literatura

[Duracioacuten] 27-02-2013 al 03-03-2013

33 Anaacutelisis de requisitos

Nos centraremos en la fase de planicacioacuten que incluye los objetivos de la investigacioacuten y la formaen que se llevaraacute a cabo la revisioacuten

[Duracioacuten] 04-03-2013 al 03-06-2013

331 Cuestiones Realizadas

El primer paso en la fase de planicacioacuten seraacute denir los objetivos principales de esta revisioacutensistemaacutetica de la literatura Estos objetivos son analizar el estado del arte de la coreografiacutea yorquestacioacuten de los servicios web en Moodle como LMS

332 Fuentes de datos y buacutesqueda

Utilizaremos diferentes libreriacuteas o espacios digitales para realizar las buacutesquedas las mismas serealizaraacuten en ingleacutes y espantildeol Las libreriacuteas principales utilizadas son

IEEEXplore [IEEEX] httpieeexploreieeeorg

21

Science Direct [SD] httpwwwsciencedirectcom

SpringerLink [SL] httpwwwspringerlinkcom

Paralelamente a Science Direct se han realizado buacutesquedas en Scopus1 de Elsevier y GoogleScholar2 de Google

333 Criterios de inclusioacuten y exclusioacuten

Las buacutesquedas que se realicen intentaraacuten abarcar todo el aacutembito de cuestiones del SLR pero esposible (y de hecho ocurre) el resultado contenga referencias publicaciones estudios o en generalinformacioacuten que no sirve Para ello seraacute necesario denir criterios de inclusioacuten y exclusioacuten loscual haremos basaacutendonos en la guiacutea [Kitchenham 2007]

334 Asegurar la calidad

Despueacutes de obtener un numero considerable de trabajos o estudios que satisfacen los criteriosde inclusioacuten y exclusioacuten se deberaacute ser capaz de asegurar o armar cuales son los que cumplencon una miacutenima calidad y si son vaacutelidos o no para el estudio en si Es baacutesico poder analizar queacuteestudios son mejores que otros en teacuterminos de calidadSiguiente [Kitchenham 2007] se deniraacuten preguntas y cuestiones que permitan asegurar dichacalidad

335 Extraccioacuten de datos y anaacutelisis

Los criterios de inclusioacuten y exclusioacuten junto con las preguntas orientadas a asegurar la calidadnos serviraacuten para obtener todos los artiacuteculos y estudios que se analizan en este estudioDe cada artiacuteculo se recogeraacute titulo y autores abstract publicacioacuten y antildeo de publicacioacuten

336 Fase de revisioacuten

Esta fase de planicacioacuten seraacute denir el proceso de conducir o dirigir la revisioacuten Para elloutilizaremos tres fases como podemos ver en la gura 31 de la paacutegina 23

337 Fase de Pruebas

Se realizan pruebas con la informacioacuten obtenido montado maacutequinas virtuales para realizar lasmismas En estas se han probado las diferentes opciones de comunicacioacuten que nos ofrece Moodle

1httpwwwscopuscom2httpscholargooglecom

Figura 31 Proceso para dirigir la revisioacuten

34 Calendario de Trabajo

Podemos ver en el siguiente diagrama de Gantt32 la distribucioacuten de trabajos en el tiempo elmismo seraacute modicado para ajustarlo a las variaciones producidas durante el desarrollo de lastareas que contempla

35 Hitos principales

Los principales hitos seraacuten

Lanzamiento del proyecto Se dene correctamente en que va consistir el proyecto

Denicioacuten de cuestiones para la buacutesqueda Donde se detallaraacuten las cuestiones quemarcaran el desarrollo del resto del proyecto

Comprobacioacuten de resultados Se deberaacuten criba los mismo para no obtener duplicadoso informacioacuten ajena a la investigacioacuten

Revisioacuten de informacioacuten obtenida Una vez obtenida la informacioacuten y analizada deberaacuteser revisada para su presentacioacuten

Figura 32 Diagrama de Gantt

36 Instalacioacuten base

Para llevar a cabo las pruebas se ha optado por la creacioacuten de una maacutequina virtual sobre VirtualBox 3 en la cual hemos instalado Windows XP como sistema operativo Este sistema es maacutesligero a la hora de trabajar en maacutequinas virtuales pues requiere menos recursos que las versionesposteriores del mismos sistema

El siguiente paso era la instalacioacuten de Moodle Aunque se dispone de un instalador para Win-dows se ha optado por la descarga e instalacioacuten de XAMPP 4 y su y su posterior conguracioacutenen la maacutequina virtual XAMPP es un servidor independiente de plataforma software libre queconsiste principalmente en la base de datos MySQL el servidor web Apache y los inteacuterpretespara lenguajes de script PHP y Perl El nombre proviene del acroacutenimo de X (para cualquierade los diferentes sistemas operativos) Apache MySQL PHP Perl

XAMPP en su versioacuten 181 incluye

Apache 243

MySQL 5527

PHP 547

phpMyAdmin 3522

FileZilla FTP Server 0941

Tomcat 7030

Strawberry Perl 51611 Portable

XAMPP Control Panel 310

Hemos continuado con la descarga he instalacioacuten de Moodle y hemos querido probar las difer-encias que obtenemos entre las versiones 19x y 25 por lo que se han descargado ambas heinstalado en maacutequinas virtuales diferentes Con ello conseguiremos probar el resultado obtenidoseguacuten la versioacuten Moodle desde su versioacuten 22 ya soporta conexiones mediante IMS - LTI IMSLTI es un estaacutendar IMS Learning Tool Interoperability Esto signica que las herramientas deaprendizaje tienen ahora diversas maneras de conectarse entre sin problemas

En la praacutectica cuando un usuario se registra en una herramienta como Moodle se pueden conectara la otra herramienta como MediaWiki y autenticarse automaacuteticamente proporcionando unaexperiencia perfectaLas guras 33 y 34 nos muestran el panel de control de XAMPP una vez instalado y el panede phpMyAdmin donde hemos debido congurar las bases de datos y usuario necesarios parallevar todo el proceso de conguracioacuten de Moodle y el resto de herramientas

3httpswwwvirtualboxorg4httpwwwapachefriendsorgesxampphtml

Figura 33 Panel de control de XAMPP

Figura 34 Gestor de bases de datos phpMyAdmin

Capiacutetulo 4

Servicios Web de Moodle

41 Introduccioacuten

Moodle 2X incorpora la posibilidad de implementar Servicios Web para manejar sus funciona-lidades lo que nos permite poder acceder a acciones de actualizar y crear tareas para reejar elresultado de las actividades realizadas Moodle soporta varios protocolos (REST SOAP XML-RPC y AMF)

42 Servicios Web de Moodle

Los Servicios Web de Moodle se caracterizan por permitir el acceso desde cualquier aplicacioacutenimplementando para ello tres capas como podemos observar en la gura 41

Capa nuacutecleoLa capa del nuacutecleo estaacute compuesta de todas las funciones principales de Moodle sobreusuarios grupos cursos calendario etc Moodle no dispone de una API al uso sino queofrece diferentes funciones que han sido desarrolladas durante antildeos Por tanto las necesi-dades de los Servicios Web estaacuten obligando a rehacer estas funciones del nuacutecleo para quecomiencen a formar una API (Moodle 2X)

Capa externaLa capa externa estaacute compuesta por nuevos cheros llamados externalphp colocados porlas carpetas de Moodle y conteniendo manejadores para la capa inferior Estos manejadoresson los responsables de comprobar las capacidades paraacutemetros y llamadas correctas a lasfunciones de nuacutecleo

Capa de conectoresLa capa de conectores estaacute compuesta de diferentes conectores para las diferentes imple-mentaciones de los Servicios Web y contiene un conector REST un conector SOAP unconector XML-RPC y un conector AMF Esta capa admite plugins para ampliar los conec-tores disponibles de manera que se puedan integrar otros sistemas en Moodle utilizandootros protocolos

Los pasos para utilizar un Servicio Web con Moodle seriacutean los siguientes

1 El cliente enviacutea el nombre de usuario y contrasentildea al servidor que provee los ServiciosWeb

27

Figura 41 Capas en Moodle

2 El servidor de protocolo devuelve un token de sesioacuten para esa cuenta de usuario

3 El cliente llama a un Servicio Web especiacuteco incluyendo el token de sesioacuten

4 El servidor utiliza el token para comprobar que la sesioacuten del Servicio Web estaacute activa

5 El servidor llama a la funcioacuten correspondiente localizada en el chero externallibphp dentrodel moacutedulo especiacuteco

6 La funcioacuten externa comprueba que el usuario actual tenga los permisos sucientes pararealizar esta operacioacuten

7 La funcioacuten externa llama a la funcioacuten correspondiente del nuacutecleo de Moodle (libphp)

8 La funcioacuten del nuacutecleo puede retornar un resultado a la funcioacuten externa

9 La funcioacuten externa devolveraacute el resultado al servidor de protocolo

10 El servidor de protocolo devolveraacute el resultado al cliente

43 REST

REST (Representational State Transfer) es el acroacutenimo de Transferencia de Estado Representa-cional teacutermino usado por Roy Fielding (uno de los creadores de HTTP) para describir un estilode arquitectura que utilizar como modelo en los sistemas de computacioacuten Web No es un es-taacutendar sino un enfoque que muestra como desarrollar y proporcionar servicios en Internet portanto considerado como un estilo arquitectoacutenico para disentildeo de software a gran escala El propioautor lo dene de manera concisa en eacuteste paacuterrafo

REST es un intento de mostrar coacutemo debe comportarse una aplicacioacuten Web bien disentildeada unared de paacuteginas Web (una maacutequina de estados virtual) donde el usuario progresaraacute seleccionan-do enlaces (transiciones de estado) que devuelven la paacutegina siguiente (el siguiente estado de lamaacutequina) que el usuario manejaraacute a su gusto

Este enfoque no aporta realmente nada nuevo la mayor parte de la Web sigue este estilo arqui-tectoacutenico Sin embargo el autor hace eacutenfasis en las caracteriacutesticas concretas que han hecho quela Web triunfe que van a ser los objetivos buscados por REST y que son a su juicio

Escalabilidad en las interacciones entre componentes La red ha ido creciendo de maneraexponencial y se ha ido comportado de manera satisfactoria

Generalidad en las interfaces Se proporciona acceso con distintos clientes y con distintosmecanismos de acceso

Desarrollo independiente de componentes Implementaciones cliente y servidor pueden serdesarrolladas en distintos momentos

Existencia de componentes intermediarios con los cuales existe compatibilidad (comoproxys)que permiten encapsulacioacuten e integracioacuten de sistemas no Web dentro de la misma

431 Principios de disentildeo

Los objetivos citados van a ser conseguidos imponiendo una serie de restricciones

El estado y la funcionalidad de las aplicaciones se representan por forma de recursos

La identicacioacuten de recursos se realiza de forma uacutenica global mediante Uniform ResourceIdentiers Los recursos identicados con URIs son los objetos loacutegicos a los cuales se lesmandan los mensajes

Manipulacioacuten de recursos a traveacutes de representaciones luego no se manejan directamentelos recursos sino sus representaciones

Todos los recursos comparten un interfaz uniforme formado por

bull Un conjunto de operaciones limitado para transferir el estado Se van a aprovecharlas operaciones que HTTP dene mostradas en la gura 42

bull Un conjunto limitado de tipos de contenidos identicados mediante tipos MIME

Uso de un protocolo clienteservidor sin estado y basado en capas Cada mensaje HTTPcontendraacute la informacioacuten necesaria para comprender la peticioacuten luego como muestra lagura 43 no es necesario que eacutesta sea entendida tanto en el cliente como en el servidor

Uso de hipermedios para representar el estado de una aplicacioacuten permitiendo que el estadode una aplicacioacuten Web particular esteacute almacenado en uno o maacutes documentos de hipertextoque residen bien en el servidor o en el cliente Esto permite al servidor saber el estado desus recursos sin necesidad de almacenar el estado de los clientes concretos

Figura 42 Operaciones denidas por HTTP

Como ya se mencionoacute REST se trata de un estilo arquitectoacutenico no un estaacutendar Sin embargohace uso de varios estaacutendares Web

HTTP HyperText Transfer Protocol

Figura 43 Operaciones denidas por HTTP

URL Uniform Resource Locator como el mecanismo de indenticacioacuten de recursos

XML - HTML - PNG - etc Como distintos formatos de representacioacuten de recursos

Tipos MIME como text-xml text-html image-png etc

44 SOAP

SOAP (siglas de Simple Object Access Protocol) es un protocolo estaacutendar que dene coacutemo dosobjetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML Esteprotocolo deriva de un protocolo creado por David Winer en 1998 llamado XML-RPC SOAPfue creado por Microsoft IBM y otros y estaacute actualmente bajo el auspicio de la W3C

441 Principios de disentildeo

La funcionalidad que aporta SOAP es la de proporcionar un mecanismo simple y ligero de in-tercambio de informacioacuten entre dos puntos usando el lenguaje XML SOAP no es maacutes que unmecanismo sencillo de expresar la informacioacuten mediante un modelo de empaquetado de datosmodular y una serie de mecanismos de codicacioacuten de datos Esto permite que SOAP sea uti-lizado en un amplio rango de servidores de aplicaciones que trabajen mediante el modelo decomunicacioacuten RPC (Remote Procedure Call)

SOAP consta de tres partes como podemos ver en la gura 44

El SOAP envelope que dene el marco de trabajo que determina queacute se puede introduciren un mensaje quieacuten deberiacutea hacerlo y si esa operacioacuten es opcional u obligatoria

Las reglas de codicacioacuten SOAP que denen el mecanismo de serializacioacuten que seraacute usadopara encapsular en los mensajes los distintos tipos de datos

La representacioacuten SOAP RPC que dene un modo de funcionamiento a la hora de realizarllamadas a procedimientos remotos y la obtencioacuten de sus resultados

A la hora de realizar el disentildeo de SOAP se han tenido en cuenta una serie de consideracionescon el n de cumplir una serie de objetivos claros objetivos que le daraacuten el potencial que resideen SOAP y que le haraacuten tan atractivo Eacutestos son

Establecer un protocolo estaacutendar de invocacioacuten a servicios remotos que esteacute basado enprotocolos estaacutendares de uso frecuente en Internet como son HTTP (Hiper Text TransportProtocol) para la transmisioacuten y XML (eXtensible Markup Language)para la codicacioacutende los datos

Figura 44 Partes de SOAP

Independencia de plataforma hardware lenguaje de programacioacuten e implementacioacuten delservicio Web

El logro de estos objetivos ha hecho de SOAP un protocolo extremadamente uacutetil ya que elprotocolo de comunicacioacuten HTTP es el empleado para la conexioacuten sobre Internetpor lo que segarantiza que cualquier cliente con un navegador estaacutendar pueda conectarse con un servidor re-moto Ademaacutes los datos en la transmisioacuten se empaquetan o serializan con el lenguaje XML quese ha convertido en algo imprescindible en el intercambio de datos ya que es capaz de salvar lasincompatibilidades que existiacutean en el resto de protocolos de representacioacuten de datos de la red

Por otra parte los servidores Web pueden procesar las peticiones de usuario empleando tec-nologiacuteas tales como Servlets paacuteginas ASP (Active Server Pages) paacuteginas JSP (Java ServerPages) o sencillamente un servidor de aplicaciones con invocacioacuten de objetos mediante CORBACOM o EJB

Un ejemplo tiacutepico de disentildeo de un servicio Web utilizando las ventajas de SOAP podemos veren la siguiente gura 45

Figura 45 Ejemplo de uso de SOAP

45 AMF

AMF (Action Message Format) es un protocolo binario de Adobe que va por la versioacuten AMF3Aunque por el nombre de la versioacuten pueda parecer que existan 3 cabe destacar que soacutelo existendos AMF0 y AMF3 Una de las mayores diferencias o mejoras que aporta AMF3 es que soporta

datos binarios (ByteArray) y int datos no soportados por AMF0 debido a que en la eacutepoca queaparecioacute el formato Flash Player no soportaba estos tipos de datos

AMF3 no es un protocolo para transferir informacioacuten sino que representa el formato en el quese transmite la informacioacuten en este caso un formato binario

La versioacuten de Moodle 25 viene con Zend_ AMF pero podemos utilizar tambieacuten la libreriacuteaamfPHP

AMFPHP

Zend_ amf httpframeworkzendcommanual112enzendamfhtml

Maacutes informacioacuten en httpdocsmoodleorgdevAMFPHP

46 Conguracioacuten de Moodle Web Services

Los Servicios Web habilitan que otros sistemas puedan entrar a Moodle y realizar operacionesPasaremos a detallar los pasos necesarios para su conguracioacuten y explicaremos distintos pruebasllevadas a cabo sobre su funcionamiento Para poder consumir de manera correcta unWeb Servicede Moodle seriacutea necesario antildeadir a la url que vamos a formar los paraacutemetros oportunos paralograr consumir el Web Service de manera satisfactoria Una vez antildeadidos ya podriacuteamos invocarla funcioacuten seleccionada

461 Activando los Servicios Web

Lo primero que debemos hacer es activar la opcioacuten general que habilita el uso de los serviciosweb En la gura 46 podemos observar la opcioacuten para la activacioacuten de este servicio para ello nosiremos a la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Servicios Externos

Figura 46 Activacioacuten Servicios Web

Esto solo es una opcioacuten a nivel global necesitando ahora activar los protocolos de comunciacionesque vamos a utilizar para ello deberemos ir a la opcioacuten textitAdministracioacuten del Sitio - Exten-siones - Servicios Web - Administrador de protoclos donde encontraremos las diferente opcionesque nos existen En la gura 47 podemos ver la pantalla de nuestra conguracioacuten con todos losprotocolos activados

Una vez activada la opcioacuten de Servicios Externos y seleccionados los protocolos que utilizaremosnecesitamos crear un Servicio Personalizado que no es maacutes que una etiqueta que aglutina los

Figura 47 Activacioacuten Protoclos

Servicios Web que ofrece Moodle y que pueden ser utilizados por los servicios externos Para ellodeberemos darle a la opcioacuten Agregar dentro de la opcioacuten Administracioacuten del Sitio - Extensiones- Servicios Web - Servicios Externos Como prueba habilitaremos un servicio llamado Uso_Servicio_ Web cuya creacioacuten podemos ver en la gura 48

Figura 48 Creacioacuten Servicio Personalizado

Una vez creado el Servicio Personalizado deberemos agregarle las funciones que queramos lesean permitidas pudiente tener maacutes de una En la gura 49 vemos como asociamos la creacioacutende usuarios al Servicio Personalizado

Terminado esto deberemos tener en el listado que nos muestra Moodle de Servicios personaliza-dos algo como lo mostrado en la gura 410

El siguiente paso es conceder los permisos apropiados para que este Servicio Personalizado puedeser usado por los usuarios pare ello debemos primero especicar quienes son los Usuarios au-torizados para ello en la linea de la lista de Servicios Personalizados deberemos pulsar sobre laopcioacuten usuarios autorizados donde apareceraacute una pantalla como 411 donde podremos escogerlos usuarios de los que se encuentran dados de alta en nuestro sistema

Y para terminar aunque este paso podriacutea ser realizado por el propio usuario si tuviera el per-miso de moodlewebservicecreatetoken seraacute la creacioacuten de un token el cual va ser la opcioacuten quevamos a utilizar para las pruebas de los Servicios Web de Moodle Para la creacioacuten del mismodeberemos entrar en la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Admin-istrar tokens y pulsar la opcioacuten Agregar para antildeadir un token nuevo como podemos apreciar en

Figura 49 Agregando funciones al Servicio Personalizado

Figura 410 Listado de Servicios Personalizados

la gura 412 teniendo la precaucioacuten de escoger como Servicio el Servicio Personalizado creadocon anterioridad Uso_ Servicio_ Web

En esta pantalla podemos poner varios tipos de restricciones

Restriccioacuten de IP Donde podemos indicar la direccioacuten IP desde donde

Restriccioacuten de Fecha Se puede denir hasta cuando seraacute valido este token siendo unabuena manera de poder probar cosas y no dejar puertas abiertas por error

En la gura 413 podemos ver el token asignado por el sistema para nuestro Servicio Personalizadoy que procederemos a utilizar para comprobar el funcionamiento de los Servicios Web de Moodle

462 Pruebas cliente Servicio Web

Procederemos ahora a desarrollar pruebas que utilicen los Servicios Personalizados creado Sepodriacutean haber utilizado el Cliente de prueba de servicio web que incorpora Moodle dentro dela opcioacuten Administracioacuten del Sitio - Desarrollo - Cliente de prueba servicio web pero hemosdecidido implementar una Web para comprobar la facilidad del funcionamiento del sistema y losdistintos resultados obtenidos seguacuten el protocolo utilizado

Utilizaremos la libreriacutea cURL de PHP cURL es una herramienta que permite abrir conexionesen una amplia variedad de protocolos y que estaacute disponible tanto como herramienta de consola(para ejecutar directamente con comandos) como en libreriacutea (para usar en vuestro coacutedigo) y quepermite hacer praacutecticamente todo manejo de cookies descarga de cheros binarios enviacuteos de

Figura 411 Alta de Usuarios Autorizados

Figura 412 Creacioacuten de Tokens

paraacutemetros GET y POST etc

La web creada para la introduccioacuten 414 de los usuarios seraacute equivalente para todos los procesosprocesos siendo el programa que da respuesta al formulario el que implemente la funcioacuten nece-saria para la introduccioacuten de los datos en Moodle

Los resultados de REST pueden mostrar los resultados del alta de dos maneras diferentes unaen formato XML como podemos ver en la gura 415 y otro en formatox JSON tambieacuten po-dremos ver en la gura Los resultados obtenidos tambieacuten pueden verse en el la gura 416

Figura 413 Lista de Tokens

Figura 414 Web de alta de usuarios

Figura 415 Resultado de REST en formato XML

Figura 416 Resultado de REST en formato JSON

Capiacutetulo 5

Herramientas Externas

51 Introduccioacuten

Las versiones de Moodle desde la 22 vienen con IMS LTI o External Tool de manera integradaEn versiones anteriores era necesario la instalacioacuten de plugins como LTI Provider (maacutes informa-cioacuten en la web de Moodle1 IMS LTI es un estandar de IMS learing2 para la interoperabilidadde herramientas Esto signica que las herramientas de aprendizaje tienen ahora un mecanismopara jar el modo en que pueden conectarse entre ellas sin problemas

En la praacutectica cuando un usuario se registra en Moodle puede conectarse a otras herramientascomo Wikis o Blogs y autenticarse de manera automaacutetica en estas

52 Estaacutendares IMS

Actualmente se realizan esfuerzos para la integracioacuten de servicios a una plataforma virtual deaprendizaje mediante un mecanismo reutilizable independiente del tipo de plataforma El IMSGlobal Learning Consortium viene desde hace tiempo trabajando en este enfoque IMS GLCpresenta un conjunto de estaacutendares que promueven el uso de servicios de aprendizaje digitales(Digital Learning Services) dentro de las plataformas de aprendizaje tradicionales IMS DigitalLearning Services estaacute integrado por los siguientes estaacutendares principales IMS Common Car-tridge [ims a] IMS Learning Tool Interoperability [ims c] y IMS Learning Information Services[ims b]

El IMS Learning Tool Interoperability es una especicacioacuten para facilitar la inclusioacuten de her-ramientas externas dentro de un curso El administrador de la plataforma de aprendizaje ges-tiona los servicios que podraacuten ser consumidos por la plataforma el docente decide que serviciosutilizaraacute en su curso y el estudiante hace uso de los mismos IMS LTI permite que distintos LMSconsuman un mismo servicio el cual no fue implementado teniendo en cuenta el tipo de LMSsino la implementacioacuten del estaacutendar desde el lado del proveedor

El enfoque del IMS LTI estaacute dirigido a la creciente demanda de un mecanismo reutilizable para laintegracioacuten de herramientas de terceros en el nuacutecleo de las plataformas LMS Estas herramientas

1httpsmoodleorgpluginsviewphpplugin=local_ltiprovider2httpwwwimsglobalorgtoolsinteroperability2cfm

37

pueden agregar funcionalidad especializada a los LMS El enfoque ofrece una solucioacuten basada enWeb Services igualmente aplicable a distintos lenguajes de programacioacuten

Las versiones del LTI son

LTI v10 ( LTI Basic ) ( publicado en mayo de 2010 ) proporciona un meacutetodo sencillopero estaacutendar para establecer una conexioacuten segura a una herramienta desde el interior deun consumidor de herramientas El lanzamiento de este enlace permite una experienciade aprendizaje sin problemas para los estudiantes que acceden a las aplicaciones ricas queparecen tener lugar dentro del ambiente de aprendizaje Versioacuten 10 es el primer paso en eldesarrollo continuo de LTI Figura 51

LTI v11 ( publicado en marzo 2012 ) antildeade la posibilidad de pasar de nuevo un resultadode la herramienta al Consumidor de herramientas Esto permite que los estudiantes recibenuna calicacioacuten o puntuacioacuten de su interaccioacuten con la aplicacioacuten de aprendizaje

LTI v111 ( publicado en julio de 2012 ) incluye soporte para el papel Mentor que se puedeutilizar para representar a un padre tutor o auditor

LTI v20 Aun en estado de desarrollo y proporciona una plataforma maacutes sosticado y ex-tensible para permitir integraciones maacutes profundas y un mayor apoyo para los serviciosy eventos LTI 2 se basa en LTI 1 mediante la incorporacioacuten de maacutes sosticada resulta-dos de informes y una rica arquitectura de extensiones que permite servicios adicionalesque se antildeadiraacuten gradualmente LTI 2 utiliza REST y JSON-LD para ofrecer esta nuevafuncionalidad

Figura 51 Esquema LTI Baacutesico

En la gura 52 podemos observar como se podriacutean utilizar las ventajas de LTI por parte decada unos de los actores a lo largo de la vida de la aplicacioacuten de servicios externos dentro de unaplataforma de aprendizaje

En la paacutegina web de IMS3 podemos encontrar una relacioacuten de aplicaciones certicadas comocompatibles con el estaacutendar LTI indicando la versioacuten del LTI que cumplen En la gura 53podemos ver las aplicaciones certicadas por UOC y en la gura 54 la informacioacuten sobre una deestas herramientas

3httpwwwimsglobalorgccalltoolscfm

Figura 52 Esquema utilizacioacuten LTI

Figura 53 Listado de herramientas LTI de la UOC

53 Herramientas externas en Moodle

La siguiente seccioacuten consiste en la aplicacioacuten de alguno de esto servicios externos en Moodlepara comprobar su funcionamiento Nos decantaremos para la primera prueba por WordPresspues aunque existen manuales al respecto la documentacioacuten en castellano es escasa

531 Wordpress

La versioacuten estaacutendar de Wordpress a la cual accedemos cuando nos abrimos cuenta en Wordpressno viene con las herramientas necesarias para la iteracioacuten mediante LTI por lo que procedere-mos a la instalacioacuten en nuestro servidor de Wordpress para pasar a la instalacioacuten de los pluginsnecesarios

La instalacioacuten ha consistido en la descarga de la web ocial 4 de la versioacuten 351 la cual hemoscopiado dentro del directorio htdocs de nuestra instalacioacuten de Xampp Hemos dado de alta unnuevo usuario en nuestra base de datos llamado username como podemos ver en la imagen 55 yposteriormente hemos seguido los pasos que el instalador nos iba ofreciendo para tener instalado

4httpwordpressorgdownload

Figura 54 Informacioacuten sobre la certicacioacuten

Wordpress bajo la url httplocalhostwordpress

Figura 55 Usuario de Wordpress

Deberemos congurar Wordpress para que trabaje como multisitio para lo que deberemos seguirlos pasos de conguracioacuten que podemos encontrar en la web ocial de Wordpress5 bajo el nombreCreate A Network consistente en los siguientes pasos

1 Realizar una copia de seguridad por si acaso

2 Modicar el chero wp-congphp incluyendo la siguiente linea encima de Thats allstop editing Happy blogging Multisite dene (WP_ ALLOW_ MULTISITE true)

Multisite dene (WP_ ALLOW_ MULTISITE true)

3 Installar un Network Para ello hemos de entra en la opcioacuten Administration -gtTools -gtNetwork Setup donde podremos congurar opciones sobre el nombre que queremos declararpara el nuevo sitio

4 Activar el Network para ello debemos modicar los cheros wp-congphp y htaccess porlo que seriacutea bueno que realizaacuteramos primero un copia de seguridad de los mismos Loscambios que debemos realizar son los siguientes

5httpcodexwordpressorgCreate_A_Network

En wp-congphp dene(MULTISITE true)dene(SUBDOMAIN_ INSTALL false)dene(DOMAIN_ CURRENT_ SITE localhost)dene(PATH_ CURRENT_ SITE wordpress)dene(SITE_ ID_ CURRENT_ SITE 1)dene(BLOG_ ID_ CURRENT_ SITE 1)

El chero htaccess debe quedar asiacute BEGIN WordPressltIfModule mod_ rewritecgtRewriteEngine OnRewriteBase wordpressRewriteRule icircndexphp$ - [L]

add a trailing slash to wp-adminRewriteRule ([_ 0-9a-zA-Z-]+)wp-admin1wp-admin [R=301L]

RewriteCondREQUEST_ FILENAME -f [OR]RewriteCondREQUEST_ FILENAME -dRewriteRule - [L]RewriteRule ([_ 0-9a-zA-Z-]+)(wp-(content|admin|includes)) $2 [L]RewriteRule ([_ 0-9a-zA-Z-]+)( php)$ $2 [L]RewriteRule indexphp [L]ltIfModulegt

END WordPress

5 Esto nos habraacute creado en la parte izquierda de la barra de herramientas de Wordpressuna nueva opcioacuten llamada My Sites que contendraacute un listado de los sitios de nuestroWordpress

El siguiente paso seraacute la descarga del plugin los cual podremos hacerlos desde la web de sour-forgenet 6 En esta web se detalla informacioacuten sobre el plugin y como se debe instalar Siguiendolos pasos que tenemos en el mismo procederemos a la descarga y el desplegado del mismo en lacarpeta wp-contentmu-plugins Salimos de Wordpress y volvemos a entrar como superusuariosi entramos dentro de la nueva red realizada podremos ver que dentro de LTI Consumers Keystendremos la opcioacuten LTI Consumers Keys como podemos ver en la imagen 56

Aquiacute deberemos crear la clave del consumidor del servicio y la clave secreta que nos permitiraacute aMoodle conectarse a Wordpress

Una vez que tenemos la clave secreta y del consumidor deberemos volver a Moodle entrandocomo administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

6httpsourceforgenetappsmediawikilearningappsindexphptitle=LTI4Wordpress

Figura 56 Servicios LTI en Wordpress

Figura 57 Listado de claves de LTI en Wordpress

-LTI En esta paacutegina podremos rellenar nuestras opciones

Tool Name Seraacute el nombre que tendraacute la herramienta y deberemos poner alguno indicativode la herramienta que estemos utilizando

Tool Base URL Es la direccioacuten de la herramienta en nuestro caso httplocalhostwordpress

Deberemos rellenar con los datos obtenidos en Wordpress la clave de consumidor y la clavesecreta

Es importante marcar Show tool type when creating tool instances para que aparezcaposteriormente al crear los recursos en nuestros cursos

Para poder probar el sistema hemos creado un curso dentro de Moodle llamada WordpressLTIdonde daremos de la siguiente manera de alta 59

Dentro de nuestro curso seleccionamos la opcioacuten de Edicioacuten

Pulsamos sobre Antildeadir una actividad o un recurso

Seleccionamos External Tool

Rellenamos las opciones

bull Nombre de la Actividad Cualquiera de nuestra eleccioacuten

Figura 58 Conguracioacuten LTI en Moodle

bull Tipo de herramienta externa El nombre que le pusimos a la herramienta externa enla conguracioacuten LTI de Moodle

bull Launch Container Hemos elegido la opcioacuten Incrustar para ver el resultado

Figura 59 Conguracioacuten Herramienta Externa

Una vez congurado podemos lanzar la herramienta externa teniendo como resultado la gura510

Figura 510 Wordpress integrado en Moodle

532 ChemVantage

ChemVantage es un recurso gratuito para la educacioacuten cientiacuteca que incluye ejercicios de gradoejercicios de preparacioacuten exaacutemenes de la praacutectica conferencias de video y libros de texto enliacutenea gratis Fue creado por ChemVantage LLC que fue fundada por el Prof Chuck Wight queha ensentildeado Quiacutemica General en la Universidad de Utah desde 1984 (ChemVantage 2011)

Nos hemos puesto en contacto con Chuck Wight (adminchemvantageorg) para solicitarle unaclave de consumidor y secreta para poder probar este recurso desde moodle Las opciones y elcorreo puede verse en la gura 511

Una de las cosas maacutes importantes de ChemVantage y por lo que nos hemos decidido a probar esque permite la devolucioacuten de las notas obtenidas en los ejercicios realizados en las herramientasexternas a Moodle El alumno podraacute realizar las tareas en esta herramienta externa y luego sercalicadas en Moodle

ChemVantage estaacute certicada por IMS 7 como un proveedor de herramientas LTI v11 y comotal funciona desde nuestro propio LMS para llevar a cabo la autenticacioacuten de sitios provee decuentas y devuelve resultados de asignacioacuten de estudiantes con el libro LMS grado automaacutetica-mente

Los recursos disponible son ChemVantage son principalmente los siguientes

1 QuizzesLos ejercicios presentados aquiacute estaacuten disentildeados para animar a los estudiantes a leer y en-tender los libros de texto utilizados en el curso Las preguntas se basan en material que sepresente en su mayor parte en los textos de introduccioacuten de quiacutemica Los iacutetems de preguntastienen respuestas straighforward no requieren caacutelculos detallados Las preguntas se presen-tan en varios formatos diferentes incluyendo opcioacuten muacuteltiple verdadero falso casilla devericacioacuten ll-in-the-blanco y numeacutericas Cada cuestionario se compone de 10 preguntasextraiacutedas al azar de una base de datos con muchas maacutes preguntas En el proceso de tomarvarias pruebas para mejorar sus calicaciones los estudiantes probablemente encuentran

7httpdevelopersimsglobalorgcoursechemvantagehtml

algunas preguntas repetidas de concursos anteriores sin embargo es poco probable quecualquiera de los dos cuestionarios contendraacute exactamente el mismo conjunto de preguntasen el mismo orden Asignando pruebas para ser completado antes de la conferencia losprofesores pueden estar seguros de que sus estudiantes tengan un poco de exposicioacuten almaterial Esto permite una mayor discusioacuten el diaacutelogo y la participacioacuten en el aula y haceel aprendizaje maacutes divertido (de verdad)

2 Video LecturesUna serie de conferencias de viacutedeo de 10 minutos sobre una variedad de temas de QuiacutemicaGeneral es accesible desde la paacutegina principal Los videos estaacuten disentildeados para reforzar lospuntos principales que se presentan en muchos libros de texto

3 HoweworksLas tareas estaacuten disentildeadas para dar a los estudiantes la praacutectica en la resolucioacuten de proble-mas cuantitativos que tienen respuestas numeacutericas Cada alumno puede descargar la tareatrabajar los problemas y presentar las respuestas en liacutenea Respuestas son juzgados a sercorrecta si la solucioacuten numeacuterica de acuerdo con la solucioacuten que se encuentra en la base dedatos dentro de una tolerancia especicada (indicado para cada problema) El sitio informaa los estudiantes que las respuestas son correctas para que puedan rehacer problemas malresueltos y volver a presentar las respuestas Cada problema se basa en una plantilla queatrae paraacutemetros al azar por lo que la respuesta correcta es diferente para cada estudianteEsto hace que sean adecuadas para la colaboracioacuten y el trabajo en grupo porque a pesarde que el grupo puede trabajar para encontrar un algoritmo correcto para resolver un prob-lema cada estudiante tendraacute que usar el algoritmo para encontrar la solucioacuten detallada asu propio problema

4 Practice ExamsLos estudiantes pueden realizaar exaacutemenes de praacutectica cronometrados que muestran laspreguntas de un grupo de 3 o maacutes temas Cada examen estaacute disentildeado para tardar unos60 minutos o menos e incluye una seleccioacuten de 10 preguntas Las praacutecticas de exaacutemenespueden repetirse cuantas veces se desee Las preguntas numeacutericas son parametrizadas loque es muy poco probable que un estudiante realice alguna vez dos exaacutemenes de praacutecticaideacutenticos

5 Portofolio PageCada estudiante puede acceder a una paacutegina que le da la puntuacioacuten obtenida en cada prue-ba y la asignacioacuten de tareas Los estudiantes que son miembros de un grupo tienen unapaacutegina de resultados asociados a las tareas de grupo Hay una paacutegina de carpeta separadaque contiene un resumen de todas las actividades realizadas en ChemVantage incluyendovideos vistos cuestionarios completados resolver problemas con la tarea y la praacutectica deexaacutemenes completados Las puntuaciones en los exaacutemenes de praacutectica son desagregadospara revelar fortalezas y debilidades estudiantes por temas

Hemos procedido a darlo de alta en LTI como hicimos con Wordpress Entramos en Moodle co-mo Administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

Figura 511 Correo de Chuck Wight

-LTI quedando como resultado la siguiente hoja de paraacutemetros gura 512

El siguiente paso seraacute antildeadir la herramienta dentro de nuestro curso para ello pulsaremos sobreAntildeadir una actividad o un recurso Deberemos seleccionar External Tool y rellenamos las op-ciones de la herramienta seleccionando como Tipo de herramienta externa la opcioacuten creada enel apartado de LTI de Moodle

Una vez congurado la herramienta en Moodle podemos entrar para realizar una personalizacioacutende la herramienta gura 513 esta consiste en indicar si el alumno cuando se conecta realiza undeterminado tarea o puede elegir navegar por la web de ChemVantage para poder disfrutar dela cantidad de recursos que se encuentran disponibles

Cuando el usuario pulsa sobre la opcioacuten de esta herramienta externa en Moodle lo primero quese le muestra es la informacioacuten sobre su perl en Chemvantage 514Como hemos visto en los paraacutemetros de conguracioacuten existe la posibilidad de llamar a unaherramienta externa incrustaacutendola dentro de Moodle o abrieacutendolo en una paacutegina web nuevaCon esta segunda opcioacuten no hemos conseguido que funcione correctamente la importacioacuten de lasnotas En cambio si la herramienta externa estaacute incrustada permite esa vinculacioacuten

Figura 512 Conguracioacuten de paraacutemetros LTI

Figura 513 Opciones de inicio de la herramienta

Figura 514 Pantalla de utilizacioacuten de la herramienta por el usuario

Capiacutetulo 6

Middleware

61 Introduccioacuten

La uacuteltima opcioacuten seriacutea utilizar una arquitectura middleware de integracioacuten que permita la inte-gracioacuten ligera de muacuteltiples herramientas existentes en el Moodle

62 GluePS

GLUE-PS es una arquitectura de middleware que permite una interoperabilidad ligera entrelos diferentes lenguajes de disentildeo de aprendizaje y diferentes entornos de aprendizaje virtualEsta interoperabilidad permite a los maestros y otros profesionales que particularicen (es decirpara personalizar el disentildeo de aprendizaje abstractoa la clase particular los participantes y laeleccioacuten de los instrumentos en los que va a ser promulgada) desplieguen (es decir para crearde forma semiautomaacutetica las actividades necesarias en el VLE recursos etc para la aprobacioacutendel disentildeo particularizado) e incluso para llevar a cabo ciertos cambios en el tiempo de ejecucioacuten(por ejemplo modicar la composicioacuten del grupo agregar o quitar recursos de las actividadesetc) Todo esto a partir de disentildeos en distintos lenguajes de disentildeo de aprendizaje tales como laespecicacioacuten IMS-LD aprendizaje

Por otra parte GLUE-PS tambieacuten permite desplegar y gestionar disentildeos de aprendizaje en en-tornos virtuales de aprendizaje que integren herramientas de aprendizaje externos (tales comointegrar en Moodle herramientas como Google Docs y muchos otros) - lo que llamamos Am-bientes de Aprendizaje Distribuido (DLE Distributed Learning Enviroments) Esto se consiguegracias a la arquitectura de GLUE para la integracioacuten de los entornos virtuales de aprendizajey herramientas externas

621 Instalacioacuten

Para realizar la instalacioacuten de GLUE-PS nos hemos descargado el software necesario de la webde los desarrolladores1 descargando la opcioacuten de autenticacioacuten centralizada La instalacioacuten haconstado de tres partes que pasaremos a describir a continuacioacuten

1httpwwwgsicuvaesglue

49

Figura 61 Arquitectura de GLUE

La primera parte consiste en la instalacioacuten del GLUEletManager y los adaptadores GSIC toolAunque el sistema viene preparado para Linux o Windows siendo Windows la explicacioacuten quevamos a desarrollar por estar utilizando este sistema operativo con Xampp

1 Crear el directorio GLUE_ HOME El cual hemos creado para mayor comodidad en la raiacutezdel disco duro

2 Denir la variable del sistema GLUE_ HOME con el valor de la direccioacuten completa deldirectorio de GLUE del punto anterior Para ello hemos pulsado botoacuten derecho sobre MiPc Propiedad Opciones Avanzadas Variables de Entorno procediendo a pulsar el botoacutenNueva para crear la variable en cuestioacuten

3 Extraemos en el directorio del punto (1) el paquete descargado de la paacutegina de los desar-rolladores

4 Ejecutar la instalacioacuten del cheroGLUE_ HOMEbininstall gluebat para registar GLUElet-Manager y GSIC tool como un servicio de Windows Tambieacuten este paso crearaacute un cheroen GLUE_ HOMEtool_ adapteradapterdata para proveer de persistencia a los objetoscreados con el adaptador GSIC tool

A continuacioacuten daremos de alta en nuestro gestor de bases de datos un para de bases de datosque necesita GLUEletManager Para ellos seguimos los siguientes pasos

1 Abrimos la consola de phpMyaAdmin para cargar y ejecutar el chero create_ GLUE_databasessql que se encuentra en GLUE_ HOMEmanagerconfdb

2 Modicamos el chero GLUE_ HOMEmanagerconfMETA-INFpersistencexml paradarle los paraacutemetros necesarios para que JDBC se conecte a nuestra base de datos Losparaacutemetros modicados puede verse en la imagen 62

Figura 62 Paraacutemetros modicados en persistencexml

La segunda parte consiste en el registro interno de los adaptadores de las herramientas para seraccedido con GLUEletManager La distribucioacuten trae un chero para facilitar la conguracioacuten delos adaptadores que trae consigo y para su instalacioacuten deberemos ejecutar el chero GLUE_HOMEmanagerconfdbll _ internal_ Registrysql Alguna de las herramientas necesitanuna conguracioacuten maacutes completa como puede ser Google Docs adapter que necesita una cuentade Gmail para poder crear documentos en Google Docs por lo que deberemos modicar el nom-bre de usuario y contrasentildea

La uacuteltima parte consiste en la instalacioacuten del adaptardor de Moodle como VLE utilizado Estainstalacioacuten es como cualquier otro moacutedulo de Moodle 2 La carpeta que deberemos copiar seraacutela del adaptador correspondiente a Moodle que se encuentra en la carpeta GLUE_ HOMEvle_adpatersmoodle_ vle_ adapter Una vez entremos en nuestro Moodle como administrador nosapareceraacute un mensaje indicaacutendonos que el nuevo moacutedulo esta instalado Para congurar el nuevomoacutedulo debermos ir a Noticaciones - Modulos - Actividades como podemos ver en la gura 63para congurar los paraacutemetros la URL del GLUEletManager y el tiempo de espera

Figura 63 Paraacutemetros del moacutedulo GLUE

Cuando el profesor quiera crear una nueva actividad dependiente de los adaptadores de GLUEdeberaacute agregar una actividad maacutes pulsando para ello en esta opcioacuten dentro del bloque deseadopara seleccionar luego el tipo de actividad GLUElet como podemos ver en la gura64

622 Creando un Doodle

El adaptador Doodle permite la creacioacuten conguracioacuten y gestioacuten de instancias del Doodle Cadaencuesta Doodle es considerado un instancia diferente Ademaacutes este adaptador permite realizarademas la conguracioacuten inicial de encuestas Doodle incluyendo el nombre de la encuesta unadescripcioacuten y un conjunto de posibles respuestas

A continuacioacuten antildeadiremos Doodle en un bloque de Moodle para ellos pulsaremos la opcioacuten deAgregar actividad GLUElet lo cual nos mostraraacute la paacutegina65 donde deberemos rellenar comomiacutenimo el nombre de la actividad y el tipo de herramienta seleccionado en este caso Doodle(httpdoodle-testcom)

2httpdocsmoodleorgenInstalling_contributed_modules_or_plugins

Figura 64 Creando una actividad GLUElet

La primera vez que pulsemos sobre la nueva actividad creada apareceraacute un pantalla 66 dondepodemos congurar diferentes elementos de la encuesta desarrollada con Doodle como son eltiacutetulo una pequentildea descripcioacuten y luego las opciones posibles con un liacutemite de 10

El resultado nal seraacute la incrustacioacuten de una encuesta Doodle dentro de nuestro Moodle comopodemos ver en la gura67

Figura 65 Antildeadiendo Doodle como actividad

Figura 66 Opciones iniciales de conguracioacuten de Doodle

Figura 67 Doodel dentro de Moodle

Capiacutetulo 7

Conclusiones Finales

71 Conclusiones Finales

El proyecto actual nos ha servido para acercarnos a las diferentes tecnologiacuteas que permiten lacomunicacioacuten entre Servicios Webs Hemos desarrollado una primera labor de investigacioacuten queha requerido el aprendizaje de diferentes herramientas de control de documentacioacuten y referenciascomo Zotero y Mendeley

La documentacioacuten recabada en el proceso inicial de revisioacuten de documentos nos ha aportadoun visioacuten general de los diferentes sistemas virtuales de aprendizaje que podemos encontrarnosmuchos de ellos gratuitos y las diferentes soluciones que se plantean a la necesidad de incluirrecursos de otros fabricantes que en principio no fueron concebidos para ser utilizados dentro deuna plataforma VLE

Para poner en praacutectica la diferentes opciones encontradas se han montado diferentes maacutequinasvirtuales sobre las que se han probado las mismas Las conclusiones nales se pasan a detallar

IMS LTIEsta solucioacuten de integracioacuten mediante el cumplimiento de unos protocolos y certicacionesde las herramientas que lo cumplen es en principio la que podriacutea parecer la mejor opcioacutenpero la falta de compromiso de los diferentes fabricantes de Servicios Web y la luchapara imponer sus propios estaacutendares hace que aun quede mucho para que esta opcioacuten seacomo tal real

Si vemos el nuacutemero de aplicaciones certicadas para usar IMS LTI apenas superan las 50 yla mayoriacutea solo cumple la especicacioacuten v10 lo cual signica que la integracioacuten solo solu-ciona el problema de llamar a un recurso externo desde Moodle Pocas son las que cumplenla v11 que permite obtener en Moodle una valoracioacuten de los ejercicios desarrollados en unaactividad externa

La versioacuten v20 que daraacute maacutes opciones a la hora de interactuar con actividades externasauacuten esta en desarrollo y nada se sabe sobre posibles fechas para su presentacioacuten Luegocerticacioacuten de herramientas etc

55

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 20: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

Figura 25 Problemas de integracioacuten

Los Servicios Web (Web Services) son la parte esencial de la interoperabilidad de Moodlecon otras aplicaciones Web 20 consisten en una pieza de software que utiliza un conjuntode protocolos y estaacutendares abiertos para intercambiar datos entre aplicaciones La idea prin-cipal es que distintas aplicaciones de software desarrolladas en lenguajes de programacioacutendiferentes y ejecutadas sobre cualquier plataforma puedan utilizar los servicios Web paraintercambiar datos en la red de ordenadores como Internet El producto resultante es unconjunto de moacutedulos con funcionalidad especiacuteca y completa que se acoplan entre siacute A suvez estos moacutedulos se conectan a una plataforma de e-learning mediante la utilizacioacuten deservicios de base descritos en una capa estaacutendar que funciona como gateway

Para ampliar un poco mejor el concepto de servicios Web citaremos una exposicioacuten delDoctor Marcos Escobar Un Web Service es un componente de software que se comunicacon otras aplicaciones codicando los mensaje en XML y enviando estos mensaje a traveacutesde protocolos estaacutendares de Internet tales como el HTTP Intuitivamente un Web Servicees similar a un sitio Web que no cuenta con un interfaz de usuario y que da servicio a lasaplicaciones en vez de a las personas Un Web Service en vez de obtener solicitudes desdeel navegador y retornar paacuteginas Web como respuesta lo que hace es recibir solicitudes atraveacutes de un mensaje formateado en XML desde una aplicacioacuten realiza una tarea y de-vuelve un mensaje de respuesta tambieacuten formateado en XML

Figura 26 Enfoques de arquitectura de integracioacuten

231 Orquestacioacuten y Coreografiacutea de Servicios Web

Seguacuten Careaga Mercadillo Ana Lilia [car ] la Orquestacioacuten (Web Service Orchestration)y Coreografiacutea (Web Service Choreography) se suelen ver como dos aproximaciones parala Composicioacuten de Servicios Web que se acercan estrechamente a los conceptos musicalespor lo cual se han importado directamente sus signicados A continuacioacuten detallaremosque son y sus posibles aplicaciones

La tarea de componer servicios Web baacutesicos o simples para brindar servicios Web maacutes com-plejos se conoce teacutecnicamente como Composicioacuten de Servicios Web Existen dos grandesaproximaciones para esta tarea la coreografiacutea con foco en la interaccioacuten entre servicios(equivalente a los bailarines) y la orquestacioacuten (equivalente a los instrumentos de la orques-ta) con foco en la implementacioacuten y ejecucioacuten de servicios La primera puede consid-erarse como una descripcioacuten formal del pasaje de mensajes obviando detalles internosde implementacioacuten Se ajusta maacutes en situaciones donde es provechoso contar con la no-cioacuten de estados y tambieacuten donde estaacuten involucradas transacciones de larga duracioacuten- Elorquestadordetermina la naturaleza y la secuencia de la interaccioacuten En cambio la segun-da aproximacioacuten describe la loacutegica y el estado de cada una de las partes involucradas Laorquestacioacuten tiene una visioacuten mas local y centralizada mientras que la coreografiacutea denela composicioacuten desde una perspectiva global sin control centralizado tal y como sucede enla danza

Existen numerosas deniciones de Servicios Web y esto demuestra en parte la gran com-plejidad de los servicios que se agrupan bajo este teacutermino y las implicaciones asociadas aellos Hasta ahora la denicioacuten maacutes general y convincente es decir que los Servicios Webson el conjunto de aplicaciones tecnoloacutegicas con capacidad para interoperar en la Web Es-tas tecnologiacuteas intercambian datos entre ellas con el n de ofrecer servicios de naturalezaremota

La World Wide Web no es soacutelo un espacio de informacioacuten tambieacuten es un espacio de inter-accioacuten Utilizando la Web como plataforma los usuarios de forma remota pueden solicitar

un servicio que alguacuten proveedor ofrezca en la red Pero para que esta interaccioacuten funcionedeben existir unos mecanismos de comunicacioacuten estaacutendares entre diferentes aplicacionesEstos mecanismos deben poder interactuar entre siacute para presentar la informacioacuten de formadinaacutemica al usuario Se precisa pues una arquitectura de referencia estaacutendar que hagaposible la interoperabilidad y extensibilidad entre las distintas aplicaciones y que permitasu combinacioacuten para realizar operaciones complejas Esta arquitectura es conocida con elnombre de SOA (Service Oriented Architecture)

Con el n de estandarizar los diferentes aspectos relacionados con los servicios Web elW3C (World Wide Web Consortium) recoge todo lo referente a ellos en (Web ServicesActivity) Asiacute pues Web Services (WS) ofrece un signicado estaacutendar para interoperarentre diferentes aplicaciones de software corriendo en diferentes plataformas yo marcosde trabajo El W3C pretende disentildear la arquitectura denirla y crear el nuacutecleo de tec-nologiacuteas que hagan posible los Servicios Web Los servicios Web se basan en un lenguajede caracteriacutesticas especiales llamado XML (Extensible Markup Language) que permite quelas aplicaciones compartan informacioacuten y que ademaacutes invoquen funciones de otras apli-caciones independientemente de coacutemo se hayan creado dichas aplicaciones y del sistemaoperativo o plataforma en que se ejecuten Por ejemplo Google utiliza un Servicio Webllamado Google Web APIs que permite que el usuario programe en diversos lenguajes ase-gurando la recuperacioacuten de informacioacuten independientemente de la plataforma que se utilice

Los Servicios Web se idearon en un principio para realizar interacciones simples e indepen-dientes pero ahora es necesario que los servicios colaboren y se coordinen A la coordinacioacutennecesaria para implementar un servicio Web se le llama Composicioacuten que puede realizarsede dos manerasorquestacioacuten y coreografiacutea La principal diferencia entre orquestacioacuten ycoreografiacutea es el alcance La orquestacioacuten trata de la descripcioacuten y ejecucioacuten de un mismoy uacutenico punto de vista global del modelo (instrumentacioacuten) La coreografiacutea trata de la de-scripcioacuten y guiacutea de un modelo global proyectado en base a cada participante (bailarines)La orquestacioacuten y coreografiacutea son teacuterminos que describen dos aspectos de los estaacutendaresemergentes para la creacioacuten de procesos de negocios de muacuteltiples servicios WebLos dosteacuterminos se superponen pero es claro que la orquestacioacuten se reere a un proceso de nego-cio ejecutable que puede interactuar tanto con servicios Web internos como externos Laorquestacioacuten representa siempre el control desde la perspectiva de una de las partes Estolo distingue de la coreografiacutea que es de mayor colaboracioacuten y permite a cada parte impli-cada describir su papel en la interaccioacuten La orquestacioacuten y coreografiacutea tratan de describiraspectos relacionados con la creacioacuten de procesos de negocio que involucran varios tipos deSoftware

Visto graacutecamente podemos ver en la gura 27 la orquestacioacuten permite disentildear proce-sos de negocio ejecutables que pueden interactuar (a nivel de mensaje) tanto con softwareinterno como externo Por otra parte la coreografiacutea es mucho maacutes colaborativa ya quepermite trazar las secuencias de mensajes que se suceden entre todas las partes partici-pantes del proceso de negocio en lugar de centrarse en los mensajes que se intercambianentre los diversos programas de software que implementan los procesos de negocio

Figura 27 Orquestacioacuten y Coreografiacutea de Servicios Web

232 Estaacutendares de Orquestacioacuten de Servicios Web

WS BPEL( Web Service Business Process Execution Language)Es un lenguaje de orquestacioacuten estandarizado porOASIS (Organisation for Advance Struc-tured Information Business Transaction Protocol) para la composicioacuten de servicios Web quepermite a los desarrolladores crear programas que automatizan las interacciones entre losservicios Web jugando un papel clave en las arquitecturas orientadas a los servicios SOAPara comprender su funcionamiento imaginemos un proceso de negocio determinado quetiene una entrada A y una salida B Dicho proceso como la mayoriacutea de ellos posee a suvez de muchos procesos internos que se van activando de acuerdo a ciertos paraacutemetros yvalores BPEL seriacutea el encargado de orquestar y por lo tanto dirigir la ejecucioacuten de unamanera ordenada La ventaja de que BPEL sea un estaacutendar radica en que puede ser imple-mentado en una gran variedad de motores de ejecucioacuten de diferentes proveedores BPELen si es un formato XML que proviene de la convergencia entre el WSFL (Web ServiceFlow Language) de IBM y XLANG de Microsoft La herramienta BPEL estaacute basada en unmodelo llamado Workow que especica las oacuterdenes de ejecucioacuten Existen actividadesbaacutesicas como iumlnvoke y receive y otras estructuradas como sequence Tambieacuten formanparte del modelo variables y participantes (partners) En las variables se deposita la nocioacutende datos y los participantes representan los elementos que interactuacutean en la composicioacutenEl modelo se completa como un motor que orquestaraacute las invocaciones

BPML (Business Process Modeling Language)Es un metalenguaje basado en XML para la descripcioacuten de procesos de negocio Inicial-mente BMPL se disentildeoacute para soportar los procesos que un sistema de gestioacuten de procesosde negocio pudiera ejecutar BPML dispone de estructuras similares a BPEL como puedenser actividades baacutesicas para el enviacuteo y la recepcioacuten de mensajes y para la invocacioacuten deservicios Adicionalmente BPML permite planicar las tareas para que se ejecuten eninstantes especiacutecos ofreciendo algunas opciones de control temporal Este lenguaje in-cluye caracteriacutesticas para dar soporte a la persistencia ya que fue disentildeado para la gestioacutende procesos de larga duracioacuten BPML ofrece soporte tambieacuten para realizar composicionesrecursivas a n de poder construir procesos de negocio que a su vez consten de otros sub-procesos Asimismo soporta transacciones de larga o corta ejecucioacuten gracias a que usa unateacutecnica similar a BPEL para controlar el alcance de las actividades y gestionar de esta

forma las reglas de compensacioacuten en caso de que las operaciones que deben realizarse deforma automaacutetica se vean interrumpidas

233 Estaacutendares de Coreografiacutea de los Servicios Web

WS-CDL (Web Services Choreography Description Language)Es un lenguaje basado en XML que describe la colaboracioacuten entre pares peer to peemediante la denicioacuten - desde un punto de vista global de los comportamientos comunes yobservables de cada participante de un proceso de negocio Eacuteste es un lenguaje utilizadopara la denicioacuten de servicios dentro de la plataforma SOA y cuyo objetivo es la descrip-cioacuten del comportamiento de cada uno de los servicios establecidos para lograr un objetivocomuacuten Sin embargo antes de WS-CDL ya existiacutea un lenguaje que permitiacutea la descripcioacutende las funcionalidades de un Servicio Web WSDL (Web Services Denition Language)el cual puede describir el conjunto de funciones ofrecidas con los posibles fallos que po-driacutean ocurrir y a pesar de que WS-CDL podriacutea expresar las coreografiacuteas de un servicioen un ambiente SOA W3C (World Wide Web Consortium) abandonoacute su desarrollo en 2009

WSCI (Web Service Choreography Interface)La especicacioacuten de WSCI fue desarrollada por diversas compantildeiacuteas como Sun SAP BEAe Intalio y representa una extensioacuten para WSDL para la colaboracioacuten La especicacioacuten de-ne la coreografiacutea global o el intercambio de mensajes entre los diferentes tipos de softwarey soporta su correlacioacuten reglas de secuenciacioacuten manejo de excepciones transacciones ycolaboracioacuten dinaacutemica WSCI soacutelo describe el comportamiento observable entre el softwareque se emplea Una coreografiacutea WSCI constaraacute de un conjunto de interfases WSCI unapor cada uno de los servicios que participen en la interaccioacuten

24 Moodle

El software de coacutedigo abierto (Open-Source Software-OSS) esta siendo ampliamente de-sarrollado ofreciendo nuevas alternativas y posibilidades hasta hace poco inimaginablesMoodle es un claro ejemplo siendo uno de los programas maacutes ampliamente adoptados porcolegios institucioacuten universidades etc Como podemos ver en la gura 28 el nuacutemero deusuarios registrados y los idiomas en los que se encuentra disponible dan muestra de sugran difusioacuten Algunas de las razones mas importante para su eleccioacuten son

Figura 28 Moodle - Abril 2013

bull Moodle es OSS lo cual signica que los usuarios pueden descargarlo libremente usarlomodicarlos e incluso redistribuirlo seguacuten los teacuterminos GNU 3

bull La losofiacutea planteada por Moodle incluye una aproximacioacuten constructiva basada enel constructivismo social de la educacioacuten enfatizando que los estudiantes (y no soacutelolos profesores) pueden contribuir a la experiencia educativa en muchas formas

bull Compatibilidad con maacutes de 70 idiomas diferentes

bull Una excelente documentacioacuten soporte para seguridad y administracioacuten

bull No requiere modicaciones en el sistema operativo pudiendo ser ejecutado en un en-torno Linux Windows Mac OS o cualquier otro siempre que soporten PHP

bull La informacioacuten esta soportada por una simple base de datos

Ademaacutes su sencilla aplicacioacuten en entorno web que utiliza tecnologiacuteas ya ampliamenteprobadas sus mecanismos de extensioacuten maacutes faacuteciles en comparacioacuten con otros VLEs y laexistencia de una gran cantidad de documentacioacuten de desarrollo han impulsado la creacioacutende una gran comunidad de personas que contribuyen a la mejora de Moodle Esta comu-nidad estaacute en constante desarrollo de nuevas caracteriacutesticas y aplicaciones a traveacutes decientos de plugins que pueden ser descargados desde su la web de Moodle y asesoran tantoa otros desarrolladores como usuarios nales

La primera versioacuten de Moodle (10) fuel lanzada en 2002 como parte de la investigacioacuten deMartin Dougiamas del uso del software de coacutedigo abierto para la ensentildeanza y el aprendizajecon las comunidades basadas en Internet[Dougiamas and Taylor 2000] Actualmente seencuentra disponible la versioacuten 243+ como estable y la beta de la versioacuten 25

En cuanto a la parte teacutecnica Moodle estaacute desarrollado en lenguaje PHP como la mayoriacuteade los VLEs utiliza una arquitectura cliente-servidor comuacuten de tres capas CORREGIRLa capa de presentacioacuten dene como la informacioacuten se presenta a los usuarios nales quetienen acceso a esa informacioacuten a traveacutes de sus navegadores web La Capa de loacutegica de ne-gocios se encarga de las relaciones con Moodle el acceso a la capa de datos por lo generala traveacutes de MySQL para almacenar y recuperar la informacioacuten cuando sea necesario

Moodle se distribuye en un solo paquete multiplataforma que incluye PHP MySQL yApache HTTP Server para facilitar los procesos de instalacioacuten y conguracioacuten La dis-tribucioacuten actual de Moodle cumple con varios estaacutendares educativos Por ejemplo Moodlepuede manejar ADL SCORM paquetes que contienen recursos aislados o cursos completosEn cuanto a los estaacutendares IMS Moodle soporta IMS Content Packaging (IMS CP) IMSCommon Cartridge (IMS CC)IMS pregunta y Test Interoperability (IMS QTI) y estaacuteconsiderado como uno de los VLEs compatible con Basic LTI

241 otras plataformas

No podemos dejar de lado otros escenarios educativos que han ido apareciendo en los uacutelti-mos antildeos a pesar del gran eacutexito de los VLEs Algunos ejemplos de estas plataforma son

3httpsmoodleorg

bull Wikis (Ej MediaWiki) Son sistemas software que permiten la creacioacuten y gestioacutende contenidos estructurados mediante paacuteginas web relacionadas entre siacute El contenidosuele estar editado por varios usuarios que trabajan de manera colaborativa pudiendoincluir enlaces a recursos externos

bull Sitios de redes sociales (Ej Facebook) Son sistema en liacutenea donde los usuariospueden crearse sus propios perles y crear una red personal que les mantendraacute conec-tado con otros usuarios Estos sistemas han proliferado en los uacuteltimos antildeos llegando amillones de usuarios No suelen necesitar un administrador pues se utilizan medianteentorno web y son alojados por el propio proveedor Su gran adopcioacuten y el enfoquea las interacciones sociales es lo que ha llevado a muchos profesor a utilizarlo comoherramienta de aprendizaje Estos sitios permiten la creacioacuten y mantenimiento degrupo mediante el perl de usuario pero no estaacuten disentildeados para seguir un enfoquepedagoacutegico

bull Personal Learning Environment - PLE (Ej Southampton) Son denidos comosistemas de software que permiten al estudiante a tomar el control y la gestioacuten de suspropio aprendizaje Se caracterizan por la por la participacioacuten directa de los alumnosen el acceso agregacioacuten conguracioacuten y manipulacioacuten de herramientas y recursos adiferencia de los VLEs done es el educador el que selecciona y gestiona los recursosque el alumno debe utilizar

Muchas de estas herramientas son de coacutedigo libre y abierto Su funcionalidad respecto ala gestioacuten de actividades grupos funciones y herramientas es limitado siendo en algunoscasos inexistente Ninguna de estas plataformas se puede considerar un VLE ya que nosson sistemas centrados en el educador sin embargo pueden apoyar la integracioacuten de apli-caciones externas en entornos de aprendizaje colaborativo

Capiacutetulo 3

Organizacioacuten y Sistema Inicial

A continuacioacuten pasamos a detallar las distintas actividades de la que consta el proyecto quehemos llevado a cabo durante estos meses

31 Lanzamiento del proyecto

Esta actividad consisten en la eleccioacuten de una de las diferentes posibles aacutereas de desarrollo deproyectos que ofrece la UOC siendo la elegida Aplicaciones Web para trabajo colaborativo

32 Denicioacuten del proyecto

El proyecto queda denido en el presente documento siendo el tiacutetulo del mismo Orchestationand Coreography of Web Services on Moodle - Revisioacuten Sistemaacutetica de la literatura

[Duracioacuten] 27-02-2013 al 03-03-2013

33 Anaacutelisis de requisitos

Nos centraremos en la fase de planicacioacuten que incluye los objetivos de la investigacioacuten y la formaen que se llevaraacute a cabo la revisioacuten

[Duracioacuten] 04-03-2013 al 03-06-2013

331 Cuestiones Realizadas

El primer paso en la fase de planicacioacuten seraacute denir los objetivos principales de esta revisioacutensistemaacutetica de la literatura Estos objetivos son analizar el estado del arte de la coreografiacutea yorquestacioacuten de los servicios web en Moodle como LMS

332 Fuentes de datos y buacutesqueda

Utilizaremos diferentes libreriacuteas o espacios digitales para realizar las buacutesquedas las mismas serealizaraacuten en ingleacutes y espantildeol Las libreriacuteas principales utilizadas son

IEEEXplore [IEEEX] httpieeexploreieeeorg

21

Science Direct [SD] httpwwwsciencedirectcom

SpringerLink [SL] httpwwwspringerlinkcom

Paralelamente a Science Direct se han realizado buacutesquedas en Scopus1 de Elsevier y GoogleScholar2 de Google

333 Criterios de inclusioacuten y exclusioacuten

Las buacutesquedas que se realicen intentaraacuten abarcar todo el aacutembito de cuestiones del SLR pero esposible (y de hecho ocurre) el resultado contenga referencias publicaciones estudios o en generalinformacioacuten que no sirve Para ello seraacute necesario denir criterios de inclusioacuten y exclusioacuten loscual haremos basaacutendonos en la guiacutea [Kitchenham 2007]

334 Asegurar la calidad

Despueacutes de obtener un numero considerable de trabajos o estudios que satisfacen los criteriosde inclusioacuten y exclusioacuten se deberaacute ser capaz de asegurar o armar cuales son los que cumplencon una miacutenima calidad y si son vaacutelidos o no para el estudio en si Es baacutesico poder analizar queacuteestudios son mejores que otros en teacuterminos de calidadSiguiente [Kitchenham 2007] se deniraacuten preguntas y cuestiones que permitan asegurar dichacalidad

335 Extraccioacuten de datos y anaacutelisis

Los criterios de inclusioacuten y exclusioacuten junto con las preguntas orientadas a asegurar la calidadnos serviraacuten para obtener todos los artiacuteculos y estudios que se analizan en este estudioDe cada artiacuteculo se recogeraacute titulo y autores abstract publicacioacuten y antildeo de publicacioacuten

336 Fase de revisioacuten

Esta fase de planicacioacuten seraacute denir el proceso de conducir o dirigir la revisioacuten Para elloutilizaremos tres fases como podemos ver en la gura 31 de la paacutegina 23

337 Fase de Pruebas

Se realizan pruebas con la informacioacuten obtenido montado maacutequinas virtuales para realizar lasmismas En estas se han probado las diferentes opciones de comunicacioacuten que nos ofrece Moodle

1httpwwwscopuscom2httpscholargooglecom

Figura 31 Proceso para dirigir la revisioacuten

34 Calendario de Trabajo

Podemos ver en el siguiente diagrama de Gantt32 la distribucioacuten de trabajos en el tiempo elmismo seraacute modicado para ajustarlo a las variaciones producidas durante el desarrollo de lastareas que contempla

35 Hitos principales

Los principales hitos seraacuten

Lanzamiento del proyecto Se dene correctamente en que va consistir el proyecto

Denicioacuten de cuestiones para la buacutesqueda Donde se detallaraacuten las cuestiones quemarcaran el desarrollo del resto del proyecto

Comprobacioacuten de resultados Se deberaacuten criba los mismo para no obtener duplicadoso informacioacuten ajena a la investigacioacuten

Revisioacuten de informacioacuten obtenida Una vez obtenida la informacioacuten y analizada deberaacuteser revisada para su presentacioacuten

Figura 32 Diagrama de Gantt

36 Instalacioacuten base

Para llevar a cabo las pruebas se ha optado por la creacioacuten de una maacutequina virtual sobre VirtualBox 3 en la cual hemos instalado Windows XP como sistema operativo Este sistema es maacutesligero a la hora de trabajar en maacutequinas virtuales pues requiere menos recursos que las versionesposteriores del mismos sistema

El siguiente paso era la instalacioacuten de Moodle Aunque se dispone de un instalador para Win-dows se ha optado por la descarga e instalacioacuten de XAMPP 4 y su y su posterior conguracioacutenen la maacutequina virtual XAMPP es un servidor independiente de plataforma software libre queconsiste principalmente en la base de datos MySQL el servidor web Apache y los inteacuterpretespara lenguajes de script PHP y Perl El nombre proviene del acroacutenimo de X (para cualquierade los diferentes sistemas operativos) Apache MySQL PHP Perl

XAMPP en su versioacuten 181 incluye

Apache 243

MySQL 5527

PHP 547

phpMyAdmin 3522

FileZilla FTP Server 0941

Tomcat 7030

Strawberry Perl 51611 Portable

XAMPP Control Panel 310

Hemos continuado con la descarga he instalacioacuten de Moodle y hemos querido probar las difer-encias que obtenemos entre las versiones 19x y 25 por lo que se han descargado ambas heinstalado en maacutequinas virtuales diferentes Con ello conseguiremos probar el resultado obtenidoseguacuten la versioacuten Moodle desde su versioacuten 22 ya soporta conexiones mediante IMS - LTI IMSLTI es un estaacutendar IMS Learning Tool Interoperability Esto signica que las herramientas deaprendizaje tienen ahora diversas maneras de conectarse entre sin problemas

En la praacutectica cuando un usuario se registra en una herramienta como Moodle se pueden conectara la otra herramienta como MediaWiki y autenticarse automaacuteticamente proporcionando unaexperiencia perfectaLas guras 33 y 34 nos muestran el panel de control de XAMPP una vez instalado y el panede phpMyAdmin donde hemos debido congurar las bases de datos y usuario necesarios parallevar todo el proceso de conguracioacuten de Moodle y el resto de herramientas

3httpswwwvirtualboxorg4httpwwwapachefriendsorgesxampphtml

Figura 33 Panel de control de XAMPP

Figura 34 Gestor de bases de datos phpMyAdmin

Capiacutetulo 4

Servicios Web de Moodle

41 Introduccioacuten

Moodle 2X incorpora la posibilidad de implementar Servicios Web para manejar sus funciona-lidades lo que nos permite poder acceder a acciones de actualizar y crear tareas para reejar elresultado de las actividades realizadas Moodle soporta varios protocolos (REST SOAP XML-RPC y AMF)

42 Servicios Web de Moodle

Los Servicios Web de Moodle se caracterizan por permitir el acceso desde cualquier aplicacioacutenimplementando para ello tres capas como podemos observar en la gura 41

Capa nuacutecleoLa capa del nuacutecleo estaacute compuesta de todas las funciones principales de Moodle sobreusuarios grupos cursos calendario etc Moodle no dispone de una API al uso sino queofrece diferentes funciones que han sido desarrolladas durante antildeos Por tanto las necesi-dades de los Servicios Web estaacuten obligando a rehacer estas funciones del nuacutecleo para quecomiencen a formar una API (Moodle 2X)

Capa externaLa capa externa estaacute compuesta por nuevos cheros llamados externalphp colocados porlas carpetas de Moodle y conteniendo manejadores para la capa inferior Estos manejadoresson los responsables de comprobar las capacidades paraacutemetros y llamadas correctas a lasfunciones de nuacutecleo

Capa de conectoresLa capa de conectores estaacute compuesta de diferentes conectores para las diferentes imple-mentaciones de los Servicios Web y contiene un conector REST un conector SOAP unconector XML-RPC y un conector AMF Esta capa admite plugins para ampliar los conec-tores disponibles de manera que se puedan integrar otros sistemas en Moodle utilizandootros protocolos

Los pasos para utilizar un Servicio Web con Moodle seriacutean los siguientes

1 El cliente enviacutea el nombre de usuario y contrasentildea al servidor que provee los ServiciosWeb

27

Figura 41 Capas en Moodle

2 El servidor de protocolo devuelve un token de sesioacuten para esa cuenta de usuario

3 El cliente llama a un Servicio Web especiacuteco incluyendo el token de sesioacuten

4 El servidor utiliza el token para comprobar que la sesioacuten del Servicio Web estaacute activa

5 El servidor llama a la funcioacuten correspondiente localizada en el chero externallibphp dentrodel moacutedulo especiacuteco

6 La funcioacuten externa comprueba que el usuario actual tenga los permisos sucientes pararealizar esta operacioacuten

7 La funcioacuten externa llama a la funcioacuten correspondiente del nuacutecleo de Moodle (libphp)

8 La funcioacuten del nuacutecleo puede retornar un resultado a la funcioacuten externa

9 La funcioacuten externa devolveraacute el resultado al servidor de protocolo

10 El servidor de protocolo devolveraacute el resultado al cliente

43 REST

REST (Representational State Transfer) es el acroacutenimo de Transferencia de Estado Representa-cional teacutermino usado por Roy Fielding (uno de los creadores de HTTP) para describir un estilode arquitectura que utilizar como modelo en los sistemas de computacioacuten Web No es un es-taacutendar sino un enfoque que muestra como desarrollar y proporcionar servicios en Internet portanto considerado como un estilo arquitectoacutenico para disentildeo de software a gran escala El propioautor lo dene de manera concisa en eacuteste paacuterrafo

REST es un intento de mostrar coacutemo debe comportarse una aplicacioacuten Web bien disentildeada unared de paacuteginas Web (una maacutequina de estados virtual) donde el usuario progresaraacute seleccionan-do enlaces (transiciones de estado) que devuelven la paacutegina siguiente (el siguiente estado de lamaacutequina) que el usuario manejaraacute a su gusto

Este enfoque no aporta realmente nada nuevo la mayor parte de la Web sigue este estilo arqui-tectoacutenico Sin embargo el autor hace eacutenfasis en las caracteriacutesticas concretas que han hecho quela Web triunfe que van a ser los objetivos buscados por REST y que son a su juicio

Escalabilidad en las interacciones entre componentes La red ha ido creciendo de maneraexponencial y se ha ido comportado de manera satisfactoria

Generalidad en las interfaces Se proporciona acceso con distintos clientes y con distintosmecanismos de acceso

Desarrollo independiente de componentes Implementaciones cliente y servidor pueden serdesarrolladas en distintos momentos

Existencia de componentes intermediarios con los cuales existe compatibilidad (comoproxys)que permiten encapsulacioacuten e integracioacuten de sistemas no Web dentro de la misma

431 Principios de disentildeo

Los objetivos citados van a ser conseguidos imponiendo una serie de restricciones

El estado y la funcionalidad de las aplicaciones se representan por forma de recursos

La identicacioacuten de recursos se realiza de forma uacutenica global mediante Uniform ResourceIdentiers Los recursos identicados con URIs son los objetos loacutegicos a los cuales se lesmandan los mensajes

Manipulacioacuten de recursos a traveacutes de representaciones luego no se manejan directamentelos recursos sino sus representaciones

Todos los recursos comparten un interfaz uniforme formado por

bull Un conjunto de operaciones limitado para transferir el estado Se van a aprovecharlas operaciones que HTTP dene mostradas en la gura 42

bull Un conjunto limitado de tipos de contenidos identicados mediante tipos MIME

Uso de un protocolo clienteservidor sin estado y basado en capas Cada mensaje HTTPcontendraacute la informacioacuten necesaria para comprender la peticioacuten luego como muestra lagura 43 no es necesario que eacutesta sea entendida tanto en el cliente como en el servidor

Uso de hipermedios para representar el estado de una aplicacioacuten permitiendo que el estadode una aplicacioacuten Web particular esteacute almacenado en uno o maacutes documentos de hipertextoque residen bien en el servidor o en el cliente Esto permite al servidor saber el estado desus recursos sin necesidad de almacenar el estado de los clientes concretos

Figura 42 Operaciones denidas por HTTP

Como ya se mencionoacute REST se trata de un estilo arquitectoacutenico no un estaacutendar Sin embargohace uso de varios estaacutendares Web

HTTP HyperText Transfer Protocol

Figura 43 Operaciones denidas por HTTP

URL Uniform Resource Locator como el mecanismo de indenticacioacuten de recursos

XML - HTML - PNG - etc Como distintos formatos de representacioacuten de recursos

Tipos MIME como text-xml text-html image-png etc

44 SOAP

SOAP (siglas de Simple Object Access Protocol) es un protocolo estaacutendar que dene coacutemo dosobjetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML Esteprotocolo deriva de un protocolo creado por David Winer en 1998 llamado XML-RPC SOAPfue creado por Microsoft IBM y otros y estaacute actualmente bajo el auspicio de la W3C

441 Principios de disentildeo

La funcionalidad que aporta SOAP es la de proporcionar un mecanismo simple y ligero de in-tercambio de informacioacuten entre dos puntos usando el lenguaje XML SOAP no es maacutes que unmecanismo sencillo de expresar la informacioacuten mediante un modelo de empaquetado de datosmodular y una serie de mecanismos de codicacioacuten de datos Esto permite que SOAP sea uti-lizado en un amplio rango de servidores de aplicaciones que trabajen mediante el modelo decomunicacioacuten RPC (Remote Procedure Call)

SOAP consta de tres partes como podemos ver en la gura 44

El SOAP envelope que dene el marco de trabajo que determina queacute se puede introduciren un mensaje quieacuten deberiacutea hacerlo y si esa operacioacuten es opcional u obligatoria

Las reglas de codicacioacuten SOAP que denen el mecanismo de serializacioacuten que seraacute usadopara encapsular en los mensajes los distintos tipos de datos

La representacioacuten SOAP RPC que dene un modo de funcionamiento a la hora de realizarllamadas a procedimientos remotos y la obtencioacuten de sus resultados

A la hora de realizar el disentildeo de SOAP se han tenido en cuenta una serie de consideracionescon el n de cumplir una serie de objetivos claros objetivos que le daraacuten el potencial que resideen SOAP y que le haraacuten tan atractivo Eacutestos son

Establecer un protocolo estaacutendar de invocacioacuten a servicios remotos que esteacute basado enprotocolos estaacutendares de uso frecuente en Internet como son HTTP (Hiper Text TransportProtocol) para la transmisioacuten y XML (eXtensible Markup Language)para la codicacioacutende los datos

Figura 44 Partes de SOAP

Independencia de plataforma hardware lenguaje de programacioacuten e implementacioacuten delservicio Web

El logro de estos objetivos ha hecho de SOAP un protocolo extremadamente uacutetil ya que elprotocolo de comunicacioacuten HTTP es el empleado para la conexioacuten sobre Internetpor lo que segarantiza que cualquier cliente con un navegador estaacutendar pueda conectarse con un servidor re-moto Ademaacutes los datos en la transmisioacuten se empaquetan o serializan con el lenguaje XML quese ha convertido en algo imprescindible en el intercambio de datos ya que es capaz de salvar lasincompatibilidades que existiacutean en el resto de protocolos de representacioacuten de datos de la red

Por otra parte los servidores Web pueden procesar las peticiones de usuario empleando tec-nologiacuteas tales como Servlets paacuteginas ASP (Active Server Pages) paacuteginas JSP (Java ServerPages) o sencillamente un servidor de aplicaciones con invocacioacuten de objetos mediante CORBACOM o EJB

Un ejemplo tiacutepico de disentildeo de un servicio Web utilizando las ventajas de SOAP podemos veren la siguiente gura 45

Figura 45 Ejemplo de uso de SOAP

45 AMF

AMF (Action Message Format) es un protocolo binario de Adobe que va por la versioacuten AMF3Aunque por el nombre de la versioacuten pueda parecer que existan 3 cabe destacar que soacutelo existendos AMF0 y AMF3 Una de las mayores diferencias o mejoras que aporta AMF3 es que soporta

datos binarios (ByteArray) y int datos no soportados por AMF0 debido a que en la eacutepoca queaparecioacute el formato Flash Player no soportaba estos tipos de datos

AMF3 no es un protocolo para transferir informacioacuten sino que representa el formato en el quese transmite la informacioacuten en este caso un formato binario

La versioacuten de Moodle 25 viene con Zend_ AMF pero podemos utilizar tambieacuten la libreriacuteaamfPHP

AMFPHP

Zend_ amf httpframeworkzendcommanual112enzendamfhtml

Maacutes informacioacuten en httpdocsmoodleorgdevAMFPHP

46 Conguracioacuten de Moodle Web Services

Los Servicios Web habilitan que otros sistemas puedan entrar a Moodle y realizar operacionesPasaremos a detallar los pasos necesarios para su conguracioacuten y explicaremos distintos pruebasllevadas a cabo sobre su funcionamiento Para poder consumir de manera correcta unWeb Servicede Moodle seriacutea necesario antildeadir a la url que vamos a formar los paraacutemetros oportunos paralograr consumir el Web Service de manera satisfactoria Una vez antildeadidos ya podriacuteamos invocarla funcioacuten seleccionada

461 Activando los Servicios Web

Lo primero que debemos hacer es activar la opcioacuten general que habilita el uso de los serviciosweb En la gura 46 podemos observar la opcioacuten para la activacioacuten de este servicio para ello nosiremos a la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Servicios Externos

Figura 46 Activacioacuten Servicios Web

Esto solo es una opcioacuten a nivel global necesitando ahora activar los protocolos de comunciacionesque vamos a utilizar para ello deberemos ir a la opcioacuten textitAdministracioacuten del Sitio - Exten-siones - Servicios Web - Administrador de protoclos donde encontraremos las diferente opcionesque nos existen En la gura 47 podemos ver la pantalla de nuestra conguracioacuten con todos losprotocolos activados

Una vez activada la opcioacuten de Servicios Externos y seleccionados los protocolos que utilizaremosnecesitamos crear un Servicio Personalizado que no es maacutes que una etiqueta que aglutina los

Figura 47 Activacioacuten Protoclos

Servicios Web que ofrece Moodle y que pueden ser utilizados por los servicios externos Para ellodeberemos darle a la opcioacuten Agregar dentro de la opcioacuten Administracioacuten del Sitio - Extensiones- Servicios Web - Servicios Externos Como prueba habilitaremos un servicio llamado Uso_Servicio_ Web cuya creacioacuten podemos ver en la gura 48

Figura 48 Creacioacuten Servicio Personalizado

Una vez creado el Servicio Personalizado deberemos agregarle las funciones que queramos lesean permitidas pudiente tener maacutes de una En la gura 49 vemos como asociamos la creacioacutende usuarios al Servicio Personalizado

Terminado esto deberemos tener en el listado que nos muestra Moodle de Servicios personaliza-dos algo como lo mostrado en la gura 410

El siguiente paso es conceder los permisos apropiados para que este Servicio Personalizado puedeser usado por los usuarios pare ello debemos primero especicar quienes son los Usuarios au-torizados para ello en la linea de la lista de Servicios Personalizados deberemos pulsar sobre laopcioacuten usuarios autorizados donde apareceraacute una pantalla como 411 donde podremos escogerlos usuarios de los que se encuentran dados de alta en nuestro sistema

Y para terminar aunque este paso podriacutea ser realizado por el propio usuario si tuviera el per-miso de moodlewebservicecreatetoken seraacute la creacioacuten de un token el cual va ser la opcioacuten quevamos a utilizar para las pruebas de los Servicios Web de Moodle Para la creacioacuten del mismodeberemos entrar en la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Admin-istrar tokens y pulsar la opcioacuten Agregar para antildeadir un token nuevo como podemos apreciar en

Figura 49 Agregando funciones al Servicio Personalizado

Figura 410 Listado de Servicios Personalizados

la gura 412 teniendo la precaucioacuten de escoger como Servicio el Servicio Personalizado creadocon anterioridad Uso_ Servicio_ Web

En esta pantalla podemos poner varios tipos de restricciones

Restriccioacuten de IP Donde podemos indicar la direccioacuten IP desde donde

Restriccioacuten de Fecha Se puede denir hasta cuando seraacute valido este token siendo unabuena manera de poder probar cosas y no dejar puertas abiertas por error

En la gura 413 podemos ver el token asignado por el sistema para nuestro Servicio Personalizadoy que procederemos a utilizar para comprobar el funcionamiento de los Servicios Web de Moodle

462 Pruebas cliente Servicio Web

Procederemos ahora a desarrollar pruebas que utilicen los Servicios Personalizados creado Sepodriacutean haber utilizado el Cliente de prueba de servicio web que incorpora Moodle dentro dela opcioacuten Administracioacuten del Sitio - Desarrollo - Cliente de prueba servicio web pero hemosdecidido implementar una Web para comprobar la facilidad del funcionamiento del sistema y losdistintos resultados obtenidos seguacuten el protocolo utilizado

Utilizaremos la libreriacutea cURL de PHP cURL es una herramienta que permite abrir conexionesen una amplia variedad de protocolos y que estaacute disponible tanto como herramienta de consola(para ejecutar directamente con comandos) como en libreriacutea (para usar en vuestro coacutedigo) y quepermite hacer praacutecticamente todo manejo de cookies descarga de cheros binarios enviacuteos de

Figura 411 Alta de Usuarios Autorizados

Figura 412 Creacioacuten de Tokens

paraacutemetros GET y POST etc

La web creada para la introduccioacuten 414 de los usuarios seraacute equivalente para todos los procesosprocesos siendo el programa que da respuesta al formulario el que implemente la funcioacuten nece-saria para la introduccioacuten de los datos en Moodle

Los resultados de REST pueden mostrar los resultados del alta de dos maneras diferentes unaen formato XML como podemos ver en la gura 415 y otro en formatox JSON tambieacuten po-dremos ver en la gura Los resultados obtenidos tambieacuten pueden verse en el la gura 416

Figura 413 Lista de Tokens

Figura 414 Web de alta de usuarios

Figura 415 Resultado de REST en formato XML

Figura 416 Resultado de REST en formato JSON

Capiacutetulo 5

Herramientas Externas

51 Introduccioacuten

Las versiones de Moodle desde la 22 vienen con IMS LTI o External Tool de manera integradaEn versiones anteriores era necesario la instalacioacuten de plugins como LTI Provider (maacutes informa-cioacuten en la web de Moodle1 IMS LTI es un estandar de IMS learing2 para la interoperabilidadde herramientas Esto signica que las herramientas de aprendizaje tienen ahora un mecanismopara jar el modo en que pueden conectarse entre ellas sin problemas

En la praacutectica cuando un usuario se registra en Moodle puede conectarse a otras herramientascomo Wikis o Blogs y autenticarse de manera automaacutetica en estas

52 Estaacutendares IMS

Actualmente se realizan esfuerzos para la integracioacuten de servicios a una plataforma virtual deaprendizaje mediante un mecanismo reutilizable independiente del tipo de plataforma El IMSGlobal Learning Consortium viene desde hace tiempo trabajando en este enfoque IMS GLCpresenta un conjunto de estaacutendares que promueven el uso de servicios de aprendizaje digitales(Digital Learning Services) dentro de las plataformas de aprendizaje tradicionales IMS DigitalLearning Services estaacute integrado por los siguientes estaacutendares principales IMS Common Car-tridge [ims a] IMS Learning Tool Interoperability [ims c] y IMS Learning Information Services[ims b]

El IMS Learning Tool Interoperability es una especicacioacuten para facilitar la inclusioacuten de her-ramientas externas dentro de un curso El administrador de la plataforma de aprendizaje ges-tiona los servicios que podraacuten ser consumidos por la plataforma el docente decide que serviciosutilizaraacute en su curso y el estudiante hace uso de los mismos IMS LTI permite que distintos LMSconsuman un mismo servicio el cual no fue implementado teniendo en cuenta el tipo de LMSsino la implementacioacuten del estaacutendar desde el lado del proveedor

El enfoque del IMS LTI estaacute dirigido a la creciente demanda de un mecanismo reutilizable para laintegracioacuten de herramientas de terceros en el nuacutecleo de las plataformas LMS Estas herramientas

1httpsmoodleorgpluginsviewphpplugin=local_ltiprovider2httpwwwimsglobalorgtoolsinteroperability2cfm

37

pueden agregar funcionalidad especializada a los LMS El enfoque ofrece una solucioacuten basada enWeb Services igualmente aplicable a distintos lenguajes de programacioacuten

Las versiones del LTI son

LTI v10 ( LTI Basic ) ( publicado en mayo de 2010 ) proporciona un meacutetodo sencillopero estaacutendar para establecer una conexioacuten segura a una herramienta desde el interior deun consumidor de herramientas El lanzamiento de este enlace permite una experienciade aprendizaje sin problemas para los estudiantes que acceden a las aplicaciones ricas queparecen tener lugar dentro del ambiente de aprendizaje Versioacuten 10 es el primer paso en eldesarrollo continuo de LTI Figura 51

LTI v11 ( publicado en marzo 2012 ) antildeade la posibilidad de pasar de nuevo un resultadode la herramienta al Consumidor de herramientas Esto permite que los estudiantes recibenuna calicacioacuten o puntuacioacuten de su interaccioacuten con la aplicacioacuten de aprendizaje

LTI v111 ( publicado en julio de 2012 ) incluye soporte para el papel Mentor que se puedeutilizar para representar a un padre tutor o auditor

LTI v20 Aun en estado de desarrollo y proporciona una plataforma maacutes sosticado y ex-tensible para permitir integraciones maacutes profundas y un mayor apoyo para los serviciosy eventos LTI 2 se basa en LTI 1 mediante la incorporacioacuten de maacutes sosticada resulta-dos de informes y una rica arquitectura de extensiones que permite servicios adicionalesque se antildeadiraacuten gradualmente LTI 2 utiliza REST y JSON-LD para ofrecer esta nuevafuncionalidad

Figura 51 Esquema LTI Baacutesico

En la gura 52 podemos observar como se podriacutean utilizar las ventajas de LTI por parte decada unos de los actores a lo largo de la vida de la aplicacioacuten de servicios externos dentro de unaplataforma de aprendizaje

En la paacutegina web de IMS3 podemos encontrar una relacioacuten de aplicaciones certicadas comocompatibles con el estaacutendar LTI indicando la versioacuten del LTI que cumplen En la gura 53podemos ver las aplicaciones certicadas por UOC y en la gura 54 la informacioacuten sobre una deestas herramientas

3httpwwwimsglobalorgccalltoolscfm

Figura 52 Esquema utilizacioacuten LTI

Figura 53 Listado de herramientas LTI de la UOC

53 Herramientas externas en Moodle

La siguiente seccioacuten consiste en la aplicacioacuten de alguno de esto servicios externos en Moodlepara comprobar su funcionamiento Nos decantaremos para la primera prueba por WordPresspues aunque existen manuales al respecto la documentacioacuten en castellano es escasa

531 Wordpress

La versioacuten estaacutendar de Wordpress a la cual accedemos cuando nos abrimos cuenta en Wordpressno viene con las herramientas necesarias para la iteracioacuten mediante LTI por lo que procedere-mos a la instalacioacuten en nuestro servidor de Wordpress para pasar a la instalacioacuten de los pluginsnecesarios

La instalacioacuten ha consistido en la descarga de la web ocial 4 de la versioacuten 351 la cual hemoscopiado dentro del directorio htdocs de nuestra instalacioacuten de Xampp Hemos dado de alta unnuevo usuario en nuestra base de datos llamado username como podemos ver en la imagen 55 yposteriormente hemos seguido los pasos que el instalador nos iba ofreciendo para tener instalado

4httpwordpressorgdownload

Figura 54 Informacioacuten sobre la certicacioacuten

Wordpress bajo la url httplocalhostwordpress

Figura 55 Usuario de Wordpress

Deberemos congurar Wordpress para que trabaje como multisitio para lo que deberemos seguirlos pasos de conguracioacuten que podemos encontrar en la web ocial de Wordpress5 bajo el nombreCreate A Network consistente en los siguientes pasos

1 Realizar una copia de seguridad por si acaso

2 Modicar el chero wp-congphp incluyendo la siguiente linea encima de Thats allstop editing Happy blogging Multisite dene (WP_ ALLOW_ MULTISITE true)

Multisite dene (WP_ ALLOW_ MULTISITE true)

3 Installar un Network Para ello hemos de entra en la opcioacuten Administration -gtTools -gtNetwork Setup donde podremos congurar opciones sobre el nombre que queremos declararpara el nuevo sitio

4 Activar el Network para ello debemos modicar los cheros wp-congphp y htaccess porlo que seriacutea bueno que realizaacuteramos primero un copia de seguridad de los mismos Loscambios que debemos realizar son los siguientes

5httpcodexwordpressorgCreate_A_Network

En wp-congphp dene(MULTISITE true)dene(SUBDOMAIN_ INSTALL false)dene(DOMAIN_ CURRENT_ SITE localhost)dene(PATH_ CURRENT_ SITE wordpress)dene(SITE_ ID_ CURRENT_ SITE 1)dene(BLOG_ ID_ CURRENT_ SITE 1)

El chero htaccess debe quedar asiacute BEGIN WordPressltIfModule mod_ rewritecgtRewriteEngine OnRewriteBase wordpressRewriteRule icircndexphp$ - [L]

add a trailing slash to wp-adminRewriteRule ([_ 0-9a-zA-Z-]+)wp-admin1wp-admin [R=301L]

RewriteCondREQUEST_ FILENAME -f [OR]RewriteCondREQUEST_ FILENAME -dRewriteRule - [L]RewriteRule ([_ 0-9a-zA-Z-]+)(wp-(content|admin|includes)) $2 [L]RewriteRule ([_ 0-9a-zA-Z-]+)( php)$ $2 [L]RewriteRule indexphp [L]ltIfModulegt

END WordPress

5 Esto nos habraacute creado en la parte izquierda de la barra de herramientas de Wordpressuna nueva opcioacuten llamada My Sites que contendraacute un listado de los sitios de nuestroWordpress

El siguiente paso seraacute la descarga del plugin los cual podremos hacerlos desde la web de sour-forgenet 6 En esta web se detalla informacioacuten sobre el plugin y como se debe instalar Siguiendolos pasos que tenemos en el mismo procederemos a la descarga y el desplegado del mismo en lacarpeta wp-contentmu-plugins Salimos de Wordpress y volvemos a entrar como superusuariosi entramos dentro de la nueva red realizada podremos ver que dentro de LTI Consumers Keystendremos la opcioacuten LTI Consumers Keys como podemos ver en la imagen 56

Aquiacute deberemos crear la clave del consumidor del servicio y la clave secreta que nos permitiraacute aMoodle conectarse a Wordpress

Una vez que tenemos la clave secreta y del consumidor deberemos volver a Moodle entrandocomo administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

6httpsourceforgenetappsmediawikilearningappsindexphptitle=LTI4Wordpress

Figura 56 Servicios LTI en Wordpress

Figura 57 Listado de claves de LTI en Wordpress

-LTI En esta paacutegina podremos rellenar nuestras opciones

Tool Name Seraacute el nombre que tendraacute la herramienta y deberemos poner alguno indicativode la herramienta que estemos utilizando

Tool Base URL Es la direccioacuten de la herramienta en nuestro caso httplocalhostwordpress

Deberemos rellenar con los datos obtenidos en Wordpress la clave de consumidor y la clavesecreta

Es importante marcar Show tool type when creating tool instances para que aparezcaposteriormente al crear los recursos en nuestros cursos

Para poder probar el sistema hemos creado un curso dentro de Moodle llamada WordpressLTIdonde daremos de la siguiente manera de alta 59

Dentro de nuestro curso seleccionamos la opcioacuten de Edicioacuten

Pulsamos sobre Antildeadir una actividad o un recurso

Seleccionamos External Tool

Rellenamos las opciones

bull Nombre de la Actividad Cualquiera de nuestra eleccioacuten

Figura 58 Conguracioacuten LTI en Moodle

bull Tipo de herramienta externa El nombre que le pusimos a la herramienta externa enla conguracioacuten LTI de Moodle

bull Launch Container Hemos elegido la opcioacuten Incrustar para ver el resultado

Figura 59 Conguracioacuten Herramienta Externa

Una vez congurado podemos lanzar la herramienta externa teniendo como resultado la gura510

Figura 510 Wordpress integrado en Moodle

532 ChemVantage

ChemVantage es un recurso gratuito para la educacioacuten cientiacuteca que incluye ejercicios de gradoejercicios de preparacioacuten exaacutemenes de la praacutectica conferencias de video y libros de texto enliacutenea gratis Fue creado por ChemVantage LLC que fue fundada por el Prof Chuck Wight queha ensentildeado Quiacutemica General en la Universidad de Utah desde 1984 (ChemVantage 2011)

Nos hemos puesto en contacto con Chuck Wight (adminchemvantageorg) para solicitarle unaclave de consumidor y secreta para poder probar este recurso desde moodle Las opciones y elcorreo puede verse en la gura 511

Una de las cosas maacutes importantes de ChemVantage y por lo que nos hemos decidido a probar esque permite la devolucioacuten de las notas obtenidas en los ejercicios realizados en las herramientasexternas a Moodle El alumno podraacute realizar las tareas en esta herramienta externa y luego sercalicadas en Moodle

ChemVantage estaacute certicada por IMS 7 como un proveedor de herramientas LTI v11 y comotal funciona desde nuestro propio LMS para llevar a cabo la autenticacioacuten de sitios provee decuentas y devuelve resultados de asignacioacuten de estudiantes con el libro LMS grado automaacutetica-mente

Los recursos disponible son ChemVantage son principalmente los siguientes

1 QuizzesLos ejercicios presentados aquiacute estaacuten disentildeados para animar a los estudiantes a leer y en-tender los libros de texto utilizados en el curso Las preguntas se basan en material que sepresente en su mayor parte en los textos de introduccioacuten de quiacutemica Los iacutetems de preguntastienen respuestas straighforward no requieren caacutelculos detallados Las preguntas se presen-tan en varios formatos diferentes incluyendo opcioacuten muacuteltiple verdadero falso casilla devericacioacuten ll-in-the-blanco y numeacutericas Cada cuestionario se compone de 10 preguntasextraiacutedas al azar de una base de datos con muchas maacutes preguntas En el proceso de tomarvarias pruebas para mejorar sus calicaciones los estudiantes probablemente encuentran

7httpdevelopersimsglobalorgcoursechemvantagehtml

algunas preguntas repetidas de concursos anteriores sin embargo es poco probable quecualquiera de los dos cuestionarios contendraacute exactamente el mismo conjunto de preguntasen el mismo orden Asignando pruebas para ser completado antes de la conferencia losprofesores pueden estar seguros de que sus estudiantes tengan un poco de exposicioacuten almaterial Esto permite una mayor discusioacuten el diaacutelogo y la participacioacuten en el aula y haceel aprendizaje maacutes divertido (de verdad)

2 Video LecturesUna serie de conferencias de viacutedeo de 10 minutos sobre una variedad de temas de QuiacutemicaGeneral es accesible desde la paacutegina principal Los videos estaacuten disentildeados para reforzar lospuntos principales que se presentan en muchos libros de texto

3 HoweworksLas tareas estaacuten disentildeadas para dar a los estudiantes la praacutectica en la resolucioacuten de proble-mas cuantitativos que tienen respuestas numeacutericas Cada alumno puede descargar la tareatrabajar los problemas y presentar las respuestas en liacutenea Respuestas son juzgados a sercorrecta si la solucioacuten numeacuterica de acuerdo con la solucioacuten que se encuentra en la base dedatos dentro de una tolerancia especicada (indicado para cada problema) El sitio informaa los estudiantes que las respuestas son correctas para que puedan rehacer problemas malresueltos y volver a presentar las respuestas Cada problema se basa en una plantilla queatrae paraacutemetros al azar por lo que la respuesta correcta es diferente para cada estudianteEsto hace que sean adecuadas para la colaboracioacuten y el trabajo en grupo porque a pesarde que el grupo puede trabajar para encontrar un algoritmo correcto para resolver un prob-lema cada estudiante tendraacute que usar el algoritmo para encontrar la solucioacuten detallada asu propio problema

4 Practice ExamsLos estudiantes pueden realizaar exaacutemenes de praacutectica cronometrados que muestran laspreguntas de un grupo de 3 o maacutes temas Cada examen estaacute disentildeado para tardar unos60 minutos o menos e incluye una seleccioacuten de 10 preguntas Las praacutecticas de exaacutemenespueden repetirse cuantas veces se desee Las preguntas numeacutericas son parametrizadas loque es muy poco probable que un estudiante realice alguna vez dos exaacutemenes de praacutecticaideacutenticos

5 Portofolio PageCada estudiante puede acceder a una paacutegina que le da la puntuacioacuten obtenida en cada prue-ba y la asignacioacuten de tareas Los estudiantes que son miembros de un grupo tienen unapaacutegina de resultados asociados a las tareas de grupo Hay una paacutegina de carpeta separadaque contiene un resumen de todas las actividades realizadas en ChemVantage incluyendovideos vistos cuestionarios completados resolver problemas con la tarea y la praacutectica deexaacutemenes completados Las puntuaciones en los exaacutemenes de praacutectica son desagregadospara revelar fortalezas y debilidades estudiantes por temas

Hemos procedido a darlo de alta en LTI como hicimos con Wordpress Entramos en Moodle co-mo Administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

Figura 511 Correo de Chuck Wight

-LTI quedando como resultado la siguiente hoja de paraacutemetros gura 512

El siguiente paso seraacute antildeadir la herramienta dentro de nuestro curso para ello pulsaremos sobreAntildeadir una actividad o un recurso Deberemos seleccionar External Tool y rellenamos las op-ciones de la herramienta seleccionando como Tipo de herramienta externa la opcioacuten creada enel apartado de LTI de Moodle

Una vez congurado la herramienta en Moodle podemos entrar para realizar una personalizacioacutende la herramienta gura 513 esta consiste en indicar si el alumno cuando se conecta realiza undeterminado tarea o puede elegir navegar por la web de ChemVantage para poder disfrutar dela cantidad de recursos que se encuentran disponibles

Cuando el usuario pulsa sobre la opcioacuten de esta herramienta externa en Moodle lo primero quese le muestra es la informacioacuten sobre su perl en Chemvantage 514Como hemos visto en los paraacutemetros de conguracioacuten existe la posibilidad de llamar a unaherramienta externa incrustaacutendola dentro de Moodle o abrieacutendolo en una paacutegina web nuevaCon esta segunda opcioacuten no hemos conseguido que funcione correctamente la importacioacuten de lasnotas En cambio si la herramienta externa estaacute incrustada permite esa vinculacioacuten

Figura 512 Conguracioacuten de paraacutemetros LTI

Figura 513 Opciones de inicio de la herramienta

Figura 514 Pantalla de utilizacioacuten de la herramienta por el usuario

Capiacutetulo 6

Middleware

61 Introduccioacuten

La uacuteltima opcioacuten seriacutea utilizar una arquitectura middleware de integracioacuten que permita la inte-gracioacuten ligera de muacuteltiples herramientas existentes en el Moodle

62 GluePS

GLUE-PS es una arquitectura de middleware que permite una interoperabilidad ligera entrelos diferentes lenguajes de disentildeo de aprendizaje y diferentes entornos de aprendizaje virtualEsta interoperabilidad permite a los maestros y otros profesionales que particularicen (es decirpara personalizar el disentildeo de aprendizaje abstractoa la clase particular los participantes y laeleccioacuten de los instrumentos en los que va a ser promulgada) desplieguen (es decir para crearde forma semiautomaacutetica las actividades necesarias en el VLE recursos etc para la aprobacioacutendel disentildeo particularizado) e incluso para llevar a cabo ciertos cambios en el tiempo de ejecucioacuten(por ejemplo modicar la composicioacuten del grupo agregar o quitar recursos de las actividadesetc) Todo esto a partir de disentildeos en distintos lenguajes de disentildeo de aprendizaje tales como laespecicacioacuten IMS-LD aprendizaje

Por otra parte GLUE-PS tambieacuten permite desplegar y gestionar disentildeos de aprendizaje en en-tornos virtuales de aprendizaje que integren herramientas de aprendizaje externos (tales comointegrar en Moodle herramientas como Google Docs y muchos otros) - lo que llamamos Am-bientes de Aprendizaje Distribuido (DLE Distributed Learning Enviroments) Esto se consiguegracias a la arquitectura de GLUE para la integracioacuten de los entornos virtuales de aprendizajey herramientas externas

621 Instalacioacuten

Para realizar la instalacioacuten de GLUE-PS nos hemos descargado el software necesario de la webde los desarrolladores1 descargando la opcioacuten de autenticacioacuten centralizada La instalacioacuten haconstado de tres partes que pasaremos a describir a continuacioacuten

1httpwwwgsicuvaesglue

49

Figura 61 Arquitectura de GLUE

La primera parte consiste en la instalacioacuten del GLUEletManager y los adaptadores GSIC toolAunque el sistema viene preparado para Linux o Windows siendo Windows la explicacioacuten quevamos a desarrollar por estar utilizando este sistema operativo con Xampp

1 Crear el directorio GLUE_ HOME El cual hemos creado para mayor comodidad en la raiacutezdel disco duro

2 Denir la variable del sistema GLUE_ HOME con el valor de la direccioacuten completa deldirectorio de GLUE del punto anterior Para ello hemos pulsado botoacuten derecho sobre MiPc Propiedad Opciones Avanzadas Variables de Entorno procediendo a pulsar el botoacutenNueva para crear la variable en cuestioacuten

3 Extraemos en el directorio del punto (1) el paquete descargado de la paacutegina de los desar-rolladores

4 Ejecutar la instalacioacuten del cheroGLUE_ HOMEbininstall gluebat para registar GLUElet-Manager y GSIC tool como un servicio de Windows Tambieacuten este paso crearaacute un cheroen GLUE_ HOMEtool_ adapteradapterdata para proveer de persistencia a los objetoscreados con el adaptador GSIC tool

A continuacioacuten daremos de alta en nuestro gestor de bases de datos un para de bases de datosque necesita GLUEletManager Para ellos seguimos los siguientes pasos

1 Abrimos la consola de phpMyaAdmin para cargar y ejecutar el chero create_ GLUE_databasessql que se encuentra en GLUE_ HOMEmanagerconfdb

2 Modicamos el chero GLUE_ HOMEmanagerconfMETA-INFpersistencexml paradarle los paraacutemetros necesarios para que JDBC se conecte a nuestra base de datos Losparaacutemetros modicados puede verse en la imagen 62

Figura 62 Paraacutemetros modicados en persistencexml

La segunda parte consiste en el registro interno de los adaptadores de las herramientas para seraccedido con GLUEletManager La distribucioacuten trae un chero para facilitar la conguracioacuten delos adaptadores que trae consigo y para su instalacioacuten deberemos ejecutar el chero GLUE_HOMEmanagerconfdbll _ internal_ Registrysql Alguna de las herramientas necesitanuna conguracioacuten maacutes completa como puede ser Google Docs adapter que necesita una cuentade Gmail para poder crear documentos en Google Docs por lo que deberemos modicar el nom-bre de usuario y contrasentildea

La uacuteltima parte consiste en la instalacioacuten del adaptardor de Moodle como VLE utilizado Estainstalacioacuten es como cualquier otro moacutedulo de Moodle 2 La carpeta que deberemos copiar seraacutela del adaptador correspondiente a Moodle que se encuentra en la carpeta GLUE_ HOMEvle_adpatersmoodle_ vle_ adapter Una vez entremos en nuestro Moodle como administrador nosapareceraacute un mensaje indicaacutendonos que el nuevo moacutedulo esta instalado Para congurar el nuevomoacutedulo debermos ir a Noticaciones - Modulos - Actividades como podemos ver en la gura 63para congurar los paraacutemetros la URL del GLUEletManager y el tiempo de espera

Figura 63 Paraacutemetros del moacutedulo GLUE

Cuando el profesor quiera crear una nueva actividad dependiente de los adaptadores de GLUEdeberaacute agregar una actividad maacutes pulsando para ello en esta opcioacuten dentro del bloque deseadopara seleccionar luego el tipo de actividad GLUElet como podemos ver en la gura64

622 Creando un Doodle

El adaptador Doodle permite la creacioacuten conguracioacuten y gestioacuten de instancias del Doodle Cadaencuesta Doodle es considerado un instancia diferente Ademaacutes este adaptador permite realizarademas la conguracioacuten inicial de encuestas Doodle incluyendo el nombre de la encuesta unadescripcioacuten y un conjunto de posibles respuestas

A continuacioacuten antildeadiremos Doodle en un bloque de Moodle para ellos pulsaremos la opcioacuten deAgregar actividad GLUElet lo cual nos mostraraacute la paacutegina65 donde deberemos rellenar comomiacutenimo el nombre de la actividad y el tipo de herramienta seleccionado en este caso Doodle(httpdoodle-testcom)

2httpdocsmoodleorgenInstalling_contributed_modules_or_plugins

Figura 64 Creando una actividad GLUElet

La primera vez que pulsemos sobre la nueva actividad creada apareceraacute un pantalla 66 dondepodemos congurar diferentes elementos de la encuesta desarrollada con Doodle como son eltiacutetulo una pequentildea descripcioacuten y luego las opciones posibles con un liacutemite de 10

El resultado nal seraacute la incrustacioacuten de una encuesta Doodle dentro de nuestro Moodle comopodemos ver en la gura67

Figura 65 Antildeadiendo Doodle como actividad

Figura 66 Opciones iniciales de conguracioacuten de Doodle

Figura 67 Doodel dentro de Moodle

Capiacutetulo 7

Conclusiones Finales

71 Conclusiones Finales

El proyecto actual nos ha servido para acercarnos a las diferentes tecnologiacuteas que permiten lacomunicacioacuten entre Servicios Webs Hemos desarrollado una primera labor de investigacioacuten queha requerido el aprendizaje de diferentes herramientas de control de documentacioacuten y referenciascomo Zotero y Mendeley

La documentacioacuten recabada en el proceso inicial de revisioacuten de documentos nos ha aportadoun visioacuten general de los diferentes sistemas virtuales de aprendizaje que podemos encontrarnosmuchos de ellos gratuitos y las diferentes soluciones que se plantean a la necesidad de incluirrecursos de otros fabricantes que en principio no fueron concebidos para ser utilizados dentro deuna plataforma VLE

Para poner en praacutectica la diferentes opciones encontradas se han montado diferentes maacutequinasvirtuales sobre las que se han probado las mismas Las conclusiones nales se pasan a detallar

IMS LTIEsta solucioacuten de integracioacuten mediante el cumplimiento de unos protocolos y certicacionesde las herramientas que lo cumplen es en principio la que podriacutea parecer la mejor opcioacutenpero la falta de compromiso de los diferentes fabricantes de Servicios Web y la luchapara imponer sus propios estaacutendares hace que aun quede mucho para que esta opcioacuten seacomo tal real

Si vemos el nuacutemero de aplicaciones certicadas para usar IMS LTI apenas superan las 50 yla mayoriacutea solo cumple la especicacioacuten v10 lo cual signica que la integracioacuten solo solu-ciona el problema de llamar a un recurso externo desde Moodle Pocas son las que cumplenla v11 que permite obtener en Moodle una valoracioacuten de los ejercicios desarrollados en unaactividad externa

La versioacuten v20 que daraacute maacutes opciones a la hora de interactuar con actividades externasauacuten esta en desarrollo y nada se sabe sobre posibles fechas para su presentacioacuten Luegocerticacioacuten de herramientas etc

55

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 21: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

Figura 26 Enfoques de arquitectura de integracioacuten

231 Orquestacioacuten y Coreografiacutea de Servicios Web

Seguacuten Careaga Mercadillo Ana Lilia [car ] la Orquestacioacuten (Web Service Orchestration)y Coreografiacutea (Web Service Choreography) se suelen ver como dos aproximaciones parala Composicioacuten de Servicios Web que se acercan estrechamente a los conceptos musicalespor lo cual se han importado directamente sus signicados A continuacioacuten detallaremosque son y sus posibles aplicaciones

La tarea de componer servicios Web baacutesicos o simples para brindar servicios Web maacutes com-plejos se conoce teacutecnicamente como Composicioacuten de Servicios Web Existen dos grandesaproximaciones para esta tarea la coreografiacutea con foco en la interaccioacuten entre servicios(equivalente a los bailarines) y la orquestacioacuten (equivalente a los instrumentos de la orques-ta) con foco en la implementacioacuten y ejecucioacuten de servicios La primera puede consid-erarse como una descripcioacuten formal del pasaje de mensajes obviando detalles internosde implementacioacuten Se ajusta maacutes en situaciones donde es provechoso contar con la no-cioacuten de estados y tambieacuten donde estaacuten involucradas transacciones de larga duracioacuten- Elorquestadordetermina la naturaleza y la secuencia de la interaccioacuten En cambio la segun-da aproximacioacuten describe la loacutegica y el estado de cada una de las partes involucradas Laorquestacioacuten tiene una visioacuten mas local y centralizada mientras que la coreografiacutea denela composicioacuten desde una perspectiva global sin control centralizado tal y como sucede enla danza

Existen numerosas deniciones de Servicios Web y esto demuestra en parte la gran com-plejidad de los servicios que se agrupan bajo este teacutermino y las implicaciones asociadas aellos Hasta ahora la denicioacuten maacutes general y convincente es decir que los Servicios Webson el conjunto de aplicaciones tecnoloacutegicas con capacidad para interoperar en la Web Es-tas tecnologiacuteas intercambian datos entre ellas con el n de ofrecer servicios de naturalezaremota

La World Wide Web no es soacutelo un espacio de informacioacuten tambieacuten es un espacio de inter-accioacuten Utilizando la Web como plataforma los usuarios de forma remota pueden solicitar

un servicio que alguacuten proveedor ofrezca en la red Pero para que esta interaccioacuten funcionedeben existir unos mecanismos de comunicacioacuten estaacutendares entre diferentes aplicacionesEstos mecanismos deben poder interactuar entre siacute para presentar la informacioacuten de formadinaacutemica al usuario Se precisa pues una arquitectura de referencia estaacutendar que hagaposible la interoperabilidad y extensibilidad entre las distintas aplicaciones y que permitasu combinacioacuten para realizar operaciones complejas Esta arquitectura es conocida con elnombre de SOA (Service Oriented Architecture)

Con el n de estandarizar los diferentes aspectos relacionados con los servicios Web elW3C (World Wide Web Consortium) recoge todo lo referente a ellos en (Web ServicesActivity) Asiacute pues Web Services (WS) ofrece un signicado estaacutendar para interoperarentre diferentes aplicaciones de software corriendo en diferentes plataformas yo marcosde trabajo El W3C pretende disentildear la arquitectura denirla y crear el nuacutecleo de tec-nologiacuteas que hagan posible los Servicios Web Los servicios Web se basan en un lenguajede caracteriacutesticas especiales llamado XML (Extensible Markup Language) que permite quelas aplicaciones compartan informacioacuten y que ademaacutes invoquen funciones de otras apli-caciones independientemente de coacutemo se hayan creado dichas aplicaciones y del sistemaoperativo o plataforma en que se ejecuten Por ejemplo Google utiliza un Servicio Webllamado Google Web APIs que permite que el usuario programe en diversos lenguajes ase-gurando la recuperacioacuten de informacioacuten independientemente de la plataforma que se utilice

Los Servicios Web se idearon en un principio para realizar interacciones simples e indepen-dientes pero ahora es necesario que los servicios colaboren y se coordinen A la coordinacioacutennecesaria para implementar un servicio Web se le llama Composicioacuten que puede realizarsede dos manerasorquestacioacuten y coreografiacutea La principal diferencia entre orquestacioacuten ycoreografiacutea es el alcance La orquestacioacuten trata de la descripcioacuten y ejecucioacuten de un mismoy uacutenico punto de vista global del modelo (instrumentacioacuten) La coreografiacutea trata de la de-scripcioacuten y guiacutea de un modelo global proyectado en base a cada participante (bailarines)La orquestacioacuten y coreografiacutea son teacuterminos que describen dos aspectos de los estaacutendaresemergentes para la creacioacuten de procesos de negocios de muacuteltiples servicios WebLos dosteacuterminos se superponen pero es claro que la orquestacioacuten se reere a un proceso de nego-cio ejecutable que puede interactuar tanto con servicios Web internos como externos Laorquestacioacuten representa siempre el control desde la perspectiva de una de las partes Estolo distingue de la coreografiacutea que es de mayor colaboracioacuten y permite a cada parte impli-cada describir su papel en la interaccioacuten La orquestacioacuten y coreografiacutea tratan de describiraspectos relacionados con la creacioacuten de procesos de negocio que involucran varios tipos deSoftware

Visto graacutecamente podemos ver en la gura 27 la orquestacioacuten permite disentildear proce-sos de negocio ejecutables que pueden interactuar (a nivel de mensaje) tanto con softwareinterno como externo Por otra parte la coreografiacutea es mucho maacutes colaborativa ya quepermite trazar las secuencias de mensajes que se suceden entre todas las partes partici-pantes del proceso de negocio en lugar de centrarse en los mensajes que se intercambianentre los diversos programas de software que implementan los procesos de negocio

Figura 27 Orquestacioacuten y Coreografiacutea de Servicios Web

232 Estaacutendares de Orquestacioacuten de Servicios Web

WS BPEL( Web Service Business Process Execution Language)Es un lenguaje de orquestacioacuten estandarizado porOASIS (Organisation for Advance Struc-tured Information Business Transaction Protocol) para la composicioacuten de servicios Web quepermite a los desarrolladores crear programas que automatizan las interacciones entre losservicios Web jugando un papel clave en las arquitecturas orientadas a los servicios SOAPara comprender su funcionamiento imaginemos un proceso de negocio determinado quetiene una entrada A y una salida B Dicho proceso como la mayoriacutea de ellos posee a suvez de muchos procesos internos que se van activando de acuerdo a ciertos paraacutemetros yvalores BPEL seriacutea el encargado de orquestar y por lo tanto dirigir la ejecucioacuten de unamanera ordenada La ventaja de que BPEL sea un estaacutendar radica en que puede ser imple-mentado en una gran variedad de motores de ejecucioacuten de diferentes proveedores BPELen si es un formato XML que proviene de la convergencia entre el WSFL (Web ServiceFlow Language) de IBM y XLANG de Microsoft La herramienta BPEL estaacute basada en unmodelo llamado Workow que especica las oacuterdenes de ejecucioacuten Existen actividadesbaacutesicas como iumlnvoke y receive y otras estructuradas como sequence Tambieacuten formanparte del modelo variables y participantes (partners) En las variables se deposita la nocioacutende datos y los participantes representan los elementos que interactuacutean en la composicioacutenEl modelo se completa como un motor que orquestaraacute las invocaciones

BPML (Business Process Modeling Language)Es un metalenguaje basado en XML para la descripcioacuten de procesos de negocio Inicial-mente BMPL se disentildeoacute para soportar los procesos que un sistema de gestioacuten de procesosde negocio pudiera ejecutar BPML dispone de estructuras similares a BPEL como puedenser actividades baacutesicas para el enviacuteo y la recepcioacuten de mensajes y para la invocacioacuten deservicios Adicionalmente BPML permite planicar las tareas para que se ejecuten eninstantes especiacutecos ofreciendo algunas opciones de control temporal Este lenguaje in-cluye caracteriacutesticas para dar soporte a la persistencia ya que fue disentildeado para la gestioacutende procesos de larga duracioacuten BPML ofrece soporte tambieacuten para realizar composicionesrecursivas a n de poder construir procesos de negocio que a su vez consten de otros sub-procesos Asimismo soporta transacciones de larga o corta ejecucioacuten gracias a que usa unateacutecnica similar a BPEL para controlar el alcance de las actividades y gestionar de esta

forma las reglas de compensacioacuten en caso de que las operaciones que deben realizarse deforma automaacutetica se vean interrumpidas

233 Estaacutendares de Coreografiacutea de los Servicios Web

WS-CDL (Web Services Choreography Description Language)Es un lenguaje basado en XML que describe la colaboracioacuten entre pares peer to peemediante la denicioacuten - desde un punto de vista global de los comportamientos comunes yobservables de cada participante de un proceso de negocio Eacuteste es un lenguaje utilizadopara la denicioacuten de servicios dentro de la plataforma SOA y cuyo objetivo es la descrip-cioacuten del comportamiento de cada uno de los servicios establecidos para lograr un objetivocomuacuten Sin embargo antes de WS-CDL ya existiacutea un lenguaje que permitiacutea la descripcioacutende las funcionalidades de un Servicio Web WSDL (Web Services Denition Language)el cual puede describir el conjunto de funciones ofrecidas con los posibles fallos que po-driacutean ocurrir y a pesar de que WS-CDL podriacutea expresar las coreografiacuteas de un servicioen un ambiente SOA W3C (World Wide Web Consortium) abandonoacute su desarrollo en 2009

WSCI (Web Service Choreography Interface)La especicacioacuten de WSCI fue desarrollada por diversas compantildeiacuteas como Sun SAP BEAe Intalio y representa una extensioacuten para WSDL para la colaboracioacuten La especicacioacuten de-ne la coreografiacutea global o el intercambio de mensajes entre los diferentes tipos de softwarey soporta su correlacioacuten reglas de secuenciacioacuten manejo de excepciones transacciones ycolaboracioacuten dinaacutemica WSCI soacutelo describe el comportamiento observable entre el softwareque se emplea Una coreografiacutea WSCI constaraacute de un conjunto de interfases WSCI unapor cada uno de los servicios que participen en la interaccioacuten

24 Moodle

El software de coacutedigo abierto (Open-Source Software-OSS) esta siendo ampliamente de-sarrollado ofreciendo nuevas alternativas y posibilidades hasta hace poco inimaginablesMoodle es un claro ejemplo siendo uno de los programas maacutes ampliamente adoptados porcolegios institucioacuten universidades etc Como podemos ver en la gura 28 el nuacutemero deusuarios registrados y los idiomas en los que se encuentra disponible dan muestra de sugran difusioacuten Algunas de las razones mas importante para su eleccioacuten son

Figura 28 Moodle - Abril 2013

bull Moodle es OSS lo cual signica que los usuarios pueden descargarlo libremente usarlomodicarlos e incluso redistribuirlo seguacuten los teacuterminos GNU 3

bull La losofiacutea planteada por Moodle incluye una aproximacioacuten constructiva basada enel constructivismo social de la educacioacuten enfatizando que los estudiantes (y no soacutelolos profesores) pueden contribuir a la experiencia educativa en muchas formas

bull Compatibilidad con maacutes de 70 idiomas diferentes

bull Una excelente documentacioacuten soporte para seguridad y administracioacuten

bull No requiere modicaciones en el sistema operativo pudiendo ser ejecutado en un en-torno Linux Windows Mac OS o cualquier otro siempre que soporten PHP

bull La informacioacuten esta soportada por una simple base de datos

Ademaacutes su sencilla aplicacioacuten en entorno web que utiliza tecnologiacuteas ya ampliamenteprobadas sus mecanismos de extensioacuten maacutes faacuteciles en comparacioacuten con otros VLEs y laexistencia de una gran cantidad de documentacioacuten de desarrollo han impulsado la creacioacutende una gran comunidad de personas que contribuyen a la mejora de Moodle Esta comu-nidad estaacute en constante desarrollo de nuevas caracteriacutesticas y aplicaciones a traveacutes decientos de plugins que pueden ser descargados desde su la web de Moodle y asesoran tantoa otros desarrolladores como usuarios nales

La primera versioacuten de Moodle (10) fuel lanzada en 2002 como parte de la investigacioacuten deMartin Dougiamas del uso del software de coacutedigo abierto para la ensentildeanza y el aprendizajecon las comunidades basadas en Internet[Dougiamas and Taylor 2000] Actualmente seencuentra disponible la versioacuten 243+ como estable y la beta de la versioacuten 25

En cuanto a la parte teacutecnica Moodle estaacute desarrollado en lenguaje PHP como la mayoriacuteade los VLEs utiliza una arquitectura cliente-servidor comuacuten de tres capas CORREGIRLa capa de presentacioacuten dene como la informacioacuten se presenta a los usuarios nales quetienen acceso a esa informacioacuten a traveacutes de sus navegadores web La Capa de loacutegica de ne-gocios se encarga de las relaciones con Moodle el acceso a la capa de datos por lo generala traveacutes de MySQL para almacenar y recuperar la informacioacuten cuando sea necesario

Moodle se distribuye en un solo paquete multiplataforma que incluye PHP MySQL yApache HTTP Server para facilitar los procesos de instalacioacuten y conguracioacuten La dis-tribucioacuten actual de Moodle cumple con varios estaacutendares educativos Por ejemplo Moodlepuede manejar ADL SCORM paquetes que contienen recursos aislados o cursos completosEn cuanto a los estaacutendares IMS Moodle soporta IMS Content Packaging (IMS CP) IMSCommon Cartridge (IMS CC)IMS pregunta y Test Interoperability (IMS QTI) y estaacuteconsiderado como uno de los VLEs compatible con Basic LTI

241 otras plataformas

No podemos dejar de lado otros escenarios educativos que han ido apareciendo en los uacutelti-mos antildeos a pesar del gran eacutexito de los VLEs Algunos ejemplos de estas plataforma son

3httpsmoodleorg

bull Wikis (Ej MediaWiki) Son sistemas software que permiten la creacioacuten y gestioacutende contenidos estructurados mediante paacuteginas web relacionadas entre siacute El contenidosuele estar editado por varios usuarios que trabajan de manera colaborativa pudiendoincluir enlaces a recursos externos

bull Sitios de redes sociales (Ej Facebook) Son sistema en liacutenea donde los usuariospueden crearse sus propios perles y crear una red personal que les mantendraacute conec-tado con otros usuarios Estos sistemas han proliferado en los uacuteltimos antildeos llegando amillones de usuarios No suelen necesitar un administrador pues se utilizan medianteentorno web y son alojados por el propio proveedor Su gran adopcioacuten y el enfoquea las interacciones sociales es lo que ha llevado a muchos profesor a utilizarlo comoherramienta de aprendizaje Estos sitios permiten la creacioacuten y mantenimiento degrupo mediante el perl de usuario pero no estaacuten disentildeados para seguir un enfoquepedagoacutegico

bull Personal Learning Environment - PLE (Ej Southampton) Son denidos comosistemas de software que permiten al estudiante a tomar el control y la gestioacuten de suspropio aprendizaje Se caracterizan por la por la participacioacuten directa de los alumnosen el acceso agregacioacuten conguracioacuten y manipulacioacuten de herramientas y recursos adiferencia de los VLEs done es el educador el que selecciona y gestiona los recursosque el alumno debe utilizar

Muchas de estas herramientas son de coacutedigo libre y abierto Su funcionalidad respecto ala gestioacuten de actividades grupos funciones y herramientas es limitado siendo en algunoscasos inexistente Ninguna de estas plataformas se puede considerar un VLE ya que nosson sistemas centrados en el educador sin embargo pueden apoyar la integracioacuten de apli-caciones externas en entornos de aprendizaje colaborativo

Capiacutetulo 3

Organizacioacuten y Sistema Inicial

A continuacioacuten pasamos a detallar las distintas actividades de la que consta el proyecto quehemos llevado a cabo durante estos meses

31 Lanzamiento del proyecto

Esta actividad consisten en la eleccioacuten de una de las diferentes posibles aacutereas de desarrollo deproyectos que ofrece la UOC siendo la elegida Aplicaciones Web para trabajo colaborativo

32 Denicioacuten del proyecto

El proyecto queda denido en el presente documento siendo el tiacutetulo del mismo Orchestationand Coreography of Web Services on Moodle - Revisioacuten Sistemaacutetica de la literatura

[Duracioacuten] 27-02-2013 al 03-03-2013

33 Anaacutelisis de requisitos

Nos centraremos en la fase de planicacioacuten que incluye los objetivos de la investigacioacuten y la formaen que se llevaraacute a cabo la revisioacuten

[Duracioacuten] 04-03-2013 al 03-06-2013

331 Cuestiones Realizadas

El primer paso en la fase de planicacioacuten seraacute denir los objetivos principales de esta revisioacutensistemaacutetica de la literatura Estos objetivos son analizar el estado del arte de la coreografiacutea yorquestacioacuten de los servicios web en Moodle como LMS

332 Fuentes de datos y buacutesqueda

Utilizaremos diferentes libreriacuteas o espacios digitales para realizar las buacutesquedas las mismas serealizaraacuten en ingleacutes y espantildeol Las libreriacuteas principales utilizadas son

IEEEXplore [IEEEX] httpieeexploreieeeorg

21

Science Direct [SD] httpwwwsciencedirectcom

SpringerLink [SL] httpwwwspringerlinkcom

Paralelamente a Science Direct se han realizado buacutesquedas en Scopus1 de Elsevier y GoogleScholar2 de Google

333 Criterios de inclusioacuten y exclusioacuten

Las buacutesquedas que se realicen intentaraacuten abarcar todo el aacutembito de cuestiones del SLR pero esposible (y de hecho ocurre) el resultado contenga referencias publicaciones estudios o en generalinformacioacuten que no sirve Para ello seraacute necesario denir criterios de inclusioacuten y exclusioacuten loscual haremos basaacutendonos en la guiacutea [Kitchenham 2007]

334 Asegurar la calidad

Despueacutes de obtener un numero considerable de trabajos o estudios que satisfacen los criteriosde inclusioacuten y exclusioacuten se deberaacute ser capaz de asegurar o armar cuales son los que cumplencon una miacutenima calidad y si son vaacutelidos o no para el estudio en si Es baacutesico poder analizar queacuteestudios son mejores que otros en teacuterminos de calidadSiguiente [Kitchenham 2007] se deniraacuten preguntas y cuestiones que permitan asegurar dichacalidad

335 Extraccioacuten de datos y anaacutelisis

Los criterios de inclusioacuten y exclusioacuten junto con las preguntas orientadas a asegurar la calidadnos serviraacuten para obtener todos los artiacuteculos y estudios que se analizan en este estudioDe cada artiacuteculo se recogeraacute titulo y autores abstract publicacioacuten y antildeo de publicacioacuten

336 Fase de revisioacuten

Esta fase de planicacioacuten seraacute denir el proceso de conducir o dirigir la revisioacuten Para elloutilizaremos tres fases como podemos ver en la gura 31 de la paacutegina 23

337 Fase de Pruebas

Se realizan pruebas con la informacioacuten obtenido montado maacutequinas virtuales para realizar lasmismas En estas se han probado las diferentes opciones de comunicacioacuten que nos ofrece Moodle

1httpwwwscopuscom2httpscholargooglecom

Figura 31 Proceso para dirigir la revisioacuten

34 Calendario de Trabajo

Podemos ver en el siguiente diagrama de Gantt32 la distribucioacuten de trabajos en el tiempo elmismo seraacute modicado para ajustarlo a las variaciones producidas durante el desarrollo de lastareas que contempla

35 Hitos principales

Los principales hitos seraacuten

Lanzamiento del proyecto Se dene correctamente en que va consistir el proyecto

Denicioacuten de cuestiones para la buacutesqueda Donde se detallaraacuten las cuestiones quemarcaran el desarrollo del resto del proyecto

Comprobacioacuten de resultados Se deberaacuten criba los mismo para no obtener duplicadoso informacioacuten ajena a la investigacioacuten

Revisioacuten de informacioacuten obtenida Una vez obtenida la informacioacuten y analizada deberaacuteser revisada para su presentacioacuten

Figura 32 Diagrama de Gantt

36 Instalacioacuten base

Para llevar a cabo las pruebas se ha optado por la creacioacuten de una maacutequina virtual sobre VirtualBox 3 en la cual hemos instalado Windows XP como sistema operativo Este sistema es maacutesligero a la hora de trabajar en maacutequinas virtuales pues requiere menos recursos que las versionesposteriores del mismos sistema

El siguiente paso era la instalacioacuten de Moodle Aunque se dispone de un instalador para Win-dows se ha optado por la descarga e instalacioacuten de XAMPP 4 y su y su posterior conguracioacutenen la maacutequina virtual XAMPP es un servidor independiente de plataforma software libre queconsiste principalmente en la base de datos MySQL el servidor web Apache y los inteacuterpretespara lenguajes de script PHP y Perl El nombre proviene del acroacutenimo de X (para cualquierade los diferentes sistemas operativos) Apache MySQL PHP Perl

XAMPP en su versioacuten 181 incluye

Apache 243

MySQL 5527

PHP 547

phpMyAdmin 3522

FileZilla FTP Server 0941

Tomcat 7030

Strawberry Perl 51611 Portable

XAMPP Control Panel 310

Hemos continuado con la descarga he instalacioacuten de Moodle y hemos querido probar las difer-encias que obtenemos entre las versiones 19x y 25 por lo que se han descargado ambas heinstalado en maacutequinas virtuales diferentes Con ello conseguiremos probar el resultado obtenidoseguacuten la versioacuten Moodle desde su versioacuten 22 ya soporta conexiones mediante IMS - LTI IMSLTI es un estaacutendar IMS Learning Tool Interoperability Esto signica que las herramientas deaprendizaje tienen ahora diversas maneras de conectarse entre sin problemas

En la praacutectica cuando un usuario se registra en una herramienta como Moodle se pueden conectara la otra herramienta como MediaWiki y autenticarse automaacuteticamente proporcionando unaexperiencia perfectaLas guras 33 y 34 nos muestran el panel de control de XAMPP una vez instalado y el panede phpMyAdmin donde hemos debido congurar las bases de datos y usuario necesarios parallevar todo el proceso de conguracioacuten de Moodle y el resto de herramientas

3httpswwwvirtualboxorg4httpwwwapachefriendsorgesxampphtml

Figura 33 Panel de control de XAMPP

Figura 34 Gestor de bases de datos phpMyAdmin

Capiacutetulo 4

Servicios Web de Moodle

41 Introduccioacuten

Moodle 2X incorpora la posibilidad de implementar Servicios Web para manejar sus funciona-lidades lo que nos permite poder acceder a acciones de actualizar y crear tareas para reejar elresultado de las actividades realizadas Moodle soporta varios protocolos (REST SOAP XML-RPC y AMF)

42 Servicios Web de Moodle

Los Servicios Web de Moodle se caracterizan por permitir el acceso desde cualquier aplicacioacutenimplementando para ello tres capas como podemos observar en la gura 41

Capa nuacutecleoLa capa del nuacutecleo estaacute compuesta de todas las funciones principales de Moodle sobreusuarios grupos cursos calendario etc Moodle no dispone de una API al uso sino queofrece diferentes funciones que han sido desarrolladas durante antildeos Por tanto las necesi-dades de los Servicios Web estaacuten obligando a rehacer estas funciones del nuacutecleo para quecomiencen a formar una API (Moodle 2X)

Capa externaLa capa externa estaacute compuesta por nuevos cheros llamados externalphp colocados porlas carpetas de Moodle y conteniendo manejadores para la capa inferior Estos manejadoresson los responsables de comprobar las capacidades paraacutemetros y llamadas correctas a lasfunciones de nuacutecleo

Capa de conectoresLa capa de conectores estaacute compuesta de diferentes conectores para las diferentes imple-mentaciones de los Servicios Web y contiene un conector REST un conector SOAP unconector XML-RPC y un conector AMF Esta capa admite plugins para ampliar los conec-tores disponibles de manera que se puedan integrar otros sistemas en Moodle utilizandootros protocolos

Los pasos para utilizar un Servicio Web con Moodle seriacutean los siguientes

1 El cliente enviacutea el nombre de usuario y contrasentildea al servidor que provee los ServiciosWeb

27

Figura 41 Capas en Moodle

2 El servidor de protocolo devuelve un token de sesioacuten para esa cuenta de usuario

3 El cliente llama a un Servicio Web especiacuteco incluyendo el token de sesioacuten

4 El servidor utiliza el token para comprobar que la sesioacuten del Servicio Web estaacute activa

5 El servidor llama a la funcioacuten correspondiente localizada en el chero externallibphp dentrodel moacutedulo especiacuteco

6 La funcioacuten externa comprueba que el usuario actual tenga los permisos sucientes pararealizar esta operacioacuten

7 La funcioacuten externa llama a la funcioacuten correspondiente del nuacutecleo de Moodle (libphp)

8 La funcioacuten del nuacutecleo puede retornar un resultado a la funcioacuten externa

9 La funcioacuten externa devolveraacute el resultado al servidor de protocolo

10 El servidor de protocolo devolveraacute el resultado al cliente

43 REST

REST (Representational State Transfer) es el acroacutenimo de Transferencia de Estado Representa-cional teacutermino usado por Roy Fielding (uno de los creadores de HTTP) para describir un estilode arquitectura que utilizar como modelo en los sistemas de computacioacuten Web No es un es-taacutendar sino un enfoque que muestra como desarrollar y proporcionar servicios en Internet portanto considerado como un estilo arquitectoacutenico para disentildeo de software a gran escala El propioautor lo dene de manera concisa en eacuteste paacuterrafo

REST es un intento de mostrar coacutemo debe comportarse una aplicacioacuten Web bien disentildeada unared de paacuteginas Web (una maacutequina de estados virtual) donde el usuario progresaraacute seleccionan-do enlaces (transiciones de estado) que devuelven la paacutegina siguiente (el siguiente estado de lamaacutequina) que el usuario manejaraacute a su gusto

Este enfoque no aporta realmente nada nuevo la mayor parte de la Web sigue este estilo arqui-tectoacutenico Sin embargo el autor hace eacutenfasis en las caracteriacutesticas concretas que han hecho quela Web triunfe que van a ser los objetivos buscados por REST y que son a su juicio

Escalabilidad en las interacciones entre componentes La red ha ido creciendo de maneraexponencial y se ha ido comportado de manera satisfactoria

Generalidad en las interfaces Se proporciona acceso con distintos clientes y con distintosmecanismos de acceso

Desarrollo independiente de componentes Implementaciones cliente y servidor pueden serdesarrolladas en distintos momentos

Existencia de componentes intermediarios con los cuales existe compatibilidad (comoproxys)que permiten encapsulacioacuten e integracioacuten de sistemas no Web dentro de la misma

431 Principios de disentildeo

Los objetivos citados van a ser conseguidos imponiendo una serie de restricciones

El estado y la funcionalidad de las aplicaciones se representan por forma de recursos

La identicacioacuten de recursos se realiza de forma uacutenica global mediante Uniform ResourceIdentiers Los recursos identicados con URIs son los objetos loacutegicos a los cuales se lesmandan los mensajes

Manipulacioacuten de recursos a traveacutes de representaciones luego no se manejan directamentelos recursos sino sus representaciones

Todos los recursos comparten un interfaz uniforme formado por

bull Un conjunto de operaciones limitado para transferir el estado Se van a aprovecharlas operaciones que HTTP dene mostradas en la gura 42

bull Un conjunto limitado de tipos de contenidos identicados mediante tipos MIME

Uso de un protocolo clienteservidor sin estado y basado en capas Cada mensaje HTTPcontendraacute la informacioacuten necesaria para comprender la peticioacuten luego como muestra lagura 43 no es necesario que eacutesta sea entendida tanto en el cliente como en el servidor

Uso de hipermedios para representar el estado de una aplicacioacuten permitiendo que el estadode una aplicacioacuten Web particular esteacute almacenado en uno o maacutes documentos de hipertextoque residen bien en el servidor o en el cliente Esto permite al servidor saber el estado desus recursos sin necesidad de almacenar el estado de los clientes concretos

Figura 42 Operaciones denidas por HTTP

Como ya se mencionoacute REST se trata de un estilo arquitectoacutenico no un estaacutendar Sin embargohace uso de varios estaacutendares Web

HTTP HyperText Transfer Protocol

Figura 43 Operaciones denidas por HTTP

URL Uniform Resource Locator como el mecanismo de indenticacioacuten de recursos

XML - HTML - PNG - etc Como distintos formatos de representacioacuten de recursos

Tipos MIME como text-xml text-html image-png etc

44 SOAP

SOAP (siglas de Simple Object Access Protocol) es un protocolo estaacutendar que dene coacutemo dosobjetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML Esteprotocolo deriva de un protocolo creado por David Winer en 1998 llamado XML-RPC SOAPfue creado por Microsoft IBM y otros y estaacute actualmente bajo el auspicio de la W3C

441 Principios de disentildeo

La funcionalidad que aporta SOAP es la de proporcionar un mecanismo simple y ligero de in-tercambio de informacioacuten entre dos puntos usando el lenguaje XML SOAP no es maacutes que unmecanismo sencillo de expresar la informacioacuten mediante un modelo de empaquetado de datosmodular y una serie de mecanismos de codicacioacuten de datos Esto permite que SOAP sea uti-lizado en un amplio rango de servidores de aplicaciones que trabajen mediante el modelo decomunicacioacuten RPC (Remote Procedure Call)

SOAP consta de tres partes como podemos ver en la gura 44

El SOAP envelope que dene el marco de trabajo que determina queacute se puede introduciren un mensaje quieacuten deberiacutea hacerlo y si esa operacioacuten es opcional u obligatoria

Las reglas de codicacioacuten SOAP que denen el mecanismo de serializacioacuten que seraacute usadopara encapsular en los mensajes los distintos tipos de datos

La representacioacuten SOAP RPC que dene un modo de funcionamiento a la hora de realizarllamadas a procedimientos remotos y la obtencioacuten de sus resultados

A la hora de realizar el disentildeo de SOAP se han tenido en cuenta una serie de consideracionescon el n de cumplir una serie de objetivos claros objetivos que le daraacuten el potencial que resideen SOAP y que le haraacuten tan atractivo Eacutestos son

Establecer un protocolo estaacutendar de invocacioacuten a servicios remotos que esteacute basado enprotocolos estaacutendares de uso frecuente en Internet como son HTTP (Hiper Text TransportProtocol) para la transmisioacuten y XML (eXtensible Markup Language)para la codicacioacutende los datos

Figura 44 Partes de SOAP

Independencia de plataforma hardware lenguaje de programacioacuten e implementacioacuten delservicio Web

El logro de estos objetivos ha hecho de SOAP un protocolo extremadamente uacutetil ya que elprotocolo de comunicacioacuten HTTP es el empleado para la conexioacuten sobre Internetpor lo que segarantiza que cualquier cliente con un navegador estaacutendar pueda conectarse con un servidor re-moto Ademaacutes los datos en la transmisioacuten se empaquetan o serializan con el lenguaje XML quese ha convertido en algo imprescindible en el intercambio de datos ya que es capaz de salvar lasincompatibilidades que existiacutean en el resto de protocolos de representacioacuten de datos de la red

Por otra parte los servidores Web pueden procesar las peticiones de usuario empleando tec-nologiacuteas tales como Servlets paacuteginas ASP (Active Server Pages) paacuteginas JSP (Java ServerPages) o sencillamente un servidor de aplicaciones con invocacioacuten de objetos mediante CORBACOM o EJB

Un ejemplo tiacutepico de disentildeo de un servicio Web utilizando las ventajas de SOAP podemos veren la siguiente gura 45

Figura 45 Ejemplo de uso de SOAP

45 AMF

AMF (Action Message Format) es un protocolo binario de Adobe que va por la versioacuten AMF3Aunque por el nombre de la versioacuten pueda parecer que existan 3 cabe destacar que soacutelo existendos AMF0 y AMF3 Una de las mayores diferencias o mejoras que aporta AMF3 es que soporta

datos binarios (ByteArray) y int datos no soportados por AMF0 debido a que en la eacutepoca queaparecioacute el formato Flash Player no soportaba estos tipos de datos

AMF3 no es un protocolo para transferir informacioacuten sino que representa el formato en el quese transmite la informacioacuten en este caso un formato binario

La versioacuten de Moodle 25 viene con Zend_ AMF pero podemos utilizar tambieacuten la libreriacuteaamfPHP

AMFPHP

Zend_ amf httpframeworkzendcommanual112enzendamfhtml

Maacutes informacioacuten en httpdocsmoodleorgdevAMFPHP

46 Conguracioacuten de Moodle Web Services

Los Servicios Web habilitan que otros sistemas puedan entrar a Moodle y realizar operacionesPasaremos a detallar los pasos necesarios para su conguracioacuten y explicaremos distintos pruebasllevadas a cabo sobre su funcionamiento Para poder consumir de manera correcta unWeb Servicede Moodle seriacutea necesario antildeadir a la url que vamos a formar los paraacutemetros oportunos paralograr consumir el Web Service de manera satisfactoria Una vez antildeadidos ya podriacuteamos invocarla funcioacuten seleccionada

461 Activando los Servicios Web

Lo primero que debemos hacer es activar la opcioacuten general que habilita el uso de los serviciosweb En la gura 46 podemos observar la opcioacuten para la activacioacuten de este servicio para ello nosiremos a la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Servicios Externos

Figura 46 Activacioacuten Servicios Web

Esto solo es una opcioacuten a nivel global necesitando ahora activar los protocolos de comunciacionesque vamos a utilizar para ello deberemos ir a la opcioacuten textitAdministracioacuten del Sitio - Exten-siones - Servicios Web - Administrador de protoclos donde encontraremos las diferente opcionesque nos existen En la gura 47 podemos ver la pantalla de nuestra conguracioacuten con todos losprotocolos activados

Una vez activada la opcioacuten de Servicios Externos y seleccionados los protocolos que utilizaremosnecesitamos crear un Servicio Personalizado que no es maacutes que una etiqueta que aglutina los

Figura 47 Activacioacuten Protoclos

Servicios Web que ofrece Moodle y que pueden ser utilizados por los servicios externos Para ellodeberemos darle a la opcioacuten Agregar dentro de la opcioacuten Administracioacuten del Sitio - Extensiones- Servicios Web - Servicios Externos Como prueba habilitaremos un servicio llamado Uso_Servicio_ Web cuya creacioacuten podemos ver en la gura 48

Figura 48 Creacioacuten Servicio Personalizado

Una vez creado el Servicio Personalizado deberemos agregarle las funciones que queramos lesean permitidas pudiente tener maacutes de una En la gura 49 vemos como asociamos la creacioacutende usuarios al Servicio Personalizado

Terminado esto deberemos tener en el listado que nos muestra Moodle de Servicios personaliza-dos algo como lo mostrado en la gura 410

El siguiente paso es conceder los permisos apropiados para que este Servicio Personalizado puedeser usado por los usuarios pare ello debemos primero especicar quienes son los Usuarios au-torizados para ello en la linea de la lista de Servicios Personalizados deberemos pulsar sobre laopcioacuten usuarios autorizados donde apareceraacute una pantalla como 411 donde podremos escogerlos usuarios de los que se encuentran dados de alta en nuestro sistema

Y para terminar aunque este paso podriacutea ser realizado por el propio usuario si tuviera el per-miso de moodlewebservicecreatetoken seraacute la creacioacuten de un token el cual va ser la opcioacuten quevamos a utilizar para las pruebas de los Servicios Web de Moodle Para la creacioacuten del mismodeberemos entrar en la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Admin-istrar tokens y pulsar la opcioacuten Agregar para antildeadir un token nuevo como podemos apreciar en

Figura 49 Agregando funciones al Servicio Personalizado

Figura 410 Listado de Servicios Personalizados

la gura 412 teniendo la precaucioacuten de escoger como Servicio el Servicio Personalizado creadocon anterioridad Uso_ Servicio_ Web

En esta pantalla podemos poner varios tipos de restricciones

Restriccioacuten de IP Donde podemos indicar la direccioacuten IP desde donde

Restriccioacuten de Fecha Se puede denir hasta cuando seraacute valido este token siendo unabuena manera de poder probar cosas y no dejar puertas abiertas por error

En la gura 413 podemos ver el token asignado por el sistema para nuestro Servicio Personalizadoy que procederemos a utilizar para comprobar el funcionamiento de los Servicios Web de Moodle

462 Pruebas cliente Servicio Web

Procederemos ahora a desarrollar pruebas que utilicen los Servicios Personalizados creado Sepodriacutean haber utilizado el Cliente de prueba de servicio web que incorpora Moodle dentro dela opcioacuten Administracioacuten del Sitio - Desarrollo - Cliente de prueba servicio web pero hemosdecidido implementar una Web para comprobar la facilidad del funcionamiento del sistema y losdistintos resultados obtenidos seguacuten el protocolo utilizado

Utilizaremos la libreriacutea cURL de PHP cURL es una herramienta que permite abrir conexionesen una amplia variedad de protocolos y que estaacute disponible tanto como herramienta de consola(para ejecutar directamente con comandos) como en libreriacutea (para usar en vuestro coacutedigo) y quepermite hacer praacutecticamente todo manejo de cookies descarga de cheros binarios enviacuteos de

Figura 411 Alta de Usuarios Autorizados

Figura 412 Creacioacuten de Tokens

paraacutemetros GET y POST etc

La web creada para la introduccioacuten 414 de los usuarios seraacute equivalente para todos los procesosprocesos siendo el programa que da respuesta al formulario el que implemente la funcioacuten nece-saria para la introduccioacuten de los datos en Moodle

Los resultados de REST pueden mostrar los resultados del alta de dos maneras diferentes unaen formato XML como podemos ver en la gura 415 y otro en formatox JSON tambieacuten po-dremos ver en la gura Los resultados obtenidos tambieacuten pueden verse en el la gura 416

Figura 413 Lista de Tokens

Figura 414 Web de alta de usuarios

Figura 415 Resultado de REST en formato XML

Figura 416 Resultado de REST en formato JSON

Capiacutetulo 5

Herramientas Externas

51 Introduccioacuten

Las versiones de Moodle desde la 22 vienen con IMS LTI o External Tool de manera integradaEn versiones anteriores era necesario la instalacioacuten de plugins como LTI Provider (maacutes informa-cioacuten en la web de Moodle1 IMS LTI es un estandar de IMS learing2 para la interoperabilidadde herramientas Esto signica que las herramientas de aprendizaje tienen ahora un mecanismopara jar el modo en que pueden conectarse entre ellas sin problemas

En la praacutectica cuando un usuario se registra en Moodle puede conectarse a otras herramientascomo Wikis o Blogs y autenticarse de manera automaacutetica en estas

52 Estaacutendares IMS

Actualmente se realizan esfuerzos para la integracioacuten de servicios a una plataforma virtual deaprendizaje mediante un mecanismo reutilizable independiente del tipo de plataforma El IMSGlobal Learning Consortium viene desde hace tiempo trabajando en este enfoque IMS GLCpresenta un conjunto de estaacutendares que promueven el uso de servicios de aprendizaje digitales(Digital Learning Services) dentro de las plataformas de aprendizaje tradicionales IMS DigitalLearning Services estaacute integrado por los siguientes estaacutendares principales IMS Common Car-tridge [ims a] IMS Learning Tool Interoperability [ims c] y IMS Learning Information Services[ims b]

El IMS Learning Tool Interoperability es una especicacioacuten para facilitar la inclusioacuten de her-ramientas externas dentro de un curso El administrador de la plataforma de aprendizaje ges-tiona los servicios que podraacuten ser consumidos por la plataforma el docente decide que serviciosutilizaraacute en su curso y el estudiante hace uso de los mismos IMS LTI permite que distintos LMSconsuman un mismo servicio el cual no fue implementado teniendo en cuenta el tipo de LMSsino la implementacioacuten del estaacutendar desde el lado del proveedor

El enfoque del IMS LTI estaacute dirigido a la creciente demanda de un mecanismo reutilizable para laintegracioacuten de herramientas de terceros en el nuacutecleo de las plataformas LMS Estas herramientas

1httpsmoodleorgpluginsviewphpplugin=local_ltiprovider2httpwwwimsglobalorgtoolsinteroperability2cfm

37

pueden agregar funcionalidad especializada a los LMS El enfoque ofrece una solucioacuten basada enWeb Services igualmente aplicable a distintos lenguajes de programacioacuten

Las versiones del LTI son

LTI v10 ( LTI Basic ) ( publicado en mayo de 2010 ) proporciona un meacutetodo sencillopero estaacutendar para establecer una conexioacuten segura a una herramienta desde el interior deun consumidor de herramientas El lanzamiento de este enlace permite una experienciade aprendizaje sin problemas para los estudiantes que acceden a las aplicaciones ricas queparecen tener lugar dentro del ambiente de aprendizaje Versioacuten 10 es el primer paso en eldesarrollo continuo de LTI Figura 51

LTI v11 ( publicado en marzo 2012 ) antildeade la posibilidad de pasar de nuevo un resultadode la herramienta al Consumidor de herramientas Esto permite que los estudiantes recibenuna calicacioacuten o puntuacioacuten de su interaccioacuten con la aplicacioacuten de aprendizaje

LTI v111 ( publicado en julio de 2012 ) incluye soporte para el papel Mentor que se puedeutilizar para representar a un padre tutor o auditor

LTI v20 Aun en estado de desarrollo y proporciona una plataforma maacutes sosticado y ex-tensible para permitir integraciones maacutes profundas y un mayor apoyo para los serviciosy eventos LTI 2 se basa en LTI 1 mediante la incorporacioacuten de maacutes sosticada resulta-dos de informes y una rica arquitectura de extensiones que permite servicios adicionalesque se antildeadiraacuten gradualmente LTI 2 utiliza REST y JSON-LD para ofrecer esta nuevafuncionalidad

Figura 51 Esquema LTI Baacutesico

En la gura 52 podemos observar como se podriacutean utilizar las ventajas de LTI por parte decada unos de los actores a lo largo de la vida de la aplicacioacuten de servicios externos dentro de unaplataforma de aprendizaje

En la paacutegina web de IMS3 podemos encontrar una relacioacuten de aplicaciones certicadas comocompatibles con el estaacutendar LTI indicando la versioacuten del LTI que cumplen En la gura 53podemos ver las aplicaciones certicadas por UOC y en la gura 54 la informacioacuten sobre una deestas herramientas

3httpwwwimsglobalorgccalltoolscfm

Figura 52 Esquema utilizacioacuten LTI

Figura 53 Listado de herramientas LTI de la UOC

53 Herramientas externas en Moodle

La siguiente seccioacuten consiste en la aplicacioacuten de alguno de esto servicios externos en Moodlepara comprobar su funcionamiento Nos decantaremos para la primera prueba por WordPresspues aunque existen manuales al respecto la documentacioacuten en castellano es escasa

531 Wordpress

La versioacuten estaacutendar de Wordpress a la cual accedemos cuando nos abrimos cuenta en Wordpressno viene con las herramientas necesarias para la iteracioacuten mediante LTI por lo que procedere-mos a la instalacioacuten en nuestro servidor de Wordpress para pasar a la instalacioacuten de los pluginsnecesarios

La instalacioacuten ha consistido en la descarga de la web ocial 4 de la versioacuten 351 la cual hemoscopiado dentro del directorio htdocs de nuestra instalacioacuten de Xampp Hemos dado de alta unnuevo usuario en nuestra base de datos llamado username como podemos ver en la imagen 55 yposteriormente hemos seguido los pasos que el instalador nos iba ofreciendo para tener instalado

4httpwordpressorgdownload

Figura 54 Informacioacuten sobre la certicacioacuten

Wordpress bajo la url httplocalhostwordpress

Figura 55 Usuario de Wordpress

Deberemos congurar Wordpress para que trabaje como multisitio para lo que deberemos seguirlos pasos de conguracioacuten que podemos encontrar en la web ocial de Wordpress5 bajo el nombreCreate A Network consistente en los siguientes pasos

1 Realizar una copia de seguridad por si acaso

2 Modicar el chero wp-congphp incluyendo la siguiente linea encima de Thats allstop editing Happy blogging Multisite dene (WP_ ALLOW_ MULTISITE true)

Multisite dene (WP_ ALLOW_ MULTISITE true)

3 Installar un Network Para ello hemos de entra en la opcioacuten Administration -gtTools -gtNetwork Setup donde podremos congurar opciones sobre el nombre que queremos declararpara el nuevo sitio

4 Activar el Network para ello debemos modicar los cheros wp-congphp y htaccess porlo que seriacutea bueno que realizaacuteramos primero un copia de seguridad de los mismos Loscambios que debemos realizar son los siguientes

5httpcodexwordpressorgCreate_A_Network

En wp-congphp dene(MULTISITE true)dene(SUBDOMAIN_ INSTALL false)dene(DOMAIN_ CURRENT_ SITE localhost)dene(PATH_ CURRENT_ SITE wordpress)dene(SITE_ ID_ CURRENT_ SITE 1)dene(BLOG_ ID_ CURRENT_ SITE 1)

El chero htaccess debe quedar asiacute BEGIN WordPressltIfModule mod_ rewritecgtRewriteEngine OnRewriteBase wordpressRewriteRule icircndexphp$ - [L]

add a trailing slash to wp-adminRewriteRule ([_ 0-9a-zA-Z-]+)wp-admin1wp-admin [R=301L]

RewriteCondREQUEST_ FILENAME -f [OR]RewriteCondREQUEST_ FILENAME -dRewriteRule - [L]RewriteRule ([_ 0-9a-zA-Z-]+)(wp-(content|admin|includes)) $2 [L]RewriteRule ([_ 0-9a-zA-Z-]+)( php)$ $2 [L]RewriteRule indexphp [L]ltIfModulegt

END WordPress

5 Esto nos habraacute creado en la parte izquierda de la barra de herramientas de Wordpressuna nueva opcioacuten llamada My Sites que contendraacute un listado de los sitios de nuestroWordpress

El siguiente paso seraacute la descarga del plugin los cual podremos hacerlos desde la web de sour-forgenet 6 En esta web se detalla informacioacuten sobre el plugin y como se debe instalar Siguiendolos pasos que tenemos en el mismo procederemos a la descarga y el desplegado del mismo en lacarpeta wp-contentmu-plugins Salimos de Wordpress y volvemos a entrar como superusuariosi entramos dentro de la nueva red realizada podremos ver que dentro de LTI Consumers Keystendremos la opcioacuten LTI Consumers Keys como podemos ver en la imagen 56

Aquiacute deberemos crear la clave del consumidor del servicio y la clave secreta que nos permitiraacute aMoodle conectarse a Wordpress

Una vez que tenemos la clave secreta y del consumidor deberemos volver a Moodle entrandocomo administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

6httpsourceforgenetappsmediawikilearningappsindexphptitle=LTI4Wordpress

Figura 56 Servicios LTI en Wordpress

Figura 57 Listado de claves de LTI en Wordpress

-LTI En esta paacutegina podremos rellenar nuestras opciones

Tool Name Seraacute el nombre que tendraacute la herramienta y deberemos poner alguno indicativode la herramienta que estemos utilizando

Tool Base URL Es la direccioacuten de la herramienta en nuestro caso httplocalhostwordpress

Deberemos rellenar con los datos obtenidos en Wordpress la clave de consumidor y la clavesecreta

Es importante marcar Show tool type when creating tool instances para que aparezcaposteriormente al crear los recursos en nuestros cursos

Para poder probar el sistema hemos creado un curso dentro de Moodle llamada WordpressLTIdonde daremos de la siguiente manera de alta 59

Dentro de nuestro curso seleccionamos la opcioacuten de Edicioacuten

Pulsamos sobre Antildeadir una actividad o un recurso

Seleccionamos External Tool

Rellenamos las opciones

bull Nombre de la Actividad Cualquiera de nuestra eleccioacuten

Figura 58 Conguracioacuten LTI en Moodle

bull Tipo de herramienta externa El nombre que le pusimos a la herramienta externa enla conguracioacuten LTI de Moodle

bull Launch Container Hemos elegido la opcioacuten Incrustar para ver el resultado

Figura 59 Conguracioacuten Herramienta Externa

Una vez congurado podemos lanzar la herramienta externa teniendo como resultado la gura510

Figura 510 Wordpress integrado en Moodle

532 ChemVantage

ChemVantage es un recurso gratuito para la educacioacuten cientiacuteca que incluye ejercicios de gradoejercicios de preparacioacuten exaacutemenes de la praacutectica conferencias de video y libros de texto enliacutenea gratis Fue creado por ChemVantage LLC que fue fundada por el Prof Chuck Wight queha ensentildeado Quiacutemica General en la Universidad de Utah desde 1984 (ChemVantage 2011)

Nos hemos puesto en contacto con Chuck Wight (adminchemvantageorg) para solicitarle unaclave de consumidor y secreta para poder probar este recurso desde moodle Las opciones y elcorreo puede verse en la gura 511

Una de las cosas maacutes importantes de ChemVantage y por lo que nos hemos decidido a probar esque permite la devolucioacuten de las notas obtenidas en los ejercicios realizados en las herramientasexternas a Moodle El alumno podraacute realizar las tareas en esta herramienta externa y luego sercalicadas en Moodle

ChemVantage estaacute certicada por IMS 7 como un proveedor de herramientas LTI v11 y comotal funciona desde nuestro propio LMS para llevar a cabo la autenticacioacuten de sitios provee decuentas y devuelve resultados de asignacioacuten de estudiantes con el libro LMS grado automaacutetica-mente

Los recursos disponible son ChemVantage son principalmente los siguientes

1 QuizzesLos ejercicios presentados aquiacute estaacuten disentildeados para animar a los estudiantes a leer y en-tender los libros de texto utilizados en el curso Las preguntas se basan en material que sepresente en su mayor parte en los textos de introduccioacuten de quiacutemica Los iacutetems de preguntastienen respuestas straighforward no requieren caacutelculos detallados Las preguntas se presen-tan en varios formatos diferentes incluyendo opcioacuten muacuteltiple verdadero falso casilla devericacioacuten ll-in-the-blanco y numeacutericas Cada cuestionario se compone de 10 preguntasextraiacutedas al azar de una base de datos con muchas maacutes preguntas En el proceso de tomarvarias pruebas para mejorar sus calicaciones los estudiantes probablemente encuentran

7httpdevelopersimsglobalorgcoursechemvantagehtml

algunas preguntas repetidas de concursos anteriores sin embargo es poco probable quecualquiera de los dos cuestionarios contendraacute exactamente el mismo conjunto de preguntasen el mismo orden Asignando pruebas para ser completado antes de la conferencia losprofesores pueden estar seguros de que sus estudiantes tengan un poco de exposicioacuten almaterial Esto permite una mayor discusioacuten el diaacutelogo y la participacioacuten en el aula y haceel aprendizaje maacutes divertido (de verdad)

2 Video LecturesUna serie de conferencias de viacutedeo de 10 minutos sobre una variedad de temas de QuiacutemicaGeneral es accesible desde la paacutegina principal Los videos estaacuten disentildeados para reforzar lospuntos principales que se presentan en muchos libros de texto

3 HoweworksLas tareas estaacuten disentildeadas para dar a los estudiantes la praacutectica en la resolucioacuten de proble-mas cuantitativos que tienen respuestas numeacutericas Cada alumno puede descargar la tareatrabajar los problemas y presentar las respuestas en liacutenea Respuestas son juzgados a sercorrecta si la solucioacuten numeacuterica de acuerdo con la solucioacuten que se encuentra en la base dedatos dentro de una tolerancia especicada (indicado para cada problema) El sitio informaa los estudiantes que las respuestas son correctas para que puedan rehacer problemas malresueltos y volver a presentar las respuestas Cada problema se basa en una plantilla queatrae paraacutemetros al azar por lo que la respuesta correcta es diferente para cada estudianteEsto hace que sean adecuadas para la colaboracioacuten y el trabajo en grupo porque a pesarde que el grupo puede trabajar para encontrar un algoritmo correcto para resolver un prob-lema cada estudiante tendraacute que usar el algoritmo para encontrar la solucioacuten detallada asu propio problema

4 Practice ExamsLos estudiantes pueden realizaar exaacutemenes de praacutectica cronometrados que muestran laspreguntas de un grupo de 3 o maacutes temas Cada examen estaacute disentildeado para tardar unos60 minutos o menos e incluye una seleccioacuten de 10 preguntas Las praacutecticas de exaacutemenespueden repetirse cuantas veces se desee Las preguntas numeacutericas son parametrizadas loque es muy poco probable que un estudiante realice alguna vez dos exaacutemenes de praacutecticaideacutenticos

5 Portofolio PageCada estudiante puede acceder a una paacutegina que le da la puntuacioacuten obtenida en cada prue-ba y la asignacioacuten de tareas Los estudiantes que son miembros de un grupo tienen unapaacutegina de resultados asociados a las tareas de grupo Hay una paacutegina de carpeta separadaque contiene un resumen de todas las actividades realizadas en ChemVantage incluyendovideos vistos cuestionarios completados resolver problemas con la tarea y la praacutectica deexaacutemenes completados Las puntuaciones en los exaacutemenes de praacutectica son desagregadospara revelar fortalezas y debilidades estudiantes por temas

Hemos procedido a darlo de alta en LTI como hicimos con Wordpress Entramos en Moodle co-mo Administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

Figura 511 Correo de Chuck Wight

-LTI quedando como resultado la siguiente hoja de paraacutemetros gura 512

El siguiente paso seraacute antildeadir la herramienta dentro de nuestro curso para ello pulsaremos sobreAntildeadir una actividad o un recurso Deberemos seleccionar External Tool y rellenamos las op-ciones de la herramienta seleccionando como Tipo de herramienta externa la opcioacuten creada enel apartado de LTI de Moodle

Una vez congurado la herramienta en Moodle podemos entrar para realizar una personalizacioacutende la herramienta gura 513 esta consiste en indicar si el alumno cuando se conecta realiza undeterminado tarea o puede elegir navegar por la web de ChemVantage para poder disfrutar dela cantidad de recursos que se encuentran disponibles

Cuando el usuario pulsa sobre la opcioacuten de esta herramienta externa en Moodle lo primero quese le muestra es la informacioacuten sobre su perl en Chemvantage 514Como hemos visto en los paraacutemetros de conguracioacuten existe la posibilidad de llamar a unaherramienta externa incrustaacutendola dentro de Moodle o abrieacutendolo en una paacutegina web nuevaCon esta segunda opcioacuten no hemos conseguido que funcione correctamente la importacioacuten de lasnotas En cambio si la herramienta externa estaacute incrustada permite esa vinculacioacuten

Figura 512 Conguracioacuten de paraacutemetros LTI

Figura 513 Opciones de inicio de la herramienta

Figura 514 Pantalla de utilizacioacuten de la herramienta por el usuario

Capiacutetulo 6

Middleware

61 Introduccioacuten

La uacuteltima opcioacuten seriacutea utilizar una arquitectura middleware de integracioacuten que permita la inte-gracioacuten ligera de muacuteltiples herramientas existentes en el Moodle

62 GluePS

GLUE-PS es una arquitectura de middleware que permite una interoperabilidad ligera entrelos diferentes lenguajes de disentildeo de aprendizaje y diferentes entornos de aprendizaje virtualEsta interoperabilidad permite a los maestros y otros profesionales que particularicen (es decirpara personalizar el disentildeo de aprendizaje abstractoa la clase particular los participantes y laeleccioacuten de los instrumentos en los que va a ser promulgada) desplieguen (es decir para crearde forma semiautomaacutetica las actividades necesarias en el VLE recursos etc para la aprobacioacutendel disentildeo particularizado) e incluso para llevar a cabo ciertos cambios en el tiempo de ejecucioacuten(por ejemplo modicar la composicioacuten del grupo agregar o quitar recursos de las actividadesetc) Todo esto a partir de disentildeos en distintos lenguajes de disentildeo de aprendizaje tales como laespecicacioacuten IMS-LD aprendizaje

Por otra parte GLUE-PS tambieacuten permite desplegar y gestionar disentildeos de aprendizaje en en-tornos virtuales de aprendizaje que integren herramientas de aprendizaje externos (tales comointegrar en Moodle herramientas como Google Docs y muchos otros) - lo que llamamos Am-bientes de Aprendizaje Distribuido (DLE Distributed Learning Enviroments) Esto se consiguegracias a la arquitectura de GLUE para la integracioacuten de los entornos virtuales de aprendizajey herramientas externas

621 Instalacioacuten

Para realizar la instalacioacuten de GLUE-PS nos hemos descargado el software necesario de la webde los desarrolladores1 descargando la opcioacuten de autenticacioacuten centralizada La instalacioacuten haconstado de tres partes que pasaremos a describir a continuacioacuten

1httpwwwgsicuvaesglue

49

Figura 61 Arquitectura de GLUE

La primera parte consiste en la instalacioacuten del GLUEletManager y los adaptadores GSIC toolAunque el sistema viene preparado para Linux o Windows siendo Windows la explicacioacuten quevamos a desarrollar por estar utilizando este sistema operativo con Xampp

1 Crear el directorio GLUE_ HOME El cual hemos creado para mayor comodidad en la raiacutezdel disco duro

2 Denir la variable del sistema GLUE_ HOME con el valor de la direccioacuten completa deldirectorio de GLUE del punto anterior Para ello hemos pulsado botoacuten derecho sobre MiPc Propiedad Opciones Avanzadas Variables de Entorno procediendo a pulsar el botoacutenNueva para crear la variable en cuestioacuten

3 Extraemos en el directorio del punto (1) el paquete descargado de la paacutegina de los desar-rolladores

4 Ejecutar la instalacioacuten del cheroGLUE_ HOMEbininstall gluebat para registar GLUElet-Manager y GSIC tool como un servicio de Windows Tambieacuten este paso crearaacute un cheroen GLUE_ HOMEtool_ adapteradapterdata para proveer de persistencia a los objetoscreados con el adaptador GSIC tool

A continuacioacuten daremos de alta en nuestro gestor de bases de datos un para de bases de datosque necesita GLUEletManager Para ellos seguimos los siguientes pasos

1 Abrimos la consola de phpMyaAdmin para cargar y ejecutar el chero create_ GLUE_databasessql que se encuentra en GLUE_ HOMEmanagerconfdb

2 Modicamos el chero GLUE_ HOMEmanagerconfMETA-INFpersistencexml paradarle los paraacutemetros necesarios para que JDBC se conecte a nuestra base de datos Losparaacutemetros modicados puede verse en la imagen 62

Figura 62 Paraacutemetros modicados en persistencexml

La segunda parte consiste en el registro interno de los adaptadores de las herramientas para seraccedido con GLUEletManager La distribucioacuten trae un chero para facilitar la conguracioacuten delos adaptadores que trae consigo y para su instalacioacuten deberemos ejecutar el chero GLUE_HOMEmanagerconfdbll _ internal_ Registrysql Alguna de las herramientas necesitanuna conguracioacuten maacutes completa como puede ser Google Docs adapter que necesita una cuentade Gmail para poder crear documentos en Google Docs por lo que deberemos modicar el nom-bre de usuario y contrasentildea

La uacuteltima parte consiste en la instalacioacuten del adaptardor de Moodle como VLE utilizado Estainstalacioacuten es como cualquier otro moacutedulo de Moodle 2 La carpeta que deberemos copiar seraacutela del adaptador correspondiente a Moodle que se encuentra en la carpeta GLUE_ HOMEvle_adpatersmoodle_ vle_ adapter Una vez entremos en nuestro Moodle como administrador nosapareceraacute un mensaje indicaacutendonos que el nuevo moacutedulo esta instalado Para congurar el nuevomoacutedulo debermos ir a Noticaciones - Modulos - Actividades como podemos ver en la gura 63para congurar los paraacutemetros la URL del GLUEletManager y el tiempo de espera

Figura 63 Paraacutemetros del moacutedulo GLUE

Cuando el profesor quiera crear una nueva actividad dependiente de los adaptadores de GLUEdeberaacute agregar una actividad maacutes pulsando para ello en esta opcioacuten dentro del bloque deseadopara seleccionar luego el tipo de actividad GLUElet como podemos ver en la gura64

622 Creando un Doodle

El adaptador Doodle permite la creacioacuten conguracioacuten y gestioacuten de instancias del Doodle Cadaencuesta Doodle es considerado un instancia diferente Ademaacutes este adaptador permite realizarademas la conguracioacuten inicial de encuestas Doodle incluyendo el nombre de la encuesta unadescripcioacuten y un conjunto de posibles respuestas

A continuacioacuten antildeadiremos Doodle en un bloque de Moodle para ellos pulsaremos la opcioacuten deAgregar actividad GLUElet lo cual nos mostraraacute la paacutegina65 donde deberemos rellenar comomiacutenimo el nombre de la actividad y el tipo de herramienta seleccionado en este caso Doodle(httpdoodle-testcom)

2httpdocsmoodleorgenInstalling_contributed_modules_or_plugins

Figura 64 Creando una actividad GLUElet

La primera vez que pulsemos sobre la nueva actividad creada apareceraacute un pantalla 66 dondepodemos congurar diferentes elementos de la encuesta desarrollada con Doodle como son eltiacutetulo una pequentildea descripcioacuten y luego las opciones posibles con un liacutemite de 10

El resultado nal seraacute la incrustacioacuten de una encuesta Doodle dentro de nuestro Moodle comopodemos ver en la gura67

Figura 65 Antildeadiendo Doodle como actividad

Figura 66 Opciones iniciales de conguracioacuten de Doodle

Figura 67 Doodel dentro de Moodle

Capiacutetulo 7

Conclusiones Finales

71 Conclusiones Finales

El proyecto actual nos ha servido para acercarnos a las diferentes tecnologiacuteas que permiten lacomunicacioacuten entre Servicios Webs Hemos desarrollado una primera labor de investigacioacuten queha requerido el aprendizaje de diferentes herramientas de control de documentacioacuten y referenciascomo Zotero y Mendeley

La documentacioacuten recabada en el proceso inicial de revisioacuten de documentos nos ha aportadoun visioacuten general de los diferentes sistemas virtuales de aprendizaje que podemos encontrarnosmuchos de ellos gratuitos y las diferentes soluciones que se plantean a la necesidad de incluirrecursos de otros fabricantes que en principio no fueron concebidos para ser utilizados dentro deuna plataforma VLE

Para poner en praacutectica la diferentes opciones encontradas se han montado diferentes maacutequinasvirtuales sobre las que se han probado las mismas Las conclusiones nales se pasan a detallar

IMS LTIEsta solucioacuten de integracioacuten mediante el cumplimiento de unos protocolos y certicacionesde las herramientas que lo cumplen es en principio la que podriacutea parecer la mejor opcioacutenpero la falta de compromiso de los diferentes fabricantes de Servicios Web y la luchapara imponer sus propios estaacutendares hace que aun quede mucho para que esta opcioacuten seacomo tal real

Si vemos el nuacutemero de aplicaciones certicadas para usar IMS LTI apenas superan las 50 yla mayoriacutea solo cumple la especicacioacuten v10 lo cual signica que la integracioacuten solo solu-ciona el problema de llamar a un recurso externo desde Moodle Pocas son las que cumplenla v11 que permite obtener en Moodle una valoracioacuten de los ejercicios desarrollados en unaactividad externa

La versioacuten v20 que daraacute maacutes opciones a la hora de interactuar con actividades externasauacuten esta en desarrollo y nada se sabe sobre posibles fechas para su presentacioacuten Luegocerticacioacuten de herramientas etc

55

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 22: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

un servicio que alguacuten proveedor ofrezca en la red Pero para que esta interaccioacuten funcionedeben existir unos mecanismos de comunicacioacuten estaacutendares entre diferentes aplicacionesEstos mecanismos deben poder interactuar entre siacute para presentar la informacioacuten de formadinaacutemica al usuario Se precisa pues una arquitectura de referencia estaacutendar que hagaposible la interoperabilidad y extensibilidad entre las distintas aplicaciones y que permitasu combinacioacuten para realizar operaciones complejas Esta arquitectura es conocida con elnombre de SOA (Service Oriented Architecture)

Con el n de estandarizar los diferentes aspectos relacionados con los servicios Web elW3C (World Wide Web Consortium) recoge todo lo referente a ellos en (Web ServicesActivity) Asiacute pues Web Services (WS) ofrece un signicado estaacutendar para interoperarentre diferentes aplicaciones de software corriendo en diferentes plataformas yo marcosde trabajo El W3C pretende disentildear la arquitectura denirla y crear el nuacutecleo de tec-nologiacuteas que hagan posible los Servicios Web Los servicios Web se basan en un lenguajede caracteriacutesticas especiales llamado XML (Extensible Markup Language) que permite quelas aplicaciones compartan informacioacuten y que ademaacutes invoquen funciones de otras apli-caciones independientemente de coacutemo se hayan creado dichas aplicaciones y del sistemaoperativo o plataforma en que se ejecuten Por ejemplo Google utiliza un Servicio Webllamado Google Web APIs que permite que el usuario programe en diversos lenguajes ase-gurando la recuperacioacuten de informacioacuten independientemente de la plataforma que se utilice

Los Servicios Web se idearon en un principio para realizar interacciones simples e indepen-dientes pero ahora es necesario que los servicios colaboren y se coordinen A la coordinacioacutennecesaria para implementar un servicio Web se le llama Composicioacuten que puede realizarsede dos manerasorquestacioacuten y coreografiacutea La principal diferencia entre orquestacioacuten ycoreografiacutea es el alcance La orquestacioacuten trata de la descripcioacuten y ejecucioacuten de un mismoy uacutenico punto de vista global del modelo (instrumentacioacuten) La coreografiacutea trata de la de-scripcioacuten y guiacutea de un modelo global proyectado en base a cada participante (bailarines)La orquestacioacuten y coreografiacutea son teacuterminos que describen dos aspectos de los estaacutendaresemergentes para la creacioacuten de procesos de negocios de muacuteltiples servicios WebLos dosteacuterminos se superponen pero es claro que la orquestacioacuten se reere a un proceso de nego-cio ejecutable que puede interactuar tanto con servicios Web internos como externos Laorquestacioacuten representa siempre el control desde la perspectiva de una de las partes Estolo distingue de la coreografiacutea que es de mayor colaboracioacuten y permite a cada parte impli-cada describir su papel en la interaccioacuten La orquestacioacuten y coreografiacutea tratan de describiraspectos relacionados con la creacioacuten de procesos de negocio que involucran varios tipos deSoftware

Visto graacutecamente podemos ver en la gura 27 la orquestacioacuten permite disentildear proce-sos de negocio ejecutables que pueden interactuar (a nivel de mensaje) tanto con softwareinterno como externo Por otra parte la coreografiacutea es mucho maacutes colaborativa ya quepermite trazar las secuencias de mensajes que se suceden entre todas las partes partici-pantes del proceso de negocio en lugar de centrarse en los mensajes que se intercambianentre los diversos programas de software que implementan los procesos de negocio

Figura 27 Orquestacioacuten y Coreografiacutea de Servicios Web

232 Estaacutendares de Orquestacioacuten de Servicios Web

WS BPEL( Web Service Business Process Execution Language)Es un lenguaje de orquestacioacuten estandarizado porOASIS (Organisation for Advance Struc-tured Information Business Transaction Protocol) para la composicioacuten de servicios Web quepermite a los desarrolladores crear programas que automatizan las interacciones entre losservicios Web jugando un papel clave en las arquitecturas orientadas a los servicios SOAPara comprender su funcionamiento imaginemos un proceso de negocio determinado quetiene una entrada A y una salida B Dicho proceso como la mayoriacutea de ellos posee a suvez de muchos procesos internos que se van activando de acuerdo a ciertos paraacutemetros yvalores BPEL seriacutea el encargado de orquestar y por lo tanto dirigir la ejecucioacuten de unamanera ordenada La ventaja de que BPEL sea un estaacutendar radica en que puede ser imple-mentado en una gran variedad de motores de ejecucioacuten de diferentes proveedores BPELen si es un formato XML que proviene de la convergencia entre el WSFL (Web ServiceFlow Language) de IBM y XLANG de Microsoft La herramienta BPEL estaacute basada en unmodelo llamado Workow que especica las oacuterdenes de ejecucioacuten Existen actividadesbaacutesicas como iumlnvoke y receive y otras estructuradas como sequence Tambieacuten formanparte del modelo variables y participantes (partners) En las variables se deposita la nocioacutende datos y los participantes representan los elementos que interactuacutean en la composicioacutenEl modelo se completa como un motor que orquestaraacute las invocaciones

BPML (Business Process Modeling Language)Es un metalenguaje basado en XML para la descripcioacuten de procesos de negocio Inicial-mente BMPL se disentildeoacute para soportar los procesos que un sistema de gestioacuten de procesosde negocio pudiera ejecutar BPML dispone de estructuras similares a BPEL como puedenser actividades baacutesicas para el enviacuteo y la recepcioacuten de mensajes y para la invocacioacuten deservicios Adicionalmente BPML permite planicar las tareas para que se ejecuten eninstantes especiacutecos ofreciendo algunas opciones de control temporal Este lenguaje in-cluye caracteriacutesticas para dar soporte a la persistencia ya que fue disentildeado para la gestioacutende procesos de larga duracioacuten BPML ofrece soporte tambieacuten para realizar composicionesrecursivas a n de poder construir procesos de negocio que a su vez consten de otros sub-procesos Asimismo soporta transacciones de larga o corta ejecucioacuten gracias a que usa unateacutecnica similar a BPEL para controlar el alcance de las actividades y gestionar de esta

forma las reglas de compensacioacuten en caso de que las operaciones que deben realizarse deforma automaacutetica se vean interrumpidas

233 Estaacutendares de Coreografiacutea de los Servicios Web

WS-CDL (Web Services Choreography Description Language)Es un lenguaje basado en XML que describe la colaboracioacuten entre pares peer to peemediante la denicioacuten - desde un punto de vista global de los comportamientos comunes yobservables de cada participante de un proceso de negocio Eacuteste es un lenguaje utilizadopara la denicioacuten de servicios dentro de la plataforma SOA y cuyo objetivo es la descrip-cioacuten del comportamiento de cada uno de los servicios establecidos para lograr un objetivocomuacuten Sin embargo antes de WS-CDL ya existiacutea un lenguaje que permitiacutea la descripcioacutende las funcionalidades de un Servicio Web WSDL (Web Services Denition Language)el cual puede describir el conjunto de funciones ofrecidas con los posibles fallos que po-driacutean ocurrir y a pesar de que WS-CDL podriacutea expresar las coreografiacuteas de un servicioen un ambiente SOA W3C (World Wide Web Consortium) abandonoacute su desarrollo en 2009

WSCI (Web Service Choreography Interface)La especicacioacuten de WSCI fue desarrollada por diversas compantildeiacuteas como Sun SAP BEAe Intalio y representa una extensioacuten para WSDL para la colaboracioacuten La especicacioacuten de-ne la coreografiacutea global o el intercambio de mensajes entre los diferentes tipos de softwarey soporta su correlacioacuten reglas de secuenciacioacuten manejo de excepciones transacciones ycolaboracioacuten dinaacutemica WSCI soacutelo describe el comportamiento observable entre el softwareque se emplea Una coreografiacutea WSCI constaraacute de un conjunto de interfases WSCI unapor cada uno de los servicios que participen en la interaccioacuten

24 Moodle

El software de coacutedigo abierto (Open-Source Software-OSS) esta siendo ampliamente de-sarrollado ofreciendo nuevas alternativas y posibilidades hasta hace poco inimaginablesMoodle es un claro ejemplo siendo uno de los programas maacutes ampliamente adoptados porcolegios institucioacuten universidades etc Como podemos ver en la gura 28 el nuacutemero deusuarios registrados y los idiomas en los que se encuentra disponible dan muestra de sugran difusioacuten Algunas de las razones mas importante para su eleccioacuten son

Figura 28 Moodle - Abril 2013

bull Moodle es OSS lo cual signica que los usuarios pueden descargarlo libremente usarlomodicarlos e incluso redistribuirlo seguacuten los teacuterminos GNU 3

bull La losofiacutea planteada por Moodle incluye una aproximacioacuten constructiva basada enel constructivismo social de la educacioacuten enfatizando que los estudiantes (y no soacutelolos profesores) pueden contribuir a la experiencia educativa en muchas formas

bull Compatibilidad con maacutes de 70 idiomas diferentes

bull Una excelente documentacioacuten soporte para seguridad y administracioacuten

bull No requiere modicaciones en el sistema operativo pudiendo ser ejecutado en un en-torno Linux Windows Mac OS o cualquier otro siempre que soporten PHP

bull La informacioacuten esta soportada por una simple base de datos

Ademaacutes su sencilla aplicacioacuten en entorno web que utiliza tecnologiacuteas ya ampliamenteprobadas sus mecanismos de extensioacuten maacutes faacuteciles en comparacioacuten con otros VLEs y laexistencia de una gran cantidad de documentacioacuten de desarrollo han impulsado la creacioacutende una gran comunidad de personas que contribuyen a la mejora de Moodle Esta comu-nidad estaacute en constante desarrollo de nuevas caracteriacutesticas y aplicaciones a traveacutes decientos de plugins que pueden ser descargados desde su la web de Moodle y asesoran tantoa otros desarrolladores como usuarios nales

La primera versioacuten de Moodle (10) fuel lanzada en 2002 como parte de la investigacioacuten deMartin Dougiamas del uso del software de coacutedigo abierto para la ensentildeanza y el aprendizajecon las comunidades basadas en Internet[Dougiamas and Taylor 2000] Actualmente seencuentra disponible la versioacuten 243+ como estable y la beta de la versioacuten 25

En cuanto a la parte teacutecnica Moodle estaacute desarrollado en lenguaje PHP como la mayoriacuteade los VLEs utiliza una arquitectura cliente-servidor comuacuten de tres capas CORREGIRLa capa de presentacioacuten dene como la informacioacuten se presenta a los usuarios nales quetienen acceso a esa informacioacuten a traveacutes de sus navegadores web La Capa de loacutegica de ne-gocios se encarga de las relaciones con Moodle el acceso a la capa de datos por lo generala traveacutes de MySQL para almacenar y recuperar la informacioacuten cuando sea necesario

Moodle se distribuye en un solo paquete multiplataforma que incluye PHP MySQL yApache HTTP Server para facilitar los procesos de instalacioacuten y conguracioacuten La dis-tribucioacuten actual de Moodle cumple con varios estaacutendares educativos Por ejemplo Moodlepuede manejar ADL SCORM paquetes que contienen recursos aislados o cursos completosEn cuanto a los estaacutendares IMS Moodle soporta IMS Content Packaging (IMS CP) IMSCommon Cartridge (IMS CC)IMS pregunta y Test Interoperability (IMS QTI) y estaacuteconsiderado como uno de los VLEs compatible con Basic LTI

241 otras plataformas

No podemos dejar de lado otros escenarios educativos que han ido apareciendo en los uacutelti-mos antildeos a pesar del gran eacutexito de los VLEs Algunos ejemplos de estas plataforma son

3httpsmoodleorg

bull Wikis (Ej MediaWiki) Son sistemas software que permiten la creacioacuten y gestioacutende contenidos estructurados mediante paacuteginas web relacionadas entre siacute El contenidosuele estar editado por varios usuarios que trabajan de manera colaborativa pudiendoincluir enlaces a recursos externos

bull Sitios de redes sociales (Ej Facebook) Son sistema en liacutenea donde los usuariospueden crearse sus propios perles y crear una red personal que les mantendraacute conec-tado con otros usuarios Estos sistemas han proliferado en los uacuteltimos antildeos llegando amillones de usuarios No suelen necesitar un administrador pues se utilizan medianteentorno web y son alojados por el propio proveedor Su gran adopcioacuten y el enfoquea las interacciones sociales es lo que ha llevado a muchos profesor a utilizarlo comoherramienta de aprendizaje Estos sitios permiten la creacioacuten y mantenimiento degrupo mediante el perl de usuario pero no estaacuten disentildeados para seguir un enfoquepedagoacutegico

bull Personal Learning Environment - PLE (Ej Southampton) Son denidos comosistemas de software que permiten al estudiante a tomar el control y la gestioacuten de suspropio aprendizaje Se caracterizan por la por la participacioacuten directa de los alumnosen el acceso agregacioacuten conguracioacuten y manipulacioacuten de herramientas y recursos adiferencia de los VLEs done es el educador el que selecciona y gestiona los recursosque el alumno debe utilizar

Muchas de estas herramientas son de coacutedigo libre y abierto Su funcionalidad respecto ala gestioacuten de actividades grupos funciones y herramientas es limitado siendo en algunoscasos inexistente Ninguna de estas plataformas se puede considerar un VLE ya que nosson sistemas centrados en el educador sin embargo pueden apoyar la integracioacuten de apli-caciones externas en entornos de aprendizaje colaborativo

Capiacutetulo 3

Organizacioacuten y Sistema Inicial

A continuacioacuten pasamos a detallar las distintas actividades de la que consta el proyecto quehemos llevado a cabo durante estos meses

31 Lanzamiento del proyecto

Esta actividad consisten en la eleccioacuten de una de las diferentes posibles aacutereas de desarrollo deproyectos que ofrece la UOC siendo la elegida Aplicaciones Web para trabajo colaborativo

32 Denicioacuten del proyecto

El proyecto queda denido en el presente documento siendo el tiacutetulo del mismo Orchestationand Coreography of Web Services on Moodle - Revisioacuten Sistemaacutetica de la literatura

[Duracioacuten] 27-02-2013 al 03-03-2013

33 Anaacutelisis de requisitos

Nos centraremos en la fase de planicacioacuten que incluye los objetivos de la investigacioacuten y la formaen que se llevaraacute a cabo la revisioacuten

[Duracioacuten] 04-03-2013 al 03-06-2013

331 Cuestiones Realizadas

El primer paso en la fase de planicacioacuten seraacute denir los objetivos principales de esta revisioacutensistemaacutetica de la literatura Estos objetivos son analizar el estado del arte de la coreografiacutea yorquestacioacuten de los servicios web en Moodle como LMS

332 Fuentes de datos y buacutesqueda

Utilizaremos diferentes libreriacuteas o espacios digitales para realizar las buacutesquedas las mismas serealizaraacuten en ingleacutes y espantildeol Las libreriacuteas principales utilizadas son

IEEEXplore [IEEEX] httpieeexploreieeeorg

21

Science Direct [SD] httpwwwsciencedirectcom

SpringerLink [SL] httpwwwspringerlinkcom

Paralelamente a Science Direct se han realizado buacutesquedas en Scopus1 de Elsevier y GoogleScholar2 de Google

333 Criterios de inclusioacuten y exclusioacuten

Las buacutesquedas que se realicen intentaraacuten abarcar todo el aacutembito de cuestiones del SLR pero esposible (y de hecho ocurre) el resultado contenga referencias publicaciones estudios o en generalinformacioacuten que no sirve Para ello seraacute necesario denir criterios de inclusioacuten y exclusioacuten loscual haremos basaacutendonos en la guiacutea [Kitchenham 2007]

334 Asegurar la calidad

Despueacutes de obtener un numero considerable de trabajos o estudios que satisfacen los criteriosde inclusioacuten y exclusioacuten se deberaacute ser capaz de asegurar o armar cuales son los que cumplencon una miacutenima calidad y si son vaacutelidos o no para el estudio en si Es baacutesico poder analizar queacuteestudios son mejores que otros en teacuterminos de calidadSiguiente [Kitchenham 2007] se deniraacuten preguntas y cuestiones que permitan asegurar dichacalidad

335 Extraccioacuten de datos y anaacutelisis

Los criterios de inclusioacuten y exclusioacuten junto con las preguntas orientadas a asegurar la calidadnos serviraacuten para obtener todos los artiacuteculos y estudios que se analizan en este estudioDe cada artiacuteculo se recogeraacute titulo y autores abstract publicacioacuten y antildeo de publicacioacuten

336 Fase de revisioacuten

Esta fase de planicacioacuten seraacute denir el proceso de conducir o dirigir la revisioacuten Para elloutilizaremos tres fases como podemos ver en la gura 31 de la paacutegina 23

337 Fase de Pruebas

Se realizan pruebas con la informacioacuten obtenido montado maacutequinas virtuales para realizar lasmismas En estas se han probado las diferentes opciones de comunicacioacuten que nos ofrece Moodle

1httpwwwscopuscom2httpscholargooglecom

Figura 31 Proceso para dirigir la revisioacuten

34 Calendario de Trabajo

Podemos ver en el siguiente diagrama de Gantt32 la distribucioacuten de trabajos en el tiempo elmismo seraacute modicado para ajustarlo a las variaciones producidas durante el desarrollo de lastareas que contempla

35 Hitos principales

Los principales hitos seraacuten

Lanzamiento del proyecto Se dene correctamente en que va consistir el proyecto

Denicioacuten de cuestiones para la buacutesqueda Donde se detallaraacuten las cuestiones quemarcaran el desarrollo del resto del proyecto

Comprobacioacuten de resultados Se deberaacuten criba los mismo para no obtener duplicadoso informacioacuten ajena a la investigacioacuten

Revisioacuten de informacioacuten obtenida Una vez obtenida la informacioacuten y analizada deberaacuteser revisada para su presentacioacuten

Figura 32 Diagrama de Gantt

36 Instalacioacuten base

Para llevar a cabo las pruebas se ha optado por la creacioacuten de una maacutequina virtual sobre VirtualBox 3 en la cual hemos instalado Windows XP como sistema operativo Este sistema es maacutesligero a la hora de trabajar en maacutequinas virtuales pues requiere menos recursos que las versionesposteriores del mismos sistema

El siguiente paso era la instalacioacuten de Moodle Aunque se dispone de un instalador para Win-dows se ha optado por la descarga e instalacioacuten de XAMPP 4 y su y su posterior conguracioacutenen la maacutequina virtual XAMPP es un servidor independiente de plataforma software libre queconsiste principalmente en la base de datos MySQL el servidor web Apache y los inteacuterpretespara lenguajes de script PHP y Perl El nombre proviene del acroacutenimo de X (para cualquierade los diferentes sistemas operativos) Apache MySQL PHP Perl

XAMPP en su versioacuten 181 incluye

Apache 243

MySQL 5527

PHP 547

phpMyAdmin 3522

FileZilla FTP Server 0941

Tomcat 7030

Strawberry Perl 51611 Portable

XAMPP Control Panel 310

Hemos continuado con la descarga he instalacioacuten de Moodle y hemos querido probar las difer-encias que obtenemos entre las versiones 19x y 25 por lo que se han descargado ambas heinstalado en maacutequinas virtuales diferentes Con ello conseguiremos probar el resultado obtenidoseguacuten la versioacuten Moodle desde su versioacuten 22 ya soporta conexiones mediante IMS - LTI IMSLTI es un estaacutendar IMS Learning Tool Interoperability Esto signica que las herramientas deaprendizaje tienen ahora diversas maneras de conectarse entre sin problemas

En la praacutectica cuando un usuario se registra en una herramienta como Moodle se pueden conectara la otra herramienta como MediaWiki y autenticarse automaacuteticamente proporcionando unaexperiencia perfectaLas guras 33 y 34 nos muestran el panel de control de XAMPP una vez instalado y el panede phpMyAdmin donde hemos debido congurar las bases de datos y usuario necesarios parallevar todo el proceso de conguracioacuten de Moodle y el resto de herramientas

3httpswwwvirtualboxorg4httpwwwapachefriendsorgesxampphtml

Figura 33 Panel de control de XAMPP

Figura 34 Gestor de bases de datos phpMyAdmin

Capiacutetulo 4

Servicios Web de Moodle

41 Introduccioacuten

Moodle 2X incorpora la posibilidad de implementar Servicios Web para manejar sus funciona-lidades lo que nos permite poder acceder a acciones de actualizar y crear tareas para reejar elresultado de las actividades realizadas Moodle soporta varios protocolos (REST SOAP XML-RPC y AMF)

42 Servicios Web de Moodle

Los Servicios Web de Moodle se caracterizan por permitir el acceso desde cualquier aplicacioacutenimplementando para ello tres capas como podemos observar en la gura 41

Capa nuacutecleoLa capa del nuacutecleo estaacute compuesta de todas las funciones principales de Moodle sobreusuarios grupos cursos calendario etc Moodle no dispone de una API al uso sino queofrece diferentes funciones que han sido desarrolladas durante antildeos Por tanto las necesi-dades de los Servicios Web estaacuten obligando a rehacer estas funciones del nuacutecleo para quecomiencen a formar una API (Moodle 2X)

Capa externaLa capa externa estaacute compuesta por nuevos cheros llamados externalphp colocados porlas carpetas de Moodle y conteniendo manejadores para la capa inferior Estos manejadoresson los responsables de comprobar las capacidades paraacutemetros y llamadas correctas a lasfunciones de nuacutecleo

Capa de conectoresLa capa de conectores estaacute compuesta de diferentes conectores para las diferentes imple-mentaciones de los Servicios Web y contiene un conector REST un conector SOAP unconector XML-RPC y un conector AMF Esta capa admite plugins para ampliar los conec-tores disponibles de manera que se puedan integrar otros sistemas en Moodle utilizandootros protocolos

Los pasos para utilizar un Servicio Web con Moodle seriacutean los siguientes

1 El cliente enviacutea el nombre de usuario y contrasentildea al servidor que provee los ServiciosWeb

27

Figura 41 Capas en Moodle

2 El servidor de protocolo devuelve un token de sesioacuten para esa cuenta de usuario

3 El cliente llama a un Servicio Web especiacuteco incluyendo el token de sesioacuten

4 El servidor utiliza el token para comprobar que la sesioacuten del Servicio Web estaacute activa

5 El servidor llama a la funcioacuten correspondiente localizada en el chero externallibphp dentrodel moacutedulo especiacuteco

6 La funcioacuten externa comprueba que el usuario actual tenga los permisos sucientes pararealizar esta operacioacuten

7 La funcioacuten externa llama a la funcioacuten correspondiente del nuacutecleo de Moodle (libphp)

8 La funcioacuten del nuacutecleo puede retornar un resultado a la funcioacuten externa

9 La funcioacuten externa devolveraacute el resultado al servidor de protocolo

10 El servidor de protocolo devolveraacute el resultado al cliente

43 REST

REST (Representational State Transfer) es el acroacutenimo de Transferencia de Estado Representa-cional teacutermino usado por Roy Fielding (uno de los creadores de HTTP) para describir un estilode arquitectura que utilizar como modelo en los sistemas de computacioacuten Web No es un es-taacutendar sino un enfoque que muestra como desarrollar y proporcionar servicios en Internet portanto considerado como un estilo arquitectoacutenico para disentildeo de software a gran escala El propioautor lo dene de manera concisa en eacuteste paacuterrafo

REST es un intento de mostrar coacutemo debe comportarse una aplicacioacuten Web bien disentildeada unared de paacuteginas Web (una maacutequina de estados virtual) donde el usuario progresaraacute seleccionan-do enlaces (transiciones de estado) que devuelven la paacutegina siguiente (el siguiente estado de lamaacutequina) que el usuario manejaraacute a su gusto

Este enfoque no aporta realmente nada nuevo la mayor parte de la Web sigue este estilo arqui-tectoacutenico Sin embargo el autor hace eacutenfasis en las caracteriacutesticas concretas que han hecho quela Web triunfe que van a ser los objetivos buscados por REST y que son a su juicio

Escalabilidad en las interacciones entre componentes La red ha ido creciendo de maneraexponencial y se ha ido comportado de manera satisfactoria

Generalidad en las interfaces Se proporciona acceso con distintos clientes y con distintosmecanismos de acceso

Desarrollo independiente de componentes Implementaciones cliente y servidor pueden serdesarrolladas en distintos momentos

Existencia de componentes intermediarios con los cuales existe compatibilidad (comoproxys)que permiten encapsulacioacuten e integracioacuten de sistemas no Web dentro de la misma

431 Principios de disentildeo

Los objetivos citados van a ser conseguidos imponiendo una serie de restricciones

El estado y la funcionalidad de las aplicaciones se representan por forma de recursos

La identicacioacuten de recursos se realiza de forma uacutenica global mediante Uniform ResourceIdentiers Los recursos identicados con URIs son los objetos loacutegicos a los cuales se lesmandan los mensajes

Manipulacioacuten de recursos a traveacutes de representaciones luego no se manejan directamentelos recursos sino sus representaciones

Todos los recursos comparten un interfaz uniforme formado por

bull Un conjunto de operaciones limitado para transferir el estado Se van a aprovecharlas operaciones que HTTP dene mostradas en la gura 42

bull Un conjunto limitado de tipos de contenidos identicados mediante tipos MIME

Uso de un protocolo clienteservidor sin estado y basado en capas Cada mensaje HTTPcontendraacute la informacioacuten necesaria para comprender la peticioacuten luego como muestra lagura 43 no es necesario que eacutesta sea entendida tanto en el cliente como en el servidor

Uso de hipermedios para representar el estado de una aplicacioacuten permitiendo que el estadode una aplicacioacuten Web particular esteacute almacenado en uno o maacutes documentos de hipertextoque residen bien en el servidor o en el cliente Esto permite al servidor saber el estado desus recursos sin necesidad de almacenar el estado de los clientes concretos

Figura 42 Operaciones denidas por HTTP

Como ya se mencionoacute REST se trata de un estilo arquitectoacutenico no un estaacutendar Sin embargohace uso de varios estaacutendares Web

HTTP HyperText Transfer Protocol

Figura 43 Operaciones denidas por HTTP

URL Uniform Resource Locator como el mecanismo de indenticacioacuten de recursos

XML - HTML - PNG - etc Como distintos formatos de representacioacuten de recursos

Tipos MIME como text-xml text-html image-png etc

44 SOAP

SOAP (siglas de Simple Object Access Protocol) es un protocolo estaacutendar que dene coacutemo dosobjetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML Esteprotocolo deriva de un protocolo creado por David Winer en 1998 llamado XML-RPC SOAPfue creado por Microsoft IBM y otros y estaacute actualmente bajo el auspicio de la W3C

441 Principios de disentildeo

La funcionalidad que aporta SOAP es la de proporcionar un mecanismo simple y ligero de in-tercambio de informacioacuten entre dos puntos usando el lenguaje XML SOAP no es maacutes que unmecanismo sencillo de expresar la informacioacuten mediante un modelo de empaquetado de datosmodular y una serie de mecanismos de codicacioacuten de datos Esto permite que SOAP sea uti-lizado en un amplio rango de servidores de aplicaciones que trabajen mediante el modelo decomunicacioacuten RPC (Remote Procedure Call)

SOAP consta de tres partes como podemos ver en la gura 44

El SOAP envelope que dene el marco de trabajo que determina queacute se puede introduciren un mensaje quieacuten deberiacutea hacerlo y si esa operacioacuten es opcional u obligatoria

Las reglas de codicacioacuten SOAP que denen el mecanismo de serializacioacuten que seraacute usadopara encapsular en los mensajes los distintos tipos de datos

La representacioacuten SOAP RPC que dene un modo de funcionamiento a la hora de realizarllamadas a procedimientos remotos y la obtencioacuten de sus resultados

A la hora de realizar el disentildeo de SOAP se han tenido en cuenta una serie de consideracionescon el n de cumplir una serie de objetivos claros objetivos que le daraacuten el potencial que resideen SOAP y que le haraacuten tan atractivo Eacutestos son

Establecer un protocolo estaacutendar de invocacioacuten a servicios remotos que esteacute basado enprotocolos estaacutendares de uso frecuente en Internet como son HTTP (Hiper Text TransportProtocol) para la transmisioacuten y XML (eXtensible Markup Language)para la codicacioacutende los datos

Figura 44 Partes de SOAP

Independencia de plataforma hardware lenguaje de programacioacuten e implementacioacuten delservicio Web

El logro de estos objetivos ha hecho de SOAP un protocolo extremadamente uacutetil ya que elprotocolo de comunicacioacuten HTTP es el empleado para la conexioacuten sobre Internetpor lo que segarantiza que cualquier cliente con un navegador estaacutendar pueda conectarse con un servidor re-moto Ademaacutes los datos en la transmisioacuten se empaquetan o serializan con el lenguaje XML quese ha convertido en algo imprescindible en el intercambio de datos ya que es capaz de salvar lasincompatibilidades que existiacutean en el resto de protocolos de representacioacuten de datos de la red

Por otra parte los servidores Web pueden procesar las peticiones de usuario empleando tec-nologiacuteas tales como Servlets paacuteginas ASP (Active Server Pages) paacuteginas JSP (Java ServerPages) o sencillamente un servidor de aplicaciones con invocacioacuten de objetos mediante CORBACOM o EJB

Un ejemplo tiacutepico de disentildeo de un servicio Web utilizando las ventajas de SOAP podemos veren la siguiente gura 45

Figura 45 Ejemplo de uso de SOAP

45 AMF

AMF (Action Message Format) es un protocolo binario de Adobe que va por la versioacuten AMF3Aunque por el nombre de la versioacuten pueda parecer que existan 3 cabe destacar que soacutelo existendos AMF0 y AMF3 Una de las mayores diferencias o mejoras que aporta AMF3 es que soporta

datos binarios (ByteArray) y int datos no soportados por AMF0 debido a que en la eacutepoca queaparecioacute el formato Flash Player no soportaba estos tipos de datos

AMF3 no es un protocolo para transferir informacioacuten sino que representa el formato en el quese transmite la informacioacuten en este caso un formato binario

La versioacuten de Moodle 25 viene con Zend_ AMF pero podemos utilizar tambieacuten la libreriacuteaamfPHP

AMFPHP

Zend_ amf httpframeworkzendcommanual112enzendamfhtml

Maacutes informacioacuten en httpdocsmoodleorgdevAMFPHP

46 Conguracioacuten de Moodle Web Services

Los Servicios Web habilitan que otros sistemas puedan entrar a Moodle y realizar operacionesPasaremos a detallar los pasos necesarios para su conguracioacuten y explicaremos distintos pruebasllevadas a cabo sobre su funcionamiento Para poder consumir de manera correcta unWeb Servicede Moodle seriacutea necesario antildeadir a la url que vamos a formar los paraacutemetros oportunos paralograr consumir el Web Service de manera satisfactoria Una vez antildeadidos ya podriacuteamos invocarla funcioacuten seleccionada

461 Activando los Servicios Web

Lo primero que debemos hacer es activar la opcioacuten general que habilita el uso de los serviciosweb En la gura 46 podemos observar la opcioacuten para la activacioacuten de este servicio para ello nosiremos a la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Servicios Externos

Figura 46 Activacioacuten Servicios Web

Esto solo es una opcioacuten a nivel global necesitando ahora activar los protocolos de comunciacionesque vamos a utilizar para ello deberemos ir a la opcioacuten textitAdministracioacuten del Sitio - Exten-siones - Servicios Web - Administrador de protoclos donde encontraremos las diferente opcionesque nos existen En la gura 47 podemos ver la pantalla de nuestra conguracioacuten con todos losprotocolos activados

Una vez activada la opcioacuten de Servicios Externos y seleccionados los protocolos que utilizaremosnecesitamos crear un Servicio Personalizado que no es maacutes que una etiqueta que aglutina los

Figura 47 Activacioacuten Protoclos

Servicios Web que ofrece Moodle y que pueden ser utilizados por los servicios externos Para ellodeberemos darle a la opcioacuten Agregar dentro de la opcioacuten Administracioacuten del Sitio - Extensiones- Servicios Web - Servicios Externos Como prueba habilitaremos un servicio llamado Uso_Servicio_ Web cuya creacioacuten podemos ver en la gura 48

Figura 48 Creacioacuten Servicio Personalizado

Una vez creado el Servicio Personalizado deberemos agregarle las funciones que queramos lesean permitidas pudiente tener maacutes de una En la gura 49 vemos como asociamos la creacioacutende usuarios al Servicio Personalizado

Terminado esto deberemos tener en el listado que nos muestra Moodle de Servicios personaliza-dos algo como lo mostrado en la gura 410

El siguiente paso es conceder los permisos apropiados para que este Servicio Personalizado puedeser usado por los usuarios pare ello debemos primero especicar quienes son los Usuarios au-torizados para ello en la linea de la lista de Servicios Personalizados deberemos pulsar sobre laopcioacuten usuarios autorizados donde apareceraacute una pantalla como 411 donde podremos escogerlos usuarios de los que se encuentran dados de alta en nuestro sistema

Y para terminar aunque este paso podriacutea ser realizado por el propio usuario si tuviera el per-miso de moodlewebservicecreatetoken seraacute la creacioacuten de un token el cual va ser la opcioacuten quevamos a utilizar para las pruebas de los Servicios Web de Moodle Para la creacioacuten del mismodeberemos entrar en la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Admin-istrar tokens y pulsar la opcioacuten Agregar para antildeadir un token nuevo como podemos apreciar en

Figura 49 Agregando funciones al Servicio Personalizado

Figura 410 Listado de Servicios Personalizados

la gura 412 teniendo la precaucioacuten de escoger como Servicio el Servicio Personalizado creadocon anterioridad Uso_ Servicio_ Web

En esta pantalla podemos poner varios tipos de restricciones

Restriccioacuten de IP Donde podemos indicar la direccioacuten IP desde donde

Restriccioacuten de Fecha Se puede denir hasta cuando seraacute valido este token siendo unabuena manera de poder probar cosas y no dejar puertas abiertas por error

En la gura 413 podemos ver el token asignado por el sistema para nuestro Servicio Personalizadoy que procederemos a utilizar para comprobar el funcionamiento de los Servicios Web de Moodle

462 Pruebas cliente Servicio Web

Procederemos ahora a desarrollar pruebas que utilicen los Servicios Personalizados creado Sepodriacutean haber utilizado el Cliente de prueba de servicio web que incorpora Moodle dentro dela opcioacuten Administracioacuten del Sitio - Desarrollo - Cliente de prueba servicio web pero hemosdecidido implementar una Web para comprobar la facilidad del funcionamiento del sistema y losdistintos resultados obtenidos seguacuten el protocolo utilizado

Utilizaremos la libreriacutea cURL de PHP cURL es una herramienta que permite abrir conexionesen una amplia variedad de protocolos y que estaacute disponible tanto como herramienta de consola(para ejecutar directamente con comandos) como en libreriacutea (para usar en vuestro coacutedigo) y quepermite hacer praacutecticamente todo manejo de cookies descarga de cheros binarios enviacuteos de

Figura 411 Alta de Usuarios Autorizados

Figura 412 Creacioacuten de Tokens

paraacutemetros GET y POST etc

La web creada para la introduccioacuten 414 de los usuarios seraacute equivalente para todos los procesosprocesos siendo el programa que da respuesta al formulario el que implemente la funcioacuten nece-saria para la introduccioacuten de los datos en Moodle

Los resultados de REST pueden mostrar los resultados del alta de dos maneras diferentes unaen formato XML como podemos ver en la gura 415 y otro en formatox JSON tambieacuten po-dremos ver en la gura Los resultados obtenidos tambieacuten pueden verse en el la gura 416

Figura 413 Lista de Tokens

Figura 414 Web de alta de usuarios

Figura 415 Resultado de REST en formato XML

Figura 416 Resultado de REST en formato JSON

Capiacutetulo 5

Herramientas Externas

51 Introduccioacuten

Las versiones de Moodle desde la 22 vienen con IMS LTI o External Tool de manera integradaEn versiones anteriores era necesario la instalacioacuten de plugins como LTI Provider (maacutes informa-cioacuten en la web de Moodle1 IMS LTI es un estandar de IMS learing2 para la interoperabilidadde herramientas Esto signica que las herramientas de aprendizaje tienen ahora un mecanismopara jar el modo en que pueden conectarse entre ellas sin problemas

En la praacutectica cuando un usuario se registra en Moodle puede conectarse a otras herramientascomo Wikis o Blogs y autenticarse de manera automaacutetica en estas

52 Estaacutendares IMS

Actualmente se realizan esfuerzos para la integracioacuten de servicios a una plataforma virtual deaprendizaje mediante un mecanismo reutilizable independiente del tipo de plataforma El IMSGlobal Learning Consortium viene desde hace tiempo trabajando en este enfoque IMS GLCpresenta un conjunto de estaacutendares que promueven el uso de servicios de aprendizaje digitales(Digital Learning Services) dentro de las plataformas de aprendizaje tradicionales IMS DigitalLearning Services estaacute integrado por los siguientes estaacutendares principales IMS Common Car-tridge [ims a] IMS Learning Tool Interoperability [ims c] y IMS Learning Information Services[ims b]

El IMS Learning Tool Interoperability es una especicacioacuten para facilitar la inclusioacuten de her-ramientas externas dentro de un curso El administrador de la plataforma de aprendizaje ges-tiona los servicios que podraacuten ser consumidos por la plataforma el docente decide que serviciosutilizaraacute en su curso y el estudiante hace uso de los mismos IMS LTI permite que distintos LMSconsuman un mismo servicio el cual no fue implementado teniendo en cuenta el tipo de LMSsino la implementacioacuten del estaacutendar desde el lado del proveedor

El enfoque del IMS LTI estaacute dirigido a la creciente demanda de un mecanismo reutilizable para laintegracioacuten de herramientas de terceros en el nuacutecleo de las plataformas LMS Estas herramientas

1httpsmoodleorgpluginsviewphpplugin=local_ltiprovider2httpwwwimsglobalorgtoolsinteroperability2cfm

37

pueden agregar funcionalidad especializada a los LMS El enfoque ofrece una solucioacuten basada enWeb Services igualmente aplicable a distintos lenguajes de programacioacuten

Las versiones del LTI son

LTI v10 ( LTI Basic ) ( publicado en mayo de 2010 ) proporciona un meacutetodo sencillopero estaacutendar para establecer una conexioacuten segura a una herramienta desde el interior deun consumidor de herramientas El lanzamiento de este enlace permite una experienciade aprendizaje sin problemas para los estudiantes que acceden a las aplicaciones ricas queparecen tener lugar dentro del ambiente de aprendizaje Versioacuten 10 es el primer paso en eldesarrollo continuo de LTI Figura 51

LTI v11 ( publicado en marzo 2012 ) antildeade la posibilidad de pasar de nuevo un resultadode la herramienta al Consumidor de herramientas Esto permite que los estudiantes recibenuna calicacioacuten o puntuacioacuten de su interaccioacuten con la aplicacioacuten de aprendizaje

LTI v111 ( publicado en julio de 2012 ) incluye soporte para el papel Mentor que se puedeutilizar para representar a un padre tutor o auditor

LTI v20 Aun en estado de desarrollo y proporciona una plataforma maacutes sosticado y ex-tensible para permitir integraciones maacutes profundas y un mayor apoyo para los serviciosy eventos LTI 2 se basa en LTI 1 mediante la incorporacioacuten de maacutes sosticada resulta-dos de informes y una rica arquitectura de extensiones que permite servicios adicionalesque se antildeadiraacuten gradualmente LTI 2 utiliza REST y JSON-LD para ofrecer esta nuevafuncionalidad

Figura 51 Esquema LTI Baacutesico

En la gura 52 podemos observar como se podriacutean utilizar las ventajas de LTI por parte decada unos de los actores a lo largo de la vida de la aplicacioacuten de servicios externos dentro de unaplataforma de aprendizaje

En la paacutegina web de IMS3 podemos encontrar una relacioacuten de aplicaciones certicadas comocompatibles con el estaacutendar LTI indicando la versioacuten del LTI que cumplen En la gura 53podemos ver las aplicaciones certicadas por UOC y en la gura 54 la informacioacuten sobre una deestas herramientas

3httpwwwimsglobalorgccalltoolscfm

Figura 52 Esquema utilizacioacuten LTI

Figura 53 Listado de herramientas LTI de la UOC

53 Herramientas externas en Moodle

La siguiente seccioacuten consiste en la aplicacioacuten de alguno de esto servicios externos en Moodlepara comprobar su funcionamiento Nos decantaremos para la primera prueba por WordPresspues aunque existen manuales al respecto la documentacioacuten en castellano es escasa

531 Wordpress

La versioacuten estaacutendar de Wordpress a la cual accedemos cuando nos abrimos cuenta en Wordpressno viene con las herramientas necesarias para la iteracioacuten mediante LTI por lo que procedere-mos a la instalacioacuten en nuestro servidor de Wordpress para pasar a la instalacioacuten de los pluginsnecesarios

La instalacioacuten ha consistido en la descarga de la web ocial 4 de la versioacuten 351 la cual hemoscopiado dentro del directorio htdocs de nuestra instalacioacuten de Xampp Hemos dado de alta unnuevo usuario en nuestra base de datos llamado username como podemos ver en la imagen 55 yposteriormente hemos seguido los pasos que el instalador nos iba ofreciendo para tener instalado

4httpwordpressorgdownload

Figura 54 Informacioacuten sobre la certicacioacuten

Wordpress bajo la url httplocalhostwordpress

Figura 55 Usuario de Wordpress

Deberemos congurar Wordpress para que trabaje como multisitio para lo que deberemos seguirlos pasos de conguracioacuten que podemos encontrar en la web ocial de Wordpress5 bajo el nombreCreate A Network consistente en los siguientes pasos

1 Realizar una copia de seguridad por si acaso

2 Modicar el chero wp-congphp incluyendo la siguiente linea encima de Thats allstop editing Happy blogging Multisite dene (WP_ ALLOW_ MULTISITE true)

Multisite dene (WP_ ALLOW_ MULTISITE true)

3 Installar un Network Para ello hemos de entra en la opcioacuten Administration -gtTools -gtNetwork Setup donde podremos congurar opciones sobre el nombre que queremos declararpara el nuevo sitio

4 Activar el Network para ello debemos modicar los cheros wp-congphp y htaccess porlo que seriacutea bueno que realizaacuteramos primero un copia de seguridad de los mismos Loscambios que debemos realizar son los siguientes

5httpcodexwordpressorgCreate_A_Network

En wp-congphp dene(MULTISITE true)dene(SUBDOMAIN_ INSTALL false)dene(DOMAIN_ CURRENT_ SITE localhost)dene(PATH_ CURRENT_ SITE wordpress)dene(SITE_ ID_ CURRENT_ SITE 1)dene(BLOG_ ID_ CURRENT_ SITE 1)

El chero htaccess debe quedar asiacute BEGIN WordPressltIfModule mod_ rewritecgtRewriteEngine OnRewriteBase wordpressRewriteRule icircndexphp$ - [L]

add a trailing slash to wp-adminRewriteRule ([_ 0-9a-zA-Z-]+)wp-admin1wp-admin [R=301L]

RewriteCondREQUEST_ FILENAME -f [OR]RewriteCondREQUEST_ FILENAME -dRewriteRule - [L]RewriteRule ([_ 0-9a-zA-Z-]+)(wp-(content|admin|includes)) $2 [L]RewriteRule ([_ 0-9a-zA-Z-]+)( php)$ $2 [L]RewriteRule indexphp [L]ltIfModulegt

END WordPress

5 Esto nos habraacute creado en la parte izquierda de la barra de herramientas de Wordpressuna nueva opcioacuten llamada My Sites que contendraacute un listado de los sitios de nuestroWordpress

El siguiente paso seraacute la descarga del plugin los cual podremos hacerlos desde la web de sour-forgenet 6 En esta web se detalla informacioacuten sobre el plugin y como se debe instalar Siguiendolos pasos que tenemos en el mismo procederemos a la descarga y el desplegado del mismo en lacarpeta wp-contentmu-plugins Salimos de Wordpress y volvemos a entrar como superusuariosi entramos dentro de la nueva red realizada podremos ver que dentro de LTI Consumers Keystendremos la opcioacuten LTI Consumers Keys como podemos ver en la imagen 56

Aquiacute deberemos crear la clave del consumidor del servicio y la clave secreta que nos permitiraacute aMoodle conectarse a Wordpress

Una vez que tenemos la clave secreta y del consumidor deberemos volver a Moodle entrandocomo administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

6httpsourceforgenetappsmediawikilearningappsindexphptitle=LTI4Wordpress

Figura 56 Servicios LTI en Wordpress

Figura 57 Listado de claves de LTI en Wordpress

-LTI En esta paacutegina podremos rellenar nuestras opciones

Tool Name Seraacute el nombre que tendraacute la herramienta y deberemos poner alguno indicativode la herramienta que estemos utilizando

Tool Base URL Es la direccioacuten de la herramienta en nuestro caso httplocalhostwordpress

Deberemos rellenar con los datos obtenidos en Wordpress la clave de consumidor y la clavesecreta

Es importante marcar Show tool type when creating tool instances para que aparezcaposteriormente al crear los recursos en nuestros cursos

Para poder probar el sistema hemos creado un curso dentro de Moodle llamada WordpressLTIdonde daremos de la siguiente manera de alta 59

Dentro de nuestro curso seleccionamos la opcioacuten de Edicioacuten

Pulsamos sobre Antildeadir una actividad o un recurso

Seleccionamos External Tool

Rellenamos las opciones

bull Nombre de la Actividad Cualquiera de nuestra eleccioacuten

Figura 58 Conguracioacuten LTI en Moodle

bull Tipo de herramienta externa El nombre que le pusimos a la herramienta externa enla conguracioacuten LTI de Moodle

bull Launch Container Hemos elegido la opcioacuten Incrustar para ver el resultado

Figura 59 Conguracioacuten Herramienta Externa

Una vez congurado podemos lanzar la herramienta externa teniendo como resultado la gura510

Figura 510 Wordpress integrado en Moodle

532 ChemVantage

ChemVantage es un recurso gratuito para la educacioacuten cientiacuteca que incluye ejercicios de gradoejercicios de preparacioacuten exaacutemenes de la praacutectica conferencias de video y libros de texto enliacutenea gratis Fue creado por ChemVantage LLC que fue fundada por el Prof Chuck Wight queha ensentildeado Quiacutemica General en la Universidad de Utah desde 1984 (ChemVantage 2011)

Nos hemos puesto en contacto con Chuck Wight (adminchemvantageorg) para solicitarle unaclave de consumidor y secreta para poder probar este recurso desde moodle Las opciones y elcorreo puede verse en la gura 511

Una de las cosas maacutes importantes de ChemVantage y por lo que nos hemos decidido a probar esque permite la devolucioacuten de las notas obtenidas en los ejercicios realizados en las herramientasexternas a Moodle El alumno podraacute realizar las tareas en esta herramienta externa y luego sercalicadas en Moodle

ChemVantage estaacute certicada por IMS 7 como un proveedor de herramientas LTI v11 y comotal funciona desde nuestro propio LMS para llevar a cabo la autenticacioacuten de sitios provee decuentas y devuelve resultados de asignacioacuten de estudiantes con el libro LMS grado automaacutetica-mente

Los recursos disponible son ChemVantage son principalmente los siguientes

1 QuizzesLos ejercicios presentados aquiacute estaacuten disentildeados para animar a los estudiantes a leer y en-tender los libros de texto utilizados en el curso Las preguntas se basan en material que sepresente en su mayor parte en los textos de introduccioacuten de quiacutemica Los iacutetems de preguntastienen respuestas straighforward no requieren caacutelculos detallados Las preguntas se presen-tan en varios formatos diferentes incluyendo opcioacuten muacuteltiple verdadero falso casilla devericacioacuten ll-in-the-blanco y numeacutericas Cada cuestionario se compone de 10 preguntasextraiacutedas al azar de una base de datos con muchas maacutes preguntas En el proceso de tomarvarias pruebas para mejorar sus calicaciones los estudiantes probablemente encuentran

7httpdevelopersimsglobalorgcoursechemvantagehtml

algunas preguntas repetidas de concursos anteriores sin embargo es poco probable quecualquiera de los dos cuestionarios contendraacute exactamente el mismo conjunto de preguntasen el mismo orden Asignando pruebas para ser completado antes de la conferencia losprofesores pueden estar seguros de que sus estudiantes tengan un poco de exposicioacuten almaterial Esto permite una mayor discusioacuten el diaacutelogo y la participacioacuten en el aula y haceel aprendizaje maacutes divertido (de verdad)

2 Video LecturesUna serie de conferencias de viacutedeo de 10 minutos sobre una variedad de temas de QuiacutemicaGeneral es accesible desde la paacutegina principal Los videos estaacuten disentildeados para reforzar lospuntos principales que se presentan en muchos libros de texto

3 HoweworksLas tareas estaacuten disentildeadas para dar a los estudiantes la praacutectica en la resolucioacuten de proble-mas cuantitativos que tienen respuestas numeacutericas Cada alumno puede descargar la tareatrabajar los problemas y presentar las respuestas en liacutenea Respuestas son juzgados a sercorrecta si la solucioacuten numeacuterica de acuerdo con la solucioacuten que se encuentra en la base dedatos dentro de una tolerancia especicada (indicado para cada problema) El sitio informaa los estudiantes que las respuestas son correctas para que puedan rehacer problemas malresueltos y volver a presentar las respuestas Cada problema se basa en una plantilla queatrae paraacutemetros al azar por lo que la respuesta correcta es diferente para cada estudianteEsto hace que sean adecuadas para la colaboracioacuten y el trabajo en grupo porque a pesarde que el grupo puede trabajar para encontrar un algoritmo correcto para resolver un prob-lema cada estudiante tendraacute que usar el algoritmo para encontrar la solucioacuten detallada asu propio problema

4 Practice ExamsLos estudiantes pueden realizaar exaacutemenes de praacutectica cronometrados que muestran laspreguntas de un grupo de 3 o maacutes temas Cada examen estaacute disentildeado para tardar unos60 minutos o menos e incluye una seleccioacuten de 10 preguntas Las praacutecticas de exaacutemenespueden repetirse cuantas veces se desee Las preguntas numeacutericas son parametrizadas loque es muy poco probable que un estudiante realice alguna vez dos exaacutemenes de praacutecticaideacutenticos

5 Portofolio PageCada estudiante puede acceder a una paacutegina que le da la puntuacioacuten obtenida en cada prue-ba y la asignacioacuten de tareas Los estudiantes que son miembros de un grupo tienen unapaacutegina de resultados asociados a las tareas de grupo Hay una paacutegina de carpeta separadaque contiene un resumen de todas las actividades realizadas en ChemVantage incluyendovideos vistos cuestionarios completados resolver problemas con la tarea y la praacutectica deexaacutemenes completados Las puntuaciones en los exaacutemenes de praacutectica son desagregadospara revelar fortalezas y debilidades estudiantes por temas

Hemos procedido a darlo de alta en LTI como hicimos con Wordpress Entramos en Moodle co-mo Administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

Figura 511 Correo de Chuck Wight

-LTI quedando como resultado la siguiente hoja de paraacutemetros gura 512

El siguiente paso seraacute antildeadir la herramienta dentro de nuestro curso para ello pulsaremos sobreAntildeadir una actividad o un recurso Deberemos seleccionar External Tool y rellenamos las op-ciones de la herramienta seleccionando como Tipo de herramienta externa la opcioacuten creada enel apartado de LTI de Moodle

Una vez congurado la herramienta en Moodle podemos entrar para realizar una personalizacioacutende la herramienta gura 513 esta consiste en indicar si el alumno cuando se conecta realiza undeterminado tarea o puede elegir navegar por la web de ChemVantage para poder disfrutar dela cantidad de recursos que se encuentran disponibles

Cuando el usuario pulsa sobre la opcioacuten de esta herramienta externa en Moodle lo primero quese le muestra es la informacioacuten sobre su perl en Chemvantage 514Como hemos visto en los paraacutemetros de conguracioacuten existe la posibilidad de llamar a unaherramienta externa incrustaacutendola dentro de Moodle o abrieacutendolo en una paacutegina web nuevaCon esta segunda opcioacuten no hemos conseguido que funcione correctamente la importacioacuten de lasnotas En cambio si la herramienta externa estaacute incrustada permite esa vinculacioacuten

Figura 512 Conguracioacuten de paraacutemetros LTI

Figura 513 Opciones de inicio de la herramienta

Figura 514 Pantalla de utilizacioacuten de la herramienta por el usuario

Capiacutetulo 6

Middleware

61 Introduccioacuten

La uacuteltima opcioacuten seriacutea utilizar una arquitectura middleware de integracioacuten que permita la inte-gracioacuten ligera de muacuteltiples herramientas existentes en el Moodle

62 GluePS

GLUE-PS es una arquitectura de middleware que permite una interoperabilidad ligera entrelos diferentes lenguajes de disentildeo de aprendizaje y diferentes entornos de aprendizaje virtualEsta interoperabilidad permite a los maestros y otros profesionales que particularicen (es decirpara personalizar el disentildeo de aprendizaje abstractoa la clase particular los participantes y laeleccioacuten de los instrumentos en los que va a ser promulgada) desplieguen (es decir para crearde forma semiautomaacutetica las actividades necesarias en el VLE recursos etc para la aprobacioacutendel disentildeo particularizado) e incluso para llevar a cabo ciertos cambios en el tiempo de ejecucioacuten(por ejemplo modicar la composicioacuten del grupo agregar o quitar recursos de las actividadesetc) Todo esto a partir de disentildeos en distintos lenguajes de disentildeo de aprendizaje tales como laespecicacioacuten IMS-LD aprendizaje

Por otra parte GLUE-PS tambieacuten permite desplegar y gestionar disentildeos de aprendizaje en en-tornos virtuales de aprendizaje que integren herramientas de aprendizaje externos (tales comointegrar en Moodle herramientas como Google Docs y muchos otros) - lo que llamamos Am-bientes de Aprendizaje Distribuido (DLE Distributed Learning Enviroments) Esto se consiguegracias a la arquitectura de GLUE para la integracioacuten de los entornos virtuales de aprendizajey herramientas externas

621 Instalacioacuten

Para realizar la instalacioacuten de GLUE-PS nos hemos descargado el software necesario de la webde los desarrolladores1 descargando la opcioacuten de autenticacioacuten centralizada La instalacioacuten haconstado de tres partes que pasaremos a describir a continuacioacuten

1httpwwwgsicuvaesglue

49

Figura 61 Arquitectura de GLUE

La primera parte consiste en la instalacioacuten del GLUEletManager y los adaptadores GSIC toolAunque el sistema viene preparado para Linux o Windows siendo Windows la explicacioacuten quevamos a desarrollar por estar utilizando este sistema operativo con Xampp

1 Crear el directorio GLUE_ HOME El cual hemos creado para mayor comodidad en la raiacutezdel disco duro

2 Denir la variable del sistema GLUE_ HOME con el valor de la direccioacuten completa deldirectorio de GLUE del punto anterior Para ello hemos pulsado botoacuten derecho sobre MiPc Propiedad Opciones Avanzadas Variables de Entorno procediendo a pulsar el botoacutenNueva para crear la variable en cuestioacuten

3 Extraemos en el directorio del punto (1) el paquete descargado de la paacutegina de los desar-rolladores

4 Ejecutar la instalacioacuten del cheroGLUE_ HOMEbininstall gluebat para registar GLUElet-Manager y GSIC tool como un servicio de Windows Tambieacuten este paso crearaacute un cheroen GLUE_ HOMEtool_ adapteradapterdata para proveer de persistencia a los objetoscreados con el adaptador GSIC tool

A continuacioacuten daremos de alta en nuestro gestor de bases de datos un para de bases de datosque necesita GLUEletManager Para ellos seguimos los siguientes pasos

1 Abrimos la consola de phpMyaAdmin para cargar y ejecutar el chero create_ GLUE_databasessql que se encuentra en GLUE_ HOMEmanagerconfdb

2 Modicamos el chero GLUE_ HOMEmanagerconfMETA-INFpersistencexml paradarle los paraacutemetros necesarios para que JDBC se conecte a nuestra base de datos Losparaacutemetros modicados puede verse en la imagen 62

Figura 62 Paraacutemetros modicados en persistencexml

La segunda parte consiste en el registro interno de los adaptadores de las herramientas para seraccedido con GLUEletManager La distribucioacuten trae un chero para facilitar la conguracioacuten delos adaptadores que trae consigo y para su instalacioacuten deberemos ejecutar el chero GLUE_HOMEmanagerconfdbll _ internal_ Registrysql Alguna de las herramientas necesitanuna conguracioacuten maacutes completa como puede ser Google Docs adapter que necesita una cuentade Gmail para poder crear documentos en Google Docs por lo que deberemos modicar el nom-bre de usuario y contrasentildea

La uacuteltima parte consiste en la instalacioacuten del adaptardor de Moodle como VLE utilizado Estainstalacioacuten es como cualquier otro moacutedulo de Moodle 2 La carpeta que deberemos copiar seraacutela del adaptador correspondiente a Moodle que se encuentra en la carpeta GLUE_ HOMEvle_adpatersmoodle_ vle_ adapter Una vez entremos en nuestro Moodle como administrador nosapareceraacute un mensaje indicaacutendonos que el nuevo moacutedulo esta instalado Para congurar el nuevomoacutedulo debermos ir a Noticaciones - Modulos - Actividades como podemos ver en la gura 63para congurar los paraacutemetros la URL del GLUEletManager y el tiempo de espera

Figura 63 Paraacutemetros del moacutedulo GLUE

Cuando el profesor quiera crear una nueva actividad dependiente de los adaptadores de GLUEdeberaacute agregar una actividad maacutes pulsando para ello en esta opcioacuten dentro del bloque deseadopara seleccionar luego el tipo de actividad GLUElet como podemos ver en la gura64

622 Creando un Doodle

El adaptador Doodle permite la creacioacuten conguracioacuten y gestioacuten de instancias del Doodle Cadaencuesta Doodle es considerado un instancia diferente Ademaacutes este adaptador permite realizarademas la conguracioacuten inicial de encuestas Doodle incluyendo el nombre de la encuesta unadescripcioacuten y un conjunto de posibles respuestas

A continuacioacuten antildeadiremos Doodle en un bloque de Moodle para ellos pulsaremos la opcioacuten deAgregar actividad GLUElet lo cual nos mostraraacute la paacutegina65 donde deberemos rellenar comomiacutenimo el nombre de la actividad y el tipo de herramienta seleccionado en este caso Doodle(httpdoodle-testcom)

2httpdocsmoodleorgenInstalling_contributed_modules_or_plugins

Figura 64 Creando una actividad GLUElet

La primera vez que pulsemos sobre la nueva actividad creada apareceraacute un pantalla 66 dondepodemos congurar diferentes elementos de la encuesta desarrollada con Doodle como son eltiacutetulo una pequentildea descripcioacuten y luego las opciones posibles con un liacutemite de 10

El resultado nal seraacute la incrustacioacuten de una encuesta Doodle dentro de nuestro Moodle comopodemos ver en la gura67

Figura 65 Antildeadiendo Doodle como actividad

Figura 66 Opciones iniciales de conguracioacuten de Doodle

Figura 67 Doodel dentro de Moodle

Capiacutetulo 7

Conclusiones Finales

71 Conclusiones Finales

El proyecto actual nos ha servido para acercarnos a las diferentes tecnologiacuteas que permiten lacomunicacioacuten entre Servicios Webs Hemos desarrollado una primera labor de investigacioacuten queha requerido el aprendizaje de diferentes herramientas de control de documentacioacuten y referenciascomo Zotero y Mendeley

La documentacioacuten recabada en el proceso inicial de revisioacuten de documentos nos ha aportadoun visioacuten general de los diferentes sistemas virtuales de aprendizaje que podemos encontrarnosmuchos de ellos gratuitos y las diferentes soluciones que se plantean a la necesidad de incluirrecursos de otros fabricantes que en principio no fueron concebidos para ser utilizados dentro deuna plataforma VLE

Para poner en praacutectica la diferentes opciones encontradas se han montado diferentes maacutequinasvirtuales sobre las que se han probado las mismas Las conclusiones nales se pasan a detallar

IMS LTIEsta solucioacuten de integracioacuten mediante el cumplimiento de unos protocolos y certicacionesde las herramientas que lo cumplen es en principio la que podriacutea parecer la mejor opcioacutenpero la falta de compromiso de los diferentes fabricantes de Servicios Web y la luchapara imponer sus propios estaacutendares hace que aun quede mucho para que esta opcioacuten seacomo tal real

Si vemos el nuacutemero de aplicaciones certicadas para usar IMS LTI apenas superan las 50 yla mayoriacutea solo cumple la especicacioacuten v10 lo cual signica que la integracioacuten solo solu-ciona el problema de llamar a un recurso externo desde Moodle Pocas son las que cumplenla v11 que permite obtener en Moodle una valoracioacuten de los ejercicios desarrollados en unaactividad externa

La versioacuten v20 que daraacute maacutes opciones a la hora de interactuar con actividades externasauacuten esta en desarrollo y nada se sabe sobre posibles fechas para su presentacioacuten Luegocerticacioacuten de herramientas etc

55

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 23: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

Figura 27 Orquestacioacuten y Coreografiacutea de Servicios Web

232 Estaacutendares de Orquestacioacuten de Servicios Web

WS BPEL( Web Service Business Process Execution Language)Es un lenguaje de orquestacioacuten estandarizado porOASIS (Organisation for Advance Struc-tured Information Business Transaction Protocol) para la composicioacuten de servicios Web quepermite a los desarrolladores crear programas que automatizan las interacciones entre losservicios Web jugando un papel clave en las arquitecturas orientadas a los servicios SOAPara comprender su funcionamiento imaginemos un proceso de negocio determinado quetiene una entrada A y una salida B Dicho proceso como la mayoriacutea de ellos posee a suvez de muchos procesos internos que se van activando de acuerdo a ciertos paraacutemetros yvalores BPEL seriacutea el encargado de orquestar y por lo tanto dirigir la ejecucioacuten de unamanera ordenada La ventaja de que BPEL sea un estaacutendar radica en que puede ser imple-mentado en una gran variedad de motores de ejecucioacuten de diferentes proveedores BPELen si es un formato XML que proviene de la convergencia entre el WSFL (Web ServiceFlow Language) de IBM y XLANG de Microsoft La herramienta BPEL estaacute basada en unmodelo llamado Workow que especica las oacuterdenes de ejecucioacuten Existen actividadesbaacutesicas como iumlnvoke y receive y otras estructuradas como sequence Tambieacuten formanparte del modelo variables y participantes (partners) En las variables se deposita la nocioacutende datos y los participantes representan los elementos que interactuacutean en la composicioacutenEl modelo se completa como un motor que orquestaraacute las invocaciones

BPML (Business Process Modeling Language)Es un metalenguaje basado en XML para la descripcioacuten de procesos de negocio Inicial-mente BMPL se disentildeoacute para soportar los procesos que un sistema de gestioacuten de procesosde negocio pudiera ejecutar BPML dispone de estructuras similares a BPEL como puedenser actividades baacutesicas para el enviacuteo y la recepcioacuten de mensajes y para la invocacioacuten deservicios Adicionalmente BPML permite planicar las tareas para que se ejecuten eninstantes especiacutecos ofreciendo algunas opciones de control temporal Este lenguaje in-cluye caracteriacutesticas para dar soporte a la persistencia ya que fue disentildeado para la gestioacutende procesos de larga duracioacuten BPML ofrece soporte tambieacuten para realizar composicionesrecursivas a n de poder construir procesos de negocio que a su vez consten de otros sub-procesos Asimismo soporta transacciones de larga o corta ejecucioacuten gracias a que usa unateacutecnica similar a BPEL para controlar el alcance de las actividades y gestionar de esta

forma las reglas de compensacioacuten en caso de que las operaciones que deben realizarse deforma automaacutetica se vean interrumpidas

233 Estaacutendares de Coreografiacutea de los Servicios Web

WS-CDL (Web Services Choreography Description Language)Es un lenguaje basado en XML que describe la colaboracioacuten entre pares peer to peemediante la denicioacuten - desde un punto de vista global de los comportamientos comunes yobservables de cada participante de un proceso de negocio Eacuteste es un lenguaje utilizadopara la denicioacuten de servicios dentro de la plataforma SOA y cuyo objetivo es la descrip-cioacuten del comportamiento de cada uno de los servicios establecidos para lograr un objetivocomuacuten Sin embargo antes de WS-CDL ya existiacutea un lenguaje que permitiacutea la descripcioacutende las funcionalidades de un Servicio Web WSDL (Web Services Denition Language)el cual puede describir el conjunto de funciones ofrecidas con los posibles fallos que po-driacutean ocurrir y a pesar de que WS-CDL podriacutea expresar las coreografiacuteas de un servicioen un ambiente SOA W3C (World Wide Web Consortium) abandonoacute su desarrollo en 2009

WSCI (Web Service Choreography Interface)La especicacioacuten de WSCI fue desarrollada por diversas compantildeiacuteas como Sun SAP BEAe Intalio y representa una extensioacuten para WSDL para la colaboracioacuten La especicacioacuten de-ne la coreografiacutea global o el intercambio de mensajes entre los diferentes tipos de softwarey soporta su correlacioacuten reglas de secuenciacioacuten manejo de excepciones transacciones ycolaboracioacuten dinaacutemica WSCI soacutelo describe el comportamiento observable entre el softwareque se emplea Una coreografiacutea WSCI constaraacute de un conjunto de interfases WSCI unapor cada uno de los servicios que participen en la interaccioacuten

24 Moodle

El software de coacutedigo abierto (Open-Source Software-OSS) esta siendo ampliamente de-sarrollado ofreciendo nuevas alternativas y posibilidades hasta hace poco inimaginablesMoodle es un claro ejemplo siendo uno de los programas maacutes ampliamente adoptados porcolegios institucioacuten universidades etc Como podemos ver en la gura 28 el nuacutemero deusuarios registrados y los idiomas en los que se encuentra disponible dan muestra de sugran difusioacuten Algunas de las razones mas importante para su eleccioacuten son

Figura 28 Moodle - Abril 2013

bull Moodle es OSS lo cual signica que los usuarios pueden descargarlo libremente usarlomodicarlos e incluso redistribuirlo seguacuten los teacuterminos GNU 3

bull La losofiacutea planteada por Moodle incluye una aproximacioacuten constructiva basada enel constructivismo social de la educacioacuten enfatizando que los estudiantes (y no soacutelolos profesores) pueden contribuir a la experiencia educativa en muchas formas

bull Compatibilidad con maacutes de 70 idiomas diferentes

bull Una excelente documentacioacuten soporte para seguridad y administracioacuten

bull No requiere modicaciones en el sistema operativo pudiendo ser ejecutado en un en-torno Linux Windows Mac OS o cualquier otro siempre que soporten PHP

bull La informacioacuten esta soportada por una simple base de datos

Ademaacutes su sencilla aplicacioacuten en entorno web que utiliza tecnologiacuteas ya ampliamenteprobadas sus mecanismos de extensioacuten maacutes faacuteciles en comparacioacuten con otros VLEs y laexistencia de una gran cantidad de documentacioacuten de desarrollo han impulsado la creacioacutende una gran comunidad de personas que contribuyen a la mejora de Moodle Esta comu-nidad estaacute en constante desarrollo de nuevas caracteriacutesticas y aplicaciones a traveacutes decientos de plugins que pueden ser descargados desde su la web de Moodle y asesoran tantoa otros desarrolladores como usuarios nales

La primera versioacuten de Moodle (10) fuel lanzada en 2002 como parte de la investigacioacuten deMartin Dougiamas del uso del software de coacutedigo abierto para la ensentildeanza y el aprendizajecon las comunidades basadas en Internet[Dougiamas and Taylor 2000] Actualmente seencuentra disponible la versioacuten 243+ como estable y la beta de la versioacuten 25

En cuanto a la parte teacutecnica Moodle estaacute desarrollado en lenguaje PHP como la mayoriacuteade los VLEs utiliza una arquitectura cliente-servidor comuacuten de tres capas CORREGIRLa capa de presentacioacuten dene como la informacioacuten se presenta a los usuarios nales quetienen acceso a esa informacioacuten a traveacutes de sus navegadores web La Capa de loacutegica de ne-gocios se encarga de las relaciones con Moodle el acceso a la capa de datos por lo generala traveacutes de MySQL para almacenar y recuperar la informacioacuten cuando sea necesario

Moodle se distribuye en un solo paquete multiplataforma que incluye PHP MySQL yApache HTTP Server para facilitar los procesos de instalacioacuten y conguracioacuten La dis-tribucioacuten actual de Moodle cumple con varios estaacutendares educativos Por ejemplo Moodlepuede manejar ADL SCORM paquetes que contienen recursos aislados o cursos completosEn cuanto a los estaacutendares IMS Moodle soporta IMS Content Packaging (IMS CP) IMSCommon Cartridge (IMS CC)IMS pregunta y Test Interoperability (IMS QTI) y estaacuteconsiderado como uno de los VLEs compatible con Basic LTI

241 otras plataformas

No podemos dejar de lado otros escenarios educativos que han ido apareciendo en los uacutelti-mos antildeos a pesar del gran eacutexito de los VLEs Algunos ejemplos de estas plataforma son

3httpsmoodleorg

bull Wikis (Ej MediaWiki) Son sistemas software que permiten la creacioacuten y gestioacutende contenidos estructurados mediante paacuteginas web relacionadas entre siacute El contenidosuele estar editado por varios usuarios que trabajan de manera colaborativa pudiendoincluir enlaces a recursos externos

bull Sitios de redes sociales (Ej Facebook) Son sistema en liacutenea donde los usuariospueden crearse sus propios perles y crear una red personal que les mantendraacute conec-tado con otros usuarios Estos sistemas han proliferado en los uacuteltimos antildeos llegando amillones de usuarios No suelen necesitar un administrador pues se utilizan medianteentorno web y son alojados por el propio proveedor Su gran adopcioacuten y el enfoquea las interacciones sociales es lo que ha llevado a muchos profesor a utilizarlo comoherramienta de aprendizaje Estos sitios permiten la creacioacuten y mantenimiento degrupo mediante el perl de usuario pero no estaacuten disentildeados para seguir un enfoquepedagoacutegico

bull Personal Learning Environment - PLE (Ej Southampton) Son denidos comosistemas de software que permiten al estudiante a tomar el control y la gestioacuten de suspropio aprendizaje Se caracterizan por la por la participacioacuten directa de los alumnosen el acceso agregacioacuten conguracioacuten y manipulacioacuten de herramientas y recursos adiferencia de los VLEs done es el educador el que selecciona y gestiona los recursosque el alumno debe utilizar

Muchas de estas herramientas son de coacutedigo libre y abierto Su funcionalidad respecto ala gestioacuten de actividades grupos funciones y herramientas es limitado siendo en algunoscasos inexistente Ninguna de estas plataformas se puede considerar un VLE ya que nosson sistemas centrados en el educador sin embargo pueden apoyar la integracioacuten de apli-caciones externas en entornos de aprendizaje colaborativo

Capiacutetulo 3

Organizacioacuten y Sistema Inicial

A continuacioacuten pasamos a detallar las distintas actividades de la que consta el proyecto quehemos llevado a cabo durante estos meses

31 Lanzamiento del proyecto

Esta actividad consisten en la eleccioacuten de una de las diferentes posibles aacutereas de desarrollo deproyectos que ofrece la UOC siendo la elegida Aplicaciones Web para trabajo colaborativo

32 Denicioacuten del proyecto

El proyecto queda denido en el presente documento siendo el tiacutetulo del mismo Orchestationand Coreography of Web Services on Moodle - Revisioacuten Sistemaacutetica de la literatura

[Duracioacuten] 27-02-2013 al 03-03-2013

33 Anaacutelisis de requisitos

Nos centraremos en la fase de planicacioacuten que incluye los objetivos de la investigacioacuten y la formaen que se llevaraacute a cabo la revisioacuten

[Duracioacuten] 04-03-2013 al 03-06-2013

331 Cuestiones Realizadas

El primer paso en la fase de planicacioacuten seraacute denir los objetivos principales de esta revisioacutensistemaacutetica de la literatura Estos objetivos son analizar el estado del arte de la coreografiacutea yorquestacioacuten de los servicios web en Moodle como LMS

332 Fuentes de datos y buacutesqueda

Utilizaremos diferentes libreriacuteas o espacios digitales para realizar las buacutesquedas las mismas serealizaraacuten en ingleacutes y espantildeol Las libreriacuteas principales utilizadas son

IEEEXplore [IEEEX] httpieeexploreieeeorg

21

Science Direct [SD] httpwwwsciencedirectcom

SpringerLink [SL] httpwwwspringerlinkcom

Paralelamente a Science Direct se han realizado buacutesquedas en Scopus1 de Elsevier y GoogleScholar2 de Google

333 Criterios de inclusioacuten y exclusioacuten

Las buacutesquedas que se realicen intentaraacuten abarcar todo el aacutembito de cuestiones del SLR pero esposible (y de hecho ocurre) el resultado contenga referencias publicaciones estudios o en generalinformacioacuten que no sirve Para ello seraacute necesario denir criterios de inclusioacuten y exclusioacuten loscual haremos basaacutendonos en la guiacutea [Kitchenham 2007]

334 Asegurar la calidad

Despueacutes de obtener un numero considerable de trabajos o estudios que satisfacen los criteriosde inclusioacuten y exclusioacuten se deberaacute ser capaz de asegurar o armar cuales son los que cumplencon una miacutenima calidad y si son vaacutelidos o no para el estudio en si Es baacutesico poder analizar queacuteestudios son mejores que otros en teacuterminos de calidadSiguiente [Kitchenham 2007] se deniraacuten preguntas y cuestiones que permitan asegurar dichacalidad

335 Extraccioacuten de datos y anaacutelisis

Los criterios de inclusioacuten y exclusioacuten junto con las preguntas orientadas a asegurar la calidadnos serviraacuten para obtener todos los artiacuteculos y estudios que se analizan en este estudioDe cada artiacuteculo se recogeraacute titulo y autores abstract publicacioacuten y antildeo de publicacioacuten

336 Fase de revisioacuten

Esta fase de planicacioacuten seraacute denir el proceso de conducir o dirigir la revisioacuten Para elloutilizaremos tres fases como podemos ver en la gura 31 de la paacutegina 23

337 Fase de Pruebas

Se realizan pruebas con la informacioacuten obtenido montado maacutequinas virtuales para realizar lasmismas En estas se han probado las diferentes opciones de comunicacioacuten que nos ofrece Moodle

1httpwwwscopuscom2httpscholargooglecom

Figura 31 Proceso para dirigir la revisioacuten

34 Calendario de Trabajo

Podemos ver en el siguiente diagrama de Gantt32 la distribucioacuten de trabajos en el tiempo elmismo seraacute modicado para ajustarlo a las variaciones producidas durante el desarrollo de lastareas que contempla

35 Hitos principales

Los principales hitos seraacuten

Lanzamiento del proyecto Se dene correctamente en que va consistir el proyecto

Denicioacuten de cuestiones para la buacutesqueda Donde se detallaraacuten las cuestiones quemarcaran el desarrollo del resto del proyecto

Comprobacioacuten de resultados Se deberaacuten criba los mismo para no obtener duplicadoso informacioacuten ajena a la investigacioacuten

Revisioacuten de informacioacuten obtenida Una vez obtenida la informacioacuten y analizada deberaacuteser revisada para su presentacioacuten

Figura 32 Diagrama de Gantt

36 Instalacioacuten base

Para llevar a cabo las pruebas se ha optado por la creacioacuten de una maacutequina virtual sobre VirtualBox 3 en la cual hemos instalado Windows XP como sistema operativo Este sistema es maacutesligero a la hora de trabajar en maacutequinas virtuales pues requiere menos recursos que las versionesposteriores del mismos sistema

El siguiente paso era la instalacioacuten de Moodle Aunque se dispone de un instalador para Win-dows se ha optado por la descarga e instalacioacuten de XAMPP 4 y su y su posterior conguracioacutenen la maacutequina virtual XAMPP es un servidor independiente de plataforma software libre queconsiste principalmente en la base de datos MySQL el servidor web Apache y los inteacuterpretespara lenguajes de script PHP y Perl El nombre proviene del acroacutenimo de X (para cualquierade los diferentes sistemas operativos) Apache MySQL PHP Perl

XAMPP en su versioacuten 181 incluye

Apache 243

MySQL 5527

PHP 547

phpMyAdmin 3522

FileZilla FTP Server 0941

Tomcat 7030

Strawberry Perl 51611 Portable

XAMPP Control Panel 310

Hemos continuado con la descarga he instalacioacuten de Moodle y hemos querido probar las difer-encias que obtenemos entre las versiones 19x y 25 por lo que se han descargado ambas heinstalado en maacutequinas virtuales diferentes Con ello conseguiremos probar el resultado obtenidoseguacuten la versioacuten Moodle desde su versioacuten 22 ya soporta conexiones mediante IMS - LTI IMSLTI es un estaacutendar IMS Learning Tool Interoperability Esto signica que las herramientas deaprendizaje tienen ahora diversas maneras de conectarse entre sin problemas

En la praacutectica cuando un usuario se registra en una herramienta como Moodle se pueden conectara la otra herramienta como MediaWiki y autenticarse automaacuteticamente proporcionando unaexperiencia perfectaLas guras 33 y 34 nos muestran el panel de control de XAMPP una vez instalado y el panede phpMyAdmin donde hemos debido congurar las bases de datos y usuario necesarios parallevar todo el proceso de conguracioacuten de Moodle y el resto de herramientas

3httpswwwvirtualboxorg4httpwwwapachefriendsorgesxampphtml

Figura 33 Panel de control de XAMPP

Figura 34 Gestor de bases de datos phpMyAdmin

Capiacutetulo 4

Servicios Web de Moodle

41 Introduccioacuten

Moodle 2X incorpora la posibilidad de implementar Servicios Web para manejar sus funciona-lidades lo que nos permite poder acceder a acciones de actualizar y crear tareas para reejar elresultado de las actividades realizadas Moodle soporta varios protocolos (REST SOAP XML-RPC y AMF)

42 Servicios Web de Moodle

Los Servicios Web de Moodle se caracterizan por permitir el acceso desde cualquier aplicacioacutenimplementando para ello tres capas como podemos observar en la gura 41

Capa nuacutecleoLa capa del nuacutecleo estaacute compuesta de todas las funciones principales de Moodle sobreusuarios grupos cursos calendario etc Moodle no dispone de una API al uso sino queofrece diferentes funciones que han sido desarrolladas durante antildeos Por tanto las necesi-dades de los Servicios Web estaacuten obligando a rehacer estas funciones del nuacutecleo para quecomiencen a formar una API (Moodle 2X)

Capa externaLa capa externa estaacute compuesta por nuevos cheros llamados externalphp colocados porlas carpetas de Moodle y conteniendo manejadores para la capa inferior Estos manejadoresson los responsables de comprobar las capacidades paraacutemetros y llamadas correctas a lasfunciones de nuacutecleo

Capa de conectoresLa capa de conectores estaacute compuesta de diferentes conectores para las diferentes imple-mentaciones de los Servicios Web y contiene un conector REST un conector SOAP unconector XML-RPC y un conector AMF Esta capa admite plugins para ampliar los conec-tores disponibles de manera que se puedan integrar otros sistemas en Moodle utilizandootros protocolos

Los pasos para utilizar un Servicio Web con Moodle seriacutean los siguientes

1 El cliente enviacutea el nombre de usuario y contrasentildea al servidor que provee los ServiciosWeb

27

Figura 41 Capas en Moodle

2 El servidor de protocolo devuelve un token de sesioacuten para esa cuenta de usuario

3 El cliente llama a un Servicio Web especiacuteco incluyendo el token de sesioacuten

4 El servidor utiliza el token para comprobar que la sesioacuten del Servicio Web estaacute activa

5 El servidor llama a la funcioacuten correspondiente localizada en el chero externallibphp dentrodel moacutedulo especiacuteco

6 La funcioacuten externa comprueba que el usuario actual tenga los permisos sucientes pararealizar esta operacioacuten

7 La funcioacuten externa llama a la funcioacuten correspondiente del nuacutecleo de Moodle (libphp)

8 La funcioacuten del nuacutecleo puede retornar un resultado a la funcioacuten externa

9 La funcioacuten externa devolveraacute el resultado al servidor de protocolo

10 El servidor de protocolo devolveraacute el resultado al cliente

43 REST

REST (Representational State Transfer) es el acroacutenimo de Transferencia de Estado Representa-cional teacutermino usado por Roy Fielding (uno de los creadores de HTTP) para describir un estilode arquitectura que utilizar como modelo en los sistemas de computacioacuten Web No es un es-taacutendar sino un enfoque que muestra como desarrollar y proporcionar servicios en Internet portanto considerado como un estilo arquitectoacutenico para disentildeo de software a gran escala El propioautor lo dene de manera concisa en eacuteste paacuterrafo

REST es un intento de mostrar coacutemo debe comportarse una aplicacioacuten Web bien disentildeada unared de paacuteginas Web (una maacutequina de estados virtual) donde el usuario progresaraacute seleccionan-do enlaces (transiciones de estado) que devuelven la paacutegina siguiente (el siguiente estado de lamaacutequina) que el usuario manejaraacute a su gusto

Este enfoque no aporta realmente nada nuevo la mayor parte de la Web sigue este estilo arqui-tectoacutenico Sin embargo el autor hace eacutenfasis en las caracteriacutesticas concretas que han hecho quela Web triunfe que van a ser los objetivos buscados por REST y que son a su juicio

Escalabilidad en las interacciones entre componentes La red ha ido creciendo de maneraexponencial y se ha ido comportado de manera satisfactoria

Generalidad en las interfaces Se proporciona acceso con distintos clientes y con distintosmecanismos de acceso

Desarrollo independiente de componentes Implementaciones cliente y servidor pueden serdesarrolladas en distintos momentos

Existencia de componentes intermediarios con los cuales existe compatibilidad (comoproxys)que permiten encapsulacioacuten e integracioacuten de sistemas no Web dentro de la misma

431 Principios de disentildeo

Los objetivos citados van a ser conseguidos imponiendo una serie de restricciones

El estado y la funcionalidad de las aplicaciones se representan por forma de recursos

La identicacioacuten de recursos se realiza de forma uacutenica global mediante Uniform ResourceIdentiers Los recursos identicados con URIs son los objetos loacutegicos a los cuales se lesmandan los mensajes

Manipulacioacuten de recursos a traveacutes de representaciones luego no se manejan directamentelos recursos sino sus representaciones

Todos los recursos comparten un interfaz uniforme formado por

bull Un conjunto de operaciones limitado para transferir el estado Se van a aprovecharlas operaciones que HTTP dene mostradas en la gura 42

bull Un conjunto limitado de tipos de contenidos identicados mediante tipos MIME

Uso de un protocolo clienteservidor sin estado y basado en capas Cada mensaje HTTPcontendraacute la informacioacuten necesaria para comprender la peticioacuten luego como muestra lagura 43 no es necesario que eacutesta sea entendida tanto en el cliente como en el servidor

Uso de hipermedios para representar el estado de una aplicacioacuten permitiendo que el estadode una aplicacioacuten Web particular esteacute almacenado en uno o maacutes documentos de hipertextoque residen bien en el servidor o en el cliente Esto permite al servidor saber el estado desus recursos sin necesidad de almacenar el estado de los clientes concretos

Figura 42 Operaciones denidas por HTTP

Como ya se mencionoacute REST se trata de un estilo arquitectoacutenico no un estaacutendar Sin embargohace uso de varios estaacutendares Web

HTTP HyperText Transfer Protocol

Figura 43 Operaciones denidas por HTTP

URL Uniform Resource Locator como el mecanismo de indenticacioacuten de recursos

XML - HTML - PNG - etc Como distintos formatos de representacioacuten de recursos

Tipos MIME como text-xml text-html image-png etc

44 SOAP

SOAP (siglas de Simple Object Access Protocol) es un protocolo estaacutendar que dene coacutemo dosobjetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML Esteprotocolo deriva de un protocolo creado por David Winer en 1998 llamado XML-RPC SOAPfue creado por Microsoft IBM y otros y estaacute actualmente bajo el auspicio de la W3C

441 Principios de disentildeo

La funcionalidad que aporta SOAP es la de proporcionar un mecanismo simple y ligero de in-tercambio de informacioacuten entre dos puntos usando el lenguaje XML SOAP no es maacutes que unmecanismo sencillo de expresar la informacioacuten mediante un modelo de empaquetado de datosmodular y una serie de mecanismos de codicacioacuten de datos Esto permite que SOAP sea uti-lizado en un amplio rango de servidores de aplicaciones que trabajen mediante el modelo decomunicacioacuten RPC (Remote Procedure Call)

SOAP consta de tres partes como podemos ver en la gura 44

El SOAP envelope que dene el marco de trabajo que determina queacute se puede introduciren un mensaje quieacuten deberiacutea hacerlo y si esa operacioacuten es opcional u obligatoria

Las reglas de codicacioacuten SOAP que denen el mecanismo de serializacioacuten que seraacute usadopara encapsular en los mensajes los distintos tipos de datos

La representacioacuten SOAP RPC que dene un modo de funcionamiento a la hora de realizarllamadas a procedimientos remotos y la obtencioacuten de sus resultados

A la hora de realizar el disentildeo de SOAP se han tenido en cuenta una serie de consideracionescon el n de cumplir una serie de objetivos claros objetivos que le daraacuten el potencial que resideen SOAP y que le haraacuten tan atractivo Eacutestos son

Establecer un protocolo estaacutendar de invocacioacuten a servicios remotos que esteacute basado enprotocolos estaacutendares de uso frecuente en Internet como son HTTP (Hiper Text TransportProtocol) para la transmisioacuten y XML (eXtensible Markup Language)para la codicacioacutende los datos

Figura 44 Partes de SOAP

Independencia de plataforma hardware lenguaje de programacioacuten e implementacioacuten delservicio Web

El logro de estos objetivos ha hecho de SOAP un protocolo extremadamente uacutetil ya que elprotocolo de comunicacioacuten HTTP es el empleado para la conexioacuten sobre Internetpor lo que segarantiza que cualquier cliente con un navegador estaacutendar pueda conectarse con un servidor re-moto Ademaacutes los datos en la transmisioacuten se empaquetan o serializan con el lenguaje XML quese ha convertido en algo imprescindible en el intercambio de datos ya que es capaz de salvar lasincompatibilidades que existiacutean en el resto de protocolos de representacioacuten de datos de la red

Por otra parte los servidores Web pueden procesar las peticiones de usuario empleando tec-nologiacuteas tales como Servlets paacuteginas ASP (Active Server Pages) paacuteginas JSP (Java ServerPages) o sencillamente un servidor de aplicaciones con invocacioacuten de objetos mediante CORBACOM o EJB

Un ejemplo tiacutepico de disentildeo de un servicio Web utilizando las ventajas de SOAP podemos veren la siguiente gura 45

Figura 45 Ejemplo de uso de SOAP

45 AMF

AMF (Action Message Format) es un protocolo binario de Adobe que va por la versioacuten AMF3Aunque por el nombre de la versioacuten pueda parecer que existan 3 cabe destacar que soacutelo existendos AMF0 y AMF3 Una de las mayores diferencias o mejoras que aporta AMF3 es que soporta

datos binarios (ByteArray) y int datos no soportados por AMF0 debido a que en la eacutepoca queaparecioacute el formato Flash Player no soportaba estos tipos de datos

AMF3 no es un protocolo para transferir informacioacuten sino que representa el formato en el quese transmite la informacioacuten en este caso un formato binario

La versioacuten de Moodle 25 viene con Zend_ AMF pero podemos utilizar tambieacuten la libreriacuteaamfPHP

AMFPHP

Zend_ amf httpframeworkzendcommanual112enzendamfhtml

Maacutes informacioacuten en httpdocsmoodleorgdevAMFPHP

46 Conguracioacuten de Moodle Web Services

Los Servicios Web habilitan que otros sistemas puedan entrar a Moodle y realizar operacionesPasaremos a detallar los pasos necesarios para su conguracioacuten y explicaremos distintos pruebasllevadas a cabo sobre su funcionamiento Para poder consumir de manera correcta unWeb Servicede Moodle seriacutea necesario antildeadir a la url que vamos a formar los paraacutemetros oportunos paralograr consumir el Web Service de manera satisfactoria Una vez antildeadidos ya podriacuteamos invocarla funcioacuten seleccionada

461 Activando los Servicios Web

Lo primero que debemos hacer es activar la opcioacuten general que habilita el uso de los serviciosweb En la gura 46 podemos observar la opcioacuten para la activacioacuten de este servicio para ello nosiremos a la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Servicios Externos

Figura 46 Activacioacuten Servicios Web

Esto solo es una opcioacuten a nivel global necesitando ahora activar los protocolos de comunciacionesque vamos a utilizar para ello deberemos ir a la opcioacuten textitAdministracioacuten del Sitio - Exten-siones - Servicios Web - Administrador de protoclos donde encontraremos las diferente opcionesque nos existen En la gura 47 podemos ver la pantalla de nuestra conguracioacuten con todos losprotocolos activados

Una vez activada la opcioacuten de Servicios Externos y seleccionados los protocolos que utilizaremosnecesitamos crear un Servicio Personalizado que no es maacutes que una etiqueta que aglutina los

Figura 47 Activacioacuten Protoclos

Servicios Web que ofrece Moodle y que pueden ser utilizados por los servicios externos Para ellodeberemos darle a la opcioacuten Agregar dentro de la opcioacuten Administracioacuten del Sitio - Extensiones- Servicios Web - Servicios Externos Como prueba habilitaremos un servicio llamado Uso_Servicio_ Web cuya creacioacuten podemos ver en la gura 48

Figura 48 Creacioacuten Servicio Personalizado

Una vez creado el Servicio Personalizado deberemos agregarle las funciones que queramos lesean permitidas pudiente tener maacutes de una En la gura 49 vemos como asociamos la creacioacutende usuarios al Servicio Personalizado

Terminado esto deberemos tener en el listado que nos muestra Moodle de Servicios personaliza-dos algo como lo mostrado en la gura 410

El siguiente paso es conceder los permisos apropiados para que este Servicio Personalizado puedeser usado por los usuarios pare ello debemos primero especicar quienes son los Usuarios au-torizados para ello en la linea de la lista de Servicios Personalizados deberemos pulsar sobre laopcioacuten usuarios autorizados donde apareceraacute una pantalla como 411 donde podremos escogerlos usuarios de los que se encuentran dados de alta en nuestro sistema

Y para terminar aunque este paso podriacutea ser realizado por el propio usuario si tuviera el per-miso de moodlewebservicecreatetoken seraacute la creacioacuten de un token el cual va ser la opcioacuten quevamos a utilizar para las pruebas de los Servicios Web de Moodle Para la creacioacuten del mismodeberemos entrar en la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Admin-istrar tokens y pulsar la opcioacuten Agregar para antildeadir un token nuevo como podemos apreciar en

Figura 49 Agregando funciones al Servicio Personalizado

Figura 410 Listado de Servicios Personalizados

la gura 412 teniendo la precaucioacuten de escoger como Servicio el Servicio Personalizado creadocon anterioridad Uso_ Servicio_ Web

En esta pantalla podemos poner varios tipos de restricciones

Restriccioacuten de IP Donde podemos indicar la direccioacuten IP desde donde

Restriccioacuten de Fecha Se puede denir hasta cuando seraacute valido este token siendo unabuena manera de poder probar cosas y no dejar puertas abiertas por error

En la gura 413 podemos ver el token asignado por el sistema para nuestro Servicio Personalizadoy que procederemos a utilizar para comprobar el funcionamiento de los Servicios Web de Moodle

462 Pruebas cliente Servicio Web

Procederemos ahora a desarrollar pruebas que utilicen los Servicios Personalizados creado Sepodriacutean haber utilizado el Cliente de prueba de servicio web que incorpora Moodle dentro dela opcioacuten Administracioacuten del Sitio - Desarrollo - Cliente de prueba servicio web pero hemosdecidido implementar una Web para comprobar la facilidad del funcionamiento del sistema y losdistintos resultados obtenidos seguacuten el protocolo utilizado

Utilizaremos la libreriacutea cURL de PHP cURL es una herramienta que permite abrir conexionesen una amplia variedad de protocolos y que estaacute disponible tanto como herramienta de consola(para ejecutar directamente con comandos) como en libreriacutea (para usar en vuestro coacutedigo) y quepermite hacer praacutecticamente todo manejo de cookies descarga de cheros binarios enviacuteos de

Figura 411 Alta de Usuarios Autorizados

Figura 412 Creacioacuten de Tokens

paraacutemetros GET y POST etc

La web creada para la introduccioacuten 414 de los usuarios seraacute equivalente para todos los procesosprocesos siendo el programa que da respuesta al formulario el que implemente la funcioacuten nece-saria para la introduccioacuten de los datos en Moodle

Los resultados de REST pueden mostrar los resultados del alta de dos maneras diferentes unaen formato XML como podemos ver en la gura 415 y otro en formatox JSON tambieacuten po-dremos ver en la gura Los resultados obtenidos tambieacuten pueden verse en el la gura 416

Figura 413 Lista de Tokens

Figura 414 Web de alta de usuarios

Figura 415 Resultado de REST en formato XML

Figura 416 Resultado de REST en formato JSON

Capiacutetulo 5

Herramientas Externas

51 Introduccioacuten

Las versiones de Moodle desde la 22 vienen con IMS LTI o External Tool de manera integradaEn versiones anteriores era necesario la instalacioacuten de plugins como LTI Provider (maacutes informa-cioacuten en la web de Moodle1 IMS LTI es un estandar de IMS learing2 para la interoperabilidadde herramientas Esto signica que las herramientas de aprendizaje tienen ahora un mecanismopara jar el modo en que pueden conectarse entre ellas sin problemas

En la praacutectica cuando un usuario se registra en Moodle puede conectarse a otras herramientascomo Wikis o Blogs y autenticarse de manera automaacutetica en estas

52 Estaacutendares IMS

Actualmente se realizan esfuerzos para la integracioacuten de servicios a una plataforma virtual deaprendizaje mediante un mecanismo reutilizable independiente del tipo de plataforma El IMSGlobal Learning Consortium viene desde hace tiempo trabajando en este enfoque IMS GLCpresenta un conjunto de estaacutendares que promueven el uso de servicios de aprendizaje digitales(Digital Learning Services) dentro de las plataformas de aprendizaje tradicionales IMS DigitalLearning Services estaacute integrado por los siguientes estaacutendares principales IMS Common Car-tridge [ims a] IMS Learning Tool Interoperability [ims c] y IMS Learning Information Services[ims b]

El IMS Learning Tool Interoperability es una especicacioacuten para facilitar la inclusioacuten de her-ramientas externas dentro de un curso El administrador de la plataforma de aprendizaje ges-tiona los servicios que podraacuten ser consumidos por la plataforma el docente decide que serviciosutilizaraacute en su curso y el estudiante hace uso de los mismos IMS LTI permite que distintos LMSconsuman un mismo servicio el cual no fue implementado teniendo en cuenta el tipo de LMSsino la implementacioacuten del estaacutendar desde el lado del proveedor

El enfoque del IMS LTI estaacute dirigido a la creciente demanda de un mecanismo reutilizable para laintegracioacuten de herramientas de terceros en el nuacutecleo de las plataformas LMS Estas herramientas

1httpsmoodleorgpluginsviewphpplugin=local_ltiprovider2httpwwwimsglobalorgtoolsinteroperability2cfm

37

pueden agregar funcionalidad especializada a los LMS El enfoque ofrece una solucioacuten basada enWeb Services igualmente aplicable a distintos lenguajes de programacioacuten

Las versiones del LTI son

LTI v10 ( LTI Basic ) ( publicado en mayo de 2010 ) proporciona un meacutetodo sencillopero estaacutendar para establecer una conexioacuten segura a una herramienta desde el interior deun consumidor de herramientas El lanzamiento de este enlace permite una experienciade aprendizaje sin problemas para los estudiantes que acceden a las aplicaciones ricas queparecen tener lugar dentro del ambiente de aprendizaje Versioacuten 10 es el primer paso en eldesarrollo continuo de LTI Figura 51

LTI v11 ( publicado en marzo 2012 ) antildeade la posibilidad de pasar de nuevo un resultadode la herramienta al Consumidor de herramientas Esto permite que los estudiantes recibenuna calicacioacuten o puntuacioacuten de su interaccioacuten con la aplicacioacuten de aprendizaje

LTI v111 ( publicado en julio de 2012 ) incluye soporte para el papel Mentor que se puedeutilizar para representar a un padre tutor o auditor

LTI v20 Aun en estado de desarrollo y proporciona una plataforma maacutes sosticado y ex-tensible para permitir integraciones maacutes profundas y un mayor apoyo para los serviciosy eventos LTI 2 se basa en LTI 1 mediante la incorporacioacuten de maacutes sosticada resulta-dos de informes y una rica arquitectura de extensiones que permite servicios adicionalesque se antildeadiraacuten gradualmente LTI 2 utiliza REST y JSON-LD para ofrecer esta nuevafuncionalidad

Figura 51 Esquema LTI Baacutesico

En la gura 52 podemos observar como se podriacutean utilizar las ventajas de LTI por parte decada unos de los actores a lo largo de la vida de la aplicacioacuten de servicios externos dentro de unaplataforma de aprendizaje

En la paacutegina web de IMS3 podemos encontrar una relacioacuten de aplicaciones certicadas comocompatibles con el estaacutendar LTI indicando la versioacuten del LTI que cumplen En la gura 53podemos ver las aplicaciones certicadas por UOC y en la gura 54 la informacioacuten sobre una deestas herramientas

3httpwwwimsglobalorgccalltoolscfm

Figura 52 Esquema utilizacioacuten LTI

Figura 53 Listado de herramientas LTI de la UOC

53 Herramientas externas en Moodle

La siguiente seccioacuten consiste en la aplicacioacuten de alguno de esto servicios externos en Moodlepara comprobar su funcionamiento Nos decantaremos para la primera prueba por WordPresspues aunque existen manuales al respecto la documentacioacuten en castellano es escasa

531 Wordpress

La versioacuten estaacutendar de Wordpress a la cual accedemos cuando nos abrimos cuenta en Wordpressno viene con las herramientas necesarias para la iteracioacuten mediante LTI por lo que procedere-mos a la instalacioacuten en nuestro servidor de Wordpress para pasar a la instalacioacuten de los pluginsnecesarios

La instalacioacuten ha consistido en la descarga de la web ocial 4 de la versioacuten 351 la cual hemoscopiado dentro del directorio htdocs de nuestra instalacioacuten de Xampp Hemos dado de alta unnuevo usuario en nuestra base de datos llamado username como podemos ver en la imagen 55 yposteriormente hemos seguido los pasos que el instalador nos iba ofreciendo para tener instalado

4httpwordpressorgdownload

Figura 54 Informacioacuten sobre la certicacioacuten

Wordpress bajo la url httplocalhostwordpress

Figura 55 Usuario de Wordpress

Deberemos congurar Wordpress para que trabaje como multisitio para lo que deberemos seguirlos pasos de conguracioacuten que podemos encontrar en la web ocial de Wordpress5 bajo el nombreCreate A Network consistente en los siguientes pasos

1 Realizar una copia de seguridad por si acaso

2 Modicar el chero wp-congphp incluyendo la siguiente linea encima de Thats allstop editing Happy blogging Multisite dene (WP_ ALLOW_ MULTISITE true)

Multisite dene (WP_ ALLOW_ MULTISITE true)

3 Installar un Network Para ello hemos de entra en la opcioacuten Administration -gtTools -gtNetwork Setup donde podremos congurar opciones sobre el nombre que queremos declararpara el nuevo sitio

4 Activar el Network para ello debemos modicar los cheros wp-congphp y htaccess porlo que seriacutea bueno que realizaacuteramos primero un copia de seguridad de los mismos Loscambios que debemos realizar son los siguientes

5httpcodexwordpressorgCreate_A_Network

En wp-congphp dene(MULTISITE true)dene(SUBDOMAIN_ INSTALL false)dene(DOMAIN_ CURRENT_ SITE localhost)dene(PATH_ CURRENT_ SITE wordpress)dene(SITE_ ID_ CURRENT_ SITE 1)dene(BLOG_ ID_ CURRENT_ SITE 1)

El chero htaccess debe quedar asiacute BEGIN WordPressltIfModule mod_ rewritecgtRewriteEngine OnRewriteBase wordpressRewriteRule icircndexphp$ - [L]

add a trailing slash to wp-adminRewriteRule ([_ 0-9a-zA-Z-]+)wp-admin1wp-admin [R=301L]

RewriteCondREQUEST_ FILENAME -f [OR]RewriteCondREQUEST_ FILENAME -dRewriteRule - [L]RewriteRule ([_ 0-9a-zA-Z-]+)(wp-(content|admin|includes)) $2 [L]RewriteRule ([_ 0-9a-zA-Z-]+)( php)$ $2 [L]RewriteRule indexphp [L]ltIfModulegt

END WordPress

5 Esto nos habraacute creado en la parte izquierda de la barra de herramientas de Wordpressuna nueva opcioacuten llamada My Sites que contendraacute un listado de los sitios de nuestroWordpress

El siguiente paso seraacute la descarga del plugin los cual podremos hacerlos desde la web de sour-forgenet 6 En esta web se detalla informacioacuten sobre el plugin y como se debe instalar Siguiendolos pasos que tenemos en el mismo procederemos a la descarga y el desplegado del mismo en lacarpeta wp-contentmu-plugins Salimos de Wordpress y volvemos a entrar como superusuariosi entramos dentro de la nueva red realizada podremos ver que dentro de LTI Consumers Keystendremos la opcioacuten LTI Consumers Keys como podemos ver en la imagen 56

Aquiacute deberemos crear la clave del consumidor del servicio y la clave secreta que nos permitiraacute aMoodle conectarse a Wordpress

Una vez que tenemos la clave secreta y del consumidor deberemos volver a Moodle entrandocomo administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

6httpsourceforgenetappsmediawikilearningappsindexphptitle=LTI4Wordpress

Figura 56 Servicios LTI en Wordpress

Figura 57 Listado de claves de LTI en Wordpress

-LTI En esta paacutegina podremos rellenar nuestras opciones

Tool Name Seraacute el nombre que tendraacute la herramienta y deberemos poner alguno indicativode la herramienta que estemos utilizando

Tool Base URL Es la direccioacuten de la herramienta en nuestro caso httplocalhostwordpress

Deberemos rellenar con los datos obtenidos en Wordpress la clave de consumidor y la clavesecreta

Es importante marcar Show tool type when creating tool instances para que aparezcaposteriormente al crear los recursos en nuestros cursos

Para poder probar el sistema hemos creado un curso dentro de Moodle llamada WordpressLTIdonde daremos de la siguiente manera de alta 59

Dentro de nuestro curso seleccionamos la opcioacuten de Edicioacuten

Pulsamos sobre Antildeadir una actividad o un recurso

Seleccionamos External Tool

Rellenamos las opciones

bull Nombre de la Actividad Cualquiera de nuestra eleccioacuten

Figura 58 Conguracioacuten LTI en Moodle

bull Tipo de herramienta externa El nombre que le pusimos a la herramienta externa enla conguracioacuten LTI de Moodle

bull Launch Container Hemos elegido la opcioacuten Incrustar para ver el resultado

Figura 59 Conguracioacuten Herramienta Externa

Una vez congurado podemos lanzar la herramienta externa teniendo como resultado la gura510

Figura 510 Wordpress integrado en Moodle

532 ChemVantage

ChemVantage es un recurso gratuito para la educacioacuten cientiacuteca que incluye ejercicios de gradoejercicios de preparacioacuten exaacutemenes de la praacutectica conferencias de video y libros de texto enliacutenea gratis Fue creado por ChemVantage LLC que fue fundada por el Prof Chuck Wight queha ensentildeado Quiacutemica General en la Universidad de Utah desde 1984 (ChemVantage 2011)

Nos hemos puesto en contacto con Chuck Wight (adminchemvantageorg) para solicitarle unaclave de consumidor y secreta para poder probar este recurso desde moodle Las opciones y elcorreo puede verse en la gura 511

Una de las cosas maacutes importantes de ChemVantage y por lo que nos hemos decidido a probar esque permite la devolucioacuten de las notas obtenidas en los ejercicios realizados en las herramientasexternas a Moodle El alumno podraacute realizar las tareas en esta herramienta externa y luego sercalicadas en Moodle

ChemVantage estaacute certicada por IMS 7 como un proveedor de herramientas LTI v11 y comotal funciona desde nuestro propio LMS para llevar a cabo la autenticacioacuten de sitios provee decuentas y devuelve resultados de asignacioacuten de estudiantes con el libro LMS grado automaacutetica-mente

Los recursos disponible son ChemVantage son principalmente los siguientes

1 QuizzesLos ejercicios presentados aquiacute estaacuten disentildeados para animar a los estudiantes a leer y en-tender los libros de texto utilizados en el curso Las preguntas se basan en material que sepresente en su mayor parte en los textos de introduccioacuten de quiacutemica Los iacutetems de preguntastienen respuestas straighforward no requieren caacutelculos detallados Las preguntas se presen-tan en varios formatos diferentes incluyendo opcioacuten muacuteltiple verdadero falso casilla devericacioacuten ll-in-the-blanco y numeacutericas Cada cuestionario se compone de 10 preguntasextraiacutedas al azar de una base de datos con muchas maacutes preguntas En el proceso de tomarvarias pruebas para mejorar sus calicaciones los estudiantes probablemente encuentran

7httpdevelopersimsglobalorgcoursechemvantagehtml

algunas preguntas repetidas de concursos anteriores sin embargo es poco probable quecualquiera de los dos cuestionarios contendraacute exactamente el mismo conjunto de preguntasen el mismo orden Asignando pruebas para ser completado antes de la conferencia losprofesores pueden estar seguros de que sus estudiantes tengan un poco de exposicioacuten almaterial Esto permite una mayor discusioacuten el diaacutelogo y la participacioacuten en el aula y haceel aprendizaje maacutes divertido (de verdad)

2 Video LecturesUna serie de conferencias de viacutedeo de 10 minutos sobre una variedad de temas de QuiacutemicaGeneral es accesible desde la paacutegina principal Los videos estaacuten disentildeados para reforzar lospuntos principales que se presentan en muchos libros de texto

3 HoweworksLas tareas estaacuten disentildeadas para dar a los estudiantes la praacutectica en la resolucioacuten de proble-mas cuantitativos que tienen respuestas numeacutericas Cada alumno puede descargar la tareatrabajar los problemas y presentar las respuestas en liacutenea Respuestas son juzgados a sercorrecta si la solucioacuten numeacuterica de acuerdo con la solucioacuten que se encuentra en la base dedatos dentro de una tolerancia especicada (indicado para cada problema) El sitio informaa los estudiantes que las respuestas son correctas para que puedan rehacer problemas malresueltos y volver a presentar las respuestas Cada problema se basa en una plantilla queatrae paraacutemetros al azar por lo que la respuesta correcta es diferente para cada estudianteEsto hace que sean adecuadas para la colaboracioacuten y el trabajo en grupo porque a pesarde que el grupo puede trabajar para encontrar un algoritmo correcto para resolver un prob-lema cada estudiante tendraacute que usar el algoritmo para encontrar la solucioacuten detallada asu propio problema

4 Practice ExamsLos estudiantes pueden realizaar exaacutemenes de praacutectica cronometrados que muestran laspreguntas de un grupo de 3 o maacutes temas Cada examen estaacute disentildeado para tardar unos60 minutos o menos e incluye una seleccioacuten de 10 preguntas Las praacutecticas de exaacutemenespueden repetirse cuantas veces se desee Las preguntas numeacutericas son parametrizadas loque es muy poco probable que un estudiante realice alguna vez dos exaacutemenes de praacutecticaideacutenticos

5 Portofolio PageCada estudiante puede acceder a una paacutegina que le da la puntuacioacuten obtenida en cada prue-ba y la asignacioacuten de tareas Los estudiantes que son miembros de un grupo tienen unapaacutegina de resultados asociados a las tareas de grupo Hay una paacutegina de carpeta separadaque contiene un resumen de todas las actividades realizadas en ChemVantage incluyendovideos vistos cuestionarios completados resolver problemas con la tarea y la praacutectica deexaacutemenes completados Las puntuaciones en los exaacutemenes de praacutectica son desagregadospara revelar fortalezas y debilidades estudiantes por temas

Hemos procedido a darlo de alta en LTI como hicimos con Wordpress Entramos en Moodle co-mo Administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

Figura 511 Correo de Chuck Wight

-LTI quedando como resultado la siguiente hoja de paraacutemetros gura 512

El siguiente paso seraacute antildeadir la herramienta dentro de nuestro curso para ello pulsaremos sobreAntildeadir una actividad o un recurso Deberemos seleccionar External Tool y rellenamos las op-ciones de la herramienta seleccionando como Tipo de herramienta externa la opcioacuten creada enel apartado de LTI de Moodle

Una vez congurado la herramienta en Moodle podemos entrar para realizar una personalizacioacutende la herramienta gura 513 esta consiste en indicar si el alumno cuando se conecta realiza undeterminado tarea o puede elegir navegar por la web de ChemVantage para poder disfrutar dela cantidad de recursos que se encuentran disponibles

Cuando el usuario pulsa sobre la opcioacuten de esta herramienta externa en Moodle lo primero quese le muestra es la informacioacuten sobre su perl en Chemvantage 514Como hemos visto en los paraacutemetros de conguracioacuten existe la posibilidad de llamar a unaherramienta externa incrustaacutendola dentro de Moodle o abrieacutendolo en una paacutegina web nuevaCon esta segunda opcioacuten no hemos conseguido que funcione correctamente la importacioacuten de lasnotas En cambio si la herramienta externa estaacute incrustada permite esa vinculacioacuten

Figura 512 Conguracioacuten de paraacutemetros LTI

Figura 513 Opciones de inicio de la herramienta

Figura 514 Pantalla de utilizacioacuten de la herramienta por el usuario

Capiacutetulo 6

Middleware

61 Introduccioacuten

La uacuteltima opcioacuten seriacutea utilizar una arquitectura middleware de integracioacuten que permita la inte-gracioacuten ligera de muacuteltiples herramientas existentes en el Moodle

62 GluePS

GLUE-PS es una arquitectura de middleware que permite una interoperabilidad ligera entrelos diferentes lenguajes de disentildeo de aprendizaje y diferentes entornos de aprendizaje virtualEsta interoperabilidad permite a los maestros y otros profesionales que particularicen (es decirpara personalizar el disentildeo de aprendizaje abstractoa la clase particular los participantes y laeleccioacuten de los instrumentos en los que va a ser promulgada) desplieguen (es decir para crearde forma semiautomaacutetica las actividades necesarias en el VLE recursos etc para la aprobacioacutendel disentildeo particularizado) e incluso para llevar a cabo ciertos cambios en el tiempo de ejecucioacuten(por ejemplo modicar la composicioacuten del grupo agregar o quitar recursos de las actividadesetc) Todo esto a partir de disentildeos en distintos lenguajes de disentildeo de aprendizaje tales como laespecicacioacuten IMS-LD aprendizaje

Por otra parte GLUE-PS tambieacuten permite desplegar y gestionar disentildeos de aprendizaje en en-tornos virtuales de aprendizaje que integren herramientas de aprendizaje externos (tales comointegrar en Moodle herramientas como Google Docs y muchos otros) - lo que llamamos Am-bientes de Aprendizaje Distribuido (DLE Distributed Learning Enviroments) Esto se consiguegracias a la arquitectura de GLUE para la integracioacuten de los entornos virtuales de aprendizajey herramientas externas

621 Instalacioacuten

Para realizar la instalacioacuten de GLUE-PS nos hemos descargado el software necesario de la webde los desarrolladores1 descargando la opcioacuten de autenticacioacuten centralizada La instalacioacuten haconstado de tres partes que pasaremos a describir a continuacioacuten

1httpwwwgsicuvaesglue

49

Figura 61 Arquitectura de GLUE

La primera parte consiste en la instalacioacuten del GLUEletManager y los adaptadores GSIC toolAunque el sistema viene preparado para Linux o Windows siendo Windows la explicacioacuten quevamos a desarrollar por estar utilizando este sistema operativo con Xampp

1 Crear el directorio GLUE_ HOME El cual hemos creado para mayor comodidad en la raiacutezdel disco duro

2 Denir la variable del sistema GLUE_ HOME con el valor de la direccioacuten completa deldirectorio de GLUE del punto anterior Para ello hemos pulsado botoacuten derecho sobre MiPc Propiedad Opciones Avanzadas Variables de Entorno procediendo a pulsar el botoacutenNueva para crear la variable en cuestioacuten

3 Extraemos en el directorio del punto (1) el paquete descargado de la paacutegina de los desar-rolladores

4 Ejecutar la instalacioacuten del cheroGLUE_ HOMEbininstall gluebat para registar GLUElet-Manager y GSIC tool como un servicio de Windows Tambieacuten este paso crearaacute un cheroen GLUE_ HOMEtool_ adapteradapterdata para proveer de persistencia a los objetoscreados con el adaptador GSIC tool

A continuacioacuten daremos de alta en nuestro gestor de bases de datos un para de bases de datosque necesita GLUEletManager Para ellos seguimos los siguientes pasos

1 Abrimos la consola de phpMyaAdmin para cargar y ejecutar el chero create_ GLUE_databasessql que se encuentra en GLUE_ HOMEmanagerconfdb

2 Modicamos el chero GLUE_ HOMEmanagerconfMETA-INFpersistencexml paradarle los paraacutemetros necesarios para que JDBC se conecte a nuestra base de datos Losparaacutemetros modicados puede verse en la imagen 62

Figura 62 Paraacutemetros modicados en persistencexml

La segunda parte consiste en el registro interno de los adaptadores de las herramientas para seraccedido con GLUEletManager La distribucioacuten trae un chero para facilitar la conguracioacuten delos adaptadores que trae consigo y para su instalacioacuten deberemos ejecutar el chero GLUE_HOMEmanagerconfdbll _ internal_ Registrysql Alguna de las herramientas necesitanuna conguracioacuten maacutes completa como puede ser Google Docs adapter que necesita una cuentade Gmail para poder crear documentos en Google Docs por lo que deberemos modicar el nom-bre de usuario y contrasentildea

La uacuteltima parte consiste en la instalacioacuten del adaptardor de Moodle como VLE utilizado Estainstalacioacuten es como cualquier otro moacutedulo de Moodle 2 La carpeta que deberemos copiar seraacutela del adaptador correspondiente a Moodle que se encuentra en la carpeta GLUE_ HOMEvle_adpatersmoodle_ vle_ adapter Una vez entremos en nuestro Moodle como administrador nosapareceraacute un mensaje indicaacutendonos que el nuevo moacutedulo esta instalado Para congurar el nuevomoacutedulo debermos ir a Noticaciones - Modulos - Actividades como podemos ver en la gura 63para congurar los paraacutemetros la URL del GLUEletManager y el tiempo de espera

Figura 63 Paraacutemetros del moacutedulo GLUE

Cuando el profesor quiera crear una nueva actividad dependiente de los adaptadores de GLUEdeberaacute agregar una actividad maacutes pulsando para ello en esta opcioacuten dentro del bloque deseadopara seleccionar luego el tipo de actividad GLUElet como podemos ver en la gura64

622 Creando un Doodle

El adaptador Doodle permite la creacioacuten conguracioacuten y gestioacuten de instancias del Doodle Cadaencuesta Doodle es considerado un instancia diferente Ademaacutes este adaptador permite realizarademas la conguracioacuten inicial de encuestas Doodle incluyendo el nombre de la encuesta unadescripcioacuten y un conjunto de posibles respuestas

A continuacioacuten antildeadiremos Doodle en un bloque de Moodle para ellos pulsaremos la opcioacuten deAgregar actividad GLUElet lo cual nos mostraraacute la paacutegina65 donde deberemos rellenar comomiacutenimo el nombre de la actividad y el tipo de herramienta seleccionado en este caso Doodle(httpdoodle-testcom)

2httpdocsmoodleorgenInstalling_contributed_modules_or_plugins

Figura 64 Creando una actividad GLUElet

La primera vez que pulsemos sobre la nueva actividad creada apareceraacute un pantalla 66 dondepodemos congurar diferentes elementos de la encuesta desarrollada con Doodle como son eltiacutetulo una pequentildea descripcioacuten y luego las opciones posibles con un liacutemite de 10

El resultado nal seraacute la incrustacioacuten de una encuesta Doodle dentro de nuestro Moodle comopodemos ver en la gura67

Figura 65 Antildeadiendo Doodle como actividad

Figura 66 Opciones iniciales de conguracioacuten de Doodle

Figura 67 Doodel dentro de Moodle

Capiacutetulo 7

Conclusiones Finales

71 Conclusiones Finales

El proyecto actual nos ha servido para acercarnos a las diferentes tecnologiacuteas que permiten lacomunicacioacuten entre Servicios Webs Hemos desarrollado una primera labor de investigacioacuten queha requerido el aprendizaje de diferentes herramientas de control de documentacioacuten y referenciascomo Zotero y Mendeley

La documentacioacuten recabada en el proceso inicial de revisioacuten de documentos nos ha aportadoun visioacuten general de los diferentes sistemas virtuales de aprendizaje que podemos encontrarnosmuchos de ellos gratuitos y las diferentes soluciones que se plantean a la necesidad de incluirrecursos de otros fabricantes que en principio no fueron concebidos para ser utilizados dentro deuna plataforma VLE

Para poner en praacutectica la diferentes opciones encontradas se han montado diferentes maacutequinasvirtuales sobre las que se han probado las mismas Las conclusiones nales se pasan a detallar

IMS LTIEsta solucioacuten de integracioacuten mediante el cumplimiento de unos protocolos y certicacionesde las herramientas que lo cumplen es en principio la que podriacutea parecer la mejor opcioacutenpero la falta de compromiso de los diferentes fabricantes de Servicios Web y la luchapara imponer sus propios estaacutendares hace que aun quede mucho para que esta opcioacuten seacomo tal real

Si vemos el nuacutemero de aplicaciones certicadas para usar IMS LTI apenas superan las 50 yla mayoriacutea solo cumple la especicacioacuten v10 lo cual signica que la integracioacuten solo solu-ciona el problema de llamar a un recurso externo desde Moodle Pocas son las que cumplenla v11 que permite obtener en Moodle una valoracioacuten de los ejercicios desarrollados en unaactividad externa

La versioacuten v20 que daraacute maacutes opciones a la hora de interactuar con actividades externasauacuten esta en desarrollo y nada se sabe sobre posibles fechas para su presentacioacuten Luegocerticacioacuten de herramientas etc

55

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 24: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

forma las reglas de compensacioacuten en caso de que las operaciones que deben realizarse deforma automaacutetica se vean interrumpidas

233 Estaacutendares de Coreografiacutea de los Servicios Web

WS-CDL (Web Services Choreography Description Language)Es un lenguaje basado en XML que describe la colaboracioacuten entre pares peer to peemediante la denicioacuten - desde un punto de vista global de los comportamientos comunes yobservables de cada participante de un proceso de negocio Eacuteste es un lenguaje utilizadopara la denicioacuten de servicios dentro de la plataforma SOA y cuyo objetivo es la descrip-cioacuten del comportamiento de cada uno de los servicios establecidos para lograr un objetivocomuacuten Sin embargo antes de WS-CDL ya existiacutea un lenguaje que permitiacutea la descripcioacutende las funcionalidades de un Servicio Web WSDL (Web Services Denition Language)el cual puede describir el conjunto de funciones ofrecidas con los posibles fallos que po-driacutean ocurrir y a pesar de que WS-CDL podriacutea expresar las coreografiacuteas de un servicioen un ambiente SOA W3C (World Wide Web Consortium) abandonoacute su desarrollo en 2009

WSCI (Web Service Choreography Interface)La especicacioacuten de WSCI fue desarrollada por diversas compantildeiacuteas como Sun SAP BEAe Intalio y representa una extensioacuten para WSDL para la colaboracioacuten La especicacioacuten de-ne la coreografiacutea global o el intercambio de mensajes entre los diferentes tipos de softwarey soporta su correlacioacuten reglas de secuenciacioacuten manejo de excepciones transacciones ycolaboracioacuten dinaacutemica WSCI soacutelo describe el comportamiento observable entre el softwareque se emplea Una coreografiacutea WSCI constaraacute de un conjunto de interfases WSCI unapor cada uno de los servicios que participen en la interaccioacuten

24 Moodle

El software de coacutedigo abierto (Open-Source Software-OSS) esta siendo ampliamente de-sarrollado ofreciendo nuevas alternativas y posibilidades hasta hace poco inimaginablesMoodle es un claro ejemplo siendo uno de los programas maacutes ampliamente adoptados porcolegios institucioacuten universidades etc Como podemos ver en la gura 28 el nuacutemero deusuarios registrados y los idiomas en los que se encuentra disponible dan muestra de sugran difusioacuten Algunas de las razones mas importante para su eleccioacuten son

Figura 28 Moodle - Abril 2013

bull Moodle es OSS lo cual signica que los usuarios pueden descargarlo libremente usarlomodicarlos e incluso redistribuirlo seguacuten los teacuterminos GNU 3

bull La losofiacutea planteada por Moodle incluye una aproximacioacuten constructiva basada enel constructivismo social de la educacioacuten enfatizando que los estudiantes (y no soacutelolos profesores) pueden contribuir a la experiencia educativa en muchas formas

bull Compatibilidad con maacutes de 70 idiomas diferentes

bull Una excelente documentacioacuten soporte para seguridad y administracioacuten

bull No requiere modicaciones en el sistema operativo pudiendo ser ejecutado en un en-torno Linux Windows Mac OS o cualquier otro siempre que soporten PHP

bull La informacioacuten esta soportada por una simple base de datos

Ademaacutes su sencilla aplicacioacuten en entorno web que utiliza tecnologiacuteas ya ampliamenteprobadas sus mecanismos de extensioacuten maacutes faacuteciles en comparacioacuten con otros VLEs y laexistencia de una gran cantidad de documentacioacuten de desarrollo han impulsado la creacioacutende una gran comunidad de personas que contribuyen a la mejora de Moodle Esta comu-nidad estaacute en constante desarrollo de nuevas caracteriacutesticas y aplicaciones a traveacutes decientos de plugins que pueden ser descargados desde su la web de Moodle y asesoran tantoa otros desarrolladores como usuarios nales

La primera versioacuten de Moodle (10) fuel lanzada en 2002 como parte de la investigacioacuten deMartin Dougiamas del uso del software de coacutedigo abierto para la ensentildeanza y el aprendizajecon las comunidades basadas en Internet[Dougiamas and Taylor 2000] Actualmente seencuentra disponible la versioacuten 243+ como estable y la beta de la versioacuten 25

En cuanto a la parte teacutecnica Moodle estaacute desarrollado en lenguaje PHP como la mayoriacuteade los VLEs utiliza una arquitectura cliente-servidor comuacuten de tres capas CORREGIRLa capa de presentacioacuten dene como la informacioacuten se presenta a los usuarios nales quetienen acceso a esa informacioacuten a traveacutes de sus navegadores web La Capa de loacutegica de ne-gocios se encarga de las relaciones con Moodle el acceso a la capa de datos por lo generala traveacutes de MySQL para almacenar y recuperar la informacioacuten cuando sea necesario

Moodle se distribuye en un solo paquete multiplataforma que incluye PHP MySQL yApache HTTP Server para facilitar los procesos de instalacioacuten y conguracioacuten La dis-tribucioacuten actual de Moodle cumple con varios estaacutendares educativos Por ejemplo Moodlepuede manejar ADL SCORM paquetes que contienen recursos aislados o cursos completosEn cuanto a los estaacutendares IMS Moodle soporta IMS Content Packaging (IMS CP) IMSCommon Cartridge (IMS CC)IMS pregunta y Test Interoperability (IMS QTI) y estaacuteconsiderado como uno de los VLEs compatible con Basic LTI

241 otras plataformas

No podemos dejar de lado otros escenarios educativos que han ido apareciendo en los uacutelti-mos antildeos a pesar del gran eacutexito de los VLEs Algunos ejemplos de estas plataforma son

3httpsmoodleorg

bull Wikis (Ej MediaWiki) Son sistemas software que permiten la creacioacuten y gestioacutende contenidos estructurados mediante paacuteginas web relacionadas entre siacute El contenidosuele estar editado por varios usuarios que trabajan de manera colaborativa pudiendoincluir enlaces a recursos externos

bull Sitios de redes sociales (Ej Facebook) Son sistema en liacutenea donde los usuariospueden crearse sus propios perles y crear una red personal que les mantendraacute conec-tado con otros usuarios Estos sistemas han proliferado en los uacuteltimos antildeos llegando amillones de usuarios No suelen necesitar un administrador pues se utilizan medianteentorno web y son alojados por el propio proveedor Su gran adopcioacuten y el enfoquea las interacciones sociales es lo que ha llevado a muchos profesor a utilizarlo comoherramienta de aprendizaje Estos sitios permiten la creacioacuten y mantenimiento degrupo mediante el perl de usuario pero no estaacuten disentildeados para seguir un enfoquepedagoacutegico

bull Personal Learning Environment - PLE (Ej Southampton) Son denidos comosistemas de software que permiten al estudiante a tomar el control y la gestioacuten de suspropio aprendizaje Se caracterizan por la por la participacioacuten directa de los alumnosen el acceso agregacioacuten conguracioacuten y manipulacioacuten de herramientas y recursos adiferencia de los VLEs done es el educador el que selecciona y gestiona los recursosque el alumno debe utilizar

Muchas de estas herramientas son de coacutedigo libre y abierto Su funcionalidad respecto ala gestioacuten de actividades grupos funciones y herramientas es limitado siendo en algunoscasos inexistente Ninguna de estas plataformas se puede considerar un VLE ya que nosson sistemas centrados en el educador sin embargo pueden apoyar la integracioacuten de apli-caciones externas en entornos de aprendizaje colaborativo

Capiacutetulo 3

Organizacioacuten y Sistema Inicial

A continuacioacuten pasamos a detallar las distintas actividades de la que consta el proyecto quehemos llevado a cabo durante estos meses

31 Lanzamiento del proyecto

Esta actividad consisten en la eleccioacuten de una de las diferentes posibles aacutereas de desarrollo deproyectos que ofrece la UOC siendo la elegida Aplicaciones Web para trabajo colaborativo

32 Denicioacuten del proyecto

El proyecto queda denido en el presente documento siendo el tiacutetulo del mismo Orchestationand Coreography of Web Services on Moodle - Revisioacuten Sistemaacutetica de la literatura

[Duracioacuten] 27-02-2013 al 03-03-2013

33 Anaacutelisis de requisitos

Nos centraremos en la fase de planicacioacuten que incluye los objetivos de la investigacioacuten y la formaen que se llevaraacute a cabo la revisioacuten

[Duracioacuten] 04-03-2013 al 03-06-2013

331 Cuestiones Realizadas

El primer paso en la fase de planicacioacuten seraacute denir los objetivos principales de esta revisioacutensistemaacutetica de la literatura Estos objetivos son analizar el estado del arte de la coreografiacutea yorquestacioacuten de los servicios web en Moodle como LMS

332 Fuentes de datos y buacutesqueda

Utilizaremos diferentes libreriacuteas o espacios digitales para realizar las buacutesquedas las mismas serealizaraacuten en ingleacutes y espantildeol Las libreriacuteas principales utilizadas son

IEEEXplore [IEEEX] httpieeexploreieeeorg

21

Science Direct [SD] httpwwwsciencedirectcom

SpringerLink [SL] httpwwwspringerlinkcom

Paralelamente a Science Direct se han realizado buacutesquedas en Scopus1 de Elsevier y GoogleScholar2 de Google

333 Criterios de inclusioacuten y exclusioacuten

Las buacutesquedas que se realicen intentaraacuten abarcar todo el aacutembito de cuestiones del SLR pero esposible (y de hecho ocurre) el resultado contenga referencias publicaciones estudios o en generalinformacioacuten que no sirve Para ello seraacute necesario denir criterios de inclusioacuten y exclusioacuten loscual haremos basaacutendonos en la guiacutea [Kitchenham 2007]

334 Asegurar la calidad

Despueacutes de obtener un numero considerable de trabajos o estudios que satisfacen los criteriosde inclusioacuten y exclusioacuten se deberaacute ser capaz de asegurar o armar cuales son los que cumplencon una miacutenima calidad y si son vaacutelidos o no para el estudio en si Es baacutesico poder analizar queacuteestudios son mejores que otros en teacuterminos de calidadSiguiente [Kitchenham 2007] se deniraacuten preguntas y cuestiones que permitan asegurar dichacalidad

335 Extraccioacuten de datos y anaacutelisis

Los criterios de inclusioacuten y exclusioacuten junto con las preguntas orientadas a asegurar la calidadnos serviraacuten para obtener todos los artiacuteculos y estudios que se analizan en este estudioDe cada artiacuteculo se recogeraacute titulo y autores abstract publicacioacuten y antildeo de publicacioacuten

336 Fase de revisioacuten

Esta fase de planicacioacuten seraacute denir el proceso de conducir o dirigir la revisioacuten Para elloutilizaremos tres fases como podemos ver en la gura 31 de la paacutegina 23

337 Fase de Pruebas

Se realizan pruebas con la informacioacuten obtenido montado maacutequinas virtuales para realizar lasmismas En estas se han probado las diferentes opciones de comunicacioacuten que nos ofrece Moodle

1httpwwwscopuscom2httpscholargooglecom

Figura 31 Proceso para dirigir la revisioacuten

34 Calendario de Trabajo

Podemos ver en el siguiente diagrama de Gantt32 la distribucioacuten de trabajos en el tiempo elmismo seraacute modicado para ajustarlo a las variaciones producidas durante el desarrollo de lastareas que contempla

35 Hitos principales

Los principales hitos seraacuten

Lanzamiento del proyecto Se dene correctamente en que va consistir el proyecto

Denicioacuten de cuestiones para la buacutesqueda Donde se detallaraacuten las cuestiones quemarcaran el desarrollo del resto del proyecto

Comprobacioacuten de resultados Se deberaacuten criba los mismo para no obtener duplicadoso informacioacuten ajena a la investigacioacuten

Revisioacuten de informacioacuten obtenida Una vez obtenida la informacioacuten y analizada deberaacuteser revisada para su presentacioacuten

Figura 32 Diagrama de Gantt

36 Instalacioacuten base

Para llevar a cabo las pruebas se ha optado por la creacioacuten de una maacutequina virtual sobre VirtualBox 3 en la cual hemos instalado Windows XP como sistema operativo Este sistema es maacutesligero a la hora de trabajar en maacutequinas virtuales pues requiere menos recursos que las versionesposteriores del mismos sistema

El siguiente paso era la instalacioacuten de Moodle Aunque se dispone de un instalador para Win-dows se ha optado por la descarga e instalacioacuten de XAMPP 4 y su y su posterior conguracioacutenen la maacutequina virtual XAMPP es un servidor independiente de plataforma software libre queconsiste principalmente en la base de datos MySQL el servidor web Apache y los inteacuterpretespara lenguajes de script PHP y Perl El nombre proviene del acroacutenimo de X (para cualquierade los diferentes sistemas operativos) Apache MySQL PHP Perl

XAMPP en su versioacuten 181 incluye

Apache 243

MySQL 5527

PHP 547

phpMyAdmin 3522

FileZilla FTP Server 0941

Tomcat 7030

Strawberry Perl 51611 Portable

XAMPP Control Panel 310

Hemos continuado con la descarga he instalacioacuten de Moodle y hemos querido probar las difer-encias que obtenemos entre las versiones 19x y 25 por lo que se han descargado ambas heinstalado en maacutequinas virtuales diferentes Con ello conseguiremos probar el resultado obtenidoseguacuten la versioacuten Moodle desde su versioacuten 22 ya soporta conexiones mediante IMS - LTI IMSLTI es un estaacutendar IMS Learning Tool Interoperability Esto signica que las herramientas deaprendizaje tienen ahora diversas maneras de conectarse entre sin problemas

En la praacutectica cuando un usuario se registra en una herramienta como Moodle se pueden conectara la otra herramienta como MediaWiki y autenticarse automaacuteticamente proporcionando unaexperiencia perfectaLas guras 33 y 34 nos muestran el panel de control de XAMPP una vez instalado y el panede phpMyAdmin donde hemos debido congurar las bases de datos y usuario necesarios parallevar todo el proceso de conguracioacuten de Moodle y el resto de herramientas

3httpswwwvirtualboxorg4httpwwwapachefriendsorgesxampphtml

Figura 33 Panel de control de XAMPP

Figura 34 Gestor de bases de datos phpMyAdmin

Capiacutetulo 4

Servicios Web de Moodle

41 Introduccioacuten

Moodle 2X incorpora la posibilidad de implementar Servicios Web para manejar sus funciona-lidades lo que nos permite poder acceder a acciones de actualizar y crear tareas para reejar elresultado de las actividades realizadas Moodle soporta varios protocolos (REST SOAP XML-RPC y AMF)

42 Servicios Web de Moodle

Los Servicios Web de Moodle se caracterizan por permitir el acceso desde cualquier aplicacioacutenimplementando para ello tres capas como podemos observar en la gura 41

Capa nuacutecleoLa capa del nuacutecleo estaacute compuesta de todas las funciones principales de Moodle sobreusuarios grupos cursos calendario etc Moodle no dispone de una API al uso sino queofrece diferentes funciones que han sido desarrolladas durante antildeos Por tanto las necesi-dades de los Servicios Web estaacuten obligando a rehacer estas funciones del nuacutecleo para quecomiencen a formar una API (Moodle 2X)

Capa externaLa capa externa estaacute compuesta por nuevos cheros llamados externalphp colocados porlas carpetas de Moodle y conteniendo manejadores para la capa inferior Estos manejadoresson los responsables de comprobar las capacidades paraacutemetros y llamadas correctas a lasfunciones de nuacutecleo

Capa de conectoresLa capa de conectores estaacute compuesta de diferentes conectores para las diferentes imple-mentaciones de los Servicios Web y contiene un conector REST un conector SOAP unconector XML-RPC y un conector AMF Esta capa admite plugins para ampliar los conec-tores disponibles de manera que se puedan integrar otros sistemas en Moodle utilizandootros protocolos

Los pasos para utilizar un Servicio Web con Moodle seriacutean los siguientes

1 El cliente enviacutea el nombre de usuario y contrasentildea al servidor que provee los ServiciosWeb

27

Figura 41 Capas en Moodle

2 El servidor de protocolo devuelve un token de sesioacuten para esa cuenta de usuario

3 El cliente llama a un Servicio Web especiacuteco incluyendo el token de sesioacuten

4 El servidor utiliza el token para comprobar que la sesioacuten del Servicio Web estaacute activa

5 El servidor llama a la funcioacuten correspondiente localizada en el chero externallibphp dentrodel moacutedulo especiacuteco

6 La funcioacuten externa comprueba que el usuario actual tenga los permisos sucientes pararealizar esta operacioacuten

7 La funcioacuten externa llama a la funcioacuten correspondiente del nuacutecleo de Moodle (libphp)

8 La funcioacuten del nuacutecleo puede retornar un resultado a la funcioacuten externa

9 La funcioacuten externa devolveraacute el resultado al servidor de protocolo

10 El servidor de protocolo devolveraacute el resultado al cliente

43 REST

REST (Representational State Transfer) es el acroacutenimo de Transferencia de Estado Representa-cional teacutermino usado por Roy Fielding (uno de los creadores de HTTP) para describir un estilode arquitectura que utilizar como modelo en los sistemas de computacioacuten Web No es un es-taacutendar sino un enfoque que muestra como desarrollar y proporcionar servicios en Internet portanto considerado como un estilo arquitectoacutenico para disentildeo de software a gran escala El propioautor lo dene de manera concisa en eacuteste paacuterrafo

REST es un intento de mostrar coacutemo debe comportarse una aplicacioacuten Web bien disentildeada unared de paacuteginas Web (una maacutequina de estados virtual) donde el usuario progresaraacute seleccionan-do enlaces (transiciones de estado) que devuelven la paacutegina siguiente (el siguiente estado de lamaacutequina) que el usuario manejaraacute a su gusto

Este enfoque no aporta realmente nada nuevo la mayor parte de la Web sigue este estilo arqui-tectoacutenico Sin embargo el autor hace eacutenfasis en las caracteriacutesticas concretas que han hecho quela Web triunfe que van a ser los objetivos buscados por REST y que son a su juicio

Escalabilidad en las interacciones entre componentes La red ha ido creciendo de maneraexponencial y se ha ido comportado de manera satisfactoria

Generalidad en las interfaces Se proporciona acceso con distintos clientes y con distintosmecanismos de acceso

Desarrollo independiente de componentes Implementaciones cliente y servidor pueden serdesarrolladas en distintos momentos

Existencia de componentes intermediarios con los cuales existe compatibilidad (comoproxys)que permiten encapsulacioacuten e integracioacuten de sistemas no Web dentro de la misma

431 Principios de disentildeo

Los objetivos citados van a ser conseguidos imponiendo una serie de restricciones

El estado y la funcionalidad de las aplicaciones se representan por forma de recursos

La identicacioacuten de recursos se realiza de forma uacutenica global mediante Uniform ResourceIdentiers Los recursos identicados con URIs son los objetos loacutegicos a los cuales se lesmandan los mensajes

Manipulacioacuten de recursos a traveacutes de representaciones luego no se manejan directamentelos recursos sino sus representaciones

Todos los recursos comparten un interfaz uniforme formado por

bull Un conjunto de operaciones limitado para transferir el estado Se van a aprovecharlas operaciones que HTTP dene mostradas en la gura 42

bull Un conjunto limitado de tipos de contenidos identicados mediante tipos MIME

Uso de un protocolo clienteservidor sin estado y basado en capas Cada mensaje HTTPcontendraacute la informacioacuten necesaria para comprender la peticioacuten luego como muestra lagura 43 no es necesario que eacutesta sea entendida tanto en el cliente como en el servidor

Uso de hipermedios para representar el estado de una aplicacioacuten permitiendo que el estadode una aplicacioacuten Web particular esteacute almacenado en uno o maacutes documentos de hipertextoque residen bien en el servidor o en el cliente Esto permite al servidor saber el estado desus recursos sin necesidad de almacenar el estado de los clientes concretos

Figura 42 Operaciones denidas por HTTP

Como ya se mencionoacute REST se trata de un estilo arquitectoacutenico no un estaacutendar Sin embargohace uso de varios estaacutendares Web

HTTP HyperText Transfer Protocol

Figura 43 Operaciones denidas por HTTP

URL Uniform Resource Locator como el mecanismo de indenticacioacuten de recursos

XML - HTML - PNG - etc Como distintos formatos de representacioacuten de recursos

Tipos MIME como text-xml text-html image-png etc

44 SOAP

SOAP (siglas de Simple Object Access Protocol) es un protocolo estaacutendar que dene coacutemo dosobjetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML Esteprotocolo deriva de un protocolo creado por David Winer en 1998 llamado XML-RPC SOAPfue creado por Microsoft IBM y otros y estaacute actualmente bajo el auspicio de la W3C

441 Principios de disentildeo

La funcionalidad que aporta SOAP es la de proporcionar un mecanismo simple y ligero de in-tercambio de informacioacuten entre dos puntos usando el lenguaje XML SOAP no es maacutes que unmecanismo sencillo de expresar la informacioacuten mediante un modelo de empaquetado de datosmodular y una serie de mecanismos de codicacioacuten de datos Esto permite que SOAP sea uti-lizado en un amplio rango de servidores de aplicaciones que trabajen mediante el modelo decomunicacioacuten RPC (Remote Procedure Call)

SOAP consta de tres partes como podemos ver en la gura 44

El SOAP envelope que dene el marco de trabajo que determina queacute se puede introduciren un mensaje quieacuten deberiacutea hacerlo y si esa operacioacuten es opcional u obligatoria

Las reglas de codicacioacuten SOAP que denen el mecanismo de serializacioacuten que seraacute usadopara encapsular en los mensajes los distintos tipos de datos

La representacioacuten SOAP RPC que dene un modo de funcionamiento a la hora de realizarllamadas a procedimientos remotos y la obtencioacuten de sus resultados

A la hora de realizar el disentildeo de SOAP se han tenido en cuenta una serie de consideracionescon el n de cumplir una serie de objetivos claros objetivos que le daraacuten el potencial que resideen SOAP y que le haraacuten tan atractivo Eacutestos son

Establecer un protocolo estaacutendar de invocacioacuten a servicios remotos que esteacute basado enprotocolos estaacutendares de uso frecuente en Internet como son HTTP (Hiper Text TransportProtocol) para la transmisioacuten y XML (eXtensible Markup Language)para la codicacioacutende los datos

Figura 44 Partes de SOAP

Independencia de plataforma hardware lenguaje de programacioacuten e implementacioacuten delservicio Web

El logro de estos objetivos ha hecho de SOAP un protocolo extremadamente uacutetil ya que elprotocolo de comunicacioacuten HTTP es el empleado para la conexioacuten sobre Internetpor lo que segarantiza que cualquier cliente con un navegador estaacutendar pueda conectarse con un servidor re-moto Ademaacutes los datos en la transmisioacuten se empaquetan o serializan con el lenguaje XML quese ha convertido en algo imprescindible en el intercambio de datos ya que es capaz de salvar lasincompatibilidades que existiacutean en el resto de protocolos de representacioacuten de datos de la red

Por otra parte los servidores Web pueden procesar las peticiones de usuario empleando tec-nologiacuteas tales como Servlets paacuteginas ASP (Active Server Pages) paacuteginas JSP (Java ServerPages) o sencillamente un servidor de aplicaciones con invocacioacuten de objetos mediante CORBACOM o EJB

Un ejemplo tiacutepico de disentildeo de un servicio Web utilizando las ventajas de SOAP podemos veren la siguiente gura 45

Figura 45 Ejemplo de uso de SOAP

45 AMF

AMF (Action Message Format) es un protocolo binario de Adobe que va por la versioacuten AMF3Aunque por el nombre de la versioacuten pueda parecer que existan 3 cabe destacar que soacutelo existendos AMF0 y AMF3 Una de las mayores diferencias o mejoras que aporta AMF3 es que soporta

datos binarios (ByteArray) y int datos no soportados por AMF0 debido a que en la eacutepoca queaparecioacute el formato Flash Player no soportaba estos tipos de datos

AMF3 no es un protocolo para transferir informacioacuten sino que representa el formato en el quese transmite la informacioacuten en este caso un formato binario

La versioacuten de Moodle 25 viene con Zend_ AMF pero podemos utilizar tambieacuten la libreriacuteaamfPHP

AMFPHP

Zend_ amf httpframeworkzendcommanual112enzendamfhtml

Maacutes informacioacuten en httpdocsmoodleorgdevAMFPHP

46 Conguracioacuten de Moodle Web Services

Los Servicios Web habilitan que otros sistemas puedan entrar a Moodle y realizar operacionesPasaremos a detallar los pasos necesarios para su conguracioacuten y explicaremos distintos pruebasllevadas a cabo sobre su funcionamiento Para poder consumir de manera correcta unWeb Servicede Moodle seriacutea necesario antildeadir a la url que vamos a formar los paraacutemetros oportunos paralograr consumir el Web Service de manera satisfactoria Una vez antildeadidos ya podriacuteamos invocarla funcioacuten seleccionada

461 Activando los Servicios Web

Lo primero que debemos hacer es activar la opcioacuten general que habilita el uso de los serviciosweb En la gura 46 podemos observar la opcioacuten para la activacioacuten de este servicio para ello nosiremos a la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Servicios Externos

Figura 46 Activacioacuten Servicios Web

Esto solo es una opcioacuten a nivel global necesitando ahora activar los protocolos de comunciacionesque vamos a utilizar para ello deberemos ir a la opcioacuten textitAdministracioacuten del Sitio - Exten-siones - Servicios Web - Administrador de protoclos donde encontraremos las diferente opcionesque nos existen En la gura 47 podemos ver la pantalla de nuestra conguracioacuten con todos losprotocolos activados

Una vez activada la opcioacuten de Servicios Externos y seleccionados los protocolos que utilizaremosnecesitamos crear un Servicio Personalizado que no es maacutes que una etiqueta que aglutina los

Figura 47 Activacioacuten Protoclos

Servicios Web que ofrece Moodle y que pueden ser utilizados por los servicios externos Para ellodeberemos darle a la opcioacuten Agregar dentro de la opcioacuten Administracioacuten del Sitio - Extensiones- Servicios Web - Servicios Externos Como prueba habilitaremos un servicio llamado Uso_Servicio_ Web cuya creacioacuten podemos ver en la gura 48

Figura 48 Creacioacuten Servicio Personalizado

Una vez creado el Servicio Personalizado deberemos agregarle las funciones que queramos lesean permitidas pudiente tener maacutes de una En la gura 49 vemos como asociamos la creacioacutende usuarios al Servicio Personalizado

Terminado esto deberemos tener en el listado que nos muestra Moodle de Servicios personaliza-dos algo como lo mostrado en la gura 410

El siguiente paso es conceder los permisos apropiados para que este Servicio Personalizado puedeser usado por los usuarios pare ello debemos primero especicar quienes son los Usuarios au-torizados para ello en la linea de la lista de Servicios Personalizados deberemos pulsar sobre laopcioacuten usuarios autorizados donde apareceraacute una pantalla como 411 donde podremos escogerlos usuarios de los que se encuentran dados de alta en nuestro sistema

Y para terminar aunque este paso podriacutea ser realizado por el propio usuario si tuviera el per-miso de moodlewebservicecreatetoken seraacute la creacioacuten de un token el cual va ser la opcioacuten quevamos a utilizar para las pruebas de los Servicios Web de Moodle Para la creacioacuten del mismodeberemos entrar en la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Admin-istrar tokens y pulsar la opcioacuten Agregar para antildeadir un token nuevo como podemos apreciar en

Figura 49 Agregando funciones al Servicio Personalizado

Figura 410 Listado de Servicios Personalizados

la gura 412 teniendo la precaucioacuten de escoger como Servicio el Servicio Personalizado creadocon anterioridad Uso_ Servicio_ Web

En esta pantalla podemos poner varios tipos de restricciones

Restriccioacuten de IP Donde podemos indicar la direccioacuten IP desde donde

Restriccioacuten de Fecha Se puede denir hasta cuando seraacute valido este token siendo unabuena manera de poder probar cosas y no dejar puertas abiertas por error

En la gura 413 podemos ver el token asignado por el sistema para nuestro Servicio Personalizadoy que procederemos a utilizar para comprobar el funcionamiento de los Servicios Web de Moodle

462 Pruebas cliente Servicio Web

Procederemos ahora a desarrollar pruebas que utilicen los Servicios Personalizados creado Sepodriacutean haber utilizado el Cliente de prueba de servicio web que incorpora Moodle dentro dela opcioacuten Administracioacuten del Sitio - Desarrollo - Cliente de prueba servicio web pero hemosdecidido implementar una Web para comprobar la facilidad del funcionamiento del sistema y losdistintos resultados obtenidos seguacuten el protocolo utilizado

Utilizaremos la libreriacutea cURL de PHP cURL es una herramienta que permite abrir conexionesen una amplia variedad de protocolos y que estaacute disponible tanto como herramienta de consola(para ejecutar directamente con comandos) como en libreriacutea (para usar en vuestro coacutedigo) y quepermite hacer praacutecticamente todo manejo de cookies descarga de cheros binarios enviacuteos de

Figura 411 Alta de Usuarios Autorizados

Figura 412 Creacioacuten de Tokens

paraacutemetros GET y POST etc

La web creada para la introduccioacuten 414 de los usuarios seraacute equivalente para todos los procesosprocesos siendo el programa que da respuesta al formulario el que implemente la funcioacuten nece-saria para la introduccioacuten de los datos en Moodle

Los resultados de REST pueden mostrar los resultados del alta de dos maneras diferentes unaen formato XML como podemos ver en la gura 415 y otro en formatox JSON tambieacuten po-dremos ver en la gura Los resultados obtenidos tambieacuten pueden verse en el la gura 416

Figura 413 Lista de Tokens

Figura 414 Web de alta de usuarios

Figura 415 Resultado de REST en formato XML

Figura 416 Resultado de REST en formato JSON

Capiacutetulo 5

Herramientas Externas

51 Introduccioacuten

Las versiones de Moodle desde la 22 vienen con IMS LTI o External Tool de manera integradaEn versiones anteriores era necesario la instalacioacuten de plugins como LTI Provider (maacutes informa-cioacuten en la web de Moodle1 IMS LTI es un estandar de IMS learing2 para la interoperabilidadde herramientas Esto signica que las herramientas de aprendizaje tienen ahora un mecanismopara jar el modo en que pueden conectarse entre ellas sin problemas

En la praacutectica cuando un usuario se registra en Moodle puede conectarse a otras herramientascomo Wikis o Blogs y autenticarse de manera automaacutetica en estas

52 Estaacutendares IMS

Actualmente se realizan esfuerzos para la integracioacuten de servicios a una plataforma virtual deaprendizaje mediante un mecanismo reutilizable independiente del tipo de plataforma El IMSGlobal Learning Consortium viene desde hace tiempo trabajando en este enfoque IMS GLCpresenta un conjunto de estaacutendares que promueven el uso de servicios de aprendizaje digitales(Digital Learning Services) dentro de las plataformas de aprendizaje tradicionales IMS DigitalLearning Services estaacute integrado por los siguientes estaacutendares principales IMS Common Car-tridge [ims a] IMS Learning Tool Interoperability [ims c] y IMS Learning Information Services[ims b]

El IMS Learning Tool Interoperability es una especicacioacuten para facilitar la inclusioacuten de her-ramientas externas dentro de un curso El administrador de la plataforma de aprendizaje ges-tiona los servicios que podraacuten ser consumidos por la plataforma el docente decide que serviciosutilizaraacute en su curso y el estudiante hace uso de los mismos IMS LTI permite que distintos LMSconsuman un mismo servicio el cual no fue implementado teniendo en cuenta el tipo de LMSsino la implementacioacuten del estaacutendar desde el lado del proveedor

El enfoque del IMS LTI estaacute dirigido a la creciente demanda de un mecanismo reutilizable para laintegracioacuten de herramientas de terceros en el nuacutecleo de las plataformas LMS Estas herramientas

1httpsmoodleorgpluginsviewphpplugin=local_ltiprovider2httpwwwimsglobalorgtoolsinteroperability2cfm

37

pueden agregar funcionalidad especializada a los LMS El enfoque ofrece una solucioacuten basada enWeb Services igualmente aplicable a distintos lenguajes de programacioacuten

Las versiones del LTI son

LTI v10 ( LTI Basic ) ( publicado en mayo de 2010 ) proporciona un meacutetodo sencillopero estaacutendar para establecer una conexioacuten segura a una herramienta desde el interior deun consumidor de herramientas El lanzamiento de este enlace permite una experienciade aprendizaje sin problemas para los estudiantes que acceden a las aplicaciones ricas queparecen tener lugar dentro del ambiente de aprendizaje Versioacuten 10 es el primer paso en eldesarrollo continuo de LTI Figura 51

LTI v11 ( publicado en marzo 2012 ) antildeade la posibilidad de pasar de nuevo un resultadode la herramienta al Consumidor de herramientas Esto permite que los estudiantes recibenuna calicacioacuten o puntuacioacuten de su interaccioacuten con la aplicacioacuten de aprendizaje

LTI v111 ( publicado en julio de 2012 ) incluye soporte para el papel Mentor que se puedeutilizar para representar a un padre tutor o auditor

LTI v20 Aun en estado de desarrollo y proporciona una plataforma maacutes sosticado y ex-tensible para permitir integraciones maacutes profundas y un mayor apoyo para los serviciosy eventos LTI 2 se basa en LTI 1 mediante la incorporacioacuten de maacutes sosticada resulta-dos de informes y una rica arquitectura de extensiones que permite servicios adicionalesque se antildeadiraacuten gradualmente LTI 2 utiliza REST y JSON-LD para ofrecer esta nuevafuncionalidad

Figura 51 Esquema LTI Baacutesico

En la gura 52 podemos observar como se podriacutean utilizar las ventajas de LTI por parte decada unos de los actores a lo largo de la vida de la aplicacioacuten de servicios externos dentro de unaplataforma de aprendizaje

En la paacutegina web de IMS3 podemos encontrar una relacioacuten de aplicaciones certicadas comocompatibles con el estaacutendar LTI indicando la versioacuten del LTI que cumplen En la gura 53podemos ver las aplicaciones certicadas por UOC y en la gura 54 la informacioacuten sobre una deestas herramientas

3httpwwwimsglobalorgccalltoolscfm

Figura 52 Esquema utilizacioacuten LTI

Figura 53 Listado de herramientas LTI de la UOC

53 Herramientas externas en Moodle

La siguiente seccioacuten consiste en la aplicacioacuten de alguno de esto servicios externos en Moodlepara comprobar su funcionamiento Nos decantaremos para la primera prueba por WordPresspues aunque existen manuales al respecto la documentacioacuten en castellano es escasa

531 Wordpress

La versioacuten estaacutendar de Wordpress a la cual accedemos cuando nos abrimos cuenta en Wordpressno viene con las herramientas necesarias para la iteracioacuten mediante LTI por lo que procedere-mos a la instalacioacuten en nuestro servidor de Wordpress para pasar a la instalacioacuten de los pluginsnecesarios

La instalacioacuten ha consistido en la descarga de la web ocial 4 de la versioacuten 351 la cual hemoscopiado dentro del directorio htdocs de nuestra instalacioacuten de Xampp Hemos dado de alta unnuevo usuario en nuestra base de datos llamado username como podemos ver en la imagen 55 yposteriormente hemos seguido los pasos que el instalador nos iba ofreciendo para tener instalado

4httpwordpressorgdownload

Figura 54 Informacioacuten sobre la certicacioacuten

Wordpress bajo la url httplocalhostwordpress

Figura 55 Usuario de Wordpress

Deberemos congurar Wordpress para que trabaje como multisitio para lo que deberemos seguirlos pasos de conguracioacuten que podemos encontrar en la web ocial de Wordpress5 bajo el nombreCreate A Network consistente en los siguientes pasos

1 Realizar una copia de seguridad por si acaso

2 Modicar el chero wp-congphp incluyendo la siguiente linea encima de Thats allstop editing Happy blogging Multisite dene (WP_ ALLOW_ MULTISITE true)

Multisite dene (WP_ ALLOW_ MULTISITE true)

3 Installar un Network Para ello hemos de entra en la opcioacuten Administration -gtTools -gtNetwork Setup donde podremos congurar opciones sobre el nombre que queremos declararpara el nuevo sitio

4 Activar el Network para ello debemos modicar los cheros wp-congphp y htaccess porlo que seriacutea bueno que realizaacuteramos primero un copia de seguridad de los mismos Loscambios que debemos realizar son los siguientes

5httpcodexwordpressorgCreate_A_Network

En wp-congphp dene(MULTISITE true)dene(SUBDOMAIN_ INSTALL false)dene(DOMAIN_ CURRENT_ SITE localhost)dene(PATH_ CURRENT_ SITE wordpress)dene(SITE_ ID_ CURRENT_ SITE 1)dene(BLOG_ ID_ CURRENT_ SITE 1)

El chero htaccess debe quedar asiacute BEGIN WordPressltIfModule mod_ rewritecgtRewriteEngine OnRewriteBase wordpressRewriteRule icircndexphp$ - [L]

add a trailing slash to wp-adminRewriteRule ([_ 0-9a-zA-Z-]+)wp-admin1wp-admin [R=301L]

RewriteCondREQUEST_ FILENAME -f [OR]RewriteCondREQUEST_ FILENAME -dRewriteRule - [L]RewriteRule ([_ 0-9a-zA-Z-]+)(wp-(content|admin|includes)) $2 [L]RewriteRule ([_ 0-9a-zA-Z-]+)( php)$ $2 [L]RewriteRule indexphp [L]ltIfModulegt

END WordPress

5 Esto nos habraacute creado en la parte izquierda de la barra de herramientas de Wordpressuna nueva opcioacuten llamada My Sites que contendraacute un listado de los sitios de nuestroWordpress

El siguiente paso seraacute la descarga del plugin los cual podremos hacerlos desde la web de sour-forgenet 6 En esta web se detalla informacioacuten sobre el plugin y como se debe instalar Siguiendolos pasos que tenemos en el mismo procederemos a la descarga y el desplegado del mismo en lacarpeta wp-contentmu-plugins Salimos de Wordpress y volvemos a entrar como superusuariosi entramos dentro de la nueva red realizada podremos ver que dentro de LTI Consumers Keystendremos la opcioacuten LTI Consumers Keys como podemos ver en la imagen 56

Aquiacute deberemos crear la clave del consumidor del servicio y la clave secreta que nos permitiraacute aMoodle conectarse a Wordpress

Una vez que tenemos la clave secreta y del consumidor deberemos volver a Moodle entrandocomo administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

6httpsourceforgenetappsmediawikilearningappsindexphptitle=LTI4Wordpress

Figura 56 Servicios LTI en Wordpress

Figura 57 Listado de claves de LTI en Wordpress

-LTI En esta paacutegina podremos rellenar nuestras opciones

Tool Name Seraacute el nombre que tendraacute la herramienta y deberemos poner alguno indicativode la herramienta que estemos utilizando

Tool Base URL Es la direccioacuten de la herramienta en nuestro caso httplocalhostwordpress

Deberemos rellenar con los datos obtenidos en Wordpress la clave de consumidor y la clavesecreta

Es importante marcar Show tool type when creating tool instances para que aparezcaposteriormente al crear los recursos en nuestros cursos

Para poder probar el sistema hemos creado un curso dentro de Moodle llamada WordpressLTIdonde daremos de la siguiente manera de alta 59

Dentro de nuestro curso seleccionamos la opcioacuten de Edicioacuten

Pulsamos sobre Antildeadir una actividad o un recurso

Seleccionamos External Tool

Rellenamos las opciones

bull Nombre de la Actividad Cualquiera de nuestra eleccioacuten

Figura 58 Conguracioacuten LTI en Moodle

bull Tipo de herramienta externa El nombre que le pusimos a la herramienta externa enla conguracioacuten LTI de Moodle

bull Launch Container Hemos elegido la opcioacuten Incrustar para ver el resultado

Figura 59 Conguracioacuten Herramienta Externa

Una vez congurado podemos lanzar la herramienta externa teniendo como resultado la gura510

Figura 510 Wordpress integrado en Moodle

532 ChemVantage

ChemVantage es un recurso gratuito para la educacioacuten cientiacuteca que incluye ejercicios de gradoejercicios de preparacioacuten exaacutemenes de la praacutectica conferencias de video y libros de texto enliacutenea gratis Fue creado por ChemVantage LLC que fue fundada por el Prof Chuck Wight queha ensentildeado Quiacutemica General en la Universidad de Utah desde 1984 (ChemVantage 2011)

Nos hemos puesto en contacto con Chuck Wight (adminchemvantageorg) para solicitarle unaclave de consumidor y secreta para poder probar este recurso desde moodle Las opciones y elcorreo puede verse en la gura 511

Una de las cosas maacutes importantes de ChemVantage y por lo que nos hemos decidido a probar esque permite la devolucioacuten de las notas obtenidas en los ejercicios realizados en las herramientasexternas a Moodle El alumno podraacute realizar las tareas en esta herramienta externa y luego sercalicadas en Moodle

ChemVantage estaacute certicada por IMS 7 como un proveedor de herramientas LTI v11 y comotal funciona desde nuestro propio LMS para llevar a cabo la autenticacioacuten de sitios provee decuentas y devuelve resultados de asignacioacuten de estudiantes con el libro LMS grado automaacutetica-mente

Los recursos disponible son ChemVantage son principalmente los siguientes

1 QuizzesLos ejercicios presentados aquiacute estaacuten disentildeados para animar a los estudiantes a leer y en-tender los libros de texto utilizados en el curso Las preguntas se basan en material que sepresente en su mayor parte en los textos de introduccioacuten de quiacutemica Los iacutetems de preguntastienen respuestas straighforward no requieren caacutelculos detallados Las preguntas se presen-tan en varios formatos diferentes incluyendo opcioacuten muacuteltiple verdadero falso casilla devericacioacuten ll-in-the-blanco y numeacutericas Cada cuestionario se compone de 10 preguntasextraiacutedas al azar de una base de datos con muchas maacutes preguntas En el proceso de tomarvarias pruebas para mejorar sus calicaciones los estudiantes probablemente encuentran

7httpdevelopersimsglobalorgcoursechemvantagehtml

algunas preguntas repetidas de concursos anteriores sin embargo es poco probable quecualquiera de los dos cuestionarios contendraacute exactamente el mismo conjunto de preguntasen el mismo orden Asignando pruebas para ser completado antes de la conferencia losprofesores pueden estar seguros de que sus estudiantes tengan un poco de exposicioacuten almaterial Esto permite una mayor discusioacuten el diaacutelogo y la participacioacuten en el aula y haceel aprendizaje maacutes divertido (de verdad)

2 Video LecturesUna serie de conferencias de viacutedeo de 10 minutos sobre una variedad de temas de QuiacutemicaGeneral es accesible desde la paacutegina principal Los videos estaacuten disentildeados para reforzar lospuntos principales que se presentan en muchos libros de texto

3 HoweworksLas tareas estaacuten disentildeadas para dar a los estudiantes la praacutectica en la resolucioacuten de proble-mas cuantitativos que tienen respuestas numeacutericas Cada alumno puede descargar la tareatrabajar los problemas y presentar las respuestas en liacutenea Respuestas son juzgados a sercorrecta si la solucioacuten numeacuterica de acuerdo con la solucioacuten que se encuentra en la base dedatos dentro de una tolerancia especicada (indicado para cada problema) El sitio informaa los estudiantes que las respuestas son correctas para que puedan rehacer problemas malresueltos y volver a presentar las respuestas Cada problema se basa en una plantilla queatrae paraacutemetros al azar por lo que la respuesta correcta es diferente para cada estudianteEsto hace que sean adecuadas para la colaboracioacuten y el trabajo en grupo porque a pesarde que el grupo puede trabajar para encontrar un algoritmo correcto para resolver un prob-lema cada estudiante tendraacute que usar el algoritmo para encontrar la solucioacuten detallada asu propio problema

4 Practice ExamsLos estudiantes pueden realizaar exaacutemenes de praacutectica cronometrados que muestran laspreguntas de un grupo de 3 o maacutes temas Cada examen estaacute disentildeado para tardar unos60 minutos o menos e incluye una seleccioacuten de 10 preguntas Las praacutecticas de exaacutemenespueden repetirse cuantas veces se desee Las preguntas numeacutericas son parametrizadas loque es muy poco probable que un estudiante realice alguna vez dos exaacutemenes de praacutecticaideacutenticos

5 Portofolio PageCada estudiante puede acceder a una paacutegina que le da la puntuacioacuten obtenida en cada prue-ba y la asignacioacuten de tareas Los estudiantes que son miembros de un grupo tienen unapaacutegina de resultados asociados a las tareas de grupo Hay una paacutegina de carpeta separadaque contiene un resumen de todas las actividades realizadas en ChemVantage incluyendovideos vistos cuestionarios completados resolver problemas con la tarea y la praacutectica deexaacutemenes completados Las puntuaciones en los exaacutemenes de praacutectica son desagregadospara revelar fortalezas y debilidades estudiantes por temas

Hemos procedido a darlo de alta en LTI como hicimos con Wordpress Entramos en Moodle co-mo Administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

Figura 511 Correo de Chuck Wight

-LTI quedando como resultado la siguiente hoja de paraacutemetros gura 512

El siguiente paso seraacute antildeadir la herramienta dentro de nuestro curso para ello pulsaremos sobreAntildeadir una actividad o un recurso Deberemos seleccionar External Tool y rellenamos las op-ciones de la herramienta seleccionando como Tipo de herramienta externa la opcioacuten creada enel apartado de LTI de Moodle

Una vez congurado la herramienta en Moodle podemos entrar para realizar una personalizacioacutende la herramienta gura 513 esta consiste en indicar si el alumno cuando se conecta realiza undeterminado tarea o puede elegir navegar por la web de ChemVantage para poder disfrutar dela cantidad de recursos que se encuentran disponibles

Cuando el usuario pulsa sobre la opcioacuten de esta herramienta externa en Moodle lo primero quese le muestra es la informacioacuten sobre su perl en Chemvantage 514Como hemos visto en los paraacutemetros de conguracioacuten existe la posibilidad de llamar a unaherramienta externa incrustaacutendola dentro de Moodle o abrieacutendolo en una paacutegina web nuevaCon esta segunda opcioacuten no hemos conseguido que funcione correctamente la importacioacuten de lasnotas En cambio si la herramienta externa estaacute incrustada permite esa vinculacioacuten

Figura 512 Conguracioacuten de paraacutemetros LTI

Figura 513 Opciones de inicio de la herramienta

Figura 514 Pantalla de utilizacioacuten de la herramienta por el usuario

Capiacutetulo 6

Middleware

61 Introduccioacuten

La uacuteltima opcioacuten seriacutea utilizar una arquitectura middleware de integracioacuten que permita la inte-gracioacuten ligera de muacuteltiples herramientas existentes en el Moodle

62 GluePS

GLUE-PS es una arquitectura de middleware que permite una interoperabilidad ligera entrelos diferentes lenguajes de disentildeo de aprendizaje y diferentes entornos de aprendizaje virtualEsta interoperabilidad permite a los maestros y otros profesionales que particularicen (es decirpara personalizar el disentildeo de aprendizaje abstractoa la clase particular los participantes y laeleccioacuten de los instrumentos en los que va a ser promulgada) desplieguen (es decir para crearde forma semiautomaacutetica las actividades necesarias en el VLE recursos etc para la aprobacioacutendel disentildeo particularizado) e incluso para llevar a cabo ciertos cambios en el tiempo de ejecucioacuten(por ejemplo modicar la composicioacuten del grupo agregar o quitar recursos de las actividadesetc) Todo esto a partir de disentildeos en distintos lenguajes de disentildeo de aprendizaje tales como laespecicacioacuten IMS-LD aprendizaje

Por otra parte GLUE-PS tambieacuten permite desplegar y gestionar disentildeos de aprendizaje en en-tornos virtuales de aprendizaje que integren herramientas de aprendizaje externos (tales comointegrar en Moodle herramientas como Google Docs y muchos otros) - lo que llamamos Am-bientes de Aprendizaje Distribuido (DLE Distributed Learning Enviroments) Esto se consiguegracias a la arquitectura de GLUE para la integracioacuten de los entornos virtuales de aprendizajey herramientas externas

621 Instalacioacuten

Para realizar la instalacioacuten de GLUE-PS nos hemos descargado el software necesario de la webde los desarrolladores1 descargando la opcioacuten de autenticacioacuten centralizada La instalacioacuten haconstado de tres partes que pasaremos a describir a continuacioacuten

1httpwwwgsicuvaesglue

49

Figura 61 Arquitectura de GLUE

La primera parte consiste en la instalacioacuten del GLUEletManager y los adaptadores GSIC toolAunque el sistema viene preparado para Linux o Windows siendo Windows la explicacioacuten quevamos a desarrollar por estar utilizando este sistema operativo con Xampp

1 Crear el directorio GLUE_ HOME El cual hemos creado para mayor comodidad en la raiacutezdel disco duro

2 Denir la variable del sistema GLUE_ HOME con el valor de la direccioacuten completa deldirectorio de GLUE del punto anterior Para ello hemos pulsado botoacuten derecho sobre MiPc Propiedad Opciones Avanzadas Variables de Entorno procediendo a pulsar el botoacutenNueva para crear la variable en cuestioacuten

3 Extraemos en el directorio del punto (1) el paquete descargado de la paacutegina de los desar-rolladores

4 Ejecutar la instalacioacuten del cheroGLUE_ HOMEbininstall gluebat para registar GLUElet-Manager y GSIC tool como un servicio de Windows Tambieacuten este paso crearaacute un cheroen GLUE_ HOMEtool_ adapteradapterdata para proveer de persistencia a los objetoscreados con el adaptador GSIC tool

A continuacioacuten daremos de alta en nuestro gestor de bases de datos un para de bases de datosque necesita GLUEletManager Para ellos seguimos los siguientes pasos

1 Abrimos la consola de phpMyaAdmin para cargar y ejecutar el chero create_ GLUE_databasessql que se encuentra en GLUE_ HOMEmanagerconfdb

2 Modicamos el chero GLUE_ HOMEmanagerconfMETA-INFpersistencexml paradarle los paraacutemetros necesarios para que JDBC se conecte a nuestra base de datos Losparaacutemetros modicados puede verse en la imagen 62

Figura 62 Paraacutemetros modicados en persistencexml

La segunda parte consiste en el registro interno de los adaptadores de las herramientas para seraccedido con GLUEletManager La distribucioacuten trae un chero para facilitar la conguracioacuten delos adaptadores que trae consigo y para su instalacioacuten deberemos ejecutar el chero GLUE_HOMEmanagerconfdbll _ internal_ Registrysql Alguna de las herramientas necesitanuna conguracioacuten maacutes completa como puede ser Google Docs adapter que necesita una cuentade Gmail para poder crear documentos en Google Docs por lo que deberemos modicar el nom-bre de usuario y contrasentildea

La uacuteltima parte consiste en la instalacioacuten del adaptardor de Moodle como VLE utilizado Estainstalacioacuten es como cualquier otro moacutedulo de Moodle 2 La carpeta que deberemos copiar seraacutela del adaptador correspondiente a Moodle que se encuentra en la carpeta GLUE_ HOMEvle_adpatersmoodle_ vle_ adapter Una vez entremos en nuestro Moodle como administrador nosapareceraacute un mensaje indicaacutendonos que el nuevo moacutedulo esta instalado Para congurar el nuevomoacutedulo debermos ir a Noticaciones - Modulos - Actividades como podemos ver en la gura 63para congurar los paraacutemetros la URL del GLUEletManager y el tiempo de espera

Figura 63 Paraacutemetros del moacutedulo GLUE

Cuando el profesor quiera crear una nueva actividad dependiente de los adaptadores de GLUEdeberaacute agregar una actividad maacutes pulsando para ello en esta opcioacuten dentro del bloque deseadopara seleccionar luego el tipo de actividad GLUElet como podemos ver en la gura64

622 Creando un Doodle

El adaptador Doodle permite la creacioacuten conguracioacuten y gestioacuten de instancias del Doodle Cadaencuesta Doodle es considerado un instancia diferente Ademaacutes este adaptador permite realizarademas la conguracioacuten inicial de encuestas Doodle incluyendo el nombre de la encuesta unadescripcioacuten y un conjunto de posibles respuestas

A continuacioacuten antildeadiremos Doodle en un bloque de Moodle para ellos pulsaremos la opcioacuten deAgregar actividad GLUElet lo cual nos mostraraacute la paacutegina65 donde deberemos rellenar comomiacutenimo el nombre de la actividad y el tipo de herramienta seleccionado en este caso Doodle(httpdoodle-testcom)

2httpdocsmoodleorgenInstalling_contributed_modules_or_plugins

Figura 64 Creando una actividad GLUElet

La primera vez que pulsemos sobre la nueva actividad creada apareceraacute un pantalla 66 dondepodemos congurar diferentes elementos de la encuesta desarrollada con Doodle como son eltiacutetulo una pequentildea descripcioacuten y luego las opciones posibles con un liacutemite de 10

El resultado nal seraacute la incrustacioacuten de una encuesta Doodle dentro de nuestro Moodle comopodemos ver en la gura67

Figura 65 Antildeadiendo Doodle como actividad

Figura 66 Opciones iniciales de conguracioacuten de Doodle

Figura 67 Doodel dentro de Moodle

Capiacutetulo 7

Conclusiones Finales

71 Conclusiones Finales

El proyecto actual nos ha servido para acercarnos a las diferentes tecnologiacuteas que permiten lacomunicacioacuten entre Servicios Webs Hemos desarrollado una primera labor de investigacioacuten queha requerido el aprendizaje de diferentes herramientas de control de documentacioacuten y referenciascomo Zotero y Mendeley

La documentacioacuten recabada en el proceso inicial de revisioacuten de documentos nos ha aportadoun visioacuten general de los diferentes sistemas virtuales de aprendizaje que podemos encontrarnosmuchos de ellos gratuitos y las diferentes soluciones que se plantean a la necesidad de incluirrecursos de otros fabricantes que en principio no fueron concebidos para ser utilizados dentro deuna plataforma VLE

Para poner en praacutectica la diferentes opciones encontradas se han montado diferentes maacutequinasvirtuales sobre las que se han probado las mismas Las conclusiones nales se pasan a detallar

IMS LTIEsta solucioacuten de integracioacuten mediante el cumplimiento de unos protocolos y certicacionesde las herramientas que lo cumplen es en principio la que podriacutea parecer la mejor opcioacutenpero la falta de compromiso de los diferentes fabricantes de Servicios Web y la luchapara imponer sus propios estaacutendares hace que aun quede mucho para que esta opcioacuten seacomo tal real

Si vemos el nuacutemero de aplicaciones certicadas para usar IMS LTI apenas superan las 50 yla mayoriacutea solo cumple la especicacioacuten v10 lo cual signica que la integracioacuten solo solu-ciona el problema de llamar a un recurso externo desde Moodle Pocas son las que cumplenla v11 que permite obtener en Moodle una valoracioacuten de los ejercicios desarrollados en unaactividad externa

La versioacuten v20 que daraacute maacutes opciones a la hora de interactuar con actividades externasauacuten esta en desarrollo y nada se sabe sobre posibles fechas para su presentacioacuten Luegocerticacioacuten de herramientas etc

55

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 25: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

bull Moodle es OSS lo cual signica que los usuarios pueden descargarlo libremente usarlomodicarlos e incluso redistribuirlo seguacuten los teacuterminos GNU 3

bull La losofiacutea planteada por Moodle incluye una aproximacioacuten constructiva basada enel constructivismo social de la educacioacuten enfatizando que los estudiantes (y no soacutelolos profesores) pueden contribuir a la experiencia educativa en muchas formas

bull Compatibilidad con maacutes de 70 idiomas diferentes

bull Una excelente documentacioacuten soporte para seguridad y administracioacuten

bull No requiere modicaciones en el sistema operativo pudiendo ser ejecutado en un en-torno Linux Windows Mac OS o cualquier otro siempre que soporten PHP

bull La informacioacuten esta soportada por una simple base de datos

Ademaacutes su sencilla aplicacioacuten en entorno web que utiliza tecnologiacuteas ya ampliamenteprobadas sus mecanismos de extensioacuten maacutes faacuteciles en comparacioacuten con otros VLEs y laexistencia de una gran cantidad de documentacioacuten de desarrollo han impulsado la creacioacutende una gran comunidad de personas que contribuyen a la mejora de Moodle Esta comu-nidad estaacute en constante desarrollo de nuevas caracteriacutesticas y aplicaciones a traveacutes decientos de plugins que pueden ser descargados desde su la web de Moodle y asesoran tantoa otros desarrolladores como usuarios nales

La primera versioacuten de Moodle (10) fuel lanzada en 2002 como parte de la investigacioacuten deMartin Dougiamas del uso del software de coacutedigo abierto para la ensentildeanza y el aprendizajecon las comunidades basadas en Internet[Dougiamas and Taylor 2000] Actualmente seencuentra disponible la versioacuten 243+ como estable y la beta de la versioacuten 25

En cuanto a la parte teacutecnica Moodle estaacute desarrollado en lenguaje PHP como la mayoriacuteade los VLEs utiliza una arquitectura cliente-servidor comuacuten de tres capas CORREGIRLa capa de presentacioacuten dene como la informacioacuten se presenta a los usuarios nales quetienen acceso a esa informacioacuten a traveacutes de sus navegadores web La Capa de loacutegica de ne-gocios se encarga de las relaciones con Moodle el acceso a la capa de datos por lo generala traveacutes de MySQL para almacenar y recuperar la informacioacuten cuando sea necesario

Moodle se distribuye en un solo paquete multiplataforma que incluye PHP MySQL yApache HTTP Server para facilitar los procesos de instalacioacuten y conguracioacuten La dis-tribucioacuten actual de Moodle cumple con varios estaacutendares educativos Por ejemplo Moodlepuede manejar ADL SCORM paquetes que contienen recursos aislados o cursos completosEn cuanto a los estaacutendares IMS Moodle soporta IMS Content Packaging (IMS CP) IMSCommon Cartridge (IMS CC)IMS pregunta y Test Interoperability (IMS QTI) y estaacuteconsiderado como uno de los VLEs compatible con Basic LTI

241 otras plataformas

No podemos dejar de lado otros escenarios educativos que han ido apareciendo en los uacutelti-mos antildeos a pesar del gran eacutexito de los VLEs Algunos ejemplos de estas plataforma son

3httpsmoodleorg

bull Wikis (Ej MediaWiki) Son sistemas software que permiten la creacioacuten y gestioacutende contenidos estructurados mediante paacuteginas web relacionadas entre siacute El contenidosuele estar editado por varios usuarios que trabajan de manera colaborativa pudiendoincluir enlaces a recursos externos

bull Sitios de redes sociales (Ej Facebook) Son sistema en liacutenea donde los usuariospueden crearse sus propios perles y crear una red personal que les mantendraacute conec-tado con otros usuarios Estos sistemas han proliferado en los uacuteltimos antildeos llegando amillones de usuarios No suelen necesitar un administrador pues se utilizan medianteentorno web y son alojados por el propio proveedor Su gran adopcioacuten y el enfoquea las interacciones sociales es lo que ha llevado a muchos profesor a utilizarlo comoherramienta de aprendizaje Estos sitios permiten la creacioacuten y mantenimiento degrupo mediante el perl de usuario pero no estaacuten disentildeados para seguir un enfoquepedagoacutegico

bull Personal Learning Environment - PLE (Ej Southampton) Son denidos comosistemas de software que permiten al estudiante a tomar el control y la gestioacuten de suspropio aprendizaje Se caracterizan por la por la participacioacuten directa de los alumnosen el acceso agregacioacuten conguracioacuten y manipulacioacuten de herramientas y recursos adiferencia de los VLEs done es el educador el que selecciona y gestiona los recursosque el alumno debe utilizar

Muchas de estas herramientas son de coacutedigo libre y abierto Su funcionalidad respecto ala gestioacuten de actividades grupos funciones y herramientas es limitado siendo en algunoscasos inexistente Ninguna de estas plataformas se puede considerar un VLE ya que nosson sistemas centrados en el educador sin embargo pueden apoyar la integracioacuten de apli-caciones externas en entornos de aprendizaje colaborativo

Capiacutetulo 3

Organizacioacuten y Sistema Inicial

A continuacioacuten pasamos a detallar las distintas actividades de la que consta el proyecto quehemos llevado a cabo durante estos meses

31 Lanzamiento del proyecto

Esta actividad consisten en la eleccioacuten de una de las diferentes posibles aacutereas de desarrollo deproyectos que ofrece la UOC siendo la elegida Aplicaciones Web para trabajo colaborativo

32 Denicioacuten del proyecto

El proyecto queda denido en el presente documento siendo el tiacutetulo del mismo Orchestationand Coreography of Web Services on Moodle - Revisioacuten Sistemaacutetica de la literatura

[Duracioacuten] 27-02-2013 al 03-03-2013

33 Anaacutelisis de requisitos

Nos centraremos en la fase de planicacioacuten que incluye los objetivos de la investigacioacuten y la formaen que se llevaraacute a cabo la revisioacuten

[Duracioacuten] 04-03-2013 al 03-06-2013

331 Cuestiones Realizadas

El primer paso en la fase de planicacioacuten seraacute denir los objetivos principales de esta revisioacutensistemaacutetica de la literatura Estos objetivos son analizar el estado del arte de la coreografiacutea yorquestacioacuten de los servicios web en Moodle como LMS

332 Fuentes de datos y buacutesqueda

Utilizaremos diferentes libreriacuteas o espacios digitales para realizar las buacutesquedas las mismas serealizaraacuten en ingleacutes y espantildeol Las libreriacuteas principales utilizadas son

IEEEXplore [IEEEX] httpieeexploreieeeorg

21

Science Direct [SD] httpwwwsciencedirectcom

SpringerLink [SL] httpwwwspringerlinkcom

Paralelamente a Science Direct se han realizado buacutesquedas en Scopus1 de Elsevier y GoogleScholar2 de Google

333 Criterios de inclusioacuten y exclusioacuten

Las buacutesquedas que se realicen intentaraacuten abarcar todo el aacutembito de cuestiones del SLR pero esposible (y de hecho ocurre) el resultado contenga referencias publicaciones estudios o en generalinformacioacuten que no sirve Para ello seraacute necesario denir criterios de inclusioacuten y exclusioacuten loscual haremos basaacutendonos en la guiacutea [Kitchenham 2007]

334 Asegurar la calidad

Despueacutes de obtener un numero considerable de trabajos o estudios que satisfacen los criteriosde inclusioacuten y exclusioacuten se deberaacute ser capaz de asegurar o armar cuales son los que cumplencon una miacutenima calidad y si son vaacutelidos o no para el estudio en si Es baacutesico poder analizar queacuteestudios son mejores que otros en teacuterminos de calidadSiguiente [Kitchenham 2007] se deniraacuten preguntas y cuestiones que permitan asegurar dichacalidad

335 Extraccioacuten de datos y anaacutelisis

Los criterios de inclusioacuten y exclusioacuten junto con las preguntas orientadas a asegurar la calidadnos serviraacuten para obtener todos los artiacuteculos y estudios que se analizan en este estudioDe cada artiacuteculo se recogeraacute titulo y autores abstract publicacioacuten y antildeo de publicacioacuten

336 Fase de revisioacuten

Esta fase de planicacioacuten seraacute denir el proceso de conducir o dirigir la revisioacuten Para elloutilizaremos tres fases como podemos ver en la gura 31 de la paacutegina 23

337 Fase de Pruebas

Se realizan pruebas con la informacioacuten obtenido montado maacutequinas virtuales para realizar lasmismas En estas se han probado las diferentes opciones de comunicacioacuten que nos ofrece Moodle

1httpwwwscopuscom2httpscholargooglecom

Figura 31 Proceso para dirigir la revisioacuten

34 Calendario de Trabajo

Podemos ver en el siguiente diagrama de Gantt32 la distribucioacuten de trabajos en el tiempo elmismo seraacute modicado para ajustarlo a las variaciones producidas durante el desarrollo de lastareas que contempla

35 Hitos principales

Los principales hitos seraacuten

Lanzamiento del proyecto Se dene correctamente en que va consistir el proyecto

Denicioacuten de cuestiones para la buacutesqueda Donde se detallaraacuten las cuestiones quemarcaran el desarrollo del resto del proyecto

Comprobacioacuten de resultados Se deberaacuten criba los mismo para no obtener duplicadoso informacioacuten ajena a la investigacioacuten

Revisioacuten de informacioacuten obtenida Una vez obtenida la informacioacuten y analizada deberaacuteser revisada para su presentacioacuten

Figura 32 Diagrama de Gantt

36 Instalacioacuten base

Para llevar a cabo las pruebas se ha optado por la creacioacuten de una maacutequina virtual sobre VirtualBox 3 en la cual hemos instalado Windows XP como sistema operativo Este sistema es maacutesligero a la hora de trabajar en maacutequinas virtuales pues requiere menos recursos que las versionesposteriores del mismos sistema

El siguiente paso era la instalacioacuten de Moodle Aunque se dispone de un instalador para Win-dows se ha optado por la descarga e instalacioacuten de XAMPP 4 y su y su posterior conguracioacutenen la maacutequina virtual XAMPP es un servidor independiente de plataforma software libre queconsiste principalmente en la base de datos MySQL el servidor web Apache y los inteacuterpretespara lenguajes de script PHP y Perl El nombre proviene del acroacutenimo de X (para cualquierade los diferentes sistemas operativos) Apache MySQL PHP Perl

XAMPP en su versioacuten 181 incluye

Apache 243

MySQL 5527

PHP 547

phpMyAdmin 3522

FileZilla FTP Server 0941

Tomcat 7030

Strawberry Perl 51611 Portable

XAMPP Control Panel 310

Hemos continuado con la descarga he instalacioacuten de Moodle y hemos querido probar las difer-encias que obtenemos entre las versiones 19x y 25 por lo que se han descargado ambas heinstalado en maacutequinas virtuales diferentes Con ello conseguiremos probar el resultado obtenidoseguacuten la versioacuten Moodle desde su versioacuten 22 ya soporta conexiones mediante IMS - LTI IMSLTI es un estaacutendar IMS Learning Tool Interoperability Esto signica que las herramientas deaprendizaje tienen ahora diversas maneras de conectarse entre sin problemas

En la praacutectica cuando un usuario se registra en una herramienta como Moodle se pueden conectara la otra herramienta como MediaWiki y autenticarse automaacuteticamente proporcionando unaexperiencia perfectaLas guras 33 y 34 nos muestran el panel de control de XAMPP una vez instalado y el panede phpMyAdmin donde hemos debido congurar las bases de datos y usuario necesarios parallevar todo el proceso de conguracioacuten de Moodle y el resto de herramientas

3httpswwwvirtualboxorg4httpwwwapachefriendsorgesxampphtml

Figura 33 Panel de control de XAMPP

Figura 34 Gestor de bases de datos phpMyAdmin

Capiacutetulo 4

Servicios Web de Moodle

41 Introduccioacuten

Moodle 2X incorpora la posibilidad de implementar Servicios Web para manejar sus funciona-lidades lo que nos permite poder acceder a acciones de actualizar y crear tareas para reejar elresultado de las actividades realizadas Moodle soporta varios protocolos (REST SOAP XML-RPC y AMF)

42 Servicios Web de Moodle

Los Servicios Web de Moodle se caracterizan por permitir el acceso desde cualquier aplicacioacutenimplementando para ello tres capas como podemos observar en la gura 41

Capa nuacutecleoLa capa del nuacutecleo estaacute compuesta de todas las funciones principales de Moodle sobreusuarios grupos cursos calendario etc Moodle no dispone de una API al uso sino queofrece diferentes funciones que han sido desarrolladas durante antildeos Por tanto las necesi-dades de los Servicios Web estaacuten obligando a rehacer estas funciones del nuacutecleo para quecomiencen a formar una API (Moodle 2X)

Capa externaLa capa externa estaacute compuesta por nuevos cheros llamados externalphp colocados porlas carpetas de Moodle y conteniendo manejadores para la capa inferior Estos manejadoresson los responsables de comprobar las capacidades paraacutemetros y llamadas correctas a lasfunciones de nuacutecleo

Capa de conectoresLa capa de conectores estaacute compuesta de diferentes conectores para las diferentes imple-mentaciones de los Servicios Web y contiene un conector REST un conector SOAP unconector XML-RPC y un conector AMF Esta capa admite plugins para ampliar los conec-tores disponibles de manera que se puedan integrar otros sistemas en Moodle utilizandootros protocolos

Los pasos para utilizar un Servicio Web con Moodle seriacutean los siguientes

1 El cliente enviacutea el nombre de usuario y contrasentildea al servidor que provee los ServiciosWeb

27

Figura 41 Capas en Moodle

2 El servidor de protocolo devuelve un token de sesioacuten para esa cuenta de usuario

3 El cliente llama a un Servicio Web especiacuteco incluyendo el token de sesioacuten

4 El servidor utiliza el token para comprobar que la sesioacuten del Servicio Web estaacute activa

5 El servidor llama a la funcioacuten correspondiente localizada en el chero externallibphp dentrodel moacutedulo especiacuteco

6 La funcioacuten externa comprueba que el usuario actual tenga los permisos sucientes pararealizar esta operacioacuten

7 La funcioacuten externa llama a la funcioacuten correspondiente del nuacutecleo de Moodle (libphp)

8 La funcioacuten del nuacutecleo puede retornar un resultado a la funcioacuten externa

9 La funcioacuten externa devolveraacute el resultado al servidor de protocolo

10 El servidor de protocolo devolveraacute el resultado al cliente

43 REST

REST (Representational State Transfer) es el acroacutenimo de Transferencia de Estado Representa-cional teacutermino usado por Roy Fielding (uno de los creadores de HTTP) para describir un estilode arquitectura que utilizar como modelo en los sistemas de computacioacuten Web No es un es-taacutendar sino un enfoque que muestra como desarrollar y proporcionar servicios en Internet portanto considerado como un estilo arquitectoacutenico para disentildeo de software a gran escala El propioautor lo dene de manera concisa en eacuteste paacuterrafo

REST es un intento de mostrar coacutemo debe comportarse una aplicacioacuten Web bien disentildeada unared de paacuteginas Web (una maacutequina de estados virtual) donde el usuario progresaraacute seleccionan-do enlaces (transiciones de estado) que devuelven la paacutegina siguiente (el siguiente estado de lamaacutequina) que el usuario manejaraacute a su gusto

Este enfoque no aporta realmente nada nuevo la mayor parte de la Web sigue este estilo arqui-tectoacutenico Sin embargo el autor hace eacutenfasis en las caracteriacutesticas concretas que han hecho quela Web triunfe que van a ser los objetivos buscados por REST y que son a su juicio

Escalabilidad en las interacciones entre componentes La red ha ido creciendo de maneraexponencial y se ha ido comportado de manera satisfactoria

Generalidad en las interfaces Se proporciona acceso con distintos clientes y con distintosmecanismos de acceso

Desarrollo independiente de componentes Implementaciones cliente y servidor pueden serdesarrolladas en distintos momentos

Existencia de componentes intermediarios con los cuales existe compatibilidad (comoproxys)que permiten encapsulacioacuten e integracioacuten de sistemas no Web dentro de la misma

431 Principios de disentildeo

Los objetivos citados van a ser conseguidos imponiendo una serie de restricciones

El estado y la funcionalidad de las aplicaciones se representan por forma de recursos

La identicacioacuten de recursos se realiza de forma uacutenica global mediante Uniform ResourceIdentiers Los recursos identicados con URIs son los objetos loacutegicos a los cuales se lesmandan los mensajes

Manipulacioacuten de recursos a traveacutes de representaciones luego no se manejan directamentelos recursos sino sus representaciones

Todos los recursos comparten un interfaz uniforme formado por

bull Un conjunto de operaciones limitado para transferir el estado Se van a aprovecharlas operaciones que HTTP dene mostradas en la gura 42

bull Un conjunto limitado de tipos de contenidos identicados mediante tipos MIME

Uso de un protocolo clienteservidor sin estado y basado en capas Cada mensaje HTTPcontendraacute la informacioacuten necesaria para comprender la peticioacuten luego como muestra lagura 43 no es necesario que eacutesta sea entendida tanto en el cliente como en el servidor

Uso de hipermedios para representar el estado de una aplicacioacuten permitiendo que el estadode una aplicacioacuten Web particular esteacute almacenado en uno o maacutes documentos de hipertextoque residen bien en el servidor o en el cliente Esto permite al servidor saber el estado desus recursos sin necesidad de almacenar el estado de los clientes concretos

Figura 42 Operaciones denidas por HTTP

Como ya se mencionoacute REST se trata de un estilo arquitectoacutenico no un estaacutendar Sin embargohace uso de varios estaacutendares Web

HTTP HyperText Transfer Protocol

Figura 43 Operaciones denidas por HTTP

URL Uniform Resource Locator como el mecanismo de indenticacioacuten de recursos

XML - HTML - PNG - etc Como distintos formatos de representacioacuten de recursos

Tipos MIME como text-xml text-html image-png etc

44 SOAP

SOAP (siglas de Simple Object Access Protocol) es un protocolo estaacutendar que dene coacutemo dosobjetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML Esteprotocolo deriva de un protocolo creado por David Winer en 1998 llamado XML-RPC SOAPfue creado por Microsoft IBM y otros y estaacute actualmente bajo el auspicio de la W3C

441 Principios de disentildeo

La funcionalidad que aporta SOAP es la de proporcionar un mecanismo simple y ligero de in-tercambio de informacioacuten entre dos puntos usando el lenguaje XML SOAP no es maacutes que unmecanismo sencillo de expresar la informacioacuten mediante un modelo de empaquetado de datosmodular y una serie de mecanismos de codicacioacuten de datos Esto permite que SOAP sea uti-lizado en un amplio rango de servidores de aplicaciones que trabajen mediante el modelo decomunicacioacuten RPC (Remote Procedure Call)

SOAP consta de tres partes como podemos ver en la gura 44

El SOAP envelope que dene el marco de trabajo que determina queacute se puede introduciren un mensaje quieacuten deberiacutea hacerlo y si esa operacioacuten es opcional u obligatoria

Las reglas de codicacioacuten SOAP que denen el mecanismo de serializacioacuten que seraacute usadopara encapsular en los mensajes los distintos tipos de datos

La representacioacuten SOAP RPC que dene un modo de funcionamiento a la hora de realizarllamadas a procedimientos remotos y la obtencioacuten de sus resultados

A la hora de realizar el disentildeo de SOAP se han tenido en cuenta una serie de consideracionescon el n de cumplir una serie de objetivos claros objetivos que le daraacuten el potencial que resideen SOAP y que le haraacuten tan atractivo Eacutestos son

Establecer un protocolo estaacutendar de invocacioacuten a servicios remotos que esteacute basado enprotocolos estaacutendares de uso frecuente en Internet como son HTTP (Hiper Text TransportProtocol) para la transmisioacuten y XML (eXtensible Markup Language)para la codicacioacutende los datos

Figura 44 Partes de SOAP

Independencia de plataforma hardware lenguaje de programacioacuten e implementacioacuten delservicio Web

El logro de estos objetivos ha hecho de SOAP un protocolo extremadamente uacutetil ya que elprotocolo de comunicacioacuten HTTP es el empleado para la conexioacuten sobre Internetpor lo que segarantiza que cualquier cliente con un navegador estaacutendar pueda conectarse con un servidor re-moto Ademaacutes los datos en la transmisioacuten se empaquetan o serializan con el lenguaje XML quese ha convertido en algo imprescindible en el intercambio de datos ya que es capaz de salvar lasincompatibilidades que existiacutean en el resto de protocolos de representacioacuten de datos de la red

Por otra parte los servidores Web pueden procesar las peticiones de usuario empleando tec-nologiacuteas tales como Servlets paacuteginas ASP (Active Server Pages) paacuteginas JSP (Java ServerPages) o sencillamente un servidor de aplicaciones con invocacioacuten de objetos mediante CORBACOM o EJB

Un ejemplo tiacutepico de disentildeo de un servicio Web utilizando las ventajas de SOAP podemos veren la siguiente gura 45

Figura 45 Ejemplo de uso de SOAP

45 AMF

AMF (Action Message Format) es un protocolo binario de Adobe que va por la versioacuten AMF3Aunque por el nombre de la versioacuten pueda parecer que existan 3 cabe destacar que soacutelo existendos AMF0 y AMF3 Una de las mayores diferencias o mejoras que aporta AMF3 es que soporta

datos binarios (ByteArray) y int datos no soportados por AMF0 debido a que en la eacutepoca queaparecioacute el formato Flash Player no soportaba estos tipos de datos

AMF3 no es un protocolo para transferir informacioacuten sino que representa el formato en el quese transmite la informacioacuten en este caso un formato binario

La versioacuten de Moodle 25 viene con Zend_ AMF pero podemos utilizar tambieacuten la libreriacuteaamfPHP

AMFPHP

Zend_ amf httpframeworkzendcommanual112enzendamfhtml

Maacutes informacioacuten en httpdocsmoodleorgdevAMFPHP

46 Conguracioacuten de Moodle Web Services

Los Servicios Web habilitan que otros sistemas puedan entrar a Moodle y realizar operacionesPasaremos a detallar los pasos necesarios para su conguracioacuten y explicaremos distintos pruebasllevadas a cabo sobre su funcionamiento Para poder consumir de manera correcta unWeb Servicede Moodle seriacutea necesario antildeadir a la url que vamos a formar los paraacutemetros oportunos paralograr consumir el Web Service de manera satisfactoria Una vez antildeadidos ya podriacuteamos invocarla funcioacuten seleccionada

461 Activando los Servicios Web

Lo primero que debemos hacer es activar la opcioacuten general que habilita el uso de los serviciosweb En la gura 46 podemos observar la opcioacuten para la activacioacuten de este servicio para ello nosiremos a la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Servicios Externos

Figura 46 Activacioacuten Servicios Web

Esto solo es una opcioacuten a nivel global necesitando ahora activar los protocolos de comunciacionesque vamos a utilizar para ello deberemos ir a la opcioacuten textitAdministracioacuten del Sitio - Exten-siones - Servicios Web - Administrador de protoclos donde encontraremos las diferente opcionesque nos existen En la gura 47 podemos ver la pantalla de nuestra conguracioacuten con todos losprotocolos activados

Una vez activada la opcioacuten de Servicios Externos y seleccionados los protocolos que utilizaremosnecesitamos crear un Servicio Personalizado que no es maacutes que una etiqueta que aglutina los

Figura 47 Activacioacuten Protoclos

Servicios Web que ofrece Moodle y que pueden ser utilizados por los servicios externos Para ellodeberemos darle a la opcioacuten Agregar dentro de la opcioacuten Administracioacuten del Sitio - Extensiones- Servicios Web - Servicios Externos Como prueba habilitaremos un servicio llamado Uso_Servicio_ Web cuya creacioacuten podemos ver en la gura 48

Figura 48 Creacioacuten Servicio Personalizado

Una vez creado el Servicio Personalizado deberemos agregarle las funciones que queramos lesean permitidas pudiente tener maacutes de una En la gura 49 vemos como asociamos la creacioacutende usuarios al Servicio Personalizado

Terminado esto deberemos tener en el listado que nos muestra Moodle de Servicios personaliza-dos algo como lo mostrado en la gura 410

El siguiente paso es conceder los permisos apropiados para que este Servicio Personalizado puedeser usado por los usuarios pare ello debemos primero especicar quienes son los Usuarios au-torizados para ello en la linea de la lista de Servicios Personalizados deberemos pulsar sobre laopcioacuten usuarios autorizados donde apareceraacute una pantalla como 411 donde podremos escogerlos usuarios de los que se encuentran dados de alta en nuestro sistema

Y para terminar aunque este paso podriacutea ser realizado por el propio usuario si tuviera el per-miso de moodlewebservicecreatetoken seraacute la creacioacuten de un token el cual va ser la opcioacuten quevamos a utilizar para las pruebas de los Servicios Web de Moodle Para la creacioacuten del mismodeberemos entrar en la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Admin-istrar tokens y pulsar la opcioacuten Agregar para antildeadir un token nuevo como podemos apreciar en

Figura 49 Agregando funciones al Servicio Personalizado

Figura 410 Listado de Servicios Personalizados

la gura 412 teniendo la precaucioacuten de escoger como Servicio el Servicio Personalizado creadocon anterioridad Uso_ Servicio_ Web

En esta pantalla podemos poner varios tipos de restricciones

Restriccioacuten de IP Donde podemos indicar la direccioacuten IP desde donde

Restriccioacuten de Fecha Se puede denir hasta cuando seraacute valido este token siendo unabuena manera de poder probar cosas y no dejar puertas abiertas por error

En la gura 413 podemos ver el token asignado por el sistema para nuestro Servicio Personalizadoy que procederemos a utilizar para comprobar el funcionamiento de los Servicios Web de Moodle

462 Pruebas cliente Servicio Web

Procederemos ahora a desarrollar pruebas que utilicen los Servicios Personalizados creado Sepodriacutean haber utilizado el Cliente de prueba de servicio web que incorpora Moodle dentro dela opcioacuten Administracioacuten del Sitio - Desarrollo - Cliente de prueba servicio web pero hemosdecidido implementar una Web para comprobar la facilidad del funcionamiento del sistema y losdistintos resultados obtenidos seguacuten el protocolo utilizado

Utilizaremos la libreriacutea cURL de PHP cURL es una herramienta que permite abrir conexionesen una amplia variedad de protocolos y que estaacute disponible tanto como herramienta de consola(para ejecutar directamente con comandos) como en libreriacutea (para usar en vuestro coacutedigo) y quepermite hacer praacutecticamente todo manejo de cookies descarga de cheros binarios enviacuteos de

Figura 411 Alta de Usuarios Autorizados

Figura 412 Creacioacuten de Tokens

paraacutemetros GET y POST etc

La web creada para la introduccioacuten 414 de los usuarios seraacute equivalente para todos los procesosprocesos siendo el programa que da respuesta al formulario el que implemente la funcioacuten nece-saria para la introduccioacuten de los datos en Moodle

Los resultados de REST pueden mostrar los resultados del alta de dos maneras diferentes unaen formato XML como podemos ver en la gura 415 y otro en formatox JSON tambieacuten po-dremos ver en la gura Los resultados obtenidos tambieacuten pueden verse en el la gura 416

Figura 413 Lista de Tokens

Figura 414 Web de alta de usuarios

Figura 415 Resultado de REST en formato XML

Figura 416 Resultado de REST en formato JSON

Capiacutetulo 5

Herramientas Externas

51 Introduccioacuten

Las versiones de Moodle desde la 22 vienen con IMS LTI o External Tool de manera integradaEn versiones anteriores era necesario la instalacioacuten de plugins como LTI Provider (maacutes informa-cioacuten en la web de Moodle1 IMS LTI es un estandar de IMS learing2 para la interoperabilidadde herramientas Esto signica que las herramientas de aprendizaje tienen ahora un mecanismopara jar el modo en que pueden conectarse entre ellas sin problemas

En la praacutectica cuando un usuario se registra en Moodle puede conectarse a otras herramientascomo Wikis o Blogs y autenticarse de manera automaacutetica en estas

52 Estaacutendares IMS

Actualmente se realizan esfuerzos para la integracioacuten de servicios a una plataforma virtual deaprendizaje mediante un mecanismo reutilizable independiente del tipo de plataforma El IMSGlobal Learning Consortium viene desde hace tiempo trabajando en este enfoque IMS GLCpresenta un conjunto de estaacutendares que promueven el uso de servicios de aprendizaje digitales(Digital Learning Services) dentro de las plataformas de aprendizaje tradicionales IMS DigitalLearning Services estaacute integrado por los siguientes estaacutendares principales IMS Common Car-tridge [ims a] IMS Learning Tool Interoperability [ims c] y IMS Learning Information Services[ims b]

El IMS Learning Tool Interoperability es una especicacioacuten para facilitar la inclusioacuten de her-ramientas externas dentro de un curso El administrador de la plataforma de aprendizaje ges-tiona los servicios que podraacuten ser consumidos por la plataforma el docente decide que serviciosutilizaraacute en su curso y el estudiante hace uso de los mismos IMS LTI permite que distintos LMSconsuman un mismo servicio el cual no fue implementado teniendo en cuenta el tipo de LMSsino la implementacioacuten del estaacutendar desde el lado del proveedor

El enfoque del IMS LTI estaacute dirigido a la creciente demanda de un mecanismo reutilizable para laintegracioacuten de herramientas de terceros en el nuacutecleo de las plataformas LMS Estas herramientas

1httpsmoodleorgpluginsviewphpplugin=local_ltiprovider2httpwwwimsglobalorgtoolsinteroperability2cfm

37

pueden agregar funcionalidad especializada a los LMS El enfoque ofrece una solucioacuten basada enWeb Services igualmente aplicable a distintos lenguajes de programacioacuten

Las versiones del LTI son

LTI v10 ( LTI Basic ) ( publicado en mayo de 2010 ) proporciona un meacutetodo sencillopero estaacutendar para establecer una conexioacuten segura a una herramienta desde el interior deun consumidor de herramientas El lanzamiento de este enlace permite una experienciade aprendizaje sin problemas para los estudiantes que acceden a las aplicaciones ricas queparecen tener lugar dentro del ambiente de aprendizaje Versioacuten 10 es el primer paso en eldesarrollo continuo de LTI Figura 51

LTI v11 ( publicado en marzo 2012 ) antildeade la posibilidad de pasar de nuevo un resultadode la herramienta al Consumidor de herramientas Esto permite que los estudiantes recibenuna calicacioacuten o puntuacioacuten de su interaccioacuten con la aplicacioacuten de aprendizaje

LTI v111 ( publicado en julio de 2012 ) incluye soporte para el papel Mentor que se puedeutilizar para representar a un padre tutor o auditor

LTI v20 Aun en estado de desarrollo y proporciona una plataforma maacutes sosticado y ex-tensible para permitir integraciones maacutes profundas y un mayor apoyo para los serviciosy eventos LTI 2 se basa en LTI 1 mediante la incorporacioacuten de maacutes sosticada resulta-dos de informes y una rica arquitectura de extensiones que permite servicios adicionalesque se antildeadiraacuten gradualmente LTI 2 utiliza REST y JSON-LD para ofrecer esta nuevafuncionalidad

Figura 51 Esquema LTI Baacutesico

En la gura 52 podemos observar como se podriacutean utilizar las ventajas de LTI por parte decada unos de los actores a lo largo de la vida de la aplicacioacuten de servicios externos dentro de unaplataforma de aprendizaje

En la paacutegina web de IMS3 podemos encontrar una relacioacuten de aplicaciones certicadas comocompatibles con el estaacutendar LTI indicando la versioacuten del LTI que cumplen En la gura 53podemos ver las aplicaciones certicadas por UOC y en la gura 54 la informacioacuten sobre una deestas herramientas

3httpwwwimsglobalorgccalltoolscfm

Figura 52 Esquema utilizacioacuten LTI

Figura 53 Listado de herramientas LTI de la UOC

53 Herramientas externas en Moodle

La siguiente seccioacuten consiste en la aplicacioacuten de alguno de esto servicios externos en Moodlepara comprobar su funcionamiento Nos decantaremos para la primera prueba por WordPresspues aunque existen manuales al respecto la documentacioacuten en castellano es escasa

531 Wordpress

La versioacuten estaacutendar de Wordpress a la cual accedemos cuando nos abrimos cuenta en Wordpressno viene con las herramientas necesarias para la iteracioacuten mediante LTI por lo que procedere-mos a la instalacioacuten en nuestro servidor de Wordpress para pasar a la instalacioacuten de los pluginsnecesarios

La instalacioacuten ha consistido en la descarga de la web ocial 4 de la versioacuten 351 la cual hemoscopiado dentro del directorio htdocs de nuestra instalacioacuten de Xampp Hemos dado de alta unnuevo usuario en nuestra base de datos llamado username como podemos ver en la imagen 55 yposteriormente hemos seguido los pasos que el instalador nos iba ofreciendo para tener instalado

4httpwordpressorgdownload

Figura 54 Informacioacuten sobre la certicacioacuten

Wordpress bajo la url httplocalhostwordpress

Figura 55 Usuario de Wordpress

Deberemos congurar Wordpress para que trabaje como multisitio para lo que deberemos seguirlos pasos de conguracioacuten que podemos encontrar en la web ocial de Wordpress5 bajo el nombreCreate A Network consistente en los siguientes pasos

1 Realizar una copia de seguridad por si acaso

2 Modicar el chero wp-congphp incluyendo la siguiente linea encima de Thats allstop editing Happy blogging Multisite dene (WP_ ALLOW_ MULTISITE true)

Multisite dene (WP_ ALLOW_ MULTISITE true)

3 Installar un Network Para ello hemos de entra en la opcioacuten Administration -gtTools -gtNetwork Setup donde podremos congurar opciones sobre el nombre que queremos declararpara el nuevo sitio

4 Activar el Network para ello debemos modicar los cheros wp-congphp y htaccess porlo que seriacutea bueno que realizaacuteramos primero un copia de seguridad de los mismos Loscambios que debemos realizar son los siguientes

5httpcodexwordpressorgCreate_A_Network

En wp-congphp dene(MULTISITE true)dene(SUBDOMAIN_ INSTALL false)dene(DOMAIN_ CURRENT_ SITE localhost)dene(PATH_ CURRENT_ SITE wordpress)dene(SITE_ ID_ CURRENT_ SITE 1)dene(BLOG_ ID_ CURRENT_ SITE 1)

El chero htaccess debe quedar asiacute BEGIN WordPressltIfModule mod_ rewritecgtRewriteEngine OnRewriteBase wordpressRewriteRule icircndexphp$ - [L]

add a trailing slash to wp-adminRewriteRule ([_ 0-9a-zA-Z-]+)wp-admin1wp-admin [R=301L]

RewriteCondREQUEST_ FILENAME -f [OR]RewriteCondREQUEST_ FILENAME -dRewriteRule - [L]RewriteRule ([_ 0-9a-zA-Z-]+)(wp-(content|admin|includes)) $2 [L]RewriteRule ([_ 0-9a-zA-Z-]+)( php)$ $2 [L]RewriteRule indexphp [L]ltIfModulegt

END WordPress

5 Esto nos habraacute creado en la parte izquierda de la barra de herramientas de Wordpressuna nueva opcioacuten llamada My Sites que contendraacute un listado de los sitios de nuestroWordpress

El siguiente paso seraacute la descarga del plugin los cual podremos hacerlos desde la web de sour-forgenet 6 En esta web se detalla informacioacuten sobre el plugin y como se debe instalar Siguiendolos pasos que tenemos en el mismo procederemos a la descarga y el desplegado del mismo en lacarpeta wp-contentmu-plugins Salimos de Wordpress y volvemos a entrar como superusuariosi entramos dentro de la nueva red realizada podremos ver que dentro de LTI Consumers Keystendremos la opcioacuten LTI Consumers Keys como podemos ver en la imagen 56

Aquiacute deberemos crear la clave del consumidor del servicio y la clave secreta que nos permitiraacute aMoodle conectarse a Wordpress

Una vez que tenemos la clave secreta y del consumidor deberemos volver a Moodle entrandocomo administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

6httpsourceforgenetappsmediawikilearningappsindexphptitle=LTI4Wordpress

Figura 56 Servicios LTI en Wordpress

Figura 57 Listado de claves de LTI en Wordpress

-LTI En esta paacutegina podremos rellenar nuestras opciones

Tool Name Seraacute el nombre que tendraacute la herramienta y deberemos poner alguno indicativode la herramienta que estemos utilizando

Tool Base URL Es la direccioacuten de la herramienta en nuestro caso httplocalhostwordpress

Deberemos rellenar con los datos obtenidos en Wordpress la clave de consumidor y la clavesecreta

Es importante marcar Show tool type when creating tool instances para que aparezcaposteriormente al crear los recursos en nuestros cursos

Para poder probar el sistema hemos creado un curso dentro de Moodle llamada WordpressLTIdonde daremos de la siguiente manera de alta 59

Dentro de nuestro curso seleccionamos la opcioacuten de Edicioacuten

Pulsamos sobre Antildeadir una actividad o un recurso

Seleccionamos External Tool

Rellenamos las opciones

bull Nombre de la Actividad Cualquiera de nuestra eleccioacuten

Figura 58 Conguracioacuten LTI en Moodle

bull Tipo de herramienta externa El nombre que le pusimos a la herramienta externa enla conguracioacuten LTI de Moodle

bull Launch Container Hemos elegido la opcioacuten Incrustar para ver el resultado

Figura 59 Conguracioacuten Herramienta Externa

Una vez congurado podemos lanzar la herramienta externa teniendo como resultado la gura510

Figura 510 Wordpress integrado en Moodle

532 ChemVantage

ChemVantage es un recurso gratuito para la educacioacuten cientiacuteca que incluye ejercicios de gradoejercicios de preparacioacuten exaacutemenes de la praacutectica conferencias de video y libros de texto enliacutenea gratis Fue creado por ChemVantage LLC que fue fundada por el Prof Chuck Wight queha ensentildeado Quiacutemica General en la Universidad de Utah desde 1984 (ChemVantage 2011)

Nos hemos puesto en contacto con Chuck Wight (adminchemvantageorg) para solicitarle unaclave de consumidor y secreta para poder probar este recurso desde moodle Las opciones y elcorreo puede verse en la gura 511

Una de las cosas maacutes importantes de ChemVantage y por lo que nos hemos decidido a probar esque permite la devolucioacuten de las notas obtenidas en los ejercicios realizados en las herramientasexternas a Moodle El alumno podraacute realizar las tareas en esta herramienta externa y luego sercalicadas en Moodle

ChemVantage estaacute certicada por IMS 7 como un proveedor de herramientas LTI v11 y comotal funciona desde nuestro propio LMS para llevar a cabo la autenticacioacuten de sitios provee decuentas y devuelve resultados de asignacioacuten de estudiantes con el libro LMS grado automaacutetica-mente

Los recursos disponible son ChemVantage son principalmente los siguientes

1 QuizzesLos ejercicios presentados aquiacute estaacuten disentildeados para animar a los estudiantes a leer y en-tender los libros de texto utilizados en el curso Las preguntas se basan en material que sepresente en su mayor parte en los textos de introduccioacuten de quiacutemica Los iacutetems de preguntastienen respuestas straighforward no requieren caacutelculos detallados Las preguntas se presen-tan en varios formatos diferentes incluyendo opcioacuten muacuteltiple verdadero falso casilla devericacioacuten ll-in-the-blanco y numeacutericas Cada cuestionario se compone de 10 preguntasextraiacutedas al azar de una base de datos con muchas maacutes preguntas En el proceso de tomarvarias pruebas para mejorar sus calicaciones los estudiantes probablemente encuentran

7httpdevelopersimsglobalorgcoursechemvantagehtml

algunas preguntas repetidas de concursos anteriores sin embargo es poco probable quecualquiera de los dos cuestionarios contendraacute exactamente el mismo conjunto de preguntasen el mismo orden Asignando pruebas para ser completado antes de la conferencia losprofesores pueden estar seguros de que sus estudiantes tengan un poco de exposicioacuten almaterial Esto permite una mayor discusioacuten el diaacutelogo y la participacioacuten en el aula y haceel aprendizaje maacutes divertido (de verdad)

2 Video LecturesUna serie de conferencias de viacutedeo de 10 minutos sobre una variedad de temas de QuiacutemicaGeneral es accesible desde la paacutegina principal Los videos estaacuten disentildeados para reforzar lospuntos principales que se presentan en muchos libros de texto

3 HoweworksLas tareas estaacuten disentildeadas para dar a los estudiantes la praacutectica en la resolucioacuten de proble-mas cuantitativos que tienen respuestas numeacutericas Cada alumno puede descargar la tareatrabajar los problemas y presentar las respuestas en liacutenea Respuestas son juzgados a sercorrecta si la solucioacuten numeacuterica de acuerdo con la solucioacuten que se encuentra en la base dedatos dentro de una tolerancia especicada (indicado para cada problema) El sitio informaa los estudiantes que las respuestas son correctas para que puedan rehacer problemas malresueltos y volver a presentar las respuestas Cada problema se basa en una plantilla queatrae paraacutemetros al azar por lo que la respuesta correcta es diferente para cada estudianteEsto hace que sean adecuadas para la colaboracioacuten y el trabajo en grupo porque a pesarde que el grupo puede trabajar para encontrar un algoritmo correcto para resolver un prob-lema cada estudiante tendraacute que usar el algoritmo para encontrar la solucioacuten detallada asu propio problema

4 Practice ExamsLos estudiantes pueden realizaar exaacutemenes de praacutectica cronometrados que muestran laspreguntas de un grupo de 3 o maacutes temas Cada examen estaacute disentildeado para tardar unos60 minutos o menos e incluye una seleccioacuten de 10 preguntas Las praacutecticas de exaacutemenespueden repetirse cuantas veces se desee Las preguntas numeacutericas son parametrizadas loque es muy poco probable que un estudiante realice alguna vez dos exaacutemenes de praacutecticaideacutenticos

5 Portofolio PageCada estudiante puede acceder a una paacutegina que le da la puntuacioacuten obtenida en cada prue-ba y la asignacioacuten de tareas Los estudiantes que son miembros de un grupo tienen unapaacutegina de resultados asociados a las tareas de grupo Hay una paacutegina de carpeta separadaque contiene un resumen de todas las actividades realizadas en ChemVantage incluyendovideos vistos cuestionarios completados resolver problemas con la tarea y la praacutectica deexaacutemenes completados Las puntuaciones en los exaacutemenes de praacutectica son desagregadospara revelar fortalezas y debilidades estudiantes por temas

Hemos procedido a darlo de alta en LTI como hicimos con Wordpress Entramos en Moodle co-mo Administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

Figura 511 Correo de Chuck Wight

-LTI quedando como resultado la siguiente hoja de paraacutemetros gura 512

El siguiente paso seraacute antildeadir la herramienta dentro de nuestro curso para ello pulsaremos sobreAntildeadir una actividad o un recurso Deberemos seleccionar External Tool y rellenamos las op-ciones de la herramienta seleccionando como Tipo de herramienta externa la opcioacuten creada enel apartado de LTI de Moodle

Una vez congurado la herramienta en Moodle podemos entrar para realizar una personalizacioacutende la herramienta gura 513 esta consiste en indicar si el alumno cuando se conecta realiza undeterminado tarea o puede elegir navegar por la web de ChemVantage para poder disfrutar dela cantidad de recursos que se encuentran disponibles

Cuando el usuario pulsa sobre la opcioacuten de esta herramienta externa en Moodle lo primero quese le muestra es la informacioacuten sobre su perl en Chemvantage 514Como hemos visto en los paraacutemetros de conguracioacuten existe la posibilidad de llamar a unaherramienta externa incrustaacutendola dentro de Moodle o abrieacutendolo en una paacutegina web nuevaCon esta segunda opcioacuten no hemos conseguido que funcione correctamente la importacioacuten de lasnotas En cambio si la herramienta externa estaacute incrustada permite esa vinculacioacuten

Figura 512 Conguracioacuten de paraacutemetros LTI

Figura 513 Opciones de inicio de la herramienta

Figura 514 Pantalla de utilizacioacuten de la herramienta por el usuario

Capiacutetulo 6

Middleware

61 Introduccioacuten

La uacuteltima opcioacuten seriacutea utilizar una arquitectura middleware de integracioacuten que permita la inte-gracioacuten ligera de muacuteltiples herramientas existentes en el Moodle

62 GluePS

GLUE-PS es una arquitectura de middleware que permite una interoperabilidad ligera entrelos diferentes lenguajes de disentildeo de aprendizaje y diferentes entornos de aprendizaje virtualEsta interoperabilidad permite a los maestros y otros profesionales que particularicen (es decirpara personalizar el disentildeo de aprendizaje abstractoa la clase particular los participantes y laeleccioacuten de los instrumentos en los que va a ser promulgada) desplieguen (es decir para crearde forma semiautomaacutetica las actividades necesarias en el VLE recursos etc para la aprobacioacutendel disentildeo particularizado) e incluso para llevar a cabo ciertos cambios en el tiempo de ejecucioacuten(por ejemplo modicar la composicioacuten del grupo agregar o quitar recursos de las actividadesetc) Todo esto a partir de disentildeos en distintos lenguajes de disentildeo de aprendizaje tales como laespecicacioacuten IMS-LD aprendizaje

Por otra parte GLUE-PS tambieacuten permite desplegar y gestionar disentildeos de aprendizaje en en-tornos virtuales de aprendizaje que integren herramientas de aprendizaje externos (tales comointegrar en Moodle herramientas como Google Docs y muchos otros) - lo que llamamos Am-bientes de Aprendizaje Distribuido (DLE Distributed Learning Enviroments) Esto se consiguegracias a la arquitectura de GLUE para la integracioacuten de los entornos virtuales de aprendizajey herramientas externas

621 Instalacioacuten

Para realizar la instalacioacuten de GLUE-PS nos hemos descargado el software necesario de la webde los desarrolladores1 descargando la opcioacuten de autenticacioacuten centralizada La instalacioacuten haconstado de tres partes que pasaremos a describir a continuacioacuten

1httpwwwgsicuvaesglue

49

Figura 61 Arquitectura de GLUE

La primera parte consiste en la instalacioacuten del GLUEletManager y los adaptadores GSIC toolAunque el sistema viene preparado para Linux o Windows siendo Windows la explicacioacuten quevamos a desarrollar por estar utilizando este sistema operativo con Xampp

1 Crear el directorio GLUE_ HOME El cual hemos creado para mayor comodidad en la raiacutezdel disco duro

2 Denir la variable del sistema GLUE_ HOME con el valor de la direccioacuten completa deldirectorio de GLUE del punto anterior Para ello hemos pulsado botoacuten derecho sobre MiPc Propiedad Opciones Avanzadas Variables de Entorno procediendo a pulsar el botoacutenNueva para crear la variable en cuestioacuten

3 Extraemos en el directorio del punto (1) el paquete descargado de la paacutegina de los desar-rolladores

4 Ejecutar la instalacioacuten del cheroGLUE_ HOMEbininstall gluebat para registar GLUElet-Manager y GSIC tool como un servicio de Windows Tambieacuten este paso crearaacute un cheroen GLUE_ HOMEtool_ adapteradapterdata para proveer de persistencia a los objetoscreados con el adaptador GSIC tool

A continuacioacuten daremos de alta en nuestro gestor de bases de datos un para de bases de datosque necesita GLUEletManager Para ellos seguimos los siguientes pasos

1 Abrimos la consola de phpMyaAdmin para cargar y ejecutar el chero create_ GLUE_databasessql que se encuentra en GLUE_ HOMEmanagerconfdb

2 Modicamos el chero GLUE_ HOMEmanagerconfMETA-INFpersistencexml paradarle los paraacutemetros necesarios para que JDBC se conecte a nuestra base de datos Losparaacutemetros modicados puede verse en la imagen 62

Figura 62 Paraacutemetros modicados en persistencexml

La segunda parte consiste en el registro interno de los adaptadores de las herramientas para seraccedido con GLUEletManager La distribucioacuten trae un chero para facilitar la conguracioacuten delos adaptadores que trae consigo y para su instalacioacuten deberemos ejecutar el chero GLUE_HOMEmanagerconfdbll _ internal_ Registrysql Alguna de las herramientas necesitanuna conguracioacuten maacutes completa como puede ser Google Docs adapter que necesita una cuentade Gmail para poder crear documentos en Google Docs por lo que deberemos modicar el nom-bre de usuario y contrasentildea

La uacuteltima parte consiste en la instalacioacuten del adaptardor de Moodle como VLE utilizado Estainstalacioacuten es como cualquier otro moacutedulo de Moodle 2 La carpeta que deberemos copiar seraacutela del adaptador correspondiente a Moodle que se encuentra en la carpeta GLUE_ HOMEvle_adpatersmoodle_ vle_ adapter Una vez entremos en nuestro Moodle como administrador nosapareceraacute un mensaje indicaacutendonos que el nuevo moacutedulo esta instalado Para congurar el nuevomoacutedulo debermos ir a Noticaciones - Modulos - Actividades como podemos ver en la gura 63para congurar los paraacutemetros la URL del GLUEletManager y el tiempo de espera

Figura 63 Paraacutemetros del moacutedulo GLUE

Cuando el profesor quiera crear una nueva actividad dependiente de los adaptadores de GLUEdeberaacute agregar una actividad maacutes pulsando para ello en esta opcioacuten dentro del bloque deseadopara seleccionar luego el tipo de actividad GLUElet como podemos ver en la gura64

622 Creando un Doodle

El adaptador Doodle permite la creacioacuten conguracioacuten y gestioacuten de instancias del Doodle Cadaencuesta Doodle es considerado un instancia diferente Ademaacutes este adaptador permite realizarademas la conguracioacuten inicial de encuestas Doodle incluyendo el nombre de la encuesta unadescripcioacuten y un conjunto de posibles respuestas

A continuacioacuten antildeadiremos Doodle en un bloque de Moodle para ellos pulsaremos la opcioacuten deAgregar actividad GLUElet lo cual nos mostraraacute la paacutegina65 donde deberemos rellenar comomiacutenimo el nombre de la actividad y el tipo de herramienta seleccionado en este caso Doodle(httpdoodle-testcom)

2httpdocsmoodleorgenInstalling_contributed_modules_or_plugins

Figura 64 Creando una actividad GLUElet

La primera vez que pulsemos sobre la nueva actividad creada apareceraacute un pantalla 66 dondepodemos congurar diferentes elementos de la encuesta desarrollada con Doodle como son eltiacutetulo una pequentildea descripcioacuten y luego las opciones posibles con un liacutemite de 10

El resultado nal seraacute la incrustacioacuten de una encuesta Doodle dentro de nuestro Moodle comopodemos ver en la gura67

Figura 65 Antildeadiendo Doodle como actividad

Figura 66 Opciones iniciales de conguracioacuten de Doodle

Figura 67 Doodel dentro de Moodle

Capiacutetulo 7

Conclusiones Finales

71 Conclusiones Finales

El proyecto actual nos ha servido para acercarnos a las diferentes tecnologiacuteas que permiten lacomunicacioacuten entre Servicios Webs Hemos desarrollado una primera labor de investigacioacuten queha requerido el aprendizaje de diferentes herramientas de control de documentacioacuten y referenciascomo Zotero y Mendeley

La documentacioacuten recabada en el proceso inicial de revisioacuten de documentos nos ha aportadoun visioacuten general de los diferentes sistemas virtuales de aprendizaje que podemos encontrarnosmuchos de ellos gratuitos y las diferentes soluciones que se plantean a la necesidad de incluirrecursos de otros fabricantes que en principio no fueron concebidos para ser utilizados dentro deuna plataforma VLE

Para poner en praacutectica la diferentes opciones encontradas se han montado diferentes maacutequinasvirtuales sobre las que se han probado las mismas Las conclusiones nales se pasan a detallar

IMS LTIEsta solucioacuten de integracioacuten mediante el cumplimiento de unos protocolos y certicacionesde las herramientas que lo cumplen es en principio la que podriacutea parecer la mejor opcioacutenpero la falta de compromiso de los diferentes fabricantes de Servicios Web y la luchapara imponer sus propios estaacutendares hace que aun quede mucho para que esta opcioacuten seacomo tal real

Si vemos el nuacutemero de aplicaciones certicadas para usar IMS LTI apenas superan las 50 yla mayoriacutea solo cumple la especicacioacuten v10 lo cual signica que la integracioacuten solo solu-ciona el problema de llamar a un recurso externo desde Moodle Pocas son las que cumplenla v11 que permite obtener en Moodle una valoracioacuten de los ejercicios desarrollados en unaactividad externa

La versioacuten v20 que daraacute maacutes opciones a la hora de interactuar con actividades externasauacuten esta en desarrollo y nada se sabe sobre posibles fechas para su presentacioacuten Luegocerticacioacuten de herramientas etc

55

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 26: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

bull Wikis (Ej MediaWiki) Son sistemas software que permiten la creacioacuten y gestioacutende contenidos estructurados mediante paacuteginas web relacionadas entre siacute El contenidosuele estar editado por varios usuarios que trabajan de manera colaborativa pudiendoincluir enlaces a recursos externos

bull Sitios de redes sociales (Ej Facebook) Son sistema en liacutenea donde los usuariospueden crearse sus propios perles y crear una red personal que les mantendraacute conec-tado con otros usuarios Estos sistemas han proliferado en los uacuteltimos antildeos llegando amillones de usuarios No suelen necesitar un administrador pues se utilizan medianteentorno web y son alojados por el propio proveedor Su gran adopcioacuten y el enfoquea las interacciones sociales es lo que ha llevado a muchos profesor a utilizarlo comoherramienta de aprendizaje Estos sitios permiten la creacioacuten y mantenimiento degrupo mediante el perl de usuario pero no estaacuten disentildeados para seguir un enfoquepedagoacutegico

bull Personal Learning Environment - PLE (Ej Southampton) Son denidos comosistemas de software que permiten al estudiante a tomar el control y la gestioacuten de suspropio aprendizaje Se caracterizan por la por la participacioacuten directa de los alumnosen el acceso agregacioacuten conguracioacuten y manipulacioacuten de herramientas y recursos adiferencia de los VLEs done es el educador el que selecciona y gestiona los recursosque el alumno debe utilizar

Muchas de estas herramientas son de coacutedigo libre y abierto Su funcionalidad respecto ala gestioacuten de actividades grupos funciones y herramientas es limitado siendo en algunoscasos inexistente Ninguna de estas plataformas se puede considerar un VLE ya que nosson sistemas centrados en el educador sin embargo pueden apoyar la integracioacuten de apli-caciones externas en entornos de aprendizaje colaborativo

Capiacutetulo 3

Organizacioacuten y Sistema Inicial

A continuacioacuten pasamos a detallar las distintas actividades de la que consta el proyecto quehemos llevado a cabo durante estos meses

31 Lanzamiento del proyecto

Esta actividad consisten en la eleccioacuten de una de las diferentes posibles aacutereas de desarrollo deproyectos que ofrece la UOC siendo la elegida Aplicaciones Web para trabajo colaborativo

32 Denicioacuten del proyecto

El proyecto queda denido en el presente documento siendo el tiacutetulo del mismo Orchestationand Coreography of Web Services on Moodle - Revisioacuten Sistemaacutetica de la literatura

[Duracioacuten] 27-02-2013 al 03-03-2013

33 Anaacutelisis de requisitos

Nos centraremos en la fase de planicacioacuten que incluye los objetivos de la investigacioacuten y la formaen que se llevaraacute a cabo la revisioacuten

[Duracioacuten] 04-03-2013 al 03-06-2013

331 Cuestiones Realizadas

El primer paso en la fase de planicacioacuten seraacute denir los objetivos principales de esta revisioacutensistemaacutetica de la literatura Estos objetivos son analizar el estado del arte de la coreografiacutea yorquestacioacuten de los servicios web en Moodle como LMS

332 Fuentes de datos y buacutesqueda

Utilizaremos diferentes libreriacuteas o espacios digitales para realizar las buacutesquedas las mismas serealizaraacuten en ingleacutes y espantildeol Las libreriacuteas principales utilizadas son

IEEEXplore [IEEEX] httpieeexploreieeeorg

21

Science Direct [SD] httpwwwsciencedirectcom

SpringerLink [SL] httpwwwspringerlinkcom

Paralelamente a Science Direct se han realizado buacutesquedas en Scopus1 de Elsevier y GoogleScholar2 de Google

333 Criterios de inclusioacuten y exclusioacuten

Las buacutesquedas que se realicen intentaraacuten abarcar todo el aacutembito de cuestiones del SLR pero esposible (y de hecho ocurre) el resultado contenga referencias publicaciones estudios o en generalinformacioacuten que no sirve Para ello seraacute necesario denir criterios de inclusioacuten y exclusioacuten loscual haremos basaacutendonos en la guiacutea [Kitchenham 2007]

334 Asegurar la calidad

Despueacutes de obtener un numero considerable de trabajos o estudios que satisfacen los criteriosde inclusioacuten y exclusioacuten se deberaacute ser capaz de asegurar o armar cuales son los que cumplencon una miacutenima calidad y si son vaacutelidos o no para el estudio en si Es baacutesico poder analizar queacuteestudios son mejores que otros en teacuterminos de calidadSiguiente [Kitchenham 2007] se deniraacuten preguntas y cuestiones que permitan asegurar dichacalidad

335 Extraccioacuten de datos y anaacutelisis

Los criterios de inclusioacuten y exclusioacuten junto con las preguntas orientadas a asegurar la calidadnos serviraacuten para obtener todos los artiacuteculos y estudios que se analizan en este estudioDe cada artiacuteculo se recogeraacute titulo y autores abstract publicacioacuten y antildeo de publicacioacuten

336 Fase de revisioacuten

Esta fase de planicacioacuten seraacute denir el proceso de conducir o dirigir la revisioacuten Para elloutilizaremos tres fases como podemos ver en la gura 31 de la paacutegina 23

337 Fase de Pruebas

Se realizan pruebas con la informacioacuten obtenido montado maacutequinas virtuales para realizar lasmismas En estas se han probado las diferentes opciones de comunicacioacuten que nos ofrece Moodle

1httpwwwscopuscom2httpscholargooglecom

Figura 31 Proceso para dirigir la revisioacuten

34 Calendario de Trabajo

Podemos ver en el siguiente diagrama de Gantt32 la distribucioacuten de trabajos en el tiempo elmismo seraacute modicado para ajustarlo a las variaciones producidas durante el desarrollo de lastareas que contempla

35 Hitos principales

Los principales hitos seraacuten

Lanzamiento del proyecto Se dene correctamente en que va consistir el proyecto

Denicioacuten de cuestiones para la buacutesqueda Donde se detallaraacuten las cuestiones quemarcaran el desarrollo del resto del proyecto

Comprobacioacuten de resultados Se deberaacuten criba los mismo para no obtener duplicadoso informacioacuten ajena a la investigacioacuten

Revisioacuten de informacioacuten obtenida Una vez obtenida la informacioacuten y analizada deberaacuteser revisada para su presentacioacuten

Figura 32 Diagrama de Gantt

36 Instalacioacuten base

Para llevar a cabo las pruebas se ha optado por la creacioacuten de una maacutequina virtual sobre VirtualBox 3 en la cual hemos instalado Windows XP como sistema operativo Este sistema es maacutesligero a la hora de trabajar en maacutequinas virtuales pues requiere menos recursos que las versionesposteriores del mismos sistema

El siguiente paso era la instalacioacuten de Moodle Aunque se dispone de un instalador para Win-dows se ha optado por la descarga e instalacioacuten de XAMPP 4 y su y su posterior conguracioacutenen la maacutequina virtual XAMPP es un servidor independiente de plataforma software libre queconsiste principalmente en la base de datos MySQL el servidor web Apache y los inteacuterpretespara lenguajes de script PHP y Perl El nombre proviene del acroacutenimo de X (para cualquierade los diferentes sistemas operativos) Apache MySQL PHP Perl

XAMPP en su versioacuten 181 incluye

Apache 243

MySQL 5527

PHP 547

phpMyAdmin 3522

FileZilla FTP Server 0941

Tomcat 7030

Strawberry Perl 51611 Portable

XAMPP Control Panel 310

Hemos continuado con la descarga he instalacioacuten de Moodle y hemos querido probar las difer-encias que obtenemos entre las versiones 19x y 25 por lo que se han descargado ambas heinstalado en maacutequinas virtuales diferentes Con ello conseguiremos probar el resultado obtenidoseguacuten la versioacuten Moodle desde su versioacuten 22 ya soporta conexiones mediante IMS - LTI IMSLTI es un estaacutendar IMS Learning Tool Interoperability Esto signica que las herramientas deaprendizaje tienen ahora diversas maneras de conectarse entre sin problemas

En la praacutectica cuando un usuario se registra en una herramienta como Moodle se pueden conectara la otra herramienta como MediaWiki y autenticarse automaacuteticamente proporcionando unaexperiencia perfectaLas guras 33 y 34 nos muestran el panel de control de XAMPP una vez instalado y el panede phpMyAdmin donde hemos debido congurar las bases de datos y usuario necesarios parallevar todo el proceso de conguracioacuten de Moodle y el resto de herramientas

3httpswwwvirtualboxorg4httpwwwapachefriendsorgesxampphtml

Figura 33 Panel de control de XAMPP

Figura 34 Gestor de bases de datos phpMyAdmin

Capiacutetulo 4

Servicios Web de Moodle

41 Introduccioacuten

Moodle 2X incorpora la posibilidad de implementar Servicios Web para manejar sus funciona-lidades lo que nos permite poder acceder a acciones de actualizar y crear tareas para reejar elresultado de las actividades realizadas Moodle soporta varios protocolos (REST SOAP XML-RPC y AMF)

42 Servicios Web de Moodle

Los Servicios Web de Moodle se caracterizan por permitir el acceso desde cualquier aplicacioacutenimplementando para ello tres capas como podemos observar en la gura 41

Capa nuacutecleoLa capa del nuacutecleo estaacute compuesta de todas las funciones principales de Moodle sobreusuarios grupos cursos calendario etc Moodle no dispone de una API al uso sino queofrece diferentes funciones que han sido desarrolladas durante antildeos Por tanto las necesi-dades de los Servicios Web estaacuten obligando a rehacer estas funciones del nuacutecleo para quecomiencen a formar una API (Moodle 2X)

Capa externaLa capa externa estaacute compuesta por nuevos cheros llamados externalphp colocados porlas carpetas de Moodle y conteniendo manejadores para la capa inferior Estos manejadoresson los responsables de comprobar las capacidades paraacutemetros y llamadas correctas a lasfunciones de nuacutecleo

Capa de conectoresLa capa de conectores estaacute compuesta de diferentes conectores para las diferentes imple-mentaciones de los Servicios Web y contiene un conector REST un conector SOAP unconector XML-RPC y un conector AMF Esta capa admite plugins para ampliar los conec-tores disponibles de manera que se puedan integrar otros sistemas en Moodle utilizandootros protocolos

Los pasos para utilizar un Servicio Web con Moodle seriacutean los siguientes

1 El cliente enviacutea el nombre de usuario y contrasentildea al servidor que provee los ServiciosWeb

27

Figura 41 Capas en Moodle

2 El servidor de protocolo devuelve un token de sesioacuten para esa cuenta de usuario

3 El cliente llama a un Servicio Web especiacuteco incluyendo el token de sesioacuten

4 El servidor utiliza el token para comprobar que la sesioacuten del Servicio Web estaacute activa

5 El servidor llama a la funcioacuten correspondiente localizada en el chero externallibphp dentrodel moacutedulo especiacuteco

6 La funcioacuten externa comprueba que el usuario actual tenga los permisos sucientes pararealizar esta operacioacuten

7 La funcioacuten externa llama a la funcioacuten correspondiente del nuacutecleo de Moodle (libphp)

8 La funcioacuten del nuacutecleo puede retornar un resultado a la funcioacuten externa

9 La funcioacuten externa devolveraacute el resultado al servidor de protocolo

10 El servidor de protocolo devolveraacute el resultado al cliente

43 REST

REST (Representational State Transfer) es el acroacutenimo de Transferencia de Estado Representa-cional teacutermino usado por Roy Fielding (uno de los creadores de HTTP) para describir un estilode arquitectura que utilizar como modelo en los sistemas de computacioacuten Web No es un es-taacutendar sino un enfoque que muestra como desarrollar y proporcionar servicios en Internet portanto considerado como un estilo arquitectoacutenico para disentildeo de software a gran escala El propioautor lo dene de manera concisa en eacuteste paacuterrafo

REST es un intento de mostrar coacutemo debe comportarse una aplicacioacuten Web bien disentildeada unared de paacuteginas Web (una maacutequina de estados virtual) donde el usuario progresaraacute seleccionan-do enlaces (transiciones de estado) que devuelven la paacutegina siguiente (el siguiente estado de lamaacutequina) que el usuario manejaraacute a su gusto

Este enfoque no aporta realmente nada nuevo la mayor parte de la Web sigue este estilo arqui-tectoacutenico Sin embargo el autor hace eacutenfasis en las caracteriacutesticas concretas que han hecho quela Web triunfe que van a ser los objetivos buscados por REST y que son a su juicio

Escalabilidad en las interacciones entre componentes La red ha ido creciendo de maneraexponencial y se ha ido comportado de manera satisfactoria

Generalidad en las interfaces Se proporciona acceso con distintos clientes y con distintosmecanismos de acceso

Desarrollo independiente de componentes Implementaciones cliente y servidor pueden serdesarrolladas en distintos momentos

Existencia de componentes intermediarios con los cuales existe compatibilidad (comoproxys)que permiten encapsulacioacuten e integracioacuten de sistemas no Web dentro de la misma

431 Principios de disentildeo

Los objetivos citados van a ser conseguidos imponiendo una serie de restricciones

El estado y la funcionalidad de las aplicaciones se representan por forma de recursos

La identicacioacuten de recursos se realiza de forma uacutenica global mediante Uniform ResourceIdentiers Los recursos identicados con URIs son los objetos loacutegicos a los cuales se lesmandan los mensajes

Manipulacioacuten de recursos a traveacutes de representaciones luego no se manejan directamentelos recursos sino sus representaciones

Todos los recursos comparten un interfaz uniforme formado por

bull Un conjunto de operaciones limitado para transferir el estado Se van a aprovecharlas operaciones que HTTP dene mostradas en la gura 42

bull Un conjunto limitado de tipos de contenidos identicados mediante tipos MIME

Uso de un protocolo clienteservidor sin estado y basado en capas Cada mensaje HTTPcontendraacute la informacioacuten necesaria para comprender la peticioacuten luego como muestra lagura 43 no es necesario que eacutesta sea entendida tanto en el cliente como en el servidor

Uso de hipermedios para representar el estado de una aplicacioacuten permitiendo que el estadode una aplicacioacuten Web particular esteacute almacenado en uno o maacutes documentos de hipertextoque residen bien en el servidor o en el cliente Esto permite al servidor saber el estado desus recursos sin necesidad de almacenar el estado de los clientes concretos

Figura 42 Operaciones denidas por HTTP

Como ya se mencionoacute REST se trata de un estilo arquitectoacutenico no un estaacutendar Sin embargohace uso de varios estaacutendares Web

HTTP HyperText Transfer Protocol

Figura 43 Operaciones denidas por HTTP

URL Uniform Resource Locator como el mecanismo de indenticacioacuten de recursos

XML - HTML - PNG - etc Como distintos formatos de representacioacuten de recursos

Tipos MIME como text-xml text-html image-png etc

44 SOAP

SOAP (siglas de Simple Object Access Protocol) es un protocolo estaacutendar que dene coacutemo dosobjetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML Esteprotocolo deriva de un protocolo creado por David Winer en 1998 llamado XML-RPC SOAPfue creado por Microsoft IBM y otros y estaacute actualmente bajo el auspicio de la W3C

441 Principios de disentildeo

La funcionalidad que aporta SOAP es la de proporcionar un mecanismo simple y ligero de in-tercambio de informacioacuten entre dos puntos usando el lenguaje XML SOAP no es maacutes que unmecanismo sencillo de expresar la informacioacuten mediante un modelo de empaquetado de datosmodular y una serie de mecanismos de codicacioacuten de datos Esto permite que SOAP sea uti-lizado en un amplio rango de servidores de aplicaciones que trabajen mediante el modelo decomunicacioacuten RPC (Remote Procedure Call)

SOAP consta de tres partes como podemos ver en la gura 44

El SOAP envelope que dene el marco de trabajo que determina queacute se puede introduciren un mensaje quieacuten deberiacutea hacerlo y si esa operacioacuten es opcional u obligatoria

Las reglas de codicacioacuten SOAP que denen el mecanismo de serializacioacuten que seraacute usadopara encapsular en los mensajes los distintos tipos de datos

La representacioacuten SOAP RPC que dene un modo de funcionamiento a la hora de realizarllamadas a procedimientos remotos y la obtencioacuten de sus resultados

A la hora de realizar el disentildeo de SOAP se han tenido en cuenta una serie de consideracionescon el n de cumplir una serie de objetivos claros objetivos que le daraacuten el potencial que resideen SOAP y que le haraacuten tan atractivo Eacutestos son

Establecer un protocolo estaacutendar de invocacioacuten a servicios remotos que esteacute basado enprotocolos estaacutendares de uso frecuente en Internet como son HTTP (Hiper Text TransportProtocol) para la transmisioacuten y XML (eXtensible Markup Language)para la codicacioacutende los datos

Figura 44 Partes de SOAP

Independencia de plataforma hardware lenguaje de programacioacuten e implementacioacuten delservicio Web

El logro de estos objetivos ha hecho de SOAP un protocolo extremadamente uacutetil ya que elprotocolo de comunicacioacuten HTTP es el empleado para la conexioacuten sobre Internetpor lo que segarantiza que cualquier cliente con un navegador estaacutendar pueda conectarse con un servidor re-moto Ademaacutes los datos en la transmisioacuten se empaquetan o serializan con el lenguaje XML quese ha convertido en algo imprescindible en el intercambio de datos ya que es capaz de salvar lasincompatibilidades que existiacutean en el resto de protocolos de representacioacuten de datos de la red

Por otra parte los servidores Web pueden procesar las peticiones de usuario empleando tec-nologiacuteas tales como Servlets paacuteginas ASP (Active Server Pages) paacuteginas JSP (Java ServerPages) o sencillamente un servidor de aplicaciones con invocacioacuten de objetos mediante CORBACOM o EJB

Un ejemplo tiacutepico de disentildeo de un servicio Web utilizando las ventajas de SOAP podemos veren la siguiente gura 45

Figura 45 Ejemplo de uso de SOAP

45 AMF

AMF (Action Message Format) es un protocolo binario de Adobe que va por la versioacuten AMF3Aunque por el nombre de la versioacuten pueda parecer que existan 3 cabe destacar que soacutelo existendos AMF0 y AMF3 Una de las mayores diferencias o mejoras que aporta AMF3 es que soporta

datos binarios (ByteArray) y int datos no soportados por AMF0 debido a que en la eacutepoca queaparecioacute el formato Flash Player no soportaba estos tipos de datos

AMF3 no es un protocolo para transferir informacioacuten sino que representa el formato en el quese transmite la informacioacuten en este caso un formato binario

La versioacuten de Moodle 25 viene con Zend_ AMF pero podemos utilizar tambieacuten la libreriacuteaamfPHP

AMFPHP

Zend_ amf httpframeworkzendcommanual112enzendamfhtml

Maacutes informacioacuten en httpdocsmoodleorgdevAMFPHP

46 Conguracioacuten de Moodle Web Services

Los Servicios Web habilitan que otros sistemas puedan entrar a Moodle y realizar operacionesPasaremos a detallar los pasos necesarios para su conguracioacuten y explicaremos distintos pruebasllevadas a cabo sobre su funcionamiento Para poder consumir de manera correcta unWeb Servicede Moodle seriacutea necesario antildeadir a la url que vamos a formar los paraacutemetros oportunos paralograr consumir el Web Service de manera satisfactoria Una vez antildeadidos ya podriacuteamos invocarla funcioacuten seleccionada

461 Activando los Servicios Web

Lo primero que debemos hacer es activar la opcioacuten general que habilita el uso de los serviciosweb En la gura 46 podemos observar la opcioacuten para la activacioacuten de este servicio para ello nosiremos a la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Servicios Externos

Figura 46 Activacioacuten Servicios Web

Esto solo es una opcioacuten a nivel global necesitando ahora activar los protocolos de comunciacionesque vamos a utilizar para ello deberemos ir a la opcioacuten textitAdministracioacuten del Sitio - Exten-siones - Servicios Web - Administrador de protoclos donde encontraremos las diferente opcionesque nos existen En la gura 47 podemos ver la pantalla de nuestra conguracioacuten con todos losprotocolos activados

Una vez activada la opcioacuten de Servicios Externos y seleccionados los protocolos que utilizaremosnecesitamos crear un Servicio Personalizado que no es maacutes que una etiqueta que aglutina los

Figura 47 Activacioacuten Protoclos

Servicios Web que ofrece Moodle y que pueden ser utilizados por los servicios externos Para ellodeberemos darle a la opcioacuten Agregar dentro de la opcioacuten Administracioacuten del Sitio - Extensiones- Servicios Web - Servicios Externos Como prueba habilitaremos un servicio llamado Uso_Servicio_ Web cuya creacioacuten podemos ver en la gura 48

Figura 48 Creacioacuten Servicio Personalizado

Una vez creado el Servicio Personalizado deberemos agregarle las funciones que queramos lesean permitidas pudiente tener maacutes de una En la gura 49 vemos como asociamos la creacioacutende usuarios al Servicio Personalizado

Terminado esto deberemos tener en el listado que nos muestra Moodle de Servicios personaliza-dos algo como lo mostrado en la gura 410

El siguiente paso es conceder los permisos apropiados para que este Servicio Personalizado puedeser usado por los usuarios pare ello debemos primero especicar quienes son los Usuarios au-torizados para ello en la linea de la lista de Servicios Personalizados deberemos pulsar sobre laopcioacuten usuarios autorizados donde apareceraacute una pantalla como 411 donde podremos escogerlos usuarios de los que se encuentran dados de alta en nuestro sistema

Y para terminar aunque este paso podriacutea ser realizado por el propio usuario si tuviera el per-miso de moodlewebservicecreatetoken seraacute la creacioacuten de un token el cual va ser la opcioacuten quevamos a utilizar para las pruebas de los Servicios Web de Moodle Para la creacioacuten del mismodeberemos entrar en la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Admin-istrar tokens y pulsar la opcioacuten Agregar para antildeadir un token nuevo como podemos apreciar en

Figura 49 Agregando funciones al Servicio Personalizado

Figura 410 Listado de Servicios Personalizados

la gura 412 teniendo la precaucioacuten de escoger como Servicio el Servicio Personalizado creadocon anterioridad Uso_ Servicio_ Web

En esta pantalla podemos poner varios tipos de restricciones

Restriccioacuten de IP Donde podemos indicar la direccioacuten IP desde donde

Restriccioacuten de Fecha Se puede denir hasta cuando seraacute valido este token siendo unabuena manera de poder probar cosas y no dejar puertas abiertas por error

En la gura 413 podemos ver el token asignado por el sistema para nuestro Servicio Personalizadoy que procederemos a utilizar para comprobar el funcionamiento de los Servicios Web de Moodle

462 Pruebas cliente Servicio Web

Procederemos ahora a desarrollar pruebas que utilicen los Servicios Personalizados creado Sepodriacutean haber utilizado el Cliente de prueba de servicio web que incorpora Moodle dentro dela opcioacuten Administracioacuten del Sitio - Desarrollo - Cliente de prueba servicio web pero hemosdecidido implementar una Web para comprobar la facilidad del funcionamiento del sistema y losdistintos resultados obtenidos seguacuten el protocolo utilizado

Utilizaremos la libreriacutea cURL de PHP cURL es una herramienta que permite abrir conexionesen una amplia variedad de protocolos y que estaacute disponible tanto como herramienta de consola(para ejecutar directamente con comandos) como en libreriacutea (para usar en vuestro coacutedigo) y quepermite hacer praacutecticamente todo manejo de cookies descarga de cheros binarios enviacuteos de

Figura 411 Alta de Usuarios Autorizados

Figura 412 Creacioacuten de Tokens

paraacutemetros GET y POST etc

La web creada para la introduccioacuten 414 de los usuarios seraacute equivalente para todos los procesosprocesos siendo el programa que da respuesta al formulario el que implemente la funcioacuten nece-saria para la introduccioacuten de los datos en Moodle

Los resultados de REST pueden mostrar los resultados del alta de dos maneras diferentes unaen formato XML como podemos ver en la gura 415 y otro en formatox JSON tambieacuten po-dremos ver en la gura Los resultados obtenidos tambieacuten pueden verse en el la gura 416

Figura 413 Lista de Tokens

Figura 414 Web de alta de usuarios

Figura 415 Resultado de REST en formato XML

Figura 416 Resultado de REST en formato JSON

Capiacutetulo 5

Herramientas Externas

51 Introduccioacuten

Las versiones de Moodle desde la 22 vienen con IMS LTI o External Tool de manera integradaEn versiones anteriores era necesario la instalacioacuten de plugins como LTI Provider (maacutes informa-cioacuten en la web de Moodle1 IMS LTI es un estandar de IMS learing2 para la interoperabilidadde herramientas Esto signica que las herramientas de aprendizaje tienen ahora un mecanismopara jar el modo en que pueden conectarse entre ellas sin problemas

En la praacutectica cuando un usuario se registra en Moodle puede conectarse a otras herramientascomo Wikis o Blogs y autenticarse de manera automaacutetica en estas

52 Estaacutendares IMS

Actualmente se realizan esfuerzos para la integracioacuten de servicios a una plataforma virtual deaprendizaje mediante un mecanismo reutilizable independiente del tipo de plataforma El IMSGlobal Learning Consortium viene desde hace tiempo trabajando en este enfoque IMS GLCpresenta un conjunto de estaacutendares que promueven el uso de servicios de aprendizaje digitales(Digital Learning Services) dentro de las plataformas de aprendizaje tradicionales IMS DigitalLearning Services estaacute integrado por los siguientes estaacutendares principales IMS Common Car-tridge [ims a] IMS Learning Tool Interoperability [ims c] y IMS Learning Information Services[ims b]

El IMS Learning Tool Interoperability es una especicacioacuten para facilitar la inclusioacuten de her-ramientas externas dentro de un curso El administrador de la plataforma de aprendizaje ges-tiona los servicios que podraacuten ser consumidos por la plataforma el docente decide que serviciosutilizaraacute en su curso y el estudiante hace uso de los mismos IMS LTI permite que distintos LMSconsuman un mismo servicio el cual no fue implementado teniendo en cuenta el tipo de LMSsino la implementacioacuten del estaacutendar desde el lado del proveedor

El enfoque del IMS LTI estaacute dirigido a la creciente demanda de un mecanismo reutilizable para laintegracioacuten de herramientas de terceros en el nuacutecleo de las plataformas LMS Estas herramientas

1httpsmoodleorgpluginsviewphpplugin=local_ltiprovider2httpwwwimsglobalorgtoolsinteroperability2cfm

37

pueden agregar funcionalidad especializada a los LMS El enfoque ofrece una solucioacuten basada enWeb Services igualmente aplicable a distintos lenguajes de programacioacuten

Las versiones del LTI son

LTI v10 ( LTI Basic ) ( publicado en mayo de 2010 ) proporciona un meacutetodo sencillopero estaacutendar para establecer una conexioacuten segura a una herramienta desde el interior deun consumidor de herramientas El lanzamiento de este enlace permite una experienciade aprendizaje sin problemas para los estudiantes que acceden a las aplicaciones ricas queparecen tener lugar dentro del ambiente de aprendizaje Versioacuten 10 es el primer paso en eldesarrollo continuo de LTI Figura 51

LTI v11 ( publicado en marzo 2012 ) antildeade la posibilidad de pasar de nuevo un resultadode la herramienta al Consumidor de herramientas Esto permite que los estudiantes recibenuna calicacioacuten o puntuacioacuten de su interaccioacuten con la aplicacioacuten de aprendizaje

LTI v111 ( publicado en julio de 2012 ) incluye soporte para el papel Mentor que se puedeutilizar para representar a un padre tutor o auditor

LTI v20 Aun en estado de desarrollo y proporciona una plataforma maacutes sosticado y ex-tensible para permitir integraciones maacutes profundas y un mayor apoyo para los serviciosy eventos LTI 2 se basa en LTI 1 mediante la incorporacioacuten de maacutes sosticada resulta-dos de informes y una rica arquitectura de extensiones que permite servicios adicionalesque se antildeadiraacuten gradualmente LTI 2 utiliza REST y JSON-LD para ofrecer esta nuevafuncionalidad

Figura 51 Esquema LTI Baacutesico

En la gura 52 podemos observar como se podriacutean utilizar las ventajas de LTI por parte decada unos de los actores a lo largo de la vida de la aplicacioacuten de servicios externos dentro de unaplataforma de aprendizaje

En la paacutegina web de IMS3 podemos encontrar una relacioacuten de aplicaciones certicadas comocompatibles con el estaacutendar LTI indicando la versioacuten del LTI que cumplen En la gura 53podemos ver las aplicaciones certicadas por UOC y en la gura 54 la informacioacuten sobre una deestas herramientas

3httpwwwimsglobalorgccalltoolscfm

Figura 52 Esquema utilizacioacuten LTI

Figura 53 Listado de herramientas LTI de la UOC

53 Herramientas externas en Moodle

La siguiente seccioacuten consiste en la aplicacioacuten de alguno de esto servicios externos en Moodlepara comprobar su funcionamiento Nos decantaremos para la primera prueba por WordPresspues aunque existen manuales al respecto la documentacioacuten en castellano es escasa

531 Wordpress

La versioacuten estaacutendar de Wordpress a la cual accedemos cuando nos abrimos cuenta en Wordpressno viene con las herramientas necesarias para la iteracioacuten mediante LTI por lo que procedere-mos a la instalacioacuten en nuestro servidor de Wordpress para pasar a la instalacioacuten de los pluginsnecesarios

La instalacioacuten ha consistido en la descarga de la web ocial 4 de la versioacuten 351 la cual hemoscopiado dentro del directorio htdocs de nuestra instalacioacuten de Xampp Hemos dado de alta unnuevo usuario en nuestra base de datos llamado username como podemos ver en la imagen 55 yposteriormente hemos seguido los pasos que el instalador nos iba ofreciendo para tener instalado

4httpwordpressorgdownload

Figura 54 Informacioacuten sobre la certicacioacuten

Wordpress bajo la url httplocalhostwordpress

Figura 55 Usuario de Wordpress

Deberemos congurar Wordpress para que trabaje como multisitio para lo que deberemos seguirlos pasos de conguracioacuten que podemos encontrar en la web ocial de Wordpress5 bajo el nombreCreate A Network consistente en los siguientes pasos

1 Realizar una copia de seguridad por si acaso

2 Modicar el chero wp-congphp incluyendo la siguiente linea encima de Thats allstop editing Happy blogging Multisite dene (WP_ ALLOW_ MULTISITE true)

Multisite dene (WP_ ALLOW_ MULTISITE true)

3 Installar un Network Para ello hemos de entra en la opcioacuten Administration -gtTools -gtNetwork Setup donde podremos congurar opciones sobre el nombre que queremos declararpara el nuevo sitio

4 Activar el Network para ello debemos modicar los cheros wp-congphp y htaccess porlo que seriacutea bueno que realizaacuteramos primero un copia de seguridad de los mismos Loscambios que debemos realizar son los siguientes

5httpcodexwordpressorgCreate_A_Network

En wp-congphp dene(MULTISITE true)dene(SUBDOMAIN_ INSTALL false)dene(DOMAIN_ CURRENT_ SITE localhost)dene(PATH_ CURRENT_ SITE wordpress)dene(SITE_ ID_ CURRENT_ SITE 1)dene(BLOG_ ID_ CURRENT_ SITE 1)

El chero htaccess debe quedar asiacute BEGIN WordPressltIfModule mod_ rewritecgtRewriteEngine OnRewriteBase wordpressRewriteRule icircndexphp$ - [L]

add a trailing slash to wp-adminRewriteRule ([_ 0-9a-zA-Z-]+)wp-admin1wp-admin [R=301L]

RewriteCondREQUEST_ FILENAME -f [OR]RewriteCondREQUEST_ FILENAME -dRewriteRule - [L]RewriteRule ([_ 0-9a-zA-Z-]+)(wp-(content|admin|includes)) $2 [L]RewriteRule ([_ 0-9a-zA-Z-]+)( php)$ $2 [L]RewriteRule indexphp [L]ltIfModulegt

END WordPress

5 Esto nos habraacute creado en la parte izquierda de la barra de herramientas de Wordpressuna nueva opcioacuten llamada My Sites que contendraacute un listado de los sitios de nuestroWordpress

El siguiente paso seraacute la descarga del plugin los cual podremos hacerlos desde la web de sour-forgenet 6 En esta web se detalla informacioacuten sobre el plugin y como se debe instalar Siguiendolos pasos que tenemos en el mismo procederemos a la descarga y el desplegado del mismo en lacarpeta wp-contentmu-plugins Salimos de Wordpress y volvemos a entrar como superusuariosi entramos dentro de la nueva red realizada podremos ver que dentro de LTI Consumers Keystendremos la opcioacuten LTI Consumers Keys como podemos ver en la imagen 56

Aquiacute deberemos crear la clave del consumidor del servicio y la clave secreta que nos permitiraacute aMoodle conectarse a Wordpress

Una vez que tenemos la clave secreta y del consumidor deberemos volver a Moodle entrandocomo administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

6httpsourceforgenetappsmediawikilearningappsindexphptitle=LTI4Wordpress

Figura 56 Servicios LTI en Wordpress

Figura 57 Listado de claves de LTI en Wordpress

-LTI En esta paacutegina podremos rellenar nuestras opciones

Tool Name Seraacute el nombre que tendraacute la herramienta y deberemos poner alguno indicativode la herramienta que estemos utilizando

Tool Base URL Es la direccioacuten de la herramienta en nuestro caso httplocalhostwordpress

Deberemos rellenar con los datos obtenidos en Wordpress la clave de consumidor y la clavesecreta

Es importante marcar Show tool type when creating tool instances para que aparezcaposteriormente al crear los recursos en nuestros cursos

Para poder probar el sistema hemos creado un curso dentro de Moodle llamada WordpressLTIdonde daremos de la siguiente manera de alta 59

Dentro de nuestro curso seleccionamos la opcioacuten de Edicioacuten

Pulsamos sobre Antildeadir una actividad o un recurso

Seleccionamos External Tool

Rellenamos las opciones

bull Nombre de la Actividad Cualquiera de nuestra eleccioacuten

Figura 58 Conguracioacuten LTI en Moodle

bull Tipo de herramienta externa El nombre que le pusimos a la herramienta externa enla conguracioacuten LTI de Moodle

bull Launch Container Hemos elegido la opcioacuten Incrustar para ver el resultado

Figura 59 Conguracioacuten Herramienta Externa

Una vez congurado podemos lanzar la herramienta externa teniendo como resultado la gura510

Figura 510 Wordpress integrado en Moodle

532 ChemVantage

ChemVantage es un recurso gratuito para la educacioacuten cientiacuteca que incluye ejercicios de gradoejercicios de preparacioacuten exaacutemenes de la praacutectica conferencias de video y libros de texto enliacutenea gratis Fue creado por ChemVantage LLC que fue fundada por el Prof Chuck Wight queha ensentildeado Quiacutemica General en la Universidad de Utah desde 1984 (ChemVantage 2011)

Nos hemos puesto en contacto con Chuck Wight (adminchemvantageorg) para solicitarle unaclave de consumidor y secreta para poder probar este recurso desde moodle Las opciones y elcorreo puede verse en la gura 511

Una de las cosas maacutes importantes de ChemVantage y por lo que nos hemos decidido a probar esque permite la devolucioacuten de las notas obtenidas en los ejercicios realizados en las herramientasexternas a Moodle El alumno podraacute realizar las tareas en esta herramienta externa y luego sercalicadas en Moodle

ChemVantage estaacute certicada por IMS 7 como un proveedor de herramientas LTI v11 y comotal funciona desde nuestro propio LMS para llevar a cabo la autenticacioacuten de sitios provee decuentas y devuelve resultados de asignacioacuten de estudiantes con el libro LMS grado automaacutetica-mente

Los recursos disponible son ChemVantage son principalmente los siguientes

1 QuizzesLos ejercicios presentados aquiacute estaacuten disentildeados para animar a los estudiantes a leer y en-tender los libros de texto utilizados en el curso Las preguntas se basan en material que sepresente en su mayor parte en los textos de introduccioacuten de quiacutemica Los iacutetems de preguntastienen respuestas straighforward no requieren caacutelculos detallados Las preguntas se presen-tan en varios formatos diferentes incluyendo opcioacuten muacuteltiple verdadero falso casilla devericacioacuten ll-in-the-blanco y numeacutericas Cada cuestionario se compone de 10 preguntasextraiacutedas al azar de una base de datos con muchas maacutes preguntas En el proceso de tomarvarias pruebas para mejorar sus calicaciones los estudiantes probablemente encuentran

7httpdevelopersimsglobalorgcoursechemvantagehtml

algunas preguntas repetidas de concursos anteriores sin embargo es poco probable quecualquiera de los dos cuestionarios contendraacute exactamente el mismo conjunto de preguntasen el mismo orden Asignando pruebas para ser completado antes de la conferencia losprofesores pueden estar seguros de que sus estudiantes tengan un poco de exposicioacuten almaterial Esto permite una mayor discusioacuten el diaacutelogo y la participacioacuten en el aula y haceel aprendizaje maacutes divertido (de verdad)

2 Video LecturesUna serie de conferencias de viacutedeo de 10 minutos sobre una variedad de temas de QuiacutemicaGeneral es accesible desde la paacutegina principal Los videos estaacuten disentildeados para reforzar lospuntos principales que se presentan en muchos libros de texto

3 HoweworksLas tareas estaacuten disentildeadas para dar a los estudiantes la praacutectica en la resolucioacuten de proble-mas cuantitativos que tienen respuestas numeacutericas Cada alumno puede descargar la tareatrabajar los problemas y presentar las respuestas en liacutenea Respuestas son juzgados a sercorrecta si la solucioacuten numeacuterica de acuerdo con la solucioacuten que se encuentra en la base dedatos dentro de una tolerancia especicada (indicado para cada problema) El sitio informaa los estudiantes que las respuestas son correctas para que puedan rehacer problemas malresueltos y volver a presentar las respuestas Cada problema se basa en una plantilla queatrae paraacutemetros al azar por lo que la respuesta correcta es diferente para cada estudianteEsto hace que sean adecuadas para la colaboracioacuten y el trabajo en grupo porque a pesarde que el grupo puede trabajar para encontrar un algoritmo correcto para resolver un prob-lema cada estudiante tendraacute que usar el algoritmo para encontrar la solucioacuten detallada asu propio problema

4 Practice ExamsLos estudiantes pueden realizaar exaacutemenes de praacutectica cronometrados que muestran laspreguntas de un grupo de 3 o maacutes temas Cada examen estaacute disentildeado para tardar unos60 minutos o menos e incluye una seleccioacuten de 10 preguntas Las praacutecticas de exaacutemenespueden repetirse cuantas veces se desee Las preguntas numeacutericas son parametrizadas loque es muy poco probable que un estudiante realice alguna vez dos exaacutemenes de praacutecticaideacutenticos

5 Portofolio PageCada estudiante puede acceder a una paacutegina que le da la puntuacioacuten obtenida en cada prue-ba y la asignacioacuten de tareas Los estudiantes que son miembros de un grupo tienen unapaacutegina de resultados asociados a las tareas de grupo Hay una paacutegina de carpeta separadaque contiene un resumen de todas las actividades realizadas en ChemVantage incluyendovideos vistos cuestionarios completados resolver problemas con la tarea y la praacutectica deexaacutemenes completados Las puntuaciones en los exaacutemenes de praacutectica son desagregadospara revelar fortalezas y debilidades estudiantes por temas

Hemos procedido a darlo de alta en LTI como hicimos con Wordpress Entramos en Moodle co-mo Administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

Figura 511 Correo de Chuck Wight

-LTI quedando como resultado la siguiente hoja de paraacutemetros gura 512

El siguiente paso seraacute antildeadir la herramienta dentro de nuestro curso para ello pulsaremos sobreAntildeadir una actividad o un recurso Deberemos seleccionar External Tool y rellenamos las op-ciones de la herramienta seleccionando como Tipo de herramienta externa la opcioacuten creada enel apartado de LTI de Moodle

Una vez congurado la herramienta en Moodle podemos entrar para realizar una personalizacioacutende la herramienta gura 513 esta consiste en indicar si el alumno cuando se conecta realiza undeterminado tarea o puede elegir navegar por la web de ChemVantage para poder disfrutar dela cantidad de recursos que se encuentran disponibles

Cuando el usuario pulsa sobre la opcioacuten de esta herramienta externa en Moodle lo primero quese le muestra es la informacioacuten sobre su perl en Chemvantage 514Como hemos visto en los paraacutemetros de conguracioacuten existe la posibilidad de llamar a unaherramienta externa incrustaacutendola dentro de Moodle o abrieacutendolo en una paacutegina web nuevaCon esta segunda opcioacuten no hemos conseguido que funcione correctamente la importacioacuten de lasnotas En cambio si la herramienta externa estaacute incrustada permite esa vinculacioacuten

Figura 512 Conguracioacuten de paraacutemetros LTI

Figura 513 Opciones de inicio de la herramienta

Figura 514 Pantalla de utilizacioacuten de la herramienta por el usuario

Capiacutetulo 6

Middleware

61 Introduccioacuten

La uacuteltima opcioacuten seriacutea utilizar una arquitectura middleware de integracioacuten que permita la inte-gracioacuten ligera de muacuteltiples herramientas existentes en el Moodle

62 GluePS

GLUE-PS es una arquitectura de middleware que permite una interoperabilidad ligera entrelos diferentes lenguajes de disentildeo de aprendizaje y diferentes entornos de aprendizaje virtualEsta interoperabilidad permite a los maestros y otros profesionales que particularicen (es decirpara personalizar el disentildeo de aprendizaje abstractoa la clase particular los participantes y laeleccioacuten de los instrumentos en los que va a ser promulgada) desplieguen (es decir para crearde forma semiautomaacutetica las actividades necesarias en el VLE recursos etc para la aprobacioacutendel disentildeo particularizado) e incluso para llevar a cabo ciertos cambios en el tiempo de ejecucioacuten(por ejemplo modicar la composicioacuten del grupo agregar o quitar recursos de las actividadesetc) Todo esto a partir de disentildeos en distintos lenguajes de disentildeo de aprendizaje tales como laespecicacioacuten IMS-LD aprendizaje

Por otra parte GLUE-PS tambieacuten permite desplegar y gestionar disentildeos de aprendizaje en en-tornos virtuales de aprendizaje que integren herramientas de aprendizaje externos (tales comointegrar en Moodle herramientas como Google Docs y muchos otros) - lo que llamamos Am-bientes de Aprendizaje Distribuido (DLE Distributed Learning Enviroments) Esto se consiguegracias a la arquitectura de GLUE para la integracioacuten de los entornos virtuales de aprendizajey herramientas externas

621 Instalacioacuten

Para realizar la instalacioacuten de GLUE-PS nos hemos descargado el software necesario de la webde los desarrolladores1 descargando la opcioacuten de autenticacioacuten centralizada La instalacioacuten haconstado de tres partes que pasaremos a describir a continuacioacuten

1httpwwwgsicuvaesglue

49

Figura 61 Arquitectura de GLUE

La primera parte consiste en la instalacioacuten del GLUEletManager y los adaptadores GSIC toolAunque el sistema viene preparado para Linux o Windows siendo Windows la explicacioacuten quevamos a desarrollar por estar utilizando este sistema operativo con Xampp

1 Crear el directorio GLUE_ HOME El cual hemos creado para mayor comodidad en la raiacutezdel disco duro

2 Denir la variable del sistema GLUE_ HOME con el valor de la direccioacuten completa deldirectorio de GLUE del punto anterior Para ello hemos pulsado botoacuten derecho sobre MiPc Propiedad Opciones Avanzadas Variables de Entorno procediendo a pulsar el botoacutenNueva para crear la variable en cuestioacuten

3 Extraemos en el directorio del punto (1) el paquete descargado de la paacutegina de los desar-rolladores

4 Ejecutar la instalacioacuten del cheroGLUE_ HOMEbininstall gluebat para registar GLUElet-Manager y GSIC tool como un servicio de Windows Tambieacuten este paso crearaacute un cheroen GLUE_ HOMEtool_ adapteradapterdata para proveer de persistencia a los objetoscreados con el adaptador GSIC tool

A continuacioacuten daremos de alta en nuestro gestor de bases de datos un para de bases de datosque necesita GLUEletManager Para ellos seguimos los siguientes pasos

1 Abrimos la consola de phpMyaAdmin para cargar y ejecutar el chero create_ GLUE_databasessql que se encuentra en GLUE_ HOMEmanagerconfdb

2 Modicamos el chero GLUE_ HOMEmanagerconfMETA-INFpersistencexml paradarle los paraacutemetros necesarios para que JDBC se conecte a nuestra base de datos Losparaacutemetros modicados puede verse en la imagen 62

Figura 62 Paraacutemetros modicados en persistencexml

La segunda parte consiste en el registro interno de los adaptadores de las herramientas para seraccedido con GLUEletManager La distribucioacuten trae un chero para facilitar la conguracioacuten delos adaptadores que trae consigo y para su instalacioacuten deberemos ejecutar el chero GLUE_HOMEmanagerconfdbll _ internal_ Registrysql Alguna de las herramientas necesitanuna conguracioacuten maacutes completa como puede ser Google Docs adapter que necesita una cuentade Gmail para poder crear documentos en Google Docs por lo que deberemos modicar el nom-bre de usuario y contrasentildea

La uacuteltima parte consiste en la instalacioacuten del adaptardor de Moodle como VLE utilizado Estainstalacioacuten es como cualquier otro moacutedulo de Moodle 2 La carpeta que deberemos copiar seraacutela del adaptador correspondiente a Moodle que se encuentra en la carpeta GLUE_ HOMEvle_adpatersmoodle_ vle_ adapter Una vez entremos en nuestro Moodle como administrador nosapareceraacute un mensaje indicaacutendonos que el nuevo moacutedulo esta instalado Para congurar el nuevomoacutedulo debermos ir a Noticaciones - Modulos - Actividades como podemos ver en la gura 63para congurar los paraacutemetros la URL del GLUEletManager y el tiempo de espera

Figura 63 Paraacutemetros del moacutedulo GLUE

Cuando el profesor quiera crear una nueva actividad dependiente de los adaptadores de GLUEdeberaacute agregar una actividad maacutes pulsando para ello en esta opcioacuten dentro del bloque deseadopara seleccionar luego el tipo de actividad GLUElet como podemos ver en la gura64

622 Creando un Doodle

El adaptador Doodle permite la creacioacuten conguracioacuten y gestioacuten de instancias del Doodle Cadaencuesta Doodle es considerado un instancia diferente Ademaacutes este adaptador permite realizarademas la conguracioacuten inicial de encuestas Doodle incluyendo el nombre de la encuesta unadescripcioacuten y un conjunto de posibles respuestas

A continuacioacuten antildeadiremos Doodle en un bloque de Moodle para ellos pulsaremos la opcioacuten deAgregar actividad GLUElet lo cual nos mostraraacute la paacutegina65 donde deberemos rellenar comomiacutenimo el nombre de la actividad y el tipo de herramienta seleccionado en este caso Doodle(httpdoodle-testcom)

2httpdocsmoodleorgenInstalling_contributed_modules_or_plugins

Figura 64 Creando una actividad GLUElet

La primera vez que pulsemos sobre la nueva actividad creada apareceraacute un pantalla 66 dondepodemos congurar diferentes elementos de la encuesta desarrollada con Doodle como son eltiacutetulo una pequentildea descripcioacuten y luego las opciones posibles con un liacutemite de 10

El resultado nal seraacute la incrustacioacuten de una encuesta Doodle dentro de nuestro Moodle comopodemos ver en la gura67

Figura 65 Antildeadiendo Doodle como actividad

Figura 66 Opciones iniciales de conguracioacuten de Doodle

Figura 67 Doodel dentro de Moodle

Capiacutetulo 7

Conclusiones Finales

71 Conclusiones Finales

El proyecto actual nos ha servido para acercarnos a las diferentes tecnologiacuteas que permiten lacomunicacioacuten entre Servicios Webs Hemos desarrollado una primera labor de investigacioacuten queha requerido el aprendizaje de diferentes herramientas de control de documentacioacuten y referenciascomo Zotero y Mendeley

La documentacioacuten recabada en el proceso inicial de revisioacuten de documentos nos ha aportadoun visioacuten general de los diferentes sistemas virtuales de aprendizaje que podemos encontrarnosmuchos de ellos gratuitos y las diferentes soluciones que se plantean a la necesidad de incluirrecursos de otros fabricantes que en principio no fueron concebidos para ser utilizados dentro deuna plataforma VLE

Para poner en praacutectica la diferentes opciones encontradas se han montado diferentes maacutequinasvirtuales sobre las que se han probado las mismas Las conclusiones nales se pasan a detallar

IMS LTIEsta solucioacuten de integracioacuten mediante el cumplimiento de unos protocolos y certicacionesde las herramientas que lo cumplen es en principio la que podriacutea parecer la mejor opcioacutenpero la falta de compromiso de los diferentes fabricantes de Servicios Web y la luchapara imponer sus propios estaacutendares hace que aun quede mucho para que esta opcioacuten seacomo tal real

Si vemos el nuacutemero de aplicaciones certicadas para usar IMS LTI apenas superan las 50 yla mayoriacutea solo cumple la especicacioacuten v10 lo cual signica que la integracioacuten solo solu-ciona el problema de llamar a un recurso externo desde Moodle Pocas son las que cumplenla v11 que permite obtener en Moodle una valoracioacuten de los ejercicios desarrollados en unaactividad externa

La versioacuten v20 que daraacute maacutes opciones a la hora de interactuar con actividades externasauacuten esta en desarrollo y nada se sabe sobre posibles fechas para su presentacioacuten Luegocerticacioacuten de herramientas etc

55

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 27: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

Capiacutetulo 3

Organizacioacuten y Sistema Inicial

A continuacioacuten pasamos a detallar las distintas actividades de la que consta el proyecto quehemos llevado a cabo durante estos meses

31 Lanzamiento del proyecto

Esta actividad consisten en la eleccioacuten de una de las diferentes posibles aacutereas de desarrollo deproyectos que ofrece la UOC siendo la elegida Aplicaciones Web para trabajo colaborativo

32 Denicioacuten del proyecto

El proyecto queda denido en el presente documento siendo el tiacutetulo del mismo Orchestationand Coreography of Web Services on Moodle - Revisioacuten Sistemaacutetica de la literatura

[Duracioacuten] 27-02-2013 al 03-03-2013

33 Anaacutelisis de requisitos

Nos centraremos en la fase de planicacioacuten que incluye los objetivos de la investigacioacuten y la formaen que se llevaraacute a cabo la revisioacuten

[Duracioacuten] 04-03-2013 al 03-06-2013

331 Cuestiones Realizadas

El primer paso en la fase de planicacioacuten seraacute denir los objetivos principales de esta revisioacutensistemaacutetica de la literatura Estos objetivos son analizar el estado del arte de la coreografiacutea yorquestacioacuten de los servicios web en Moodle como LMS

332 Fuentes de datos y buacutesqueda

Utilizaremos diferentes libreriacuteas o espacios digitales para realizar las buacutesquedas las mismas serealizaraacuten en ingleacutes y espantildeol Las libreriacuteas principales utilizadas son

IEEEXplore [IEEEX] httpieeexploreieeeorg

21

Science Direct [SD] httpwwwsciencedirectcom

SpringerLink [SL] httpwwwspringerlinkcom

Paralelamente a Science Direct se han realizado buacutesquedas en Scopus1 de Elsevier y GoogleScholar2 de Google

333 Criterios de inclusioacuten y exclusioacuten

Las buacutesquedas que se realicen intentaraacuten abarcar todo el aacutembito de cuestiones del SLR pero esposible (y de hecho ocurre) el resultado contenga referencias publicaciones estudios o en generalinformacioacuten que no sirve Para ello seraacute necesario denir criterios de inclusioacuten y exclusioacuten loscual haremos basaacutendonos en la guiacutea [Kitchenham 2007]

334 Asegurar la calidad

Despueacutes de obtener un numero considerable de trabajos o estudios que satisfacen los criteriosde inclusioacuten y exclusioacuten se deberaacute ser capaz de asegurar o armar cuales son los que cumplencon una miacutenima calidad y si son vaacutelidos o no para el estudio en si Es baacutesico poder analizar queacuteestudios son mejores que otros en teacuterminos de calidadSiguiente [Kitchenham 2007] se deniraacuten preguntas y cuestiones que permitan asegurar dichacalidad

335 Extraccioacuten de datos y anaacutelisis

Los criterios de inclusioacuten y exclusioacuten junto con las preguntas orientadas a asegurar la calidadnos serviraacuten para obtener todos los artiacuteculos y estudios que se analizan en este estudioDe cada artiacuteculo se recogeraacute titulo y autores abstract publicacioacuten y antildeo de publicacioacuten

336 Fase de revisioacuten

Esta fase de planicacioacuten seraacute denir el proceso de conducir o dirigir la revisioacuten Para elloutilizaremos tres fases como podemos ver en la gura 31 de la paacutegina 23

337 Fase de Pruebas

Se realizan pruebas con la informacioacuten obtenido montado maacutequinas virtuales para realizar lasmismas En estas se han probado las diferentes opciones de comunicacioacuten que nos ofrece Moodle

1httpwwwscopuscom2httpscholargooglecom

Figura 31 Proceso para dirigir la revisioacuten

34 Calendario de Trabajo

Podemos ver en el siguiente diagrama de Gantt32 la distribucioacuten de trabajos en el tiempo elmismo seraacute modicado para ajustarlo a las variaciones producidas durante el desarrollo de lastareas que contempla

35 Hitos principales

Los principales hitos seraacuten

Lanzamiento del proyecto Se dene correctamente en que va consistir el proyecto

Denicioacuten de cuestiones para la buacutesqueda Donde se detallaraacuten las cuestiones quemarcaran el desarrollo del resto del proyecto

Comprobacioacuten de resultados Se deberaacuten criba los mismo para no obtener duplicadoso informacioacuten ajena a la investigacioacuten

Revisioacuten de informacioacuten obtenida Una vez obtenida la informacioacuten y analizada deberaacuteser revisada para su presentacioacuten

Figura 32 Diagrama de Gantt

36 Instalacioacuten base

Para llevar a cabo las pruebas se ha optado por la creacioacuten de una maacutequina virtual sobre VirtualBox 3 en la cual hemos instalado Windows XP como sistema operativo Este sistema es maacutesligero a la hora de trabajar en maacutequinas virtuales pues requiere menos recursos que las versionesposteriores del mismos sistema

El siguiente paso era la instalacioacuten de Moodle Aunque se dispone de un instalador para Win-dows se ha optado por la descarga e instalacioacuten de XAMPP 4 y su y su posterior conguracioacutenen la maacutequina virtual XAMPP es un servidor independiente de plataforma software libre queconsiste principalmente en la base de datos MySQL el servidor web Apache y los inteacuterpretespara lenguajes de script PHP y Perl El nombre proviene del acroacutenimo de X (para cualquierade los diferentes sistemas operativos) Apache MySQL PHP Perl

XAMPP en su versioacuten 181 incluye

Apache 243

MySQL 5527

PHP 547

phpMyAdmin 3522

FileZilla FTP Server 0941

Tomcat 7030

Strawberry Perl 51611 Portable

XAMPP Control Panel 310

Hemos continuado con la descarga he instalacioacuten de Moodle y hemos querido probar las difer-encias que obtenemos entre las versiones 19x y 25 por lo que se han descargado ambas heinstalado en maacutequinas virtuales diferentes Con ello conseguiremos probar el resultado obtenidoseguacuten la versioacuten Moodle desde su versioacuten 22 ya soporta conexiones mediante IMS - LTI IMSLTI es un estaacutendar IMS Learning Tool Interoperability Esto signica que las herramientas deaprendizaje tienen ahora diversas maneras de conectarse entre sin problemas

En la praacutectica cuando un usuario se registra en una herramienta como Moodle se pueden conectara la otra herramienta como MediaWiki y autenticarse automaacuteticamente proporcionando unaexperiencia perfectaLas guras 33 y 34 nos muestran el panel de control de XAMPP una vez instalado y el panede phpMyAdmin donde hemos debido congurar las bases de datos y usuario necesarios parallevar todo el proceso de conguracioacuten de Moodle y el resto de herramientas

3httpswwwvirtualboxorg4httpwwwapachefriendsorgesxampphtml

Figura 33 Panel de control de XAMPP

Figura 34 Gestor de bases de datos phpMyAdmin

Capiacutetulo 4

Servicios Web de Moodle

41 Introduccioacuten

Moodle 2X incorpora la posibilidad de implementar Servicios Web para manejar sus funciona-lidades lo que nos permite poder acceder a acciones de actualizar y crear tareas para reejar elresultado de las actividades realizadas Moodle soporta varios protocolos (REST SOAP XML-RPC y AMF)

42 Servicios Web de Moodle

Los Servicios Web de Moodle se caracterizan por permitir el acceso desde cualquier aplicacioacutenimplementando para ello tres capas como podemos observar en la gura 41

Capa nuacutecleoLa capa del nuacutecleo estaacute compuesta de todas las funciones principales de Moodle sobreusuarios grupos cursos calendario etc Moodle no dispone de una API al uso sino queofrece diferentes funciones que han sido desarrolladas durante antildeos Por tanto las necesi-dades de los Servicios Web estaacuten obligando a rehacer estas funciones del nuacutecleo para quecomiencen a formar una API (Moodle 2X)

Capa externaLa capa externa estaacute compuesta por nuevos cheros llamados externalphp colocados porlas carpetas de Moodle y conteniendo manejadores para la capa inferior Estos manejadoresson los responsables de comprobar las capacidades paraacutemetros y llamadas correctas a lasfunciones de nuacutecleo

Capa de conectoresLa capa de conectores estaacute compuesta de diferentes conectores para las diferentes imple-mentaciones de los Servicios Web y contiene un conector REST un conector SOAP unconector XML-RPC y un conector AMF Esta capa admite plugins para ampliar los conec-tores disponibles de manera que se puedan integrar otros sistemas en Moodle utilizandootros protocolos

Los pasos para utilizar un Servicio Web con Moodle seriacutean los siguientes

1 El cliente enviacutea el nombre de usuario y contrasentildea al servidor que provee los ServiciosWeb

27

Figura 41 Capas en Moodle

2 El servidor de protocolo devuelve un token de sesioacuten para esa cuenta de usuario

3 El cliente llama a un Servicio Web especiacuteco incluyendo el token de sesioacuten

4 El servidor utiliza el token para comprobar que la sesioacuten del Servicio Web estaacute activa

5 El servidor llama a la funcioacuten correspondiente localizada en el chero externallibphp dentrodel moacutedulo especiacuteco

6 La funcioacuten externa comprueba que el usuario actual tenga los permisos sucientes pararealizar esta operacioacuten

7 La funcioacuten externa llama a la funcioacuten correspondiente del nuacutecleo de Moodle (libphp)

8 La funcioacuten del nuacutecleo puede retornar un resultado a la funcioacuten externa

9 La funcioacuten externa devolveraacute el resultado al servidor de protocolo

10 El servidor de protocolo devolveraacute el resultado al cliente

43 REST

REST (Representational State Transfer) es el acroacutenimo de Transferencia de Estado Representa-cional teacutermino usado por Roy Fielding (uno de los creadores de HTTP) para describir un estilode arquitectura que utilizar como modelo en los sistemas de computacioacuten Web No es un es-taacutendar sino un enfoque que muestra como desarrollar y proporcionar servicios en Internet portanto considerado como un estilo arquitectoacutenico para disentildeo de software a gran escala El propioautor lo dene de manera concisa en eacuteste paacuterrafo

REST es un intento de mostrar coacutemo debe comportarse una aplicacioacuten Web bien disentildeada unared de paacuteginas Web (una maacutequina de estados virtual) donde el usuario progresaraacute seleccionan-do enlaces (transiciones de estado) que devuelven la paacutegina siguiente (el siguiente estado de lamaacutequina) que el usuario manejaraacute a su gusto

Este enfoque no aporta realmente nada nuevo la mayor parte de la Web sigue este estilo arqui-tectoacutenico Sin embargo el autor hace eacutenfasis en las caracteriacutesticas concretas que han hecho quela Web triunfe que van a ser los objetivos buscados por REST y que son a su juicio

Escalabilidad en las interacciones entre componentes La red ha ido creciendo de maneraexponencial y se ha ido comportado de manera satisfactoria

Generalidad en las interfaces Se proporciona acceso con distintos clientes y con distintosmecanismos de acceso

Desarrollo independiente de componentes Implementaciones cliente y servidor pueden serdesarrolladas en distintos momentos

Existencia de componentes intermediarios con los cuales existe compatibilidad (comoproxys)que permiten encapsulacioacuten e integracioacuten de sistemas no Web dentro de la misma

431 Principios de disentildeo

Los objetivos citados van a ser conseguidos imponiendo una serie de restricciones

El estado y la funcionalidad de las aplicaciones se representan por forma de recursos

La identicacioacuten de recursos se realiza de forma uacutenica global mediante Uniform ResourceIdentiers Los recursos identicados con URIs son los objetos loacutegicos a los cuales se lesmandan los mensajes

Manipulacioacuten de recursos a traveacutes de representaciones luego no se manejan directamentelos recursos sino sus representaciones

Todos los recursos comparten un interfaz uniforme formado por

bull Un conjunto de operaciones limitado para transferir el estado Se van a aprovecharlas operaciones que HTTP dene mostradas en la gura 42

bull Un conjunto limitado de tipos de contenidos identicados mediante tipos MIME

Uso de un protocolo clienteservidor sin estado y basado en capas Cada mensaje HTTPcontendraacute la informacioacuten necesaria para comprender la peticioacuten luego como muestra lagura 43 no es necesario que eacutesta sea entendida tanto en el cliente como en el servidor

Uso de hipermedios para representar el estado de una aplicacioacuten permitiendo que el estadode una aplicacioacuten Web particular esteacute almacenado en uno o maacutes documentos de hipertextoque residen bien en el servidor o en el cliente Esto permite al servidor saber el estado desus recursos sin necesidad de almacenar el estado de los clientes concretos

Figura 42 Operaciones denidas por HTTP

Como ya se mencionoacute REST se trata de un estilo arquitectoacutenico no un estaacutendar Sin embargohace uso de varios estaacutendares Web

HTTP HyperText Transfer Protocol

Figura 43 Operaciones denidas por HTTP

URL Uniform Resource Locator como el mecanismo de indenticacioacuten de recursos

XML - HTML - PNG - etc Como distintos formatos de representacioacuten de recursos

Tipos MIME como text-xml text-html image-png etc

44 SOAP

SOAP (siglas de Simple Object Access Protocol) es un protocolo estaacutendar que dene coacutemo dosobjetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML Esteprotocolo deriva de un protocolo creado por David Winer en 1998 llamado XML-RPC SOAPfue creado por Microsoft IBM y otros y estaacute actualmente bajo el auspicio de la W3C

441 Principios de disentildeo

La funcionalidad que aporta SOAP es la de proporcionar un mecanismo simple y ligero de in-tercambio de informacioacuten entre dos puntos usando el lenguaje XML SOAP no es maacutes que unmecanismo sencillo de expresar la informacioacuten mediante un modelo de empaquetado de datosmodular y una serie de mecanismos de codicacioacuten de datos Esto permite que SOAP sea uti-lizado en un amplio rango de servidores de aplicaciones que trabajen mediante el modelo decomunicacioacuten RPC (Remote Procedure Call)

SOAP consta de tres partes como podemos ver en la gura 44

El SOAP envelope que dene el marco de trabajo que determina queacute se puede introduciren un mensaje quieacuten deberiacutea hacerlo y si esa operacioacuten es opcional u obligatoria

Las reglas de codicacioacuten SOAP que denen el mecanismo de serializacioacuten que seraacute usadopara encapsular en los mensajes los distintos tipos de datos

La representacioacuten SOAP RPC que dene un modo de funcionamiento a la hora de realizarllamadas a procedimientos remotos y la obtencioacuten de sus resultados

A la hora de realizar el disentildeo de SOAP se han tenido en cuenta una serie de consideracionescon el n de cumplir una serie de objetivos claros objetivos que le daraacuten el potencial que resideen SOAP y que le haraacuten tan atractivo Eacutestos son

Establecer un protocolo estaacutendar de invocacioacuten a servicios remotos que esteacute basado enprotocolos estaacutendares de uso frecuente en Internet como son HTTP (Hiper Text TransportProtocol) para la transmisioacuten y XML (eXtensible Markup Language)para la codicacioacutende los datos

Figura 44 Partes de SOAP

Independencia de plataforma hardware lenguaje de programacioacuten e implementacioacuten delservicio Web

El logro de estos objetivos ha hecho de SOAP un protocolo extremadamente uacutetil ya que elprotocolo de comunicacioacuten HTTP es el empleado para la conexioacuten sobre Internetpor lo que segarantiza que cualquier cliente con un navegador estaacutendar pueda conectarse con un servidor re-moto Ademaacutes los datos en la transmisioacuten se empaquetan o serializan con el lenguaje XML quese ha convertido en algo imprescindible en el intercambio de datos ya que es capaz de salvar lasincompatibilidades que existiacutean en el resto de protocolos de representacioacuten de datos de la red

Por otra parte los servidores Web pueden procesar las peticiones de usuario empleando tec-nologiacuteas tales como Servlets paacuteginas ASP (Active Server Pages) paacuteginas JSP (Java ServerPages) o sencillamente un servidor de aplicaciones con invocacioacuten de objetos mediante CORBACOM o EJB

Un ejemplo tiacutepico de disentildeo de un servicio Web utilizando las ventajas de SOAP podemos veren la siguiente gura 45

Figura 45 Ejemplo de uso de SOAP

45 AMF

AMF (Action Message Format) es un protocolo binario de Adobe que va por la versioacuten AMF3Aunque por el nombre de la versioacuten pueda parecer que existan 3 cabe destacar que soacutelo existendos AMF0 y AMF3 Una de las mayores diferencias o mejoras que aporta AMF3 es que soporta

datos binarios (ByteArray) y int datos no soportados por AMF0 debido a que en la eacutepoca queaparecioacute el formato Flash Player no soportaba estos tipos de datos

AMF3 no es un protocolo para transferir informacioacuten sino que representa el formato en el quese transmite la informacioacuten en este caso un formato binario

La versioacuten de Moodle 25 viene con Zend_ AMF pero podemos utilizar tambieacuten la libreriacuteaamfPHP

AMFPHP

Zend_ amf httpframeworkzendcommanual112enzendamfhtml

Maacutes informacioacuten en httpdocsmoodleorgdevAMFPHP

46 Conguracioacuten de Moodle Web Services

Los Servicios Web habilitan que otros sistemas puedan entrar a Moodle y realizar operacionesPasaremos a detallar los pasos necesarios para su conguracioacuten y explicaremos distintos pruebasllevadas a cabo sobre su funcionamiento Para poder consumir de manera correcta unWeb Servicede Moodle seriacutea necesario antildeadir a la url que vamos a formar los paraacutemetros oportunos paralograr consumir el Web Service de manera satisfactoria Una vez antildeadidos ya podriacuteamos invocarla funcioacuten seleccionada

461 Activando los Servicios Web

Lo primero que debemos hacer es activar la opcioacuten general que habilita el uso de los serviciosweb En la gura 46 podemos observar la opcioacuten para la activacioacuten de este servicio para ello nosiremos a la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Servicios Externos

Figura 46 Activacioacuten Servicios Web

Esto solo es una opcioacuten a nivel global necesitando ahora activar los protocolos de comunciacionesque vamos a utilizar para ello deberemos ir a la opcioacuten textitAdministracioacuten del Sitio - Exten-siones - Servicios Web - Administrador de protoclos donde encontraremos las diferente opcionesque nos existen En la gura 47 podemos ver la pantalla de nuestra conguracioacuten con todos losprotocolos activados

Una vez activada la opcioacuten de Servicios Externos y seleccionados los protocolos que utilizaremosnecesitamos crear un Servicio Personalizado que no es maacutes que una etiqueta que aglutina los

Figura 47 Activacioacuten Protoclos

Servicios Web que ofrece Moodle y que pueden ser utilizados por los servicios externos Para ellodeberemos darle a la opcioacuten Agregar dentro de la opcioacuten Administracioacuten del Sitio - Extensiones- Servicios Web - Servicios Externos Como prueba habilitaremos un servicio llamado Uso_Servicio_ Web cuya creacioacuten podemos ver en la gura 48

Figura 48 Creacioacuten Servicio Personalizado

Una vez creado el Servicio Personalizado deberemos agregarle las funciones que queramos lesean permitidas pudiente tener maacutes de una En la gura 49 vemos como asociamos la creacioacutende usuarios al Servicio Personalizado

Terminado esto deberemos tener en el listado que nos muestra Moodle de Servicios personaliza-dos algo como lo mostrado en la gura 410

El siguiente paso es conceder los permisos apropiados para que este Servicio Personalizado puedeser usado por los usuarios pare ello debemos primero especicar quienes son los Usuarios au-torizados para ello en la linea de la lista de Servicios Personalizados deberemos pulsar sobre laopcioacuten usuarios autorizados donde apareceraacute una pantalla como 411 donde podremos escogerlos usuarios de los que se encuentran dados de alta en nuestro sistema

Y para terminar aunque este paso podriacutea ser realizado por el propio usuario si tuviera el per-miso de moodlewebservicecreatetoken seraacute la creacioacuten de un token el cual va ser la opcioacuten quevamos a utilizar para las pruebas de los Servicios Web de Moodle Para la creacioacuten del mismodeberemos entrar en la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Admin-istrar tokens y pulsar la opcioacuten Agregar para antildeadir un token nuevo como podemos apreciar en

Figura 49 Agregando funciones al Servicio Personalizado

Figura 410 Listado de Servicios Personalizados

la gura 412 teniendo la precaucioacuten de escoger como Servicio el Servicio Personalizado creadocon anterioridad Uso_ Servicio_ Web

En esta pantalla podemos poner varios tipos de restricciones

Restriccioacuten de IP Donde podemos indicar la direccioacuten IP desde donde

Restriccioacuten de Fecha Se puede denir hasta cuando seraacute valido este token siendo unabuena manera de poder probar cosas y no dejar puertas abiertas por error

En la gura 413 podemos ver el token asignado por el sistema para nuestro Servicio Personalizadoy que procederemos a utilizar para comprobar el funcionamiento de los Servicios Web de Moodle

462 Pruebas cliente Servicio Web

Procederemos ahora a desarrollar pruebas que utilicen los Servicios Personalizados creado Sepodriacutean haber utilizado el Cliente de prueba de servicio web que incorpora Moodle dentro dela opcioacuten Administracioacuten del Sitio - Desarrollo - Cliente de prueba servicio web pero hemosdecidido implementar una Web para comprobar la facilidad del funcionamiento del sistema y losdistintos resultados obtenidos seguacuten el protocolo utilizado

Utilizaremos la libreriacutea cURL de PHP cURL es una herramienta que permite abrir conexionesen una amplia variedad de protocolos y que estaacute disponible tanto como herramienta de consola(para ejecutar directamente con comandos) como en libreriacutea (para usar en vuestro coacutedigo) y quepermite hacer praacutecticamente todo manejo de cookies descarga de cheros binarios enviacuteos de

Figura 411 Alta de Usuarios Autorizados

Figura 412 Creacioacuten de Tokens

paraacutemetros GET y POST etc

La web creada para la introduccioacuten 414 de los usuarios seraacute equivalente para todos los procesosprocesos siendo el programa que da respuesta al formulario el que implemente la funcioacuten nece-saria para la introduccioacuten de los datos en Moodle

Los resultados de REST pueden mostrar los resultados del alta de dos maneras diferentes unaen formato XML como podemos ver en la gura 415 y otro en formatox JSON tambieacuten po-dremos ver en la gura Los resultados obtenidos tambieacuten pueden verse en el la gura 416

Figura 413 Lista de Tokens

Figura 414 Web de alta de usuarios

Figura 415 Resultado de REST en formato XML

Figura 416 Resultado de REST en formato JSON

Capiacutetulo 5

Herramientas Externas

51 Introduccioacuten

Las versiones de Moodle desde la 22 vienen con IMS LTI o External Tool de manera integradaEn versiones anteriores era necesario la instalacioacuten de plugins como LTI Provider (maacutes informa-cioacuten en la web de Moodle1 IMS LTI es un estandar de IMS learing2 para la interoperabilidadde herramientas Esto signica que las herramientas de aprendizaje tienen ahora un mecanismopara jar el modo en que pueden conectarse entre ellas sin problemas

En la praacutectica cuando un usuario se registra en Moodle puede conectarse a otras herramientascomo Wikis o Blogs y autenticarse de manera automaacutetica en estas

52 Estaacutendares IMS

Actualmente se realizan esfuerzos para la integracioacuten de servicios a una plataforma virtual deaprendizaje mediante un mecanismo reutilizable independiente del tipo de plataforma El IMSGlobal Learning Consortium viene desde hace tiempo trabajando en este enfoque IMS GLCpresenta un conjunto de estaacutendares que promueven el uso de servicios de aprendizaje digitales(Digital Learning Services) dentro de las plataformas de aprendizaje tradicionales IMS DigitalLearning Services estaacute integrado por los siguientes estaacutendares principales IMS Common Car-tridge [ims a] IMS Learning Tool Interoperability [ims c] y IMS Learning Information Services[ims b]

El IMS Learning Tool Interoperability es una especicacioacuten para facilitar la inclusioacuten de her-ramientas externas dentro de un curso El administrador de la plataforma de aprendizaje ges-tiona los servicios que podraacuten ser consumidos por la plataforma el docente decide que serviciosutilizaraacute en su curso y el estudiante hace uso de los mismos IMS LTI permite que distintos LMSconsuman un mismo servicio el cual no fue implementado teniendo en cuenta el tipo de LMSsino la implementacioacuten del estaacutendar desde el lado del proveedor

El enfoque del IMS LTI estaacute dirigido a la creciente demanda de un mecanismo reutilizable para laintegracioacuten de herramientas de terceros en el nuacutecleo de las plataformas LMS Estas herramientas

1httpsmoodleorgpluginsviewphpplugin=local_ltiprovider2httpwwwimsglobalorgtoolsinteroperability2cfm

37

pueden agregar funcionalidad especializada a los LMS El enfoque ofrece una solucioacuten basada enWeb Services igualmente aplicable a distintos lenguajes de programacioacuten

Las versiones del LTI son

LTI v10 ( LTI Basic ) ( publicado en mayo de 2010 ) proporciona un meacutetodo sencillopero estaacutendar para establecer una conexioacuten segura a una herramienta desde el interior deun consumidor de herramientas El lanzamiento de este enlace permite una experienciade aprendizaje sin problemas para los estudiantes que acceden a las aplicaciones ricas queparecen tener lugar dentro del ambiente de aprendizaje Versioacuten 10 es el primer paso en eldesarrollo continuo de LTI Figura 51

LTI v11 ( publicado en marzo 2012 ) antildeade la posibilidad de pasar de nuevo un resultadode la herramienta al Consumidor de herramientas Esto permite que los estudiantes recibenuna calicacioacuten o puntuacioacuten de su interaccioacuten con la aplicacioacuten de aprendizaje

LTI v111 ( publicado en julio de 2012 ) incluye soporte para el papel Mentor que se puedeutilizar para representar a un padre tutor o auditor

LTI v20 Aun en estado de desarrollo y proporciona una plataforma maacutes sosticado y ex-tensible para permitir integraciones maacutes profundas y un mayor apoyo para los serviciosy eventos LTI 2 se basa en LTI 1 mediante la incorporacioacuten de maacutes sosticada resulta-dos de informes y una rica arquitectura de extensiones que permite servicios adicionalesque se antildeadiraacuten gradualmente LTI 2 utiliza REST y JSON-LD para ofrecer esta nuevafuncionalidad

Figura 51 Esquema LTI Baacutesico

En la gura 52 podemos observar como se podriacutean utilizar las ventajas de LTI por parte decada unos de los actores a lo largo de la vida de la aplicacioacuten de servicios externos dentro de unaplataforma de aprendizaje

En la paacutegina web de IMS3 podemos encontrar una relacioacuten de aplicaciones certicadas comocompatibles con el estaacutendar LTI indicando la versioacuten del LTI que cumplen En la gura 53podemos ver las aplicaciones certicadas por UOC y en la gura 54 la informacioacuten sobre una deestas herramientas

3httpwwwimsglobalorgccalltoolscfm

Figura 52 Esquema utilizacioacuten LTI

Figura 53 Listado de herramientas LTI de la UOC

53 Herramientas externas en Moodle

La siguiente seccioacuten consiste en la aplicacioacuten de alguno de esto servicios externos en Moodlepara comprobar su funcionamiento Nos decantaremos para la primera prueba por WordPresspues aunque existen manuales al respecto la documentacioacuten en castellano es escasa

531 Wordpress

La versioacuten estaacutendar de Wordpress a la cual accedemos cuando nos abrimos cuenta en Wordpressno viene con las herramientas necesarias para la iteracioacuten mediante LTI por lo que procedere-mos a la instalacioacuten en nuestro servidor de Wordpress para pasar a la instalacioacuten de los pluginsnecesarios

La instalacioacuten ha consistido en la descarga de la web ocial 4 de la versioacuten 351 la cual hemoscopiado dentro del directorio htdocs de nuestra instalacioacuten de Xampp Hemos dado de alta unnuevo usuario en nuestra base de datos llamado username como podemos ver en la imagen 55 yposteriormente hemos seguido los pasos que el instalador nos iba ofreciendo para tener instalado

4httpwordpressorgdownload

Figura 54 Informacioacuten sobre la certicacioacuten

Wordpress bajo la url httplocalhostwordpress

Figura 55 Usuario de Wordpress

Deberemos congurar Wordpress para que trabaje como multisitio para lo que deberemos seguirlos pasos de conguracioacuten que podemos encontrar en la web ocial de Wordpress5 bajo el nombreCreate A Network consistente en los siguientes pasos

1 Realizar una copia de seguridad por si acaso

2 Modicar el chero wp-congphp incluyendo la siguiente linea encima de Thats allstop editing Happy blogging Multisite dene (WP_ ALLOW_ MULTISITE true)

Multisite dene (WP_ ALLOW_ MULTISITE true)

3 Installar un Network Para ello hemos de entra en la opcioacuten Administration -gtTools -gtNetwork Setup donde podremos congurar opciones sobre el nombre que queremos declararpara el nuevo sitio

4 Activar el Network para ello debemos modicar los cheros wp-congphp y htaccess porlo que seriacutea bueno que realizaacuteramos primero un copia de seguridad de los mismos Loscambios que debemos realizar son los siguientes

5httpcodexwordpressorgCreate_A_Network

En wp-congphp dene(MULTISITE true)dene(SUBDOMAIN_ INSTALL false)dene(DOMAIN_ CURRENT_ SITE localhost)dene(PATH_ CURRENT_ SITE wordpress)dene(SITE_ ID_ CURRENT_ SITE 1)dene(BLOG_ ID_ CURRENT_ SITE 1)

El chero htaccess debe quedar asiacute BEGIN WordPressltIfModule mod_ rewritecgtRewriteEngine OnRewriteBase wordpressRewriteRule icircndexphp$ - [L]

add a trailing slash to wp-adminRewriteRule ([_ 0-9a-zA-Z-]+)wp-admin1wp-admin [R=301L]

RewriteCondREQUEST_ FILENAME -f [OR]RewriteCondREQUEST_ FILENAME -dRewriteRule - [L]RewriteRule ([_ 0-9a-zA-Z-]+)(wp-(content|admin|includes)) $2 [L]RewriteRule ([_ 0-9a-zA-Z-]+)( php)$ $2 [L]RewriteRule indexphp [L]ltIfModulegt

END WordPress

5 Esto nos habraacute creado en la parte izquierda de la barra de herramientas de Wordpressuna nueva opcioacuten llamada My Sites que contendraacute un listado de los sitios de nuestroWordpress

El siguiente paso seraacute la descarga del plugin los cual podremos hacerlos desde la web de sour-forgenet 6 En esta web se detalla informacioacuten sobre el plugin y como se debe instalar Siguiendolos pasos que tenemos en el mismo procederemos a la descarga y el desplegado del mismo en lacarpeta wp-contentmu-plugins Salimos de Wordpress y volvemos a entrar como superusuariosi entramos dentro de la nueva red realizada podremos ver que dentro de LTI Consumers Keystendremos la opcioacuten LTI Consumers Keys como podemos ver en la imagen 56

Aquiacute deberemos crear la clave del consumidor del servicio y la clave secreta que nos permitiraacute aMoodle conectarse a Wordpress

Una vez que tenemos la clave secreta y del consumidor deberemos volver a Moodle entrandocomo administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

6httpsourceforgenetappsmediawikilearningappsindexphptitle=LTI4Wordpress

Figura 56 Servicios LTI en Wordpress

Figura 57 Listado de claves de LTI en Wordpress

-LTI En esta paacutegina podremos rellenar nuestras opciones

Tool Name Seraacute el nombre que tendraacute la herramienta y deberemos poner alguno indicativode la herramienta que estemos utilizando

Tool Base URL Es la direccioacuten de la herramienta en nuestro caso httplocalhostwordpress

Deberemos rellenar con los datos obtenidos en Wordpress la clave de consumidor y la clavesecreta

Es importante marcar Show tool type when creating tool instances para que aparezcaposteriormente al crear los recursos en nuestros cursos

Para poder probar el sistema hemos creado un curso dentro de Moodle llamada WordpressLTIdonde daremos de la siguiente manera de alta 59

Dentro de nuestro curso seleccionamos la opcioacuten de Edicioacuten

Pulsamos sobre Antildeadir una actividad o un recurso

Seleccionamos External Tool

Rellenamos las opciones

bull Nombre de la Actividad Cualquiera de nuestra eleccioacuten

Figura 58 Conguracioacuten LTI en Moodle

bull Tipo de herramienta externa El nombre que le pusimos a la herramienta externa enla conguracioacuten LTI de Moodle

bull Launch Container Hemos elegido la opcioacuten Incrustar para ver el resultado

Figura 59 Conguracioacuten Herramienta Externa

Una vez congurado podemos lanzar la herramienta externa teniendo como resultado la gura510

Figura 510 Wordpress integrado en Moodle

532 ChemVantage

ChemVantage es un recurso gratuito para la educacioacuten cientiacuteca que incluye ejercicios de gradoejercicios de preparacioacuten exaacutemenes de la praacutectica conferencias de video y libros de texto enliacutenea gratis Fue creado por ChemVantage LLC que fue fundada por el Prof Chuck Wight queha ensentildeado Quiacutemica General en la Universidad de Utah desde 1984 (ChemVantage 2011)

Nos hemos puesto en contacto con Chuck Wight (adminchemvantageorg) para solicitarle unaclave de consumidor y secreta para poder probar este recurso desde moodle Las opciones y elcorreo puede verse en la gura 511

Una de las cosas maacutes importantes de ChemVantage y por lo que nos hemos decidido a probar esque permite la devolucioacuten de las notas obtenidas en los ejercicios realizados en las herramientasexternas a Moodle El alumno podraacute realizar las tareas en esta herramienta externa y luego sercalicadas en Moodle

ChemVantage estaacute certicada por IMS 7 como un proveedor de herramientas LTI v11 y comotal funciona desde nuestro propio LMS para llevar a cabo la autenticacioacuten de sitios provee decuentas y devuelve resultados de asignacioacuten de estudiantes con el libro LMS grado automaacutetica-mente

Los recursos disponible son ChemVantage son principalmente los siguientes

1 QuizzesLos ejercicios presentados aquiacute estaacuten disentildeados para animar a los estudiantes a leer y en-tender los libros de texto utilizados en el curso Las preguntas se basan en material que sepresente en su mayor parte en los textos de introduccioacuten de quiacutemica Los iacutetems de preguntastienen respuestas straighforward no requieren caacutelculos detallados Las preguntas se presen-tan en varios formatos diferentes incluyendo opcioacuten muacuteltiple verdadero falso casilla devericacioacuten ll-in-the-blanco y numeacutericas Cada cuestionario se compone de 10 preguntasextraiacutedas al azar de una base de datos con muchas maacutes preguntas En el proceso de tomarvarias pruebas para mejorar sus calicaciones los estudiantes probablemente encuentran

7httpdevelopersimsglobalorgcoursechemvantagehtml

algunas preguntas repetidas de concursos anteriores sin embargo es poco probable quecualquiera de los dos cuestionarios contendraacute exactamente el mismo conjunto de preguntasen el mismo orden Asignando pruebas para ser completado antes de la conferencia losprofesores pueden estar seguros de que sus estudiantes tengan un poco de exposicioacuten almaterial Esto permite una mayor discusioacuten el diaacutelogo y la participacioacuten en el aula y haceel aprendizaje maacutes divertido (de verdad)

2 Video LecturesUna serie de conferencias de viacutedeo de 10 minutos sobre una variedad de temas de QuiacutemicaGeneral es accesible desde la paacutegina principal Los videos estaacuten disentildeados para reforzar lospuntos principales que se presentan en muchos libros de texto

3 HoweworksLas tareas estaacuten disentildeadas para dar a los estudiantes la praacutectica en la resolucioacuten de proble-mas cuantitativos que tienen respuestas numeacutericas Cada alumno puede descargar la tareatrabajar los problemas y presentar las respuestas en liacutenea Respuestas son juzgados a sercorrecta si la solucioacuten numeacuterica de acuerdo con la solucioacuten que se encuentra en la base dedatos dentro de una tolerancia especicada (indicado para cada problema) El sitio informaa los estudiantes que las respuestas son correctas para que puedan rehacer problemas malresueltos y volver a presentar las respuestas Cada problema se basa en una plantilla queatrae paraacutemetros al azar por lo que la respuesta correcta es diferente para cada estudianteEsto hace que sean adecuadas para la colaboracioacuten y el trabajo en grupo porque a pesarde que el grupo puede trabajar para encontrar un algoritmo correcto para resolver un prob-lema cada estudiante tendraacute que usar el algoritmo para encontrar la solucioacuten detallada asu propio problema

4 Practice ExamsLos estudiantes pueden realizaar exaacutemenes de praacutectica cronometrados que muestran laspreguntas de un grupo de 3 o maacutes temas Cada examen estaacute disentildeado para tardar unos60 minutos o menos e incluye una seleccioacuten de 10 preguntas Las praacutecticas de exaacutemenespueden repetirse cuantas veces se desee Las preguntas numeacutericas son parametrizadas loque es muy poco probable que un estudiante realice alguna vez dos exaacutemenes de praacutecticaideacutenticos

5 Portofolio PageCada estudiante puede acceder a una paacutegina que le da la puntuacioacuten obtenida en cada prue-ba y la asignacioacuten de tareas Los estudiantes que son miembros de un grupo tienen unapaacutegina de resultados asociados a las tareas de grupo Hay una paacutegina de carpeta separadaque contiene un resumen de todas las actividades realizadas en ChemVantage incluyendovideos vistos cuestionarios completados resolver problemas con la tarea y la praacutectica deexaacutemenes completados Las puntuaciones en los exaacutemenes de praacutectica son desagregadospara revelar fortalezas y debilidades estudiantes por temas

Hemos procedido a darlo de alta en LTI como hicimos con Wordpress Entramos en Moodle co-mo Administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

Figura 511 Correo de Chuck Wight

-LTI quedando como resultado la siguiente hoja de paraacutemetros gura 512

El siguiente paso seraacute antildeadir la herramienta dentro de nuestro curso para ello pulsaremos sobreAntildeadir una actividad o un recurso Deberemos seleccionar External Tool y rellenamos las op-ciones de la herramienta seleccionando como Tipo de herramienta externa la opcioacuten creada enel apartado de LTI de Moodle

Una vez congurado la herramienta en Moodle podemos entrar para realizar una personalizacioacutende la herramienta gura 513 esta consiste en indicar si el alumno cuando se conecta realiza undeterminado tarea o puede elegir navegar por la web de ChemVantage para poder disfrutar dela cantidad de recursos que se encuentran disponibles

Cuando el usuario pulsa sobre la opcioacuten de esta herramienta externa en Moodle lo primero quese le muestra es la informacioacuten sobre su perl en Chemvantage 514Como hemos visto en los paraacutemetros de conguracioacuten existe la posibilidad de llamar a unaherramienta externa incrustaacutendola dentro de Moodle o abrieacutendolo en una paacutegina web nuevaCon esta segunda opcioacuten no hemos conseguido que funcione correctamente la importacioacuten de lasnotas En cambio si la herramienta externa estaacute incrustada permite esa vinculacioacuten

Figura 512 Conguracioacuten de paraacutemetros LTI

Figura 513 Opciones de inicio de la herramienta

Figura 514 Pantalla de utilizacioacuten de la herramienta por el usuario

Capiacutetulo 6

Middleware

61 Introduccioacuten

La uacuteltima opcioacuten seriacutea utilizar una arquitectura middleware de integracioacuten que permita la inte-gracioacuten ligera de muacuteltiples herramientas existentes en el Moodle

62 GluePS

GLUE-PS es una arquitectura de middleware que permite una interoperabilidad ligera entrelos diferentes lenguajes de disentildeo de aprendizaje y diferentes entornos de aprendizaje virtualEsta interoperabilidad permite a los maestros y otros profesionales que particularicen (es decirpara personalizar el disentildeo de aprendizaje abstractoa la clase particular los participantes y laeleccioacuten de los instrumentos en los que va a ser promulgada) desplieguen (es decir para crearde forma semiautomaacutetica las actividades necesarias en el VLE recursos etc para la aprobacioacutendel disentildeo particularizado) e incluso para llevar a cabo ciertos cambios en el tiempo de ejecucioacuten(por ejemplo modicar la composicioacuten del grupo agregar o quitar recursos de las actividadesetc) Todo esto a partir de disentildeos en distintos lenguajes de disentildeo de aprendizaje tales como laespecicacioacuten IMS-LD aprendizaje

Por otra parte GLUE-PS tambieacuten permite desplegar y gestionar disentildeos de aprendizaje en en-tornos virtuales de aprendizaje que integren herramientas de aprendizaje externos (tales comointegrar en Moodle herramientas como Google Docs y muchos otros) - lo que llamamos Am-bientes de Aprendizaje Distribuido (DLE Distributed Learning Enviroments) Esto se consiguegracias a la arquitectura de GLUE para la integracioacuten de los entornos virtuales de aprendizajey herramientas externas

621 Instalacioacuten

Para realizar la instalacioacuten de GLUE-PS nos hemos descargado el software necesario de la webde los desarrolladores1 descargando la opcioacuten de autenticacioacuten centralizada La instalacioacuten haconstado de tres partes que pasaremos a describir a continuacioacuten

1httpwwwgsicuvaesglue

49

Figura 61 Arquitectura de GLUE

La primera parte consiste en la instalacioacuten del GLUEletManager y los adaptadores GSIC toolAunque el sistema viene preparado para Linux o Windows siendo Windows la explicacioacuten quevamos a desarrollar por estar utilizando este sistema operativo con Xampp

1 Crear el directorio GLUE_ HOME El cual hemos creado para mayor comodidad en la raiacutezdel disco duro

2 Denir la variable del sistema GLUE_ HOME con el valor de la direccioacuten completa deldirectorio de GLUE del punto anterior Para ello hemos pulsado botoacuten derecho sobre MiPc Propiedad Opciones Avanzadas Variables de Entorno procediendo a pulsar el botoacutenNueva para crear la variable en cuestioacuten

3 Extraemos en el directorio del punto (1) el paquete descargado de la paacutegina de los desar-rolladores

4 Ejecutar la instalacioacuten del cheroGLUE_ HOMEbininstall gluebat para registar GLUElet-Manager y GSIC tool como un servicio de Windows Tambieacuten este paso crearaacute un cheroen GLUE_ HOMEtool_ adapteradapterdata para proveer de persistencia a los objetoscreados con el adaptador GSIC tool

A continuacioacuten daremos de alta en nuestro gestor de bases de datos un para de bases de datosque necesita GLUEletManager Para ellos seguimos los siguientes pasos

1 Abrimos la consola de phpMyaAdmin para cargar y ejecutar el chero create_ GLUE_databasessql que se encuentra en GLUE_ HOMEmanagerconfdb

2 Modicamos el chero GLUE_ HOMEmanagerconfMETA-INFpersistencexml paradarle los paraacutemetros necesarios para que JDBC se conecte a nuestra base de datos Losparaacutemetros modicados puede verse en la imagen 62

Figura 62 Paraacutemetros modicados en persistencexml

La segunda parte consiste en el registro interno de los adaptadores de las herramientas para seraccedido con GLUEletManager La distribucioacuten trae un chero para facilitar la conguracioacuten delos adaptadores que trae consigo y para su instalacioacuten deberemos ejecutar el chero GLUE_HOMEmanagerconfdbll _ internal_ Registrysql Alguna de las herramientas necesitanuna conguracioacuten maacutes completa como puede ser Google Docs adapter que necesita una cuentade Gmail para poder crear documentos en Google Docs por lo que deberemos modicar el nom-bre de usuario y contrasentildea

La uacuteltima parte consiste en la instalacioacuten del adaptardor de Moodle como VLE utilizado Estainstalacioacuten es como cualquier otro moacutedulo de Moodle 2 La carpeta que deberemos copiar seraacutela del adaptador correspondiente a Moodle que se encuentra en la carpeta GLUE_ HOMEvle_adpatersmoodle_ vle_ adapter Una vez entremos en nuestro Moodle como administrador nosapareceraacute un mensaje indicaacutendonos que el nuevo moacutedulo esta instalado Para congurar el nuevomoacutedulo debermos ir a Noticaciones - Modulos - Actividades como podemos ver en la gura 63para congurar los paraacutemetros la URL del GLUEletManager y el tiempo de espera

Figura 63 Paraacutemetros del moacutedulo GLUE

Cuando el profesor quiera crear una nueva actividad dependiente de los adaptadores de GLUEdeberaacute agregar una actividad maacutes pulsando para ello en esta opcioacuten dentro del bloque deseadopara seleccionar luego el tipo de actividad GLUElet como podemos ver en la gura64

622 Creando un Doodle

El adaptador Doodle permite la creacioacuten conguracioacuten y gestioacuten de instancias del Doodle Cadaencuesta Doodle es considerado un instancia diferente Ademaacutes este adaptador permite realizarademas la conguracioacuten inicial de encuestas Doodle incluyendo el nombre de la encuesta unadescripcioacuten y un conjunto de posibles respuestas

A continuacioacuten antildeadiremos Doodle en un bloque de Moodle para ellos pulsaremos la opcioacuten deAgregar actividad GLUElet lo cual nos mostraraacute la paacutegina65 donde deberemos rellenar comomiacutenimo el nombre de la actividad y el tipo de herramienta seleccionado en este caso Doodle(httpdoodle-testcom)

2httpdocsmoodleorgenInstalling_contributed_modules_or_plugins

Figura 64 Creando una actividad GLUElet

La primera vez que pulsemos sobre la nueva actividad creada apareceraacute un pantalla 66 dondepodemos congurar diferentes elementos de la encuesta desarrollada con Doodle como son eltiacutetulo una pequentildea descripcioacuten y luego las opciones posibles con un liacutemite de 10

El resultado nal seraacute la incrustacioacuten de una encuesta Doodle dentro de nuestro Moodle comopodemos ver en la gura67

Figura 65 Antildeadiendo Doodle como actividad

Figura 66 Opciones iniciales de conguracioacuten de Doodle

Figura 67 Doodel dentro de Moodle

Capiacutetulo 7

Conclusiones Finales

71 Conclusiones Finales

El proyecto actual nos ha servido para acercarnos a las diferentes tecnologiacuteas que permiten lacomunicacioacuten entre Servicios Webs Hemos desarrollado una primera labor de investigacioacuten queha requerido el aprendizaje de diferentes herramientas de control de documentacioacuten y referenciascomo Zotero y Mendeley

La documentacioacuten recabada en el proceso inicial de revisioacuten de documentos nos ha aportadoun visioacuten general de los diferentes sistemas virtuales de aprendizaje que podemos encontrarnosmuchos de ellos gratuitos y las diferentes soluciones que se plantean a la necesidad de incluirrecursos de otros fabricantes que en principio no fueron concebidos para ser utilizados dentro deuna plataforma VLE

Para poner en praacutectica la diferentes opciones encontradas se han montado diferentes maacutequinasvirtuales sobre las que se han probado las mismas Las conclusiones nales se pasan a detallar

IMS LTIEsta solucioacuten de integracioacuten mediante el cumplimiento de unos protocolos y certicacionesde las herramientas que lo cumplen es en principio la que podriacutea parecer la mejor opcioacutenpero la falta de compromiso de los diferentes fabricantes de Servicios Web y la luchapara imponer sus propios estaacutendares hace que aun quede mucho para que esta opcioacuten seacomo tal real

Si vemos el nuacutemero de aplicaciones certicadas para usar IMS LTI apenas superan las 50 yla mayoriacutea solo cumple la especicacioacuten v10 lo cual signica que la integracioacuten solo solu-ciona el problema de llamar a un recurso externo desde Moodle Pocas son las que cumplenla v11 que permite obtener en Moodle una valoracioacuten de los ejercicios desarrollados en unaactividad externa

La versioacuten v20 que daraacute maacutes opciones a la hora de interactuar con actividades externasauacuten esta en desarrollo y nada se sabe sobre posibles fechas para su presentacioacuten Luegocerticacioacuten de herramientas etc

55

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 28: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

Science Direct [SD] httpwwwsciencedirectcom

SpringerLink [SL] httpwwwspringerlinkcom

Paralelamente a Science Direct se han realizado buacutesquedas en Scopus1 de Elsevier y GoogleScholar2 de Google

333 Criterios de inclusioacuten y exclusioacuten

Las buacutesquedas que se realicen intentaraacuten abarcar todo el aacutembito de cuestiones del SLR pero esposible (y de hecho ocurre) el resultado contenga referencias publicaciones estudios o en generalinformacioacuten que no sirve Para ello seraacute necesario denir criterios de inclusioacuten y exclusioacuten loscual haremos basaacutendonos en la guiacutea [Kitchenham 2007]

334 Asegurar la calidad

Despueacutes de obtener un numero considerable de trabajos o estudios que satisfacen los criteriosde inclusioacuten y exclusioacuten se deberaacute ser capaz de asegurar o armar cuales son los que cumplencon una miacutenima calidad y si son vaacutelidos o no para el estudio en si Es baacutesico poder analizar queacuteestudios son mejores que otros en teacuterminos de calidadSiguiente [Kitchenham 2007] se deniraacuten preguntas y cuestiones que permitan asegurar dichacalidad

335 Extraccioacuten de datos y anaacutelisis

Los criterios de inclusioacuten y exclusioacuten junto con las preguntas orientadas a asegurar la calidadnos serviraacuten para obtener todos los artiacuteculos y estudios que se analizan en este estudioDe cada artiacuteculo se recogeraacute titulo y autores abstract publicacioacuten y antildeo de publicacioacuten

336 Fase de revisioacuten

Esta fase de planicacioacuten seraacute denir el proceso de conducir o dirigir la revisioacuten Para elloutilizaremos tres fases como podemos ver en la gura 31 de la paacutegina 23

337 Fase de Pruebas

Se realizan pruebas con la informacioacuten obtenido montado maacutequinas virtuales para realizar lasmismas En estas se han probado las diferentes opciones de comunicacioacuten que nos ofrece Moodle

1httpwwwscopuscom2httpscholargooglecom

Figura 31 Proceso para dirigir la revisioacuten

34 Calendario de Trabajo

Podemos ver en el siguiente diagrama de Gantt32 la distribucioacuten de trabajos en el tiempo elmismo seraacute modicado para ajustarlo a las variaciones producidas durante el desarrollo de lastareas que contempla

35 Hitos principales

Los principales hitos seraacuten

Lanzamiento del proyecto Se dene correctamente en que va consistir el proyecto

Denicioacuten de cuestiones para la buacutesqueda Donde se detallaraacuten las cuestiones quemarcaran el desarrollo del resto del proyecto

Comprobacioacuten de resultados Se deberaacuten criba los mismo para no obtener duplicadoso informacioacuten ajena a la investigacioacuten

Revisioacuten de informacioacuten obtenida Una vez obtenida la informacioacuten y analizada deberaacuteser revisada para su presentacioacuten

Figura 32 Diagrama de Gantt

36 Instalacioacuten base

Para llevar a cabo las pruebas se ha optado por la creacioacuten de una maacutequina virtual sobre VirtualBox 3 en la cual hemos instalado Windows XP como sistema operativo Este sistema es maacutesligero a la hora de trabajar en maacutequinas virtuales pues requiere menos recursos que las versionesposteriores del mismos sistema

El siguiente paso era la instalacioacuten de Moodle Aunque se dispone de un instalador para Win-dows se ha optado por la descarga e instalacioacuten de XAMPP 4 y su y su posterior conguracioacutenen la maacutequina virtual XAMPP es un servidor independiente de plataforma software libre queconsiste principalmente en la base de datos MySQL el servidor web Apache y los inteacuterpretespara lenguajes de script PHP y Perl El nombre proviene del acroacutenimo de X (para cualquierade los diferentes sistemas operativos) Apache MySQL PHP Perl

XAMPP en su versioacuten 181 incluye

Apache 243

MySQL 5527

PHP 547

phpMyAdmin 3522

FileZilla FTP Server 0941

Tomcat 7030

Strawberry Perl 51611 Portable

XAMPP Control Panel 310

Hemos continuado con la descarga he instalacioacuten de Moodle y hemos querido probar las difer-encias que obtenemos entre las versiones 19x y 25 por lo que se han descargado ambas heinstalado en maacutequinas virtuales diferentes Con ello conseguiremos probar el resultado obtenidoseguacuten la versioacuten Moodle desde su versioacuten 22 ya soporta conexiones mediante IMS - LTI IMSLTI es un estaacutendar IMS Learning Tool Interoperability Esto signica que las herramientas deaprendizaje tienen ahora diversas maneras de conectarse entre sin problemas

En la praacutectica cuando un usuario se registra en una herramienta como Moodle se pueden conectara la otra herramienta como MediaWiki y autenticarse automaacuteticamente proporcionando unaexperiencia perfectaLas guras 33 y 34 nos muestran el panel de control de XAMPP una vez instalado y el panede phpMyAdmin donde hemos debido congurar las bases de datos y usuario necesarios parallevar todo el proceso de conguracioacuten de Moodle y el resto de herramientas

3httpswwwvirtualboxorg4httpwwwapachefriendsorgesxampphtml

Figura 33 Panel de control de XAMPP

Figura 34 Gestor de bases de datos phpMyAdmin

Capiacutetulo 4

Servicios Web de Moodle

41 Introduccioacuten

Moodle 2X incorpora la posibilidad de implementar Servicios Web para manejar sus funciona-lidades lo que nos permite poder acceder a acciones de actualizar y crear tareas para reejar elresultado de las actividades realizadas Moodle soporta varios protocolos (REST SOAP XML-RPC y AMF)

42 Servicios Web de Moodle

Los Servicios Web de Moodle se caracterizan por permitir el acceso desde cualquier aplicacioacutenimplementando para ello tres capas como podemos observar en la gura 41

Capa nuacutecleoLa capa del nuacutecleo estaacute compuesta de todas las funciones principales de Moodle sobreusuarios grupos cursos calendario etc Moodle no dispone de una API al uso sino queofrece diferentes funciones que han sido desarrolladas durante antildeos Por tanto las necesi-dades de los Servicios Web estaacuten obligando a rehacer estas funciones del nuacutecleo para quecomiencen a formar una API (Moodle 2X)

Capa externaLa capa externa estaacute compuesta por nuevos cheros llamados externalphp colocados porlas carpetas de Moodle y conteniendo manejadores para la capa inferior Estos manejadoresson los responsables de comprobar las capacidades paraacutemetros y llamadas correctas a lasfunciones de nuacutecleo

Capa de conectoresLa capa de conectores estaacute compuesta de diferentes conectores para las diferentes imple-mentaciones de los Servicios Web y contiene un conector REST un conector SOAP unconector XML-RPC y un conector AMF Esta capa admite plugins para ampliar los conec-tores disponibles de manera que se puedan integrar otros sistemas en Moodle utilizandootros protocolos

Los pasos para utilizar un Servicio Web con Moodle seriacutean los siguientes

1 El cliente enviacutea el nombre de usuario y contrasentildea al servidor que provee los ServiciosWeb

27

Figura 41 Capas en Moodle

2 El servidor de protocolo devuelve un token de sesioacuten para esa cuenta de usuario

3 El cliente llama a un Servicio Web especiacuteco incluyendo el token de sesioacuten

4 El servidor utiliza el token para comprobar que la sesioacuten del Servicio Web estaacute activa

5 El servidor llama a la funcioacuten correspondiente localizada en el chero externallibphp dentrodel moacutedulo especiacuteco

6 La funcioacuten externa comprueba que el usuario actual tenga los permisos sucientes pararealizar esta operacioacuten

7 La funcioacuten externa llama a la funcioacuten correspondiente del nuacutecleo de Moodle (libphp)

8 La funcioacuten del nuacutecleo puede retornar un resultado a la funcioacuten externa

9 La funcioacuten externa devolveraacute el resultado al servidor de protocolo

10 El servidor de protocolo devolveraacute el resultado al cliente

43 REST

REST (Representational State Transfer) es el acroacutenimo de Transferencia de Estado Representa-cional teacutermino usado por Roy Fielding (uno de los creadores de HTTP) para describir un estilode arquitectura que utilizar como modelo en los sistemas de computacioacuten Web No es un es-taacutendar sino un enfoque que muestra como desarrollar y proporcionar servicios en Internet portanto considerado como un estilo arquitectoacutenico para disentildeo de software a gran escala El propioautor lo dene de manera concisa en eacuteste paacuterrafo

REST es un intento de mostrar coacutemo debe comportarse una aplicacioacuten Web bien disentildeada unared de paacuteginas Web (una maacutequina de estados virtual) donde el usuario progresaraacute seleccionan-do enlaces (transiciones de estado) que devuelven la paacutegina siguiente (el siguiente estado de lamaacutequina) que el usuario manejaraacute a su gusto

Este enfoque no aporta realmente nada nuevo la mayor parte de la Web sigue este estilo arqui-tectoacutenico Sin embargo el autor hace eacutenfasis en las caracteriacutesticas concretas que han hecho quela Web triunfe que van a ser los objetivos buscados por REST y que son a su juicio

Escalabilidad en las interacciones entre componentes La red ha ido creciendo de maneraexponencial y se ha ido comportado de manera satisfactoria

Generalidad en las interfaces Se proporciona acceso con distintos clientes y con distintosmecanismos de acceso

Desarrollo independiente de componentes Implementaciones cliente y servidor pueden serdesarrolladas en distintos momentos

Existencia de componentes intermediarios con los cuales existe compatibilidad (comoproxys)que permiten encapsulacioacuten e integracioacuten de sistemas no Web dentro de la misma

431 Principios de disentildeo

Los objetivos citados van a ser conseguidos imponiendo una serie de restricciones

El estado y la funcionalidad de las aplicaciones se representan por forma de recursos

La identicacioacuten de recursos se realiza de forma uacutenica global mediante Uniform ResourceIdentiers Los recursos identicados con URIs son los objetos loacutegicos a los cuales se lesmandan los mensajes

Manipulacioacuten de recursos a traveacutes de representaciones luego no se manejan directamentelos recursos sino sus representaciones

Todos los recursos comparten un interfaz uniforme formado por

bull Un conjunto de operaciones limitado para transferir el estado Se van a aprovecharlas operaciones que HTTP dene mostradas en la gura 42

bull Un conjunto limitado de tipos de contenidos identicados mediante tipos MIME

Uso de un protocolo clienteservidor sin estado y basado en capas Cada mensaje HTTPcontendraacute la informacioacuten necesaria para comprender la peticioacuten luego como muestra lagura 43 no es necesario que eacutesta sea entendida tanto en el cliente como en el servidor

Uso de hipermedios para representar el estado de una aplicacioacuten permitiendo que el estadode una aplicacioacuten Web particular esteacute almacenado en uno o maacutes documentos de hipertextoque residen bien en el servidor o en el cliente Esto permite al servidor saber el estado desus recursos sin necesidad de almacenar el estado de los clientes concretos

Figura 42 Operaciones denidas por HTTP

Como ya se mencionoacute REST se trata de un estilo arquitectoacutenico no un estaacutendar Sin embargohace uso de varios estaacutendares Web

HTTP HyperText Transfer Protocol

Figura 43 Operaciones denidas por HTTP

URL Uniform Resource Locator como el mecanismo de indenticacioacuten de recursos

XML - HTML - PNG - etc Como distintos formatos de representacioacuten de recursos

Tipos MIME como text-xml text-html image-png etc

44 SOAP

SOAP (siglas de Simple Object Access Protocol) es un protocolo estaacutendar que dene coacutemo dosobjetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML Esteprotocolo deriva de un protocolo creado por David Winer en 1998 llamado XML-RPC SOAPfue creado por Microsoft IBM y otros y estaacute actualmente bajo el auspicio de la W3C

441 Principios de disentildeo

La funcionalidad que aporta SOAP es la de proporcionar un mecanismo simple y ligero de in-tercambio de informacioacuten entre dos puntos usando el lenguaje XML SOAP no es maacutes que unmecanismo sencillo de expresar la informacioacuten mediante un modelo de empaquetado de datosmodular y una serie de mecanismos de codicacioacuten de datos Esto permite que SOAP sea uti-lizado en un amplio rango de servidores de aplicaciones que trabajen mediante el modelo decomunicacioacuten RPC (Remote Procedure Call)

SOAP consta de tres partes como podemos ver en la gura 44

El SOAP envelope que dene el marco de trabajo que determina queacute se puede introduciren un mensaje quieacuten deberiacutea hacerlo y si esa operacioacuten es opcional u obligatoria

Las reglas de codicacioacuten SOAP que denen el mecanismo de serializacioacuten que seraacute usadopara encapsular en los mensajes los distintos tipos de datos

La representacioacuten SOAP RPC que dene un modo de funcionamiento a la hora de realizarllamadas a procedimientos remotos y la obtencioacuten de sus resultados

A la hora de realizar el disentildeo de SOAP se han tenido en cuenta una serie de consideracionescon el n de cumplir una serie de objetivos claros objetivos que le daraacuten el potencial que resideen SOAP y que le haraacuten tan atractivo Eacutestos son

Establecer un protocolo estaacutendar de invocacioacuten a servicios remotos que esteacute basado enprotocolos estaacutendares de uso frecuente en Internet como son HTTP (Hiper Text TransportProtocol) para la transmisioacuten y XML (eXtensible Markup Language)para la codicacioacutende los datos

Figura 44 Partes de SOAP

Independencia de plataforma hardware lenguaje de programacioacuten e implementacioacuten delservicio Web

El logro de estos objetivos ha hecho de SOAP un protocolo extremadamente uacutetil ya que elprotocolo de comunicacioacuten HTTP es el empleado para la conexioacuten sobre Internetpor lo que segarantiza que cualquier cliente con un navegador estaacutendar pueda conectarse con un servidor re-moto Ademaacutes los datos en la transmisioacuten se empaquetan o serializan con el lenguaje XML quese ha convertido en algo imprescindible en el intercambio de datos ya que es capaz de salvar lasincompatibilidades que existiacutean en el resto de protocolos de representacioacuten de datos de la red

Por otra parte los servidores Web pueden procesar las peticiones de usuario empleando tec-nologiacuteas tales como Servlets paacuteginas ASP (Active Server Pages) paacuteginas JSP (Java ServerPages) o sencillamente un servidor de aplicaciones con invocacioacuten de objetos mediante CORBACOM o EJB

Un ejemplo tiacutepico de disentildeo de un servicio Web utilizando las ventajas de SOAP podemos veren la siguiente gura 45

Figura 45 Ejemplo de uso de SOAP

45 AMF

AMF (Action Message Format) es un protocolo binario de Adobe que va por la versioacuten AMF3Aunque por el nombre de la versioacuten pueda parecer que existan 3 cabe destacar que soacutelo existendos AMF0 y AMF3 Una de las mayores diferencias o mejoras que aporta AMF3 es que soporta

datos binarios (ByteArray) y int datos no soportados por AMF0 debido a que en la eacutepoca queaparecioacute el formato Flash Player no soportaba estos tipos de datos

AMF3 no es un protocolo para transferir informacioacuten sino que representa el formato en el quese transmite la informacioacuten en este caso un formato binario

La versioacuten de Moodle 25 viene con Zend_ AMF pero podemos utilizar tambieacuten la libreriacuteaamfPHP

AMFPHP

Zend_ amf httpframeworkzendcommanual112enzendamfhtml

Maacutes informacioacuten en httpdocsmoodleorgdevAMFPHP

46 Conguracioacuten de Moodle Web Services

Los Servicios Web habilitan que otros sistemas puedan entrar a Moodle y realizar operacionesPasaremos a detallar los pasos necesarios para su conguracioacuten y explicaremos distintos pruebasllevadas a cabo sobre su funcionamiento Para poder consumir de manera correcta unWeb Servicede Moodle seriacutea necesario antildeadir a la url que vamos a formar los paraacutemetros oportunos paralograr consumir el Web Service de manera satisfactoria Una vez antildeadidos ya podriacuteamos invocarla funcioacuten seleccionada

461 Activando los Servicios Web

Lo primero que debemos hacer es activar la opcioacuten general que habilita el uso de los serviciosweb En la gura 46 podemos observar la opcioacuten para la activacioacuten de este servicio para ello nosiremos a la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Servicios Externos

Figura 46 Activacioacuten Servicios Web

Esto solo es una opcioacuten a nivel global necesitando ahora activar los protocolos de comunciacionesque vamos a utilizar para ello deberemos ir a la opcioacuten textitAdministracioacuten del Sitio - Exten-siones - Servicios Web - Administrador de protoclos donde encontraremos las diferente opcionesque nos existen En la gura 47 podemos ver la pantalla de nuestra conguracioacuten con todos losprotocolos activados

Una vez activada la opcioacuten de Servicios Externos y seleccionados los protocolos que utilizaremosnecesitamos crear un Servicio Personalizado que no es maacutes que una etiqueta que aglutina los

Figura 47 Activacioacuten Protoclos

Servicios Web que ofrece Moodle y que pueden ser utilizados por los servicios externos Para ellodeberemos darle a la opcioacuten Agregar dentro de la opcioacuten Administracioacuten del Sitio - Extensiones- Servicios Web - Servicios Externos Como prueba habilitaremos un servicio llamado Uso_Servicio_ Web cuya creacioacuten podemos ver en la gura 48

Figura 48 Creacioacuten Servicio Personalizado

Una vez creado el Servicio Personalizado deberemos agregarle las funciones que queramos lesean permitidas pudiente tener maacutes de una En la gura 49 vemos como asociamos la creacioacutende usuarios al Servicio Personalizado

Terminado esto deberemos tener en el listado que nos muestra Moodle de Servicios personaliza-dos algo como lo mostrado en la gura 410

El siguiente paso es conceder los permisos apropiados para que este Servicio Personalizado puedeser usado por los usuarios pare ello debemos primero especicar quienes son los Usuarios au-torizados para ello en la linea de la lista de Servicios Personalizados deberemos pulsar sobre laopcioacuten usuarios autorizados donde apareceraacute una pantalla como 411 donde podremos escogerlos usuarios de los que se encuentran dados de alta en nuestro sistema

Y para terminar aunque este paso podriacutea ser realizado por el propio usuario si tuviera el per-miso de moodlewebservicecreatetoken seraacute la creacioacuten de un token el cual va ser la opcioacuten quevamos a utilizar para las pruebas de los Servicios Web de Moodle Para la creacioacuten del mismodeberemos entrar en la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Admin-istrar tokens y pulsar la opcioacuten Agregar para antildeadir un token nuevo como podemos apreciar en

Figura 49 Agregando funciones al Servicio Personalizado

Figura 410 Listado de Servicios Personalizados

la gura 412 teniendo la precaucioacuten de escoger como Servicio el Servicio Personalizado creadocon anterioridad Uso_ Servicio_ Web

En esta pantalla podemos poner varios tipos de restricciones

Restriccioacuten de IP Donde podemos indicar la direccioacuten IP desde donde

Restriccioacuten de Fecha Se puede denir hasta cuando seraacute valido este token siendo unabuena manera de poder probar cosas y no dejar puertas abiertas por error

En la gura 413 podemos ver el token asignado por el sistema para nuestro Servicio Personalizadoy que procederemos a utilizar para comprobar el funcionamiento de los Servicios Web de Moodle

462 Pruebas cliente Servicio Web

Procederemos ahora a desarrollar pruebas que utilicen los Servicios Personalizados creado Sepodriacutean haber utilizado el Cliente de prueba de servicio web que incorpora Moodle dentro dela opcioacuten Administracioacuten del Sitio - Desarrollo - Cliente de prueba servicio web pero hemosdecidido implementar una Web para comprobar la facilidad del funcionamiento del sistema y losdistintos resultados obtenidos seguacuten el protocolo utilizado

Utilizaremos la libreriacutea cURL de PHP cURL es una herramienta que permite abrir conexionesen una amplia variedad de protocolos y que estaacute disponible tanto como herramienta de consola(para ejecutar directamente con comandos) como en libreriacutea (para usar en vuestro coacutedigo) y quepermite hacer praacutecticamente todo manejo de cookies descarga de cheros binarios enviacuteos de

Figura 411 Alta de Usuarios Autorizados

Figura 412 Creacioacuten de Tokens

paraacutemetros GET y POST etc

La web creada para la introduccioacuten 414 de los usuarios seraacute equivalente para todos los procesosprocesos siendo el programa que da respuesta al formulario el que implemente la funcioacuten nece-saria para la introduccioacuten de los datos en Moodle

Los resultados de REST pueden mostrar los resultados del alta de dos maneras diferentes unaen formato XML como podemos ver en la gura 415 y otro en formatox JSON tambieacuten po-dremos ver en la gura Los resultados obtenidos tambieacuten pueden verse en el la gura 416

Figura 413 Lista de Tokens

Figura 414 Web de alta de usuarios

Figura 415 Resultado de REST en formato XML

Figura 416 Resultado de REST en formato JSON

Capiacutetulo 5

Herramientas Externas

51 Introduccioacuten

Las versiones de Moodle desde la 22 vienen con IMS LTI o External Tool de manera integradaEn versiones anteriores era necesario la instalacioacuten de plugins como LTI Provider (maacutes informa-cioacuten en la web de Moodle1 IMS LTI es un estandar de IMS learing2 para la interoperabilidadde herramientas Esto signica que las herramientas de aprendizaje tienen ahora un mecanismopara jar el modo en que pueden conectarse entre ellas sin problemas

En la praacutectica cuando un usuario se registra en Moodle puede conectarse a otras herramientascomo Wikis o Blogs y autenticarse de manera automaacutetica en estas

52 Estaacutendares IMS

Actualmente se realizan esfuerzos para la integracioacuten de servicios a una plataforma virtual deaprendizaje mediante un mecanismo reutilizable independiente del tipo de plataforma El IMSGlobal Learning Consortium viene desde hace tiempo trabajando en este enfoque IMS GLCpresenta un conjunto de estaacutendares que promueven el uso de servicios de aprendizaje digitales(Digital Learning Services) dentro de las plataformas de aprendizaje tradicionales IMS DigitalLearning Services estaacute integrado por los siguientes estaacutendares principales IMS Common Car-tridge [ims a] IMS Learning Tool Interoperability [ims c] y IMS Learning Information Services[ims b]

El IMS Learning Tool Interoperability es una especicacioacuten para facilitar la inclusioacuten de her-ramientas externas dentro de un curso El administrador de la plataforma de aprendizaje ges-tiona los servicios que podraacuten ser consumidos por la plataforma el docente decide que serviciosutilizaraacute en su curso y el estudiante hace uso de los mismos IMS LTI permite que distintos LMSconsuman un mismo servicio el cual no fue implementado teniendo en cuenta el tipo de LMSsino la implementacioacuten del estaacutendar desde el lado del proveedor

El enfoque del IMS LTI estaacute dirigido a la creciente demanda de un mecanismo reutilizable para laintegracioacuten de herramientas de terceros en el nuacutecleo de las plataformas LMS Estas herramientas

1httpsmoodleorgpluginsviewphpplugin=local_ltiprovider2httpwwwimsglobalorgtoolsinteroperability2cfm

37

pueden agregar funcionalidad especializada a los LMS El enfoque ofrece una solucioacuten basada enWeb Services igualmente aplicable a distintos lenguajes de programacioacuten

Las versiones del LTI son

LTI v10 ( LTI Basic ) ( publicado en mayo de 2010 ) proporciona un meacutetodo sencillopero estaacutendar para establecer una conexioacuten segura a una herramienta desde el interior deun consumidor de herramientas El lanzamiento de este enlace permite una experienciade aprendizaje sin problemas para los estudiantes que acceden a las aplicaciones ricas queparecen tener lugar dentro del ambiente de aprendizaje Versioacuten 10 es el primer paso en eldesarrollo continuo de LTI Figura 51

LTI v11 ( publicado en marzo 2012 ) antildeade la posibilidad de pasar de nuevo un resultadode la herramienta al Consumidor de herramientas Esto permite que los estudiantes recibenuna calicacioacuten o puntuacioacuten de su interaccioacuten con la aplicacioacuten de aprendizaje

LTI v111 ( publicado en julio de 2012 ) incluye soporte para el papel Mentor que se puedeutilizar para representar a un padre tutor o auditor

LTI v20 Aun en estado de desarrollo y proporciona una plataforma maacutes sosticado y ex-tensible para permitir integraciones maacutes profundas y un mayor apoyo para los serviciosy eventos LTI 2 se basa en LTI 1 mediante la incorporacioacuten de maacutes sosticada resulta-dos de informes y una rica arquitectura de extensiones que permite servicios adicionalesque se antildeadiraacuten gradualmente LTI 2 utiliza REST y JSON-LD para ofrecer esta nuevafuncionalidad

Figura 51 Esquema LTI Baacutesico

En la gura 52 podemos observar como se podriacutean utilizar las ventajas de LTI por parte decada unos de los actores a lo largo de la vida de la aplicacioacuten de servicios externos dentro de unaplataforma de aprendizaje

En la paacutegina web de IMS3 podemos encontrar una relacioacuten de aplicaciones certicadas comocompatibles con el estaacutendar LTI indicando la versioacuten del LTI que cumplen En la gura 53podemos ver las aplicaciones certicadas por UOC y en la gura 54 la informacioacuten sobre una deestas herramientas

3httpwwwimsglobalorgccalltoolscfm

Figura 52 Esquema utilizacioacuten LTI

Figura 53 Listado de herramientas LTI de la UOC

53 Herramientas externas en Moodle

La siguiente seccioacuten consiste en la aplicacioacuten de alguno de esto servicios externos en Moodlepara comprobar su funcionamiento Nos decantaremos para la primera prueba por WordPresspues aunque existen manuales al respecto la documentacioacuten en castellano es escasa

531 Wordpress

La versioacuten estaacutendar de Wordpress a la cual accedemos cuando nos abrimos cuenta en Wordpressno viene con las herramientas necesarias para la iteracioacuten mediante LTI por lo que procedere-mos a la instalacioacuten en nuestro servidor de Wordpress para pasar a la instalacioacuten de los pluginsnecesarios

La instalacioacuten ha consistido en la descarga de la web ocial 4 de la versioacuten 351 la cual hemoscopiado dentro del directorio htdocs de nuestra instalacioacuten de Xampp Hemos dado de alta unnuevo usuario en nuestra base de datos llamado username como podemos ver en la imagen 55 yposteriormente hemos seguido los pasos que el instalador nos iba ofreciendo para tener instalado

4httpwordpressorgdownload

Figura 54 Informacioacuten sobre la certicacioacuten

Wordpress bajo la url httplocalhostwordpress

Figura 55 Usuario de Wordpress

Deberemos congurar Wordpress para que trabaje como multisitio para lo que deberemos seguirlos pasos de conguracioacuten que podemos encontrar en la web ocial de Wordpress5 bajo el nombreCreate A Network consistente en los siguientes pasos

1 Realizar una copia de seguridad por si acaso

2 Modicar el chero wp-congphp incluyendo la siguiente linea encima de Thats allstop editing Happy blogging Multisite dene (WP_ ALLOW_ MULTISITE true)

Multisite dene (WP_ ALLOW_ MULTISITE true)

3 Installar un Network Para ello hemos de entra en la opcioacuten Administration -gtTools -gtNetwork Setup donde podremos congurar opciones sobre el nombre que queremos declararpara el nuevo sitio

4 Activar el Network para ello debemos modicar los cheros wp-congphp y htaccess porlo que seriacutea bueno que realizaacuteramos primero un copia de seguridad de los mismos Loscambios que debemos realizar son los siguientes

5httpcodexwordpressorgCreate_A_Network

En wp-congphp dene(MULTISITE true)dene(SUBDOMAIN_ INSTALL false)dene(DOMAIN_ CURRENT_ SITE localhost)dene(PATH_ CURRENT_ SITE wordpress)dene(SITE_ ID_ CURRENT_ SITE 1)dene(BLOG_ ID_ CURRENT_ SITE 1)

El chero htaccess debe quedar asiacute BEGIN WordPressltIfModule mod_ rewritecgtRewriteEngine OnRewriteBase wordpressRewriteRule icircndexphp$ - [L]

add a trailing slash to wp-adminRewriteRule ([_ 0-9a-zA-Z-]+)wp-admin1wp-admin [R=301L]

RewriteCondREQUEST_ FILENAME -f [OR]RewriteCondREQUEST_ FILENAME -dRewriteRule - [L]RewriteRule ([_ 0-9a-zA-Z-]+)(wp-(content|admin|includes)) $2 [L]RewriteRule ([_ 0-9a-zA-Z-]+)( php)$ $2 [L]RewriteRule indexphp [L]ltIfModulegt

END WordPress

5 Esto nos habraacute creado en la parte izquierda de la barra de herramientas de Wordpressuna nueva opcioacuten llamada My Sites que contendraacute un listado de los sitios de nuestroWordpress

El siguiente paso seraacute la descarga del plugin los cual podremos hacerlos desde la web de sour-forgenet 6 En esta web se detalla informacioacuten sobre el plugin y como se debe instalar Siguiendolos pasos que tenemos en el mismo procederemos a la descarga y el desplegado del mismo en lacarpeta wp-contentmu-plugins Salimos de Wordpress y volvemos a entrar como superusuariosi entramos dentro de la nueva red realizada podremos ver que dentro de LTI Consumers Keystendremos la opcioacuten LTI Consumers Keys como podemos ver en la imagen 56

Aquiacute deberemos crear la clave del consumidor del servicio y la clave secreta que nos permitiraacute aMoodle conectarse a Wordpress

Una vez que tenemos la clave secreta y del consumidor deberemos volver a Moodle entrandocomo administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

6httpsourceforgenetappsmediawikilearningappsindexphptitle=LTI4Wordpress

Figura 56 Servicios LTI en Wordpress

Figura 57 Listado de claves de LTI en Wordpress

-LTI En esta paacutegina podremos rellenar nuestras opciones

Tool Name Seraacute el nombre que tendraacute la herramienta y deberemos poner alguno indicativode la herramienta que estemos utilizando

Tool Base URL Es la direccioacuten de la herramienta en nuestro caso httplocalhostwordpress

Deberemos rellenar con los datos obtenidos en Wordpress la clave de consumidor y la clavesecreta

Es importante marcar Show tool type when creating tool instances para que aparezcaposteriormente al crear los recursos en nuestros cursos

Para poder probar el sistema hemos creado un curso dentro de Moodle llamada WordpressLTIdonde daremos de la siguiente manera de alta 59

Dentro de nuestro curso seleccionamos la opcioacuten de Edicioacuten

Pulsamos sobre Antildeadir una actividad o un recurso

Seleccionamos External Tool

Rellenamos las opciones

bull Nombre de la Actividad Cualquiera de nuestra eleccioacuten

Figura 58 Conguracioacuten LTI en Moodle

bull Tipo de herramienta externa El nombre que le pusimos a la herramienta externa enla conguracioacuten LTI de Moodle

bull Launch Container Hemos elegido la opcioacuten Incrustar para ver el resultado

Figura 59 Conguracioacuten Herramienta Externa

Una vez congurado podemos lanzar la herramienta externa teniendo como resultado la gura510

Figura 510 Wordpress integrado en Moodle

532 ChemVantage

ChemVantage es un recurso gratuito para la educacioacuten cientiacuteca que incluye ejercicios de gradoejercicios de preparacioacuten exaacutemenes de la praacutectica conferencias de video y libros de texto enliacutenea gratis Fue creado por ChemVantage LLC que fue fundada por el Prof Chuck Wight queha ensentildeado Quiacutemica General en la Universidad de Utah desde 1984 (ChemVantage 2011)

Nos hemos puesto en contacto con Chuck Wight (adminchemvantageorg) para solicitarle unaclave de consumidor y secreta para poder probar este recurso desde moodle Las opciones y elcorreo puede verse en la gura 511

Una de las cosas maacutes importantes de ChemVantage y por lo que nos hemos decidido a probar esque permite la devolucioacuten de las notas obtenidas en los ejercicios realizados en las herramientasexternas a Moodle El alumno podraacute realizar las tareas en esta herramienta externa y luego sercalicadas en Moodle

ChemVantage estaacute certicada por IMS 7 como un proveedor de herramientas LTI v11 y comotal funciona desde nuestro propio LMS para llevar a cabo la autenticacioacuten de sitios provee decuentas y devuelve resultados de asignacioacuten de estudiantes con el libro LMS grado automaacutetica-mente

Los recursos disponible son ChemVantage son principalmente los siguientes

1 QuizzesLos ejercicios presentados aquiacute estaacuten disentildeados para animar a los estudiantes a leer y en-tender los libros de texto utilizados en el curso Las preguntas se basan en material que sepresente en su mayor parte en los textos de introduccioacuten de quiacutemica Los iacutetems de preguntastienen respuestas straighforward no requieren caacutelculos detallados Las preguntas se presen-tan en varios formatos diferentes incluyendo opcioacuten muacuteltiple verdadero falso casilla devericacioacuten ll-in-the-blanco y numeacutericas Cada cuestionario se compone de 10 preguntasextraiacutedas al azar de una base de datos con muchas maacutes preguntas En el proceso de tomarvarias pruebas para mejorar sus calicaciones los estudiantes probablemente encuentran

7httpdevelopersimsglobalorgcoursechemvantagehtml

algunas preguntas repetidas de concursos anteriores sin embargo es poco probable quecualquiera de los dos cuestionarios contendraacute exactamente el mismo conjunto de preguntasen el mismo orden Asignando pruebas para ser completado antes de la conferencia losprofesores pueden estar seguros de que sus estudiantes tengan un poco de exposicioacuten almaterial Esto permite una mayor discusioacuten el diaacutelogo y la participacioacuten en el aula y haceel aprendizaje maacutes divertido (de verdad)

2 Video LecturesUna serie de conferencias de viacutedeo de 10 minutos sobre una variedad de temas de QuiacutemicaGeneral es accesible desde la paacutegina principal Los videos estaacuten disentildeados para reforzar lospuntos principales que se presentan en muchos libros de texto

3 HoweworksLas tareas estaacuten disentildeadas para dar a los estudiantes la praacutectica en la resolucioacuten de proble-mas cuantitativos que tienen respuestas numeacutericas Cada alumno puede descargar la tareatrabajar los problemas y presentar las respuestas en liacutenea Respuestas son juzgados a sercorrecta si la solucioacuten numeacuterica de acuerdo con la solucioacuten que se encuentra en la base dedatos dentro de una tolerancia especicada (indicado para cada problema) El sitio informaa los estudiantes que las respuestas son correctas para que puedan rehacer problemas malresueltos y volver a presentar las respuestas Cada problema se basa en una plantilla queatrae paraacutemetros al azar por lo que la respuesta correcta es diferente para cada estudianteEsto hace que sean adecuadas para la colaboracioacuten y el trabajo en grupo porque a pesarde que el grupo puede trabajar para encontrar un algoritmo correcto para resolver un prob-lema cada estudiante tendraacute que usar el algoritmo para encontrar la solucioacuten detallada asu propio problema

4 Practice ExamsLos estudiantes pueden realizaar exaacutemenes de praacutectica cronometrados que muestran laspreguntas de un grupo de 3 o maacutes temas Cada examen estaacute disentildeado para tardar unos60 minutos o menos e incluye una seleccioacuten de 10 preguntas Las praacutecticas de exaacutemenespueden repetirse cuantas veces se desee Las preguntas numeacutericas son parametrizadas loque es muy poco probable que un estudiante realice alguna vez dos exaacutemenes de praacutecticaideacutenticos

5 Portofolio PageCada estudiante puede acceder a una paacutegina que le da la puntuacioacuten obtenida en cada prue-ba y la asignacioacuten de tareas Los estudiantes que son miembros de un grupo tienen unapaacutegina de resultados asociados a las tareas de grupo Hay una paacutegina de carpeta separadaque contiene un resumen de todas las actividades realizadas en ChemVantage incluyendovideos vistos cuestionarios completados resolver problemas con la tarea y la praacutectica deexaacutemenes completados Las puntuaciones en los exaacutemenes de praacutectica son desagregadospara revelar fortalezas y debilidades estudiantes por temas

Hemos procedido a darlo de alta en LTI como hicimos con Wordpress Entramos en Moodle co-mo Administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

Figura 511 Correo de Chuck Wight

-LTI quedando como resultado la siguiente hoja de paraacutemetros gura 512

El siguiente paso seraacute antildeadir la herramienta dentro de nuestro curso para ello pulsaremos sobreAntildeadir una actividad o un recurso Deberemos seleccionar External Tool y rellenamos las op-ciones de la herramienta seleccionando como Tipo de herramienta externa la opcioacuten creada enel apartado de LTI de Moodle

Una vez congurado la herramienta en Moodle podemos entrar para realizar una personalizacioacutende la herramienta gura 513 esta consiste en indicar si el alumno cuando se conecta realiza undeterminado tarea o puede elegir navegar por la web de ChemVantage para poder disfrutar dela cantidad de recursos que se encuentran disponibles

Cuando el usuario pulsa sobre la opcioacuten de esta herramienta externa en Moodle lo primero quese le muestra es la informacioacuten sobre su perl en Chemvantage 514Como hemos visto en los paraacutemetros de conguracioacuten existe la posibilidad de llamar a unaherramienta externa incrustaacutendola dentro de Moodle o abrieacutendolo en una paacutegina web nuevaCon esta segunda opcioacuten no hemos conseguido que funcione correctamente la importacioacuten de lasnotas En cambio si la herramienta externa estaacute incrustada permite esa vinculacioacuten

Figura 512 Conguracioacuten de paraacutemetros LTI

Figura 513 Opciones de inicio de la herramienta

Figura 514 Pantalla de utilizacioacuten de la herramienta por el usuario

Capiacutetulo 6

Middleware

61 Introduccioacuten

La uacuteltima opcioacuten seriacutea utilizar una arquitectura middleware de integracioacuten que permita la inte-gracioacuten ligera de muacuteltiples herramientas existentes en el Moodle

62 GluePS

GLUE-PS es una arquitectura de middleware que permite una interoperabilidad ligera entrelos diferentes lenguajes de disentildeo de aprendizaje y diferentes entornos de aprendizaje virtualEsta interoperabilidad permite a los maestros y otros profesionales que particularicen (es decirpara personalizar el disentildeo de aprendizaje abstractoa la clase particular los participantes y laeleccioacuten de los instrumentos en los que va a ser promulgada) desplieguen (es decir para crearde forma semiautomaacutetica las actividades necesarias en el VLE recursos etc para la aprobacioacutendel disentildeo particularizado) e incluso para llevar a cabo ciertos cambios en el tiempo de ejecucioacuten(por ejemplo modicar la composicioacuten del grupo agregar o quitar recursos de las actividadesetc) Todo esto a partir de disentildeos en distintos lenguajes de disentildeo de aprendizaje tales como laespecicacioacuten IMS-LD aprendizaje

Por otra parte GLUE-PS tambieacuten permite desplegar y gestionar disentildeos de aprendizaje en en-tornos virtuales de aprendizaje que integren herramientas de aprendizaje externos (tales comointegrar en Moodle herramientas como Google Docs y muchos otros) - lo que llamamos Am-bientes de Aprendizaje Distribuido (DLE Distributed Learning Enviroments) Esto se consiguegracias a la arquitectura de GLUE para la integracioacuten de los entornos virtuales de aprendizajey herramientas externas

621 Instalacioacuten

Para realizar la instalacioacuten de GLUE-PS nos hemos descargado el software necesario de la webde los desarrolladores1 descargando la opcioacuten de autenticacioacuten centralizada La instalacioacuten haconstado de tres partes que pasaremos a describir a continuacioacuten

1httpwwwgsicuvaesglue

49

Figura 61 Arquitectura de GLUE

La primera parte consiste en la instalacioacuten del GLUEletManager y los adaptadores GSIC toolAunque el sistema viene preparado para Linux o Windows siendo Windows la explicacioacuten quevamos a desarrollar por estar utilizando este sistema operativo con Xampp

1 Crear el directorio GLUE_ HOME El cual hemos creado para mayor comodidad en la raiacutezdel disco duro

2 Denir la variable del sistema GLUE_ HOME con el valor de la direccioacuten completa deldirectorio de GLUE del punto anterior Para ello hemos pulsado botoacuten derecho sobre MiPc Propiedad Opciones Avanzadas Variables de Entorno procediendo a pulsar el botoacutenNueva para crear la variable en cuestioacuten

3 Extraemos en el directorio del punto (1) el paquete descargado de la paacutegina de los desar-rolladores

4 Ejecutar la instalacioacuten del cheroGLUE_ HOMEbininstall gluebat para registar GLUElet-Manager y GSIC tool como un servicio de Windows Tambieacuten este paso crearaacute un cheroen GLUE_ HOMEtool_ adapteradapterdata para proveer de persistencia a los objetoscreados con el adaptador GSIC tool

A continuacioacuten daremos de alta en nuestro gestor de bases de datos un para de bases de datosque necesita GLUEletManager Para ellos seguimos los siguientes pasos

1 Abrimos la consola de phpMyaAdmin para cargar y ejecutar el chero create_ GLUE_databasessql que se encuentra en GLUE_ HOMEmanagerconfdb

2 Modicamos el chero GLUE_ HOMEmanagerconfMETA-INFpersistencexml paradarle los paraacutemetros necesarios para que JDBC se conecte a nuestra base de datos Losparaacutemetros modicados puede verse en la imagen 62

Figura 62 Paraacutemetros modicados en persistencexml

La segunda parte consiste en el registro interno de los adaptadores de las herramientas para seraccedido con GLUEletManager La distribucioacuten trae un chero para facilitar la conguracioacuten delos adaptadores que trae consigo y para su instalacioacuten deberemos ejecutar el chero GLUE_HOMEmanagerconfdbll _ internal_ Registrysql Alguna de las herramientas necesitanuna conguracioacuten maacutes completa como puede ser Google Docs adapter que necesita una cuentade Gmail para poder crear documentos en Google Docs por lo que deberemos modicar el nom-bre de usuario y contrasentildea

La uacuteltima parte consiste en la instalacioacuten del adaptardor de Moodle como VLE utilizado Estainstalacioacuten es como cualquier otro moacutedulo de Moodle 2 La carpeta que deberemos copiar seraacutela del adaptador correspondiente a Moodle que se encuentra en la carpeta GLUE_ HOMEvle_adpatersmoodle_ vle_ adapter Una vez entremos en nuestro Moodle como administrador nosapareceraacute un mensaje indicaacutendonos que el nuevo moacutedulo esta instalado Para congurar el nuevomoacutedulo debermos ir a Noticaciones - Modulos - Actividades como podemos ver en la gura 63para congurar los paraacutemetros la URL del GLUEletManager y el tiempo de espera

Figura 63 Paraacutemetros del moacutedulo GLUE

Cuando el profesor quiera crear una nueva actividad dependiente de los adaptadores de GLUEdeberaacute agregar una actividad maacutes pulsando para ello en esta opcioacuten dentro del bloque deseadopara seleccionar luego el tipo de actividad GLUElet como podemos ver en la gura64

622 Creando un Doodle

El adaptador Doodle permite la creacioacuten conguracioacuten y gestioacuten de instancias del Doodle Cadaencuesta Doodle es considerado un instancia diferente Ademaacutes este adaptador permite realizarademas la conguracioacuten inicial de encuestas Doodle incluyendo el nombre de la encuesta unadescripcioacuten y un conjunto de posibles respuestas

A continuacioacuten antildeadiremos Doodle en un bloque de Moodle para ellos pulsaremos la opcioacuten deAgregar actividad GLUElet lo cual nos mostraraacute la paacutegina65 donde deberemos rellenar comomiacutenimo el nombre de la actividad y el tipo de herramienta seleccionado en este caso Doodle(httpdoodle-testcom)

2httpdocsmoodleorgenInstalling_contributed_modules_or_plugins

Figura 64 Creando una actividad GLUElet

La primera vez que pulsemos sobre la nueva actividad creada apareceraacute un pantalla 66 dondepodemos congurar diferentes elementos de la encuesta desarrollada con Doodle como son eltiacutetulo una pequentildea descripcioacuten y luego las opciones posibles con un liacutemite de 10

El resultado nal seraacute la incrustacioacuten de una encuesta Doodle dentro de nuestro Moodle comopodemos ver en la gura67

Figura 65 Antildeadiendo Doodle como actividad

Figura 66 Opciones iniciales de conguracioacuten de Doodle

Figura 67 Doodel dentro de Moodle

Capiacutetulo 7

Conclusiones Finales

71 Conclusiones Finales

El proyecto actual nos ha servido para acercarnos a las diferentes tecnologiacuteas que permiten lacomunicacioacuten entre Servicios Webs Hemos desarrollado una primera labor de investigacioacuten queha requerido el aprendizaje de diferentes herramientas de control de documentacioacuten y referenciascomo Zotero y Mendeley

La documentacioacuten recabada en el proceso inicial de revisioacuten de documentos nos ha aportadoun visioacuten general de los diferentes sistemas virtuales de aprendizaje que podemos encontrarnosmuchos de ellos gratuitos y las diferentes soluciones que se plantean a la necesidad de incluirrecursos de otros fabricantes que en principio no fueron concebidos para ser utilizados dentro deuna plataforma VLE

Para poner en praacutectica la diferentes opciones encontradas se han montado diferentes maacutequinasvirtuales sobre las que se han probado las mismas Las conclusiones nales se pasan a detallar

IMS LTIEsta solucioacuten de integracioacuten mediante el cumplimiento de unos protocolos y certicacionesde las herramientas que lo cumplen es en principio la que podriacutea parecer la mejor opcioacutenpero la falta de compromiso de los diferentes fabricantes de Servicios Web y la luchapara imponer sus propios estaacutendares hace que aun quede mucho para que esta opcioacuten seacomo tal real

Si vemos el nuacutemero de aplicaciones certicadas para usar IMS LTI apenas superan las 50 yla mayoriacutea solo cumple la especicacioacuten v10 lo cual signica que la integracioacuten solo solu-ciona el problema de llamar a un recurso externo desde Moodle Pocas son las que cumplenla v11 que permite obtener en Moodle una valoracioacuten de los ejercicios desarrollados en unaactividad externa

La versioacuten v20 que daraacute maacutes opciones a la hora de interactuar con actividades externasauacuten esta en desarrollo y nada se sabe sobre posibles fechas para su presentacioacuten Luegocerticacioacuten de herramientas etc

55

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 29: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

Figura 31 Proceso para dirigir la revisioacuten

34 Calendario de Trabajo

Podemos ver en el siguiente diagrama de Gantt32 la distribucioacuten de trabajos en el tiempo elmismo seraacute modicado para ajustarlo a las variaciones producidas durante el desarrollo de lastareas que contempla

35 Hitos principales

Los principales hitos seraacuten

Lanzamiento del proyecto Se dene correctamente en que va consistir el proyecto

Denicioacuten de cuestiones para la buacutesqueda Donde se detallaraacuten las cuestiones quemarcaran el desarrollo del resto del proyecto

Comprobacioacuten de resultados Se deberaacuten criba los mismo para no obtener duplicadoso informacioacuten ajena a la investigacioacuten

Revisioacuten de informacioacuten obtenida Una vez obtenida la informacioacuten y analizada deberaacuteser revisada para su presentacioacuten

Figura 32 Diagrama de Gantt

36 Instalacioacuten base

Para llevar a cabo las pruebas se ha optado por la creacioacuten de una maacutequina virtual sobre VirtualBox 3 en la cual hemos instalado Windows XP como sistema operativo Este sistema es maacutesligero a la hora de trabajar en maacutequinas virtuales pues requiere menos recursos que las versionesposteriores del mismos sistema

El siguiente paso era la instalacioacuten de Moodle Aunque se dispone de un instalador para Win-dows se ha optado por la descarga e instalacioacuten de XAMPP 4 y su y su posterior conguracioacutenen la maacutequina virtual XAMPP es un servidor independiente de plataforma software libre queconsiste principalmente en la base de datos MySQL el servidor web Apache y los inteacuterpretespara lenguajes de script PHP y Perl El nombre proviene del acroacutenimo de X (para cualquierade los diferentes sistemas operativos) Apache MySQL PHP Perl

XAMPP en su versioacuten 181 incluye

Apache 243

MySQL 5527

PHP 547

phpMyAdmin 3522

FileZilla FTP Server 0941

Tomcat 7030

Strawberry Perl 51611 Portable

XAMPP Control Panel 310

Hemos continuado con la descarga he instalacioacuten de Moodle y hemos querido probar las difer-encias que obtenemos entre las versiones 19x y 25 por lo que se han descargado ambas heinstalado en maacutequinas virtuales diferentes Con ello conseguiremos probar el resultado obtenidoseguacuten la versioacuten Moodle desde su versioacuten 22 ya soporta conexiones mediante IMS - LTI IMSLTI es un estaacutendar IMS Learning Tool Interoperability Esto signica que las herramientas deaprendizaje tienen ahora diversas maneras de conectarse entre sin problemas

En la praacutectica cuando un usuario se registra en una herramienta como Moodle se pueden conectara la otra herramienta como MediaWiki y autenticarse automaacuteticamente proporcionando unaexperiencia perfectaLas guras 33 y 34 nos muestran el panel de control de XAMPP una vez instalado y el panede phpMyAdmin donde hemos debido congurar las bases de datos y usuario necesarios parallevar todo el proceso de conguracioacuten de Moodle y el resto de herramientas

3httpswwwvirtualboxorg4httpwwwapachefriendsorgesxampphtml

Figura 33 Panel de control de XAMPP

Figura 34 Gestor de bases de datos phpMyAdmin

Capiacutetulo 4

Servicios Web de Moodle

41 Introduccioacuten

Moodle 2X incorpora la posibilidad de implementar Servicios Web para manejar sus funciona-lidades lo que nos permite poder acceder a acciones de actualizar y crear tareas para reejar elresultado de las actividades realizadas Moodle soporta varios protocolos (REST SOAP XML-RPC y AMF)

42 Servicios Web de Moodle

Los Servicios Web de Moodle se caracterizan por permitir el acceso desde cualquier aplicacioacutenimplementando para ello tres capas como podemos observar en la gura 41

Capa nuacutecleoLa capa del nuacutecleo estaacute compuesta de todas las funciones principales de Moodle sobreusuarios grupos cursos calendario etc Moodle no dispone de una API al uso sino queofrece diferentes funciones que han sido desarrolladas durante antildeos Por tanto las necesi-dades de los Servicios Web estaacuten obligando a rehacer estas funciones del nuacutecleo para quecomiencen a formar una API (Moodle 2X)

Capa externaLa capa externa estaacute compuesta por nuevos cheros llamados externalphp colocados porlas carpetas de Moodle y conteniendo manejadores para la capa inferior Estos manejadoresson los responsables de comprobar las capacidades paraacutemetros y llamadas correctas a lasfunciones de nuacutecleo

Capa de conectoresLa capa de conectores estaacute compuesta de diferentes conectores para las diferentes imple-mentaciones de los Servicios Web y contiene un conector REST un conector SOAP unconector XML-RPC y un conector AMF Esta capa admite plugins para ampliar los conec-tores disponibles de manera que se puedan integrar otros sistemas en Moodle utilizandootros protocolos

Los pasos para utilizar un Servicio Web con Moodle seriacutean los siguientes

1 El cliente enviacutea el nombre de usuario y contrasentildea al servidor que provee los ServiciosWeb

27

Figura 41 Capas en Moodle

2 El servidor de protocolo devuelve un token de sesioacuten para esa cuenta de usuario

3 El cliente llama a un Servicio Web especiacuteco incluyendo el token de sesioacuten

4 El servidor utiliza el token para comprobar que la sesioacuten del Servicio Web estaacute activa

5 El servidor llama a la funcioacuten correspondiente localizada en el chero externallibphp dentrodel moacutedulo especiacuteco

6 La funcioacuten externa comprueba que el usuario actual tenga los permisos sucientes pararealizar esta operacioacuten

7 La funcioacuten externa llama a la funcioacuten correspondiente del nuacutecleo de Moodle (libphp)

8 La funcioacuten del nuacutecleo puede retornar un resultado a la funcioacuten externa

9 La funcioacuten externa devolveraacute el resultado al servidor de protocolo

10 El servidor de protocolo devolveraacute el resultado al cliente

43 REST

REST (Representational State Transfer) es el acroacutenimo de Transferencia de Estado Representa-cional teacutermino usado por Roy Fielding (uno de los creadores de HTTP) para describir un estilode arquitectura que utilizar como modelo en los sistemas de computacioacuten Web No es un es-taacutendar sino un enfoque que muestra como desarrollar y proporcionar servicios en Internet portanto considerado como un estilo arquitectoacutenico para disentildeo de software a gran escala El propioautor lo dene de manera concisa en eacuteste paacuterrafo

REST es un intento de mostrar coacutemo debe comportarse una aplicacioacuten Web bien disentildeada unared de paacuteginas Web (una maacutequina de estados virtual) donde el usuario progresaraacute seleccionan-do enlaces (transiciones de estado) que devuelven la paacutegina siguiente (el siguiente estado de lamaacutequina) que el usuario manejaraacute a su gusto

Este enfoque no aporta realmente nada nuevo la mayor parte de la Web sigue este estilo arqui-tectoacutenico Sin embargo el autor hace eacutenfasis en las caracteriacutesticas concretas que han hecho quela Web triunfe que van a ser los objetivos buscados por REST y que son a su juicio

Escalabilidad en las interacciones entre componentes La red ha ido creciendo de maneraexponencial y se ha ido comportado de manera satisfactoria

Generalidad en las interfaces Se proporciona acceso con distintos clientes y con distintosmecanismos de acceso

Desarrollo independiente de componentes Implementaciones cliente y servidor pueden serdesarrolladas en distintos momentos

Existencia de componentes intermediarios con los cuales existe compatibilidad (comoproxys)que permiten encapsulacioacuten e integracioacuten de sistemas no Web dentro de la misma

431 Principios de disentildeo

Los objetivos citados van a ser conseguidos imponiendo una serie de restricciones

El estado y la funcionalidad de las aplicaciones se representan por forma de recursos

La identicacioacuten de recursos se realiza de forma uacutenica global mediante Uniform ResourceIdentiers Los recursos identicados con URIs son los objetos loacutegicos a los cuales se lesmandan los mensajes

Manipulacioacuten de recursos a traveacutes de representaciones luego no se manejan directamentelos recursos sino sus representaciones

Todos los recursos comparten un interfaz uniforme formado por

bull Un conjunto de operaciones limitado para transferir el estado Se van a aprovecharlas operaciones que HTTP dene mostradas en la gura 42

bull Un conjunto limitado de tipos de contenidos identicados mediante tipos MIME

Uso de un protocolo clienteservidor sin estado y basado en capas Cada mensaje HTTPcontendraacute la informacioacuten necesaria para comprender la peticioacuten luego como muestra lagura 43 no es necesario que eacutesta sea entendida tanto en el cliente como en el servidor

Uso de hipermedios para representar el estado de una aplicacioacuten permitiendo que el estadode una aplicacioacuten Web particular esteacute almacenado en uno o maacutes documentos de hipertextoque residen bien en el servidor o en el cliente Esto permite al servidor saber el estado desus recursos sin necesidad de almacenar el estado de los clientes concretos

Figura 42 Operaciones denidas por HTTP

Como ya se mencionoacute REST se trata de un estilo arquitectoacutenico no un estaacutendar Sin embargohace uso de varios estaacutendares Web

HTTP HyperText Transfer Protocol

Figura 43 Operaciones denidas por HTTP

URL Uniform Resource Locator como el mecanismo de indenticacioacuten de recursos

XML - HTML - PNG - etc Como distintos formatos de representacioacuten de recursos

Tipos MIME como text-xml text-html image-png etc

44 SOAP

SOAP (siglas de Simple Object Access Protocol) es un protocolo estaacutendar que dene coacutemo dosobjetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML Esteprotocolo deriva de un protocolo creado por David Winer en 1998 llamado XML-RPC SOAPfue creado por Microsoft IBM y otros y estaacute actualmente bajo el auspicio de la W3C

441 Principios de disentildeo

La funcionalidad que aporta SOAP es la de proporcionar un mecanismo simple y ligero de in-tercambio de informacioacuten entre dos puntos usando el lenguaje XML SOAP no es maacutes que unmecanismo sencillo de expresar la informacioacuten mediante un modelo de empaquetado de datosmodular y una serie de mecanismos de codicacioacuten de datos Esto permite que SOAP sea uti-lizado en un amplio rango de servidores de aplicaciones que trabajen mediante el modelo decomunicacioacuten RPC (Remote Procedure Call)

SOAP consta de tres partes como podemos ver en la gura 44

El SOAP envelope que dene el marco de trabajo que determina queacute se puede introduciren un mensaje quieacuten deberiacutea hacerlo y si esa operacioacuten es opcional u obligatoria

Las reglas de codicacioacuten SOAP que denen el mecanismo de serializacioacuten que seraacute usadopara encapsular en los mensajes los distintos tipos de datos

La representacioacuten SOAP RPC que dene un modo de funcionamiento a la hora de realizarllamadas a procedimientos remotos y la obtencioacuten de sus resultados

A la hora de realizar el disentildeo de SOAP se han tenido en cuenta una serie de consideracionescon el n de cumplir una serie de objetivos claros objetivos que le daraacuten el potencial que resideen SOAP y que le haraacuten tan atractivo Eacutestos son

Establecer un protocolo estaacutendar de invocacioacuten a servicios remotos que esteacute basado enprotocolos estaacutendares de uso frecuente en Internet como son HTTP (Hiper Text TransportProtocol) para la transmisioacuten y XML (eXtensible Markup Language)para la codicacioacutende los datos

Figura 44 Partes de SOAP

Independencia de plataforma hardware lenguaje de programacioacuten e implementacioacuten delservicio Web

El logro de estos objetivos ha hecho de SOAP un protocolo extremadamente uacutetil ya que elprotocolo de comunicacioacuten HTTP es el empleado para la conexioacuten sobre Internetpor lo que segarantiza que cualquier cliente con un navegador estaacutendar pueda conectarse con un servidor re-moto Ademaacutes los datos en la transmisioacuten se empaquetan o serializan con el lenguaje XML quese ha convertido en algo imprescindible en el intercambio de datos ya que es capaz de salvar lasincompatibilidades que existiacutean en el resto de protocolos de representacioacuten de datos de la red

Por otra parte los servidores Web pueden procesar las peticiones de usuario empleando tec-nologiacuteas tales como Servlets paacuteginas ASP (Active Server Pages) paacuteginas JSP (Java ServerPages) o sencillamente un servidor de aplicaciones con invocacioacuten de objetos mediante CORBACOM o EJB

Un ejemplo tiacutepico de disentildeo de un servicio Web utilizando las ventajas de SOAP podemos veren la siguiente gura 45

Figura 45 Ejemplo de uso de SOAP

45 AMF

AMF (Action Message Format) es un protocolo binario de Adobe que va por la versioacuten AMF3Aunque por el nombre de la versioacuten pueda parecer que existan 3 cabe destacar que soacutelo existendos AMF0 y AMF3 Una de las mayores diferencias o mejoras que aporta AMF3 es que soporta

datos binarios (ByteArray) y int datos no soportados por AMF0 debido a que en la eacutepoca queaparecioacute el formato Flash Player no soportaba estos tipos de datos

AMF3 no es un protocolo para transferir informacioacuten sino que representa el formato en el quese transmite la informacioacuten en este caso un formato binario

La versioacuten de Moodle 25 viene con Zend_ AMF pero podemos utilizar tambieacuten la libreriacuteaamfPHP

AMFPHP

Zend_ amf httpframeworkzendcommanual112enzendamfhtml

Maacutes informacioacuten en httpdocsmoodleorgdevAMFPHP

46 Conguracioacuten de Moodle Web Services

Los Servicios Web habilitan que otros sistemas puedan entrar a Moodle y realizar operacionesPasaremos a detallar los pasos necesarios para su conguracioacuten y explicaremos distintos pruebasllevadas a cabo sobre su funcionamiento Para poder consumir de manera correcta unWeb Servicede Moodle seriacutea necesario antildeadir a la url que vamos a formar los paraacutemetros oportunos paralograr consumir el Web Service de manera satisfactoria Una vez antildeadidos ya podriacuteamos invocarla funcioacuten seleccionada

461 Activando los Servicios Web

Lo primero que debemos hacer es activar la opcioacuten general que habilita el uso de los serviciosweb En la gura 46 podemos observar la opcioacuten para la activacioacuten de este servicio para ello nosiremos a la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Servicios Externos

Figura 46 Activacioacuten Servicios Web

Esto solo es una opcioacuten a nivel global necesitando ahora activar los protocolos de comunciacionesque vamos a utilizar para ello deberemos ir a la opcioacuten textitAdministracioacuten del Sitio - Exten-siones - Servicios Web - Administrador de protoclos donde encontraremos las diferente opcionesque nos existen En la gura 47 podemos ver la pantalla de nuestra conguracioacuten con todos losprotocolos activados

Una vez activada la opcioacuten de Servicios Externos y seleccionados los protocolos que utilizaremosnecesitamos crear un Servicio Personalizado que no es maacutes que una etiqueta que aglutina los

Figura 47 Activacioacuten Protoclos

Servicios Web que ofrece Moodle y que pueden ser utilizados por los servicios externos Para ellodeberemos darle a la opcioacuten Agregar dentro de la opcioacuten Administracioacuten del Sitio - Extensiones- Servicios Web - Servicios Externos Como prueba habilitaremos un servicio llamado Uso_Servicio_ Web cuya creacioacuten podemos ver en la gura 48

Figura 48 Creacioacuten Servicio Personalizado

Una vez creado el Servicio Personalizado deberemos agregarle las funciones que queramos lesean permitidas pudiente tener maacutes de una En la gura 49 vemos como asociamos la creacioacutende usuarios al Servicio Personalizado

Terminado esto deberemos tener en el listado que nos muestra Moodle de Servicios personaliza-dos algo como lo mostrado en la gura 410

El siguiente paso es conceder los permisos apropiados para que este Servicio Personalizado puedeser usado por los usuarios pare ello debemos primero especicar quienes son los Usuarios au-torizados para ello en la linea de la lista de Servicios Personalizados deberemos pulsar sobre laopcioacuten usuarios autorizados donde apareceraacute una pantalla como 411 donde podremos escogerlos usuarios de los que se encuentran dados de alta en nuestro sistema

Y para terminar aunque este paso podriacutea ser realizado por el propio usuario si tuviera el per-miso de moodlewebservicecreatetoken seraacute la creacioacuten de un token el cual va ser la opcioacuten quevamos a utilizar para las pruebas de los Servicios Web de Moodle Para la creacioacuten del mismodeberemos entrar en la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Admin-istrar tokens y pulsar la opcioacuten Agregar para antildeadir un token nuevo como podemos apreciar en

Figura 49 Agregando funciones al Servicio Personalizado

Figura 410 Listado de Servicios Personalizados

la gura 412 teniendo la precaucioacuten de escoger como Servicio el Servicio Personalizado creadocon anterioridad Uso_ Servicio_ Web

En esta pantalla podemos poner varios tipos de restricciones

Restriccioacuten de IP Donde podemos indicar la direccioacuten IP desde donde

Restriccioacuten de Fecha Se puede denir hasta cuando seraacute valido este token siendo unabuena manera de poder probar cosas y no dejar puertas abiertas por error

En la gura 413 podemos ver el token asignado por el sistema para nuestro Servicio Personalizadoy que procederemos a utilizar para comprobar el funcionamiento de los Servicios Web de Moodle

462 Pruebas cliente Servicio Web

Procederemos ahora a desarrollar pruebas que utilicen los Servicios Personalizados creado Sepodriacutean haber utilizado el Cliente de prueba de servicio web que incorpora Moodle dentro dela opcioacuten Administracioacuten del Sitio - Desarrollo - Cliente de prueba servicio web pero hemosdecidido implementar una Web para comprobar la facilidad del funcionamiento del sistema y losdistintos resultados obtenidos seguacuten el protocolo utilizado

Utilizaremos la libreriacutea cURL de PHP cURL es una herramienta que permite abrir conexionesen una amplia variedad de protocolos y que estaacute disponible tanto como herramienta de consola(para ejecutar directamente con comandos) como en libreriacutea (para usar en vuestro coacutedigo) y quepermite hacer praacutecticamente todo manejo de cookies descarga de cheros binarios enviacuteos de

Figura 411 Alta de Usuarios Autorizados

Figura 412 Creacioacuten de Tokens

paraacutemetros GET y POST etc

La web creada para la introduccioacuten 414 de los usuarios seraacute equivalente para todos los procesosprocesos siendo el programa que da respuesta al formulario el que implemente la funcioacuten nece-saria para la introduccioacuten de los datos en Moodle

Los resultados de REST pueden mostrar los resultados del alta de dos maneras diferentes unaen formato XML como podemos ver en la gura 415 y otro en formatox JSON tambieacuten po-dremos ver en la gura Los resultados obtenidos tambieacuten pueden verse en el la gura 416

Figura 413 Lista de Tokens

Figura 414 Web de alta de usuarios

Figura 415 Resultado de REST en formato XML

Figura 416 Resultado de REST en formato JSON

Capiacutetulo 5

Herramientas Externas

51 Introduccioacuten

Las versiones de Moodle desde la 22 vienen con IMS LTI o External Tool de manera integradaEn versiones anteriores era necesario la instalacioacuten de plugins como LTI Provider (maacutes informa-cioacuten en la web de Moodle1 IMS LTI es un estandar de IMS learing2 para la interoperabilidadde herramientas Esto signica que las herramientas de aprendizaje tienen ahora un mecanismopara jar el modo en que pueden conectarse entre ellas sin problemas

En la praacutectica cuando un usuario se registra en Moodle puede conectarse a otras herramientascomo Wikis o Blogs y autenticarse de manera automaacutetica en estas

52 Estaacutendares IMS

Actualmente se realizan esfuerzos para la integracioacuten de servicios a una plataforma virtual deaprendizaje mediante un mecanismo reutilizable independiente del tipo de plataforma El IMSGlobal Learning Consortium viene desde hace tiempo trabajando en este enfoque IMS GLCpresenta un conjunto de estaacutendares que promueven el uso de servicios de aprendizaje digitales(Digital Learning Services) dentro de las plataformas de aprendizaje tradicionales IMS DigitalLearning Services estaacute integrado por los siguientes estaacutendares principales IMS Common Car-tridge [ims a] IMS Learning Tool Interoperability [ims c] y IMS Learning Information Services[ims b]

El IMS Learning Tool Interoperability es una especicacioacuten para facilitar la inclusioacuten de her-ramientas externas dentro de un curso El administrador de la plataforma de aprendizaje ges-tiona los servicios que podraacuten ser consumidos por la plataforma el docente decide que serviciosutilizaraacute en su curso y el estudiante hace uso de los mismos IMS LTI permite que distintos LMSconsuman un mismo servicio el cual no fue implementado teniendo en cuenta el tipo de LMSsino la implementacioacuten del estaacutendar desde el lado del proveedor

El enfoque del IMS LTI estaacute dirigido a la creciente demanda de un mecanismo reutilizable para laintegracioacuten de herramientas de terceros en el nuacutecleo de las plataformas LMS Estas herramientas

1httpsmoodleorgpluginsviewphpplugin=local_ltiprovider2httpwwwimsglobalorgtoolsinteroperability2cfm

37

pueden agregar funcionalidad especializada a los LMS El enfoque ofrece una solucioacuten basada enWeb Services igualmente aplicable a distintos lenguajes de programacioacuten

Las versiones del LTI son

LTI v10 ( LTI Basic ) ( publicado en mayo de 2010 ) proporciona un meacutetodo sencillopero estaacutendar para establecer una conexioacuten segura a una herramienta desde el interior deun consumidor de herramientas El lanzamiento de este enlace permite una experienciade aprendizaje sin problemas para los estudiantes que acceden a las aplicaciones ricas queparecen tener lugar dentro del ambiente de aprendizaje Versioacuten 10 es el primer paso en eldesarrollo continuo de LTI Figura 51

LTI v11 ( publicado en marzo 2012 ) antildeade la posibilidad de pasar de nuevo un resultadode la herramienta al Consumidor de herramientas Esto permite que los estudiantes recibenuna calicacioacuten o puntuacioacuten de su interaccioacuten con la aplicacioacuten de aprendizaje

LTI v111 ( publicado en julio de 2012 ) incluye soporte para el papel Mentor que se puedeutilizar para representar a un padre tutor o auditor

LTI v20 Aun en estado de desarrollo y proporciona una plataforma maacutes sosticado y ex-tensible para permitir integraciones maacutes profundas y un mayor apoyo para los serviciosy eventos LTI 2 se basa en LTI 1 mediante la incorporacioacuten de maacutes sosticada resulta-dos de informes y una rica arquitectura de extensiones que permite servicios adicionalesque se antildeadiraacuten gradualmente LTI 2 utiliza REST y JSON-LD para ofrecer esta nuevafuncionalidad

Figura 51 Esquema LTI Baacutesico

En la gura 52 podemos observar como se podriacutean utilizar las ventajas de LTI por parte decada unos de los actores a lo largo de la vida de la aplicacioacuten de servicios externos dentro de unaplataforma de aprendizaje

En la paacutegina web de IMS3 podemos encontrar una relacioacuten de aplicaciones certicadas comocompatibles con el estaacutendar LTI indicando la versioacuten del LTI que cumplen En la gura 53podemos ver las aplicaciones certicadas por UOC y en la gura 54 la informacioacuten sobre una deestas herramientas

3httpwwwimsglobalorgccalltoolscfm

Figura 52 Esquema utilizacioacuten LTI

Figura 53 Listado de herramientas LTI de la UOC

53 Herramientas externas en Moodle

La siguiente seccioacuten consiste en la aplicacioacuten de alguno de esto servicios externos en Moodlepara comprobar su funcionamiento Nos decantaremos para la primera prueba por WordPresspues aunque existen manuales al respecto la documentacioacuten en castellano es escasa

531 Wordpress

La versioacuten estaacutendar de Wordpress a la cual accedemos cuando nos abrimos cuenta en Wordpressno viene con las herramientas necesarias para la iteracioacuten mediante LTI por lo que procedere-mos a la instalacioacuten en nuestro servidor de Wordpress para pasar a la instalacioacuten de los pluginsnecesarios

La instalacioacuten ha consistido en la descarga de la web ocial 4 de la versioacuten 351 la cual hemoscopiado dentro del directorio htdocs de nuestra instalacioacuten de Xampp Hemos dado de alta unnuevo usuario en nuestra base de datos llamado username como podemos ver en la imagen 55 yposteriormente hemos seguido los pasos que el instalador nos iba ofreciendo para tener instalado

4httpwordpressorgdownload

Figura 54 Informacioacuten sobre la certicacioacuten

Wordpress bajo la url httplocalhostwordpress

Figura 55 Usuario de Wordpress

Deberemos congurar Wordpress para que trabaje como multisitio para lo que deberemos seguirlos pasos de conguracioacuten que podemos encontrar en la web ocial de Wordpress5 bajo el nombreCreate A Network consistente en los siguientes pasos

1 Realizar una copia de seguridad por si acaso

2 Modicar el chero wp-congphp incluyendo la siguiente linea encima de Thats allstop editing Happy blogging Multisite dene (WP_ ALLOW_ MULTISITE true)

Multisite dene (WP_ ALLOW_ MULTISITE true)

3 Installar un Network Para ello hemos de entra en la opcioacuten Administration -gtTools -gtNetwork Setup donde podremos congurar opciones sobre el nombre que queremos declararpara el nuevo sitio

4 Activar el Network para ello debemos modicar los cheros wp-congphp y htaccess porlo que seriacutea bueno que realizaacuteramos primero un copia de seguridad de los mismos Loscambios que debemos realizar son los siguientes

5httpcodexwordpressorgCreate_A_Network

En wp-congphp dene(MULTISITE true)dene(SUBDOMAIN_ INSTALL false)dene(DOMAIN_ CURRENT_ SITE localhost)dene(PATH_ CURRENT_ SITE wordpress)dene(SITE_ ID_ CURRENT_ SITE 1)dene(BLOG_ ID_ CURRENT_ SITE 1)

El chero htaccess debe quedar asiacute BEGIN WordPressltIfModule mod_ rewritecgtRewriteEngine OnRewriteBase wordpressRewriteRule icircndexphp$ - [L]

add a trailing slash to wp-adminRewriteRule ([_ 0-9a-zA-Z-]+)wp-admin1wp-admin [R=301L]

RewriteCondREQUEST_ FILENAME -f [OR]RewriteCondREQUEST_ FILENAME -dRewriteRule - [L]RewriteRule ([_ 0-9a-zA-Z-]+)(wp-(content|admin|includes)) $2 [L]RewriteRule ([_ 0-9a-zA-Z-]+)( php)$ $2 [L]RewriteRule indexphp [L]ltIfModulegt

END WordPress

5 Esto nos habraacute creado en la parte izquierda de la barra de herramientas de Wordpressuna nueva opcioacuten llamada My Sites que contendraacute un listado de los sitios de nuestroWordpress

El siguiente paso seraacute la descarga del plugin los cual podremos hacerlos desde la web de sour-forgenet 6 En esta web se detalla informacioacuten sobre el plugin y como se debe instalar Siguiendolos pasos que tenemos en el mismo procederemos a la descarga y el desplegado del mismo en lacarpeta wp-contentmu-plugins Salimos de Wordpress y volvemos a entrar como superusuariosi entramos dentro de la nueva red realizada podremos ver que dentro de LTI Consumers Keystendremos la opcioacuten LTI Consumers Keys como podemos ver en la imagen 56

Aquiacute deberemos crear la clave del consumidor del servicio y la clave secreta que nos permitiraacute aMoodle conectarse a Wordpress

Una vez que tenemos la clave secreta y del consumidor deberemos volver a Moodle entrandocomo administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

6httpsourceforgenetappsmediawikilearningappsindexphptitle=LTI4Wordpress

Figura 56 Servicios LTI en Wordpress

Figura 57 Listado de claves de LTI en Wordpress

-LTI En esta paacutegina podremos rellenar nuestras opciones

Tool Name Seraacute el nombre que tendraacute la herramienta y deberemos poner alguno indicativode la herramienta que estemos utilizando

Tool Base URL Es la direccioacuten de la herramienta en nuestro caso httplocalhostwordpress

Deberemos rellenar con los datos obtenidos en Wordpress la clave de consumidor y la clavesecreta

Es importante marcar Show tool type when creating tool instances para que aparezcaposteriormente al crear los recursos en nuestros cursos

Para poder probar el sistema hemos creado un curso dentro de Moodle llamada WordpressLTIdonde daremos de la siguiente manera de alta 59

Dentro de nuestro curso seleccionamos la opcioacuten de Edicioacuten

Pulsamos sobre Antildeadir una actividad o un recurso

Seleccionamos External Tool

Rellenamos las opciones

bull Nombre de la Actividad Cualquiera de nuestra eleccioacuten

Figura 58 Conguracioacuten LTI en Moodle

bull Tipo de herramienta externa El nombre que le pusimos a la herramienta externa enla conguracioacuten LTI de Moodle

bull Launch Container Hemos elegido la opcioacuten Incrustar para ver el resultado

Figura 59 Conguracioacuten Herramienta Externa

Una vez congurado podemos lanzar la herramienta externa teniendo como resultado la gura510

Figura 510 Wordpress integrado en Moodle

532 ChemVantage

ChemVantage es un recurso gratuito para la educacioacuten cientiacuteca que incluye ejercicios de gradoejercicios de preparacioacuten exaacutemenes de la praacutectica conferencias de video y libros de texto enliacutenea gratis Fue creado por ChemVantage LLC que fue fundada por el Prof Chuck Wight queha ensentildeado Quiacutemica General en la Universidad de Utah desde 1984 (ChemVantage 2011)

Nos hemos puesto en contacto con Chuck Wight (adminchemvantageorg) para solicitarle unaclave de consumidor y secreta para poder probar este recurso desde moodle Las opciones y elcorreo puede verse en la gura 511

Una de las cosas maacutes importantes de ChemVantage y por lo que nos hemos decidido a probar esque permite la devolucioacuten de las notas obtenidas en los ejercicios realizados en las herramientasexternas a Moodle El alumno podraacute realizar las tareas en esta herramienta externa y luego sercalicadas en Moodle

ChemVantage estaacute certicada por IMS 7 como un proveedor de herramientas LTI v11 y comotal funciona desde nuestro propio LMS para llevar a cabo la autenticacioacuten de sitios provee decuentas y devuelve resultados de asignacioacuten de estudiantes con el libro LMS grado automaacutetica-mente

Los recursos disponible son ChemVantage son principalmente los siguientes

1 QuizzesLos ejercicios presentados aquiacute estaacuten disentildeados para animar a los estudiantes a leer y en-tender los libros de texto utilizados en el curso Las preguntas se basan en material que sepresente en su mayor parte en los textos de introduccioacuten de quiacutemica Los iacutetems de preguntastienen respuestas straighforward no requieren caacutelculos detallados Las preguntas se presen-tan en varios formatos diferentes incluyendo opcioacuten muacuteltiple verdadero falso casilla devericacioacuten ll-in-the-blanco y numeacutericas Cada cuestionario se compone de 10 preguntasextraiacutedas al azar de una base de datos con muchas maacutes preguntas En el proceso de tomarvarias pruebas para mejorar sus calicaciones los estudiantes probablemente encuentran

7httpdevelopersimsglobalorgcoursechemvantagehtml

algunas preguntas repetidas de concursos anteriores sin embargo es poco probable quecualquiera de los dos cuestionarios contendraacute exactamente el mismo conjunto de preguntasen el mismo orden Asignando pruebas para ser completado antes de la conferencia losprofesores pueden estar seguros de que sus estudiantes tengan un poco de exposicioacuten almaterial Esto permite una mayor discusioacuten el diaacutelogo y la participacioacuten en el aula y haceel aprendizaje maacutes divertido (de verdad)

2 Video LecturesUna serie de conferencias de viacutedeo de 10 minutos sobre una variedad de temas de QuiacutemicaGeneral es accesible desde la paacutegina principal Los videos estaacuten disentildeados para reforzar lospuntos principales que se presentan en muchos libros de texto

3 HoweworksLas tareas estaacuten disentildeadas para dar a los estudiantes la praacutectica en la resolucioacuten de proble-mas cuantitativos que tienen respuestas numeacutericas Cada alumno puede descargar la tareatrabajar los problemas y presentar las respuestas en liacutenea Respuestas son juzgados a sercorrecta si la solucioacuten numeacuterica de acuerdo con la solucioacuten que se encuentra en la base dedatos dentro de una tolerancia especicada (indicado para cada problema) El sitio informaa los estudiantes que las respuestas son correctas para que puedan rehacer problemas malresueltos y volver a presentar las respuestas Cada problema se basa en una plantilla queatrae paraacutemetros al azar por lo que la respuesta correcta es diferente para cada estudianteEsto hace que sean adecuadas para la colaboracioacuten y el trabajo en grupo porque a pesarde que el grupo puede trabajar para encontrar un algoritmo correcto para resolver un prob-lema cada estudiante tendraacute que usar el algoritmo para encontrar la solucioacuten detallada asu propio problema

4 Practice ExamsLos estudiantes pueden realizaar exaacutemenes de praacutectica cronometrados que muestran laspreguntas de un grupo de 3 o maacutes temas Cada examen estaacute disentildeado para tardar unos60 minutos o menos e incluye una seleccioacuten de 10 preguntas Las praacutecticas de exaacutemenespueden repetirse cuantas veces se desee Las preguntas numeacutericas son parametrizadas loque es muy poco probable que un estudiante realice alguna vez dos exaacutemenes de praacutecticaideacutenticos

5 Portofolio PageCada estudiante puede acceder a una paacutegina que le da la puntuacioacuten obtenida en cada prue-ba y la asignacioacuten de tareas Los estudiantes que son miembros de un grupo tienen unapaacutegina de resultados asociados a las tareas de grupo Hay una paacutegina de carpeta separadaque contiene un resumen de todas las actividades realizadas en ChemVantage incluyendovideos vistos cuestionarios completados resolver problemas con la tarea y la praacutectica deexaacutemenes completados Las puntuaciones en los exaacutemenes de praacutectica son desagregadospara revelar fortalezas y debilidades estudiantes por temas

Hemos procedido a darlo de alta en LTI como hicimos con Wordpress Entramos en Moodle co-mo Administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

Figura 511 Correo de Chuck Wight

-LTI quedando como resultado la siguiente hoja de paraacutemetros gura 512

El siguiente paso seraacute antildeadir la herramienta dentro de nuestro curso para ello pulsaremos sobreAntildeadir una actividad o un recurso Deberemos seleccionar External Tool y rellenamos las op-ciones de la herramienta seleccionando como Tipo de herramienta externa la opcioacuten creada enel apartado de LTI de Moodle

Una vez congurado la herramienta en Moodle podemos entrar para realizar una personalizacioacutende la herramienta gura 513 esta consiste en indicar si el alumno cuando se conecta realiza undeterminado tarea o puede elegir navegar por la web de ChemVantage para poder disfrutar dela cantidad de recursos que se encuentran disponibles

Cuando el usuario pulsa sobre la opcioacuten de esta herramienta externa en Moodle lo primero quese le muestra es la informacioacuten sobre su perl en Chemvantage 514Como hemos visto en los paraacutemetros de conguracioacuten existe la posibilidad de llamar a unaherramienta externa incrustaacutendola dentro de Moodle o abrieacutendolo en una paacutegina web nuevaCon esta segunda opcioacuten no hemos conseguido que funcione correctamente la importacioacuten de lasnotas En cambio si la herramienta externa estaacute incrustada permite esa vinculacioacuten

Figura 512 Conguracioacuten de paraacutemetros LTI

Figura 513 Opciones de inicio de la herramienta

Figura 514 Pantalla de utilizacioacuten de la herramienta por el usuario

Capiacutetulo 6

Middleware

61 Introduccioacuten

La uacuteltima opcioacuten seriacutea utilizar una arquitectura middleware de integracioacuten que permita la inte-gracioacuten ligera de muacuteltiples herramientas existentes en el Moodle

62 GluePS

GLUE-PS es una arquitectura de middleware que permite una interoperabilidad ligera entrelos diferentes lenguajes de disentildeo de aprendizaje y diferentes entornos de aprendizaje virtualEsta interoperabilidad permite a los maestros y otros profesionales que particularicen (es decirpara personalizar el disentildeo de aprendizaje abstractoa la clase particular los participantes y laeleccioacuten de los instrumentos en los que va a ser promulgada) desplieguen (es decir para crearde forma semiautomaacutetica las actividades necesarias en el VLE recursos etc para la aprobacioacutendel disentildeo particularizado) e incluso para llevar a cabo ciertos cambios en el tiempo de ejecucioacuten(por ejemplo modicar la composicioacuten del grupo agregar o quitar recursos de las actividadesetc) Todo esto a partir de disentildeos en distintos lenguajes de disentildeo de aprendizaje tales como laespecicacioacuten IMS-LD aprendizaje

Por otra parte GLUE-PS tambieacuten permite desplegar y gestionar disentildeos de aprendizaje en en-tornos virtuales de aprendizaje que integren herramientas de aprendizaje externos (tales comointegrar en Moodle herramientas como Google Docs y muchos otros) - lo que llamamos Am-bientes de Aprendizaje Distribuido (DLE Distributed Learning Enviroments) Esto se consiguegracias a la arquitectura de GLUE para la integracioacuten de los entornos virtuales de aprendizajey herramientas externas

621 Instalacioacuten

Para realizar la instalacioacuten de GLUE-PS nos hemos descargado el software necesario de la webde los desarrolladores1 descargando la opcioacuten de autenticacioacuten centralizada La instalacioacuten haconstado de tres partes que pasaremos a describir a continuacioacuten

1httpwwwgsicuvaesglue

49

Figura 61 Arquitectura de GLUE

La primera parte consiste en la instalacioacuten del GLUEletManager y los adaptadores GSIC toolAunque el sistema viene preparado para Linux o Windows siendo Windows la explicacioacuten quevamos a desarrollar por estar utilizando este sistema operativo con Xampp

1 Crear el directorio GLUE_ HOME El cual hemos creado para mayor comodidad en la raiacutezdel disco duro

2 Denir la variable del sistema GLUE_ HOME con el valor de la direccioacuten completa deldirectorio de GLUE del punto anterior Para ello hemos pulsado botoacuten derecho sobre MiPc Propiedad Opciones Avanzadas Variables de Entorno procediendo a pulsar el botoacutenNueva para crear la variable en cuestioacuten

3 Extraemos en el directorio del punto (1) el paquete descargado de la paacutegina de los desar-rolladores

4 Ejecutar la instalacioacuten del cheroGLUE_ HOMEbininstall gluebat para registar GLUElet-Manager y GSIC tool como un servicio de Windows Tambieacuten este paso crearaacute un cheroen GLUE_ HOMEtool_ adapteradapterdata para proveer de persistencia a los objetoscreados con el adaptador GSIC tool

A continuacioacuten daremos de alta en nuestro gestor de bases de datos un para de bases de datosque necesita GLUEletManager Para ellos seguimos los siguientes pasos

1 Abrimos la consola de phpMyaAdmin para cargar y ejecutar el chero create_ GLUE_databasessql que se encuentra en GLUE_ HOMEmanagerconfdb

2 Modicamos el chero GLUE_ HOMEmanagerconfMETA-INFpersistencexml paradarle los paraacutemetros necesarios para que JDBC se conecte a nuestra base de datos Losparaacutemetros modicados puede verse en la imagen 62

Figura 62 Paraacutemetros modicados en persistencexml

La segunda parte consiste en el registro interno de los adaptadores de las herramientas para seraccedido con GLUEletManager La distribucioacuten trae un chero para facilitar la conguracioacuten delos adaptadores que trae consigo y para su instalacioacuten deberemos ejecutar el chero GLUE_HOMEmanagerconfdbll _ internal_ Registrysql Alguna de las herramientas necesitanuna conguracioacuten maacutes completa como puede ser Google Docs adapter que necesita una cuentade Gmail para poder crear documentos en Google Docs por lo que deberemos modicar el nom-bre de usuario y contrasentildea

La uacuteltima parte consiste en la instalacioacuten del adaptardor de Moodle como VLE utilizado Estainstalacioacuten es como cualquier otro moacutedulo de Moodle 2 La carpeta que deberemos copiar seraacutela del adaptador correspondiente a Moodle que se encuentra en la carpeta GLUE_ HOMEvle_adpatersmoodle_ vle_ adapter Una vez entremos en nuestro Moodle como administrador nosapareceraacute un mensaje indicaacutendonos que el nuevo moacutedulo esta instalado Para congurar el nuevomoacutedulo debermos ir a Noticaciones - Modulos - Actividades como podemos ver en la gura 63para congurar los paraacutemetros la URL del GLUEletManager y el tiempo de espera

Figura 63 Paraacutemetros del moacutedulo GLUE

Cuando el profesor quiera crear una nueva actividad dependiente de los adaptadores de GLUEdeberaacute agregar una actividad maacutes pulsando para ello en esta opcioacuten dentro del bloque deseadopara seleccionar luego el tipo de actividad GLUElet como podemos ver en la gura64

622 Creando un Doodle

El adaptador Doodle permite la creacioacuten conguracioacuten y gestioacuten de instancias del Doodle Cadaencuesta Doodle es considerado un instancia diferente Ademaacutes este adaptador permite realizarademas la conguracioacuten inicial de encuestas Doodle incluyendo el nombre de la encuesta unadescripcioacuten y un conjunto de posibles respuestas

A continuacioacuten antildeadiremos Doodle en un bloque de Moodle para ellos pulsaremos la opcioacuten deAgregar actividad GLUElet lo cual nos mostraraacute la paacutegina65 donde deberemos rellenar comomiacutenimo el nombre de la actividad y el tipo de herramienta seleccionado en este caso Doodle(httpdoodle-testcom)

2httpdocsmoodleorgenInstalling_contributed_modules_or_plugins

Figura 64 Creando una actividad GLUElet

La primera vez que pulsemos sobre la nueva actividad creada apareceraacute un pantalla 66 dondepodemos congurar diferentes elementos de la encuesta desarrollada con Doodle como son eltiacutetulo una pequentildea descripcioacuten y luego las opciones posibles con un liacutemite de 10

El resultado nal seraacute la incrustacioacuten de una encuesta Doodle dentro de nuestro Moodle comopodemos ver en la gura67

Figura 65 Antildeadiendo Doodle como actividad

Figura 66 Opciones iniciales de conguracioacuten de Doodle

Figura 67 Doodel dentro de Moodle

Capiacutetulo 7

Conclusiones Finales

71 Conclusiones Finales

El proyecto actual nos ha servido para acercarnos a las diferentes tecnologiacuteas que permiten lacomunicacioacuten entre Servicios Webs Hemos desarrollado una primera labor de investigacioacuten queha requerido el aprendizaje de diferentes herramientas de control de documentacioacuten y referenciascomo Zotero y Mendeley

La documentacioacuten recabada en el proceso inicial de revisioacuten de documentos nos ha aportadoun visioacuten general de los diferentes sistemas virtuales de aprendizaje que podemos encontrarnosmuchos de ellos gratuitos y las diferentes soluciones que se plantean a la necesidad de incluirrecursos de otros fabricantes que en principio no fueron concebidos para ser utilizados dentro deuna plataforma VLE

Para poner en praacutectica la diferentes opciones encontradas se han montado diferentes maacutequinasvirtuales sobre las que se han probado las mismas Las conclusiones nales se pasan a detallar

IMS LTIEsta solucioacuten de integracioacuten mediante el cumplimiento de unos protocolos y certicacionesde las herramientas que lo cumplen es en principio la que podriacutea parecer la mejor opcioacutenpero la falta de compromiso de los diferentes fabricantes de Servicios Web y la luchapara imponer sus propios estaacutendares hace que aun quede mucho para que esta opcioacuten seacomo tal real

Si vemos el nuacutemero de aplicaciones certicadas para usar IMS LTI apenas superan las 50 yla mayoriacutea solo cumple la especicacioacuten v10 lo cual signica que la integracioacuten solo solu-ciona el problema de llamar a un recurso externo desde Moodle Pocas son las que cumplenla v11 que permite obtener en Moodle una valoracioacuten de los ejercicios desarrollados en unaactividad externa

La versioacuten v20 que daraacute maacutes opciones a la hora de interactuar con actividades externasauacuten esta en desarrollo y nada se sabe sobre posibles fechas para su presentacioacuten Luegocerticacioacuten de herramientas etc

55

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 30: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

Figura 32 Diagrama de Gantt

36 Instalacioacuten base

Para llevar a cabo las pruebas se ha optado por la creacioacuten de una maacutequina virtual sobre VirtualBox 3 en la cual hemos instalado Windows XP como sistema operativo Este sistema es maacutesligero a la hora de trabajar en maacutequinas virtuales pues requiere menos recursos que las versionesposteriores del mismos sistema

El siguiente paso era la instalacioacuten de Moodle Aunque se dispone de un instalador para Win-dows se ha optado por la descarga e instalacioacuten de XAMPP 4 y su y su posterior conguracioacutenen la maacutequina virtual XAMPP es un servidor independiente de plataforma software libre queconsiste principalmente en la base de datos MySQL el servidor web Apache y los inteacuterpretespara lenguajes de script PHP y Perl El nombre proviene del acroacutenimo de X (para cualquierade los diferentes sistemas operativos) Apache MySQL PHP Perl

XAMPP en su versioacuten 181 incluye

Apache 243

MySQL 5527

PHP 547

phpMyAdmin 3522

FileZilla FTP Server 0941

Tomcat 7030

Strawberry Perl 51611 Portable

XAMPP Control Panel 310

Hemos continuado con la descarga he instalacioacuten de Moodle y hemos querido probar las difer-encias que obtenemos entre las versiones 19x y 25 por lo que se han descargado ambas heinstalado en maacutequinas virtuales diferentes Con ello conseguiremos probar el resultado obtenidoseguacuten la versioacuten Moodle desde su versioacuten 22 ya soporta conexiones mediante IMS - LTI IMSLTI es un estaacutendar IMS Learning Tool Interoperability Esto signica que las herramientas deaprendizaje tienen ahora diversas maneras de conectarse entre sin problemas

En la praacutectica cuando un usuario se registra en una herramienta como Moodle se pueden conectara la otra herramienta como MediaWiki y autenticarse automaacuteticamente proporcionando unaexperiencia perfectaLas guras 33 y 34 nos muestran el panel de control de XAMPP una vez instalado y el panede phpMyAdmin donde hemos debido congurar las bases de datos y usuario necesarios parallevar todo el proceso de conguracioacuten de Moodle y el resto de herramientas

3httpswwwvirtualboxorg4httpwwwapachefriendsorgesxampphtml

Figura 33 Panel de control de XAMPP

Figura 34 Gestor de bases de datos phpMyAdmin

Capiacutetulo 4

Servicios Web de Moodle

41 Introduccioacuten

Moodle 2X incorpora la posibilidad de implementar Servicios Web para manejar sus funciona-lidades lo que nos permite poder acceder a acciones de actualizar y crear tareas para reejar elresultado de las actividades realizadas Moodle soporta varios protocolos (REST SOAP XML-RPC y AMF)

42 Servicios Web de Moodle

Los Servicios Web de Moodle se caracterizan por permitir el acceso desde cualquier aplicacioacutenimplementando para ello tres capas como podemos observar en la gura 41

Capa nuacutecleoLa capa del nuacutecleo estaacute compuesta de todas las funciones principales de Moodle sobreusuarios grupos cursos calendario etc Moodle no dispone de una API al uso sino queofrece diferentes funciones que han sido desarrolladas durante antildeos Por tanto las necesi-dades de los Servicios Web estaacuten obligando a rehacer estas funciones del nuacutecleo para quecomiencen a formar una API (Moodle 2X)

Capa externaLa capa externa estaacute compuesta por nuevos cheros llamados externalphp colocados porlas carpetas de Moodle y conteniendo manejadores para la capa inferior Estos manejadoresson los responsables de comprobar las capacidades paraacutemetros y llamadas correctas a lasfunciones de nuacutecleo

Capa de conectoresLa capa de conectores estaacute compuesta de diferentes conectores para las diferentes imple-mentaciones de los Servicios Web y contiene un conector REST un conector SOAP unconector XML-RPC y un conector AMF Esta capa admite plugins para ampliar los conec-tores disponibles de manera que se puedan integrar otros sistemas en Moodle utilizandootros protocolos

Los pasos para utilizar un Servicio Web con Moodle seriacutean los siguientes

1 El cliente enviacutea el nombre de usuario y contrasentildea al servidor que provee los ServiciosWeb

27

Figura 41 Capas en Moodle

2 El servidor de protocolo devuelve un token de sesioacuten para esa cuenta de usuario

3 El cliente llama a un Servicio Web especiacuteco incluyendo el token de sesioacuten

4 El servidor utiliza el token para comprobar que la sesioacuten del Servicio Web estaacute activa

5 El servidor llama a la funcioacuten correspondiente localizada en el chero externallibphp dentrodel moacutedulo especiacuteco

6 La funcioacuten externa comprueba que el usuario actual tenga los permisos sucientes pararealizar esta operacioacuten

7 La funcioacuten externa llama a la funcioacuten correspondiente del nuacutecleo de Moodle (libphp)

8 La funcioacuten del nuacutecleo puede retornar un resultado a la funcioacuten externa

9 La funcioacuten externa devolveraacute el resultado al servidor de protocolo

10 El servidor de protocolo devolveraacute el resultado al cliente

43 REST

REST (Representational State Transfer) es el acroacutenimo de Transferencia de Estado Representa-cional teacutermino usado por Roy Fielding (uno de los creadores de HTTP) para describir un estilode arquitectura que utilizar como modelo en los sistemas de computacioacuten Web No es un es-taacutendar sino un enfoque que muestra como desarrollar y proporcionar servicios en Internet portanto considerado como un estilo arquitectoacutenico para disentildeo de software a gran escala El propioautor lo dene de manera concisa en eacuteste paacuterrafo

REST es un intento de mostrar coacutemo debe comportarse una aplicacioacuten Web bien disentildeada unared de paacuteginas Web (una maacutequina de estados virtual) donde el usuario progresaraacute seleccionan-do enlaces (transiciones de estado) que devuelven la paacutegina siguiente (el siguiente estado de lamaacutequina) que el usuario manejaraacute a su gusto

Este enfoque no aporta realmente nada nuevo la mayor parte de la Web sigue este estilo arqui-tectoacutenico Sin embargo el autor hace eacutenfasis en las caracteriacutesticas concretas que han hecho quela Web triunfe que van a ser los objetivos buscados por REST y que son a su juicio

Escalabilidad en las interacciones entre componentes La red ha ido creciendo de maneraexponencial y se ha ido comportado de manera satisfactoria

Generalidad en las interfaces Se proporciona acceso con distintos clientes y con distintosmecanismos de acceso

Desarrollo independiente de componentes Implementaciones cliente y servidor pueden serdesarrolladas en distintos momentos

Existencia de componentes intermediarios con los cuales existe compatibilidad (comoproxys)que permiten encapsulacioacuten e integracioacuten de sistemas no Web dentro de la misma

431 Principios de disentildeo

Los objetivos citados van a ser conseguidos imponiendo una serie de restricciones

El estado y la funcionalidad de las aplicaciones se representan por forma de recursos

La identicacioacuten de recursos se realiza de forma uacutenica global mediante Uniform ResourceIdentiers Los recursos identicados con URIs son los objetos loacutegicos a los cuales se lesmandan los mensajes

Manipulacioacuten de recursos a traveacutes de representaciones luego no se manejan directamentelos recursos sino sus representaciones

Todos los recursos comparten un interfaz uniforme formado por

bull Un conjunto de operaciones limitado para transferir el estado Se van a aprovecharlas operaciones que HTTP dene mostradas en la gura 42

bull Un conjunto limitado de tipos de contenidos identicados mediante tipos MIME

Uso de un protocolo clienteservidor sin estado y basado en capas Cada mensaje HTTPcontendraacute la informacioacuten necesaria para comprender la peticioacuten luego como muestra lagura 43 no es necesario que eacutesta sea entendida tanto en el cliente como en el servidor

Uso de hipermedios para representar el estado de una aplicacioacuten permitiendo que el estadode una aplicacioacuten Web particular esteacute almacenado en uno o maacutes documentos de hipertextoque residen bien en el servidor o en el cliente Esto permite al servidor saber el estado desus recursos sin necesidad de almacenar el estado de los clientes concretos

Figura 42 Operaciones denidas por HTTP

Como ya se mencionoacute REST se trata de un estilo arquitectoacutenico no un estaacutendar Sin embargohace uso de varios estaacutendares Web

HTTP HyperText Transfer Protocol

Figura 43 Operaciones denidas por HTTP

URL Uniform Resource Locator como el mecanismo de indenticacioacuten de recursos

XML - HTML - PNG - etc Como distintos formatos de representacioacuten de recursos

Tipos MIME como text-xml text-html image-png etc

44 SOAP

SOAP (siglas de Simple Object Access Protocol) es un protocolo estaacutendar que dene coacutemo dosobjetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML Esteprotocolo deriva de un protocolo creado por David Winer en 1998 llamado XML-RPC SOAPfue creado por Microsoft IBM y otros y estaacute actualmente bajo el auspicio de la W3C

441 Principios de disentildeo

La funcionalidad que aporta SOAP es la de proporcionar un mecanismo simple y ligero de in-tercambio de informacioacuten entre dos puntos usando el lenguaje XML SOAP no es maacutes que unmecanismo sencillo de expresar la informacioacuten mediante un modelo de empaquetado de datosmodular y una serie de mecanismos de codicacioacuten de datos Esto permite que SOAP sea uti-lizado en un amplio rango de servidores de aplicaciones que trabajen mediante el modelo decomunicacioacuten RPC (Remote Procedure Call)

SOAP consta de tres partes como podemos ver en la gura 44

El SOAP envelope que dene el marco de trabajo que determina queacute se puede introduciren un mensaje quieacuten deberiacutea hacerlo y si esa operacioacuten es opcional u obligatoria

Las reglas de codicacioacuten SOAP que denen el mecanismo de serializacioacuten que seraacute usadopara encapsular en los mensajes los distintos tipos de datos

La representacioacuten SOAP RPC que dene un modo de funcionamiento a la hora de realizarllamadas a procedimientos remotos y la obtencioacuten de sus resultados

A la hora de realizar el disentildeo de SOAP se han tenido en cuenta una serie de consideracionescon el n de cumplir una serie de objetivos claros objetivos que le daraacuten el potencial que resideen SOAP y que le haraacuten tan atractivo Eacutestos son

Establecer un protocolo estaacutendar de invocacioacuten a servicios remotos que esteacute basado enprotocolos estaacutendares de uso frecuente en Internet como son HTTP (Hiper Text TransportProtocol) para la transmisioacuten y XML (eXtensible Markup Language)para la codicacioacutende los datos

Figura 44 Partes de SOAP

Independencia de plataforma hardware lenguaje de programacioacuten e implementacioacuten delservicio Web

El logro de estos objetivos ha hecho de SOAP un protocolo extremadamente uacutetil ya que elprotocolo de comunicacioacuten HTTP es el empleado para la conexioacuten sobre Internetpor lo que segarantiza que cualquier cliente con un navegador estaacutendar pueda conectarse con un servidor re-moto Ademaacutes los datos en la transmisioacuten se empaquetan o serializan con el lenguaje XML quese ha convertido en algo imprescindible en el intercambio de datos ya que es capaz de salvar lasincompatibilidades que existiacutean en el resto de protocolos de representacioacuten de datos de la red

Por otra parte los servidores Web pueden procesar las peticiones de usuario empleando tec-nologiacuteas tales como Servlets paacuteginas ASP (Active Server Pages) paacuteginas JSP (Java ServerPages) o sencillamente un servidor de aplicaciones con invocacioacuten de objetos mediante CORBACOM o EJB

Un ejemplo tiacutepico de disentildeo de un servicio Web utilizando las ventajas de SOAP podemos veren la siguiente gura 45

Figura 45 Ejemplo de uso de SOAP

45 AMF

AMF (Action Message Format) es un protocolo binario de Adobe que va por la versioacuten AMF3Aunque por el nombre de la versioacuten pueda parecer que existan 3 cabe destacar que soacutelo existendos AMF0 y AMF3 Una de las mayores diferencias o mejoras que aporta AMF3 es que soporta

datos binarios (ByteArray) y int datos no soportados por AMF0 debido a que en la eacutepoca queaparecioacute el formato Flash Player no soportaba estos tipos de datos

AMF3 no es un protocolo para transferir informacioacuten sino que representa el formato en el quese transmite la informacioacuten en este caso un formato binario

La versioacuten de Moodle 25 viene con Zend_ AMF pero podemos utilizar tambieacuten la libreriacuteaamfPHP

AMFPHP

Zend_ amf httpframeworkzendcommanual112enzendamfhtml

Maacutes informacioacuten en httpdocsmoodleorgdevAMFPHP

46 Conguracioacuten de Moodle Web Services

Los Servicios Web habilitan que otros sistemas puedan entrar a Moodle y realizar operacionesPasaremos a detallar los pasos necesarios para su conguracioacuten y explicaremos distintos pruebasllevadas a cabo sobre su funcionamiento Para poder consumir de manera correcta unWeb Servicede Moodle seriacutea necesario antildeadir a la url que vamos a formar los paraacutemetros oportunos paralograr consumir el Web Service de manera satisfactoria Una vez antildeadidos ya podriacuteamos invocarla funcioacuten seleccionada

461 Activando los Servicios Web

Lo primero que debemos hacer es activar la opcioacuten general que habilita el uso de los serviciosweb En la gura 46 podemos observar la opcioacuten para la activacioacuten de este servicio para ello nosiremos a la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Servicios Externos

Figura 46 Activacioacuten Servicios Web

Esto solo es una opcioacuten a nivel global necesitando ahora activar los protocolos de comunciacionesque vamos a utilizar para ello deberemos ir a la opcioacuten textitAdministracioacuten del Sitio - Exten-siones - Servicios Web - Administrador de protoclos donde encontraremos las diferente opcionesque nos existen En la gura 47 podemos ver la pantalla de nuestra conguracioacuten con todos losprotocolos activados

Una vez activada la opcioacuten de Servicios Externos y seleccionados los protocolos que utilizaremosnecesitamos crear un Servicio Personalizado que no es maacutes que una etiqueta que aglutina los

Figura 47 Activacioacuten Protoclos

Servicios Web que ofrece Moodle y que pueden ser utilizados por los servicios externos Para ellodeberemos darle a la opcioacuten Agregar dentro de la opcioacuten Administracioacuten del Sitio - Extensiones- Servicios Web - Servicios Externos Como prueba habilitaremos un servicio llamado Uso_Servicio_ Web cuya creacioacuten podemos ver en la gura 48

Figura 48 Creacioacuten Servicio Personalizado

Una vez creado el Servicio Personalizado deberemos agregarle las funciones que queramos lesean permitidas pudiente tener maacutes de una En la gura 49 vemos como asociamos la creacioacutende usuarios al Servicio Personalizado

Terminado esto deberemos tener en el listado que nos muestra Moodle de Servicios personaliza-dos algo como lo mostrado en la gura 410

El siguiente paso es conceder los permisos apropiados para que este Servicio Personalizado puedeser usado por los usuarios pare ello debemos primero especicar quienes son los Usuarios au-torizados para ello en la linea de la lista de Servicios Personalizados deberemos pulsar sobre laopcioacuten usuarios autorizados donde apareceraacute una pantalla como 411 donde podremos escogerlos usuarios de los que se encuentran dados de alta en nuestro sistema

Y para terminar aunque este paso podriacutea ser realizado por el propio usuario si tuviera el per-miso de moodlewebservicecreatetoken seraacute la creacioacuten de un token el cual va ser la opcioacuten quevamos a utilizar para las pruebas de los Servicios Web de Moodle Para la creacioacuten del mismodeberemos entrar en la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Admin-istrar tokens y pulsar la opcioacuten Agregar para antildeadir un token nuevo como podemos apreciar en

Figura 49 Agregando funciones al Servicio Personalizado

Figura 410 Listado de Servicios Personalizados

la gura 412 teniendo la precaucioacuten de escoger como Servicio el Servicio Personalizado creadocon anterioridad Uso_ Servicio_ Web

En esta pantalla podemos poner varios tipos de restricciones

Restriccioacuten de IP Donde podemos indicar la direccioacuten IP desde donde

Restriccioacuten de Fecha Se puede denir hasta cuando seraacute valido este token siendo unabuena manera de poder probar cosas y no dejar puertas abiertas por error

En la gura 413 podemos ver el token asignado por el sistema para nuestro Servicio Personalizadoy que procederemos a utilizar para comprobar el funcionamiento de los Servicios Web de Moodle

462 Pruebas cliente Servicio Web

Procederemos ahora a desarrollar pruebas que utilicen los Servicios Personalizados creado Sepodriacutean haber utilizado el Cliente de prueba de servicio web que incorpora Moodle dentro dela opcioacuten Administracioacuten del Sitio - Desarrollo - Cliente de prueba servicio web pero hemosdecidido implementar una Web para comprobar la facilidad del funcionamiento del sistema y losdistintos resultados obtenidos seguacuten el protocolo utilizado

Utilizaremos la libreriacutea cURL de PHP cURL es una herramienta que permite abrir conexionesen una amplia variedad de protocolos y que estaacute disponible tanto como herramienta de consola(para ejecutar directamente con comandos) como en libreriacutea (para usar en vuestro coacutedigo) y quepermite hacer praacutecticamente todo manejo de cookies descarga de cheros binarios enviacuteos de

Figura 411 Alta de Usuarios Autorizados

Figura 412 Creacioacuten de Tokens

paraacutemetros GET y POST etc

La web creada para la introduccioacuten 414 de los usuarios seraacute equivalente para todos los procesosprocesos siendo el programa que da respuesta al formulario el que implemente la funcioacuten nece-saria para la introduccioacuten de los datos en Moodle

Los resultados de REST pueden mostrar los resultados del alta de dos maneras diferentes unaen formato XML como podemos ver en la gura 415 y otro en formatox JSON tambieacuten po-dremos ver en la gura Los resultados obtenidos tambieacuten pueden verse en el la gura 416

Figura 413 Lista de Tokens

Figura 414 Web de alta de usuarios

Figura 415 Resultado de REST en formato XML

Figura 416 Resultado de REST en formato JSON

Capiacutetulo 5

Herramientas Externas

51 Introduccioacuten

Las versiones de Moodle desde la 22 vienen con IMS LTI o External Tool de manera integradaEn versiones anteriores era necesario la instalacioacuten de plugins como LTI Provider (maacutes informa-cioacuten en la web de Moodle1 IMS LTI es un estandar de IMS learing2 para la interoperabilidadde herramientas Esto signica que las herramientas de aprendizaje tienen ahora un mecanismopara jar el modo en que pueden conectarse entre ellas sin problemas

En la praacutectica cuando un usuario se registra en Moodle puede conectarse a otras herramientascomo Wikis o Blogs y autenticarse de manera automaacutetica en estas

52 Estaacutendares IMS

Actualmente se realizan esfuerzos para la integracioacuten de servicios a una plataforma virtual deaprendizaje mediante un mecanismo reutilizable independiente del tipo de plataforma El IMSGlobal Learning Consortium viene desde hace tiempo trabajando en este enfoque IMS GLCpresenta un conjunto de estaacutendares que promueven el uso de servicios de aprendizaje digitales(Digital Learning Services) dentro de las plataformas de aprendizaje tradicionales IMS DigitalLearning Services estaacute integrado por los siguientes estaacutendares principales IMS Common Car-tridge [ims a] IMS Learning Tool Interoperability [ims c] y IMS Learning Information Services[ims b]

El IMS Learning Tool Interoperability es una especicacioacuten para facilitar la inclusioacuten de her-ramientas externas dentro de un curso El administrador de la plataforma de aprendizaje ges-tiona los servicios que podraacuten ser consumidos por la plataforma el docente decide que serviciosutilizaraacute en su curso y el estudiante hace uso de los mismos IMS LTI permite que distintos LMSconsuman un mismo servicio el cual no fue implementado teniendo en cuenta el tipo de LMSsino la implementacioacuten del estaacutendar desde el lado del proveedor

El enfoque del IMS LTI estaacute dirigido a la creciente demanda de un mecanismo reutilizable para laintegracioacuten de herramientas de terceros en el nuacutecleo de las plataformas LMS Estas herramientas

1httpsmoodleorgpluginsviewphpplugin=local_ltiprovider2httpwwwimsglobalorgtoolsinteroperability2cfm

37

pueden agregar funcionalidad especializada a los LMS El enfoque ofrece una solucioacuten basada enWeb Services igualmente aplicable a distintos lenguajes de programacioacuten

Las versiones del LTI son

LTI v10 ( LTI Basic ) ( publicado en mayo de 2010 ) proporciona un meacutetodo sencillopero estaacutendar para establecer una conexioacuten segura a una herramienta desde el interior deun consumidor de herramientas El lanzamiento de este enlace permite una experienciade aprendizaje sin problemas para los estudiantes que acceden a las aplicaciones ricas queparecen tener lugar dentro del ambiente de aprendizaje Versioacuten 10 es el primer paso en eldesarrollo continuo de LTI Figura 51

LTI v11 ( publicado en marzo 2012 ) antildeade la posibilidad de pasar de nuevo un resultadode la herramienta al Consumidor de herramientas Esto permite que los estudiantes recibenuna calicacioacuten o puntuacioacuten de su interaccioacuten con la aplicacioacuten de aprendizaje

LTI v111 ( publicado en julio de 2012 ) incluye soporte para el papel Mentor que se puedeutilizar para representar a un padre tutor o auditor

LTI v20 Aun en estado de desarrollo y proporciona una plataforma maacutes sosticado y ex-tensible para permitir integraciones maacutes profundas y un mayor apoyo para los serviciosy eventos LTI 2 se basa en LTI 1 mediante la incorporacioacuten de maacutes sosticada resulta-dos de informes y una rica arquitectura de extensiones que permite servicios adicionalesque se antildeadiraacuten gradualmente LTI 2 utiliza REST y JSON-LD para ofrecer esta nuevafuncionalidad

Figura 51 Esquema LTI Baacutesico

En la gura 52 podemos observar como se podriacutean utilizar las ventajas de LTI por parte decada unos de los actores a lo largo de la vida de la aplicacioacuten de servicios externos dentro de unaplataforma de aprendizaje

En la paacutegina web de IMS3 podemos encontrar una relacioacuten de aplicaciones certicadas comocompatibles con el estaacutendar LTI indicando la versioacuten del LTI que cumplen En la gura 53podemos ver las aplicaciones certicadas por UOC y en la gura 54 la informacioacuten sobre una deestas herramientas

3httpwwwimsglobalorgccalltoolscfm

Figura 52 Esquema utilizacioacuten LTI

Figura 53 Listado de herramientas LTI de la UOC

53 Herramientas externas en Moodle

La siguiente seccioacuten consiste en la aplicacioacuten de alguno de esto servicios externos en Moodlepara comprobar su funcionamiento Nos decantaremos para la primera prueba por WordPresspues aunque existen manuales al respecto la documentacioacuten en castellano es escasa

531 Wordpress

La versioacuten estaacutendar de Wordpress a la cual accedemos cuando nos abrimos cuenta en Wordpressno viene con las herramientas necesarias para la iteracioacuten mediante LTI por lo que procedere-mos a la instalacioacuten en nuestro servidor de Wordpress para pasar a la instalacioacuten de los pluginsnecesarios

La instalacioacuten ha consistido en la descarga de la web ocial 4 de la versioacuten 351 la cual hemoscopiado dentro del directorio htdocs de nuestra instalacioacuten de Xampp Hemos dado de alta unnuevo usuario en nuestra base de datos llamado username como podemos ver en la imagen 55 yposteriormente hemos seguido los pasos que el instalador nos iba ofreciendo para tener instalado

4httpwordpressorgdownload

Figura 54 Informacioacuten sobre la certicacioacuten

Wordpress bajo la url httplocalhostwordpress

Figura 55 Usuario de Wordpress

Deberemos congurar Wordpress para que trabaje como multisitio para lo que deberemos seguirlos pasos de conguracioacuten que podemos encontrar en la web ocial de Wordpress5 bajo el nombreCreate A Network consistente en los siguientes pasos

1 Realizar una copia de seguridad por si acaso

2 Modicar el chero wp-congphp incluyendo la siguiente linea encima de Thats allstop editing Happy blogging Multisite dene (WP_ ALLOW_ MULTISITE true)

Multisite dene (WP_ ALLOW_ MULTISITE true)

3 Installar un Network Para ello hemos de entra en la opcioacuten Administration -gtTools -gtNetwork Setup donde podremos congurar opciones sobre el nombre que queremos declararpara el nuevo sitio

4 Activar el Network para ello debemos modicar los cheros wp-congphp y htaccess porlo que seriacutea bueno que realizaacuteramos primero un copia de seguridad de los mismos Loscambios que debemos realizar son los siguientes

5httpcodexwordpressorgCreate_A_Network

En wp-congphp dene(MULTISITE true)dene(SUBDOMAIN_ INSTALL false)dene(DOMAIN_ CURRENT_ SITE localhost)dene(PATH_ CURRENT_ SITE wordpress)dene(SITE_ ID_ CURRENT_ SITE 1)dene(BLOG_ ID_ CURRENT_ SITE 1)

El chero htaccess debe quedar asiacute BEGIN WordPressltIfModule mod_ rewritecgtRewriteEngine OnRewriteBase wordpressRewriteRule icircndexphp$ - [L]

add a trailing slash to wp-adminRewriteRule ([_ 0-9a-zA-Z-]+)wp-admin1wp-admin [R=301L]

RewriteCondREQUEST_ FILENAME -f [OR]RewriteCondREQUEST_ FILENAME -dRewriteRule - [L]RewriteRule ([_ 0-9a-zA-Z-]+)(wp-(content|admin|includes)) $2 [L]RewriteRule ([_ 0-9a-zA-Z-]+)( php)$ $2 [L]RewriteRule indexphp [L]ltIfModulegt

END WordPress

5 Esto nos habraacute creado en la parte izquierda de la barra de herramientas de Wordpressuna nueva opcioacuten llamada My Sites que contendraacute un listado de los sitios de nuestroWordpress

El siguiente paso seraacute la descarga del plugin los cual podremos hacerlos desde la web de sour-forgenet 6 En esta web se detalla informacioacuten sobre el plugin y como se debe instalar Siguiendolos pasos que tenemos en el mismo procederemos a la descarga y el desplegado del mismo en lacarpeta wp-contentmu-plugins Salimos de Wordpress y volvemos a entrar como superusuariosi entramos dentro de la nueva red realizada podremos ver que dentro de LTI Consumers Keystendremos la opcioacuten LTI Consumers Keys como podemos ver en la imagen 56

Aquiacute deberemos crear la clave del consumidor del servicio y la clave secreta que nos permitiraacute aMoodle conectarse a Wordpress

Una vez que tenemos la clave secreta y del consumidor deberemos volver a Moodle entrandocomo administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

6httpsourceforgenetappsmediawikilearningappsindexphptitle=LTI4Wordpress

Figura 56 Servicios LTI en Wordpress

Figura 57 Listado de claves de LTI en Wordpress

-LTI En esta paacutegina podremos rellenar nuestras opciones

Tool Name Seraacute el nombre que tendraacute la herramienta y deberemos poner alguno indicativode la herramienta que estemos utilizando

Tool Base URL Es la direccioacuten de la herramienta en nuestro caso httplocalhostwordpress

Deberemos rellenar con los datos obtenidos en Wordpress la clave de consumidor y la clavesecreta

Es importante marcar Show tool type when creating tool instances para que aparezcaposteriormente al crear los recursos en nuestros cursos

Para poder probar el sistema hemos creado un curso dentro de Moodle llamada WordpressLTIdonde daremos de la siguiente manera de alta 59

Dentro de nuestro curso seleccionamos la opcioacuten de Edicioacuten

Pulsamos sobre Antildeadir una actividad o un recurso

Seleccionamos External Tool

Rellenamos las opciones

bull Nombre de la Actividad Cualquiera de nuestra eleccioacuten

Figura 58 Conguracioacuten LTI en Moodle

bull Tipo de herramienta externa El nombre que le pusimos a la herramienta externa enla conguracioacuten LTI de Moodle

bull Launch Container Hemos elegido la opcioacuten Incrustar para ver el resultado

Figura 59 Conguracioacuten Herramienta Externa

Una vez congurado podemos lanzar la herramienta externa teniendo como resultado la gura510

Figura 510 Wordpress integrado en Moodle

532 ChemVantage

ChemVantage es un recurso gratuito para la educacioacuten cientiacuteca que incluye ejercicios de gradoejercicios de preparacioacuten exaacutemenes de la praacutectica conferencias de video y libros de texto enliacutenea gratis Fue creado por ChemVantage LLC que fue fundada por el Prof Chuck Wight queha ensentildeado Quiacutemica General en la Universidad de Utah desde 1984 (ChemVantage 2011)

Nos hemos puesto en contacto con Chuck Wight (adminchemvantageorg) para solicitarle unaclave de consumidor y secreta para poder probar este recurso desde moodle Las opciones y elcorreo puede verse en la gura 511

Una de las cosas maacutes importantes de ChemVantage y por lo que nos hemos decidido a probar esque permite la devolucioacuten de las notas obtenidas en los ejercicios realizados en las herramientasexternas a Moodle El alumno podraacute realizar las tareas en esta herramienta externa y luego sercalicadas en Moodle

ChemVantage estaacute certicada por IMS 7 como un proveedor de herramientas LTI v11 y comotal funciona desde nuestro propio LMS para llevar a cabo la autenticacioacuten de sitios provee decuentas y devuelve resultados de asignacioacuten de estudiantes con el libro LMS grado automaacutetica-mente

Los recursos disponible son ChemVantage son principalmente los siguientes

1 QuizzesLos ejercicios presentados aquiacute estaacuten disentildeados para animar a los estudiantes a leer y en-tender los libros de texto utilizados en el curso Las preguntas se basan en material que sepresente en su mayor parte en los textos de introduccioacuten de quiacutemica Los iacutetems de preguntastienen respuestas straighforward no requieren caacutelculos detallados Las preguntas se presen-tan en varios formatos diferentes incluyendo opcioacuten muacuteltiple verdadero falso casilla devericacioacuten ll-in-the-blanco y numeacutericas Cada cuestionario se compone de 10 preguntasextraiacutedas al azar de una base de datos con muchas maacutes preguntas En el proceso de tomarvarias pruebas para mejorar sus calicaciones los estudiantes probablemente encuentran

7httpdevelopersimsglobalorgcoursechemvantagehtml

algunas preguntas repetidas de concursos anteriores sin embargo es poco probable quecualquiera de los dos cuestionarios contendraacute exactamente el mismo conjunto de preguntasen el mismo orden Asignando pruebas para ser completado antes de la conferencia losprofesores pueden estar seguros de que sus estudiantes tengan un poco de exposicioacuten almaterial Esto permite una mayor discusioacuten el diaacutelogo y la participacioacuten en el aula y haceel aprendizaje maacutes divertido (de verdad)

2 Video LecturesUna serie de conferencias de viacutedeo de 10 minutos sobre una variedad de temas de QuiacutemicaGeneral es accesible desde la paacutegina principal Los videos estaacuten disentildeados para reforzar lospuntos principales que se presentan en muchos libros de texto

3 HoweworksLas tareas estaacuten disentildeadas para dar a los estudiantes la praacutectica en la resolucioacuten de proble-mas cuantitativos que tienen respuestas numeacutericas Cada alumno puede descargar la tareatrabajar los problemas y presentar las respuestas en liacutenea Respuestas son juzgados a sercorrecta si la solucioacuten numeacuterica de acuerdo con la solucioacuten que se encuentra en la base dedatos dentro de una tolerancia especicada (indicado para cada problema) El sitio informaa los estudiantes que las respuestas son correctas para que puedan rehacer problemas malresueltos y volver a presentar las respuestas Cada problema se basa en una plantilla queatrae paraacutemetros al azar por lo que la respuesta correcta es diferente para cada estudianteEsto hace que sean adecuadas para la colaboracioacuten y el trabajo en grupo porque a pesarde que el grupo puede trabajar para encontrar un algoritmo correcto para resolver un prob-lema cada estudiante tendraacute que usar el algoritmo para encontrar la solucioacuten detallada asu propio problema

4 Practice ExamsLos estudiantes pueden realizaar exaacutemenes de praacutectica cronometrados que muestran laspreguntas de un grupo de 3 o maacutes temas Cada examen estaacute disentildeado para tardar unos60 minutos o menos e incluye una seleccioacuten de 10 preguntas Las praacutecticas de exaacutemenespueden repetirse cuantas veces se desee Las preguntas numeacutericas son parametrizadas loque es muy poco probable que un estudiante realice alguna vez dos exaacutemenes de praacutecticaideacutenticos

5 Portofolio PageCada estudiante puede acceder a una paacutegina que le da la puntuacioacuten obtenida en cada prue-ba y la asignacioacuten de tareas Los estudiantes que son miembros de un grupo tienen unapaacutegina de resultados asociados a las tareas de grupo Hay una paacutegina de carpeta separadaque contiene un resumen de todas las actividades realizadas en ChemVantage incluyendovideos vistos cuestionarios completados resolver problemas con la tarea y la praacutectica deexaacutemenes completados Las puntuaciones en los exaacutemenes de praacutectica son desagregadospara revelar fortalezas y debilidades estudiantes por temas

Hemos procedido a darlo de alta en LTI como hicimos con Wordpress Entramos en Moodle co-mo Administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

Figura 511 Correo de Chuck Wight

-LTI quedando como resultado la siguiente hoja de paraacutemetros gura 512

El siguiente paso seraacute antildeadir la herramienta dentro de nuestro curso para ello pulsaremos sobreAntildeadir una actividad o un recurso Deberemos seleccionar External Tool y rellenamos las op-ciones de la herramienta seleccionando como Tipo de herramienta externa la opcioacuten creada enel apartado de LTI de Moodle

Una vez congurado la herramienta en Moodle podemos entrar para realizar una personalizacioacutende la herramienta gura 513 esta consiste en indicar si el alumno cuando se conecta realiza undeterminado tarea o puede elegir navegar por la web de ChemVantage para poder disfrutar dela cantidad de recursos que se encuentran disponibles

Cuando el usuario pulsa sobre la opcioacuten de esta herramienta externa en Moodle lo primero quese le muestra es la informacioacuten sobre su perl en Chemvantage 514Como hemos visto en los paraacutemetros de conguracioacuten existe la posibilidad de llamar a unaherramienta externa incrustaacutendola dentro de Moodle o abrieacutendolo en una paacutegina web nuevaCon esta segunda opcioacuten no hemos conseguido que funcione correctamente la importacioacuten de lasnotas En cambio si la herramienta externa estaacute incrustada permite esa vinculacioacuten

Figura 512 Conguracioacuten de paraacutemetros LTI

Figura 513 Opciones de inicio de la herramienta

Figura 514 Pantalla de utilizacioacuten de la herramienta por el usuario

Capiacutetulo 6

Middleware

61 Introduccioacuten

La uacuteltima opcioacuten seriacutea utilizar una arquitectura middleware de integracioacuten que permita la inte-gracioacuten ligera de muacuteltiples herramientas existentes en el Moodle

62 GluePS

GLUE-PS es una arquitectura de middleware que permite una interoperabilidad ligera entrelos diferentes lenguajes de disentildeo de aprendizaje y diferentes entornos de aprendizaje virtualEsta interoperabilidad permite a los maestros y otros profesionales que particularicen (es decirpara personalizar el disentildeo de aprendizaje abstractoa la clase particular los participantes y laeleccioacuten de los instrumentos en los que va a ser promulgada) desplieguen (es decir para crearde forma semiautomaacutetica las actividades necesarias en el VLE recursos etc para la aprobacioacutendel disentildeo particularizado) e incluso para llevar a cabo ciertos cambios en el tiempo de ejecucioacuten(por ejemplo modicar la composicioacuten del grupo agregar o quitar recursos de las actividadesetc) Todo esto a partir de disentildeos en distintos lenguajes de disentildeo de aprendizaje tales como laespecicacioacuten IMS-LD aprendizaje

Por otra parte GLUE-PS tambieacuten permite desplegar y gestionar disentildeos de aprendizaje en en-tornos virtuales de aprendizaje que integren herramientas de aprendizaje externos (tales comointegrar en Moodle herramientas como Google Docs y muchos otros) - lo que llamamos Am-bientes de Aprendizaje Distribuido (DLE Distributed Learning Enviroments) Esto se consiguegracias a la arquitectura de GLUE para la integracioacuten de los entornos virtuales de aprendizajey herramientas externas

621 Instalacioacuten

Para realizar la instalacioacuten de GLUE-PS nos hemos descargado el software necesario de la webde los desarrolladores1 descargando la opcioacuten de autenticacioacuten centralizada La instalacioacuten haconstado de tres partes que pasaremos a describir a continuacioacuten

1httpwwwgsicuvaesglue

49

Figura 61 Arquitectura de GLUE

La primera parte consiste en la instalacioacuten del GLUEletManager y los adaptadores GSIC toolAunque el sistema viene preparado para Linux o Windows siendo Windows la explicacioacuten quevamos a desarrollar por estar utilizando este sistema operativo con Xampp

1 Crear el directorio GLUE_ HOME El cual hemos creado para mayor comodidad en la raiacutezdel disco duro

2 Denir la variable del sistema GLUE_ HOME con el valor de la direccioacuten completa deldirectorio de GLUE del punto anterior Para ello hemos pulsado botoacuten derecho sobre MiPc Propiedad Opciones Avanzadas Variables de Entorno procediendo a pulsar el botoacutenNueva para crear la variable en cuestioacuten

3 Extraemos en el directorio del punto (1) el paquete descargado de la paacutegina de los desar-rolladores

4 Ejecutar la instalacioacuten del cheroGLUE_ HOMEbininstall gluebat para registar GLUElet-Manager y GSIC tool como un servicio de Windows Tambieacuten este paso crearaacute un cheroen GLUE_ HOMEtool_ adapteradapterdata para proveer de persistencia a los objetoscreados con el adaptador GSIC tool

A continuacioacuten daremos de alta en nuestro gestor de bases de datos un para de bases de datosque necesita GLUEletManager Para ellos seguimos los siguientes pasos

1 Abrimos la consola de phpMyaAdmin para cargar y ejecutar el chero create_ GLUE_databasessql que se encuentra en GLUE_ HOMEmanagerconfdb

2 Modicamos el chero GLUE_ HOMEmanagerconfMETA-INFpersistencexml paradarle los paraacutemetros necesarios para que JDBC se conecte a nuestra base de datos Losparaacutemetros modicados puede verse en la imagen 62

Figura 62 Paraacutemetros modicados en persistencexml

La segunda parte consiste en el registro interno de los adaptadores de las herramientas para seraccedido con GLUEletManager La distribucioacuten trae un chero para facilitar la conguracioacuten delos adaptadores que trae consigo y para su instalacioacuten deberemos ejecutar el chero GLUE_HOMEmanagerconfdbll _ internal_ Registrysql Alguna de las herramientas necesitanuna conguracioacuten maacutes completa como puede ser Google Docs adapter que necesita una cuentade Gmail para poder crear documentos en Google Docs por lo que deberemos modicar el nom-bre de usuario y contrasentildea

La uacuteltima parte consiste en la instalacioacuten del adaptardor de Moodle como VLE utilizado Estainstalacioacuten es como cualquier otro moacutedulo de Moodle 2 La carpeta que deberemos copiar seraacutela del adaptador correspondiente a Moodle que se encuentra en la carpeta GLUE_ HOMEvle_adpatersmoodle_ vle_ adapter Una vez entremos en nuestro Moodle como administrador nosapareceraacute un mensaje indicaacutendonos que el nuevo moacutedulo esta instalado Para congurar el nuevomoacutedulo debermos ir a Noticaciones - Modulos - Actividades como podemos ver en la gura 63para congurar los paraacutemetros la URL del GLUEletManager y el tiempo de espera

Figura 63 Paraacutemetros del moacutedulo GLUE

Cuando el profesor quiera crear una nueva actividad dependiente de los adaptadores de GLUEdeberaacute agregar una actividad maacutes pulsando para ello en esta opcioacuten dentro del bloque deseadopara seleccionar luego el tipo de actividad GLUElet como podemos ver en la gura64

622 Creando un Doodle

El adaptador Doodle permite la creacioacuten conguracioacuten y gestioacuten de instancias del Doodle Cadaencuesta Doodle es considerado un instancia diferente Ademaacutes este adaptador permite realizarademas la conguracioacuten inicial de encuestas Doodle incluyendo el nombre de la encuesta unadescripcioacuten y un conjunto de posibles respuestas

A continuacioacuten antildeadiremos Doodle en un bloque de Moodle para ellos pulsaremos la opcioacuten deAgregar actividad GLUElet lo cual nos mostraraacute la paacutegina65 donde deberemos rellenar comomiacutenimo el nombre de la actividad y el tipo de herramienta seleccionado en este caso Doodle(httpdoodle-testcom)

2httpdocsmoodleorgenInstalling_contributed_modules_or_plugins

Figura 64 Creando una actividad GLUElet

La primera vez que pulsemos sobre la nueva actividad creada apareceraacute un pantalla 66 dondepodemos congurar diferentes elementos de la encuesta desarrollada con Doodle como son eltiacutetulo una pequentildea descripcioacuten y luego las opciones posibles con un liacutemite de 10

El resultado nal seraacute la incrustacioacuten de una encuesta Doodle dentro de nuestro Moodle comopodemos ver en la gura67

Figura 65 Antildeadiendo Doodle como actividad

Figura 66 Opciones iniciales de conguracioacuten de Doodle

Figura 67 Doodel dentro de Moodle

Capiacutetulo 7

Conclusiones Finales

71 Conclusiones Finales

El proyecto actual nos ha servido para acercarnos a las diferentes tecnologiacuteas que permiten lacomunicacioacuten entre Servicios Webs Hemos desarrollado una primera labor de investigacioacuten queha requerido el aprendizaje de diferentes herramientas de control de documentacioacuten y referenciascomo Zotero y Mendeley

La documentacioacuten recabada en el proceso inicial de revisioacuten de documentos nos ha aportadoun visioacuten general de los diferentes sistemas virtuales de aprendizaje que podemos encontrarnosmuchos de ellos gratuitos y las diferentes soluciones que se plantean a la necesidad de incluirrecursos de otros fabricantes que en principio no fueron concebidos para ser utilizados dentro deuna plataforma VLE

Para poner en praacutectica la diferentes opciones encontradas se han montado diferentes maacutequinasvirtuales sobre las que se han probado las mismas Las conclusiones nales se pasan a detallar

IMS LTIEsta solucioacuten de integracioacuten mediante el cumplimiento de unos protocolos y certicacionesde las herramientas que lo cumplen es en principio la que podriacutea parecer la mejor opcioacutenpero la falta de compromiso de los diferentes fabricantes de Servicios Web y la luchapara imponer sus propios estaacutendares hace que aun quede mucho para que esta opcioacuten seacomo tal real

Si vemos el nuacutemero de aplicaciones certicadas para usar IMS LTI apenas superan las 50 yla mayoriacutea solo cumple la especicacioacuten v10 lo cual signica que la integracioacuten solo solu-ciona el problema de llamar a un recurso externo desde Moodle Pocas son las que cumplenla v11 que permite obtener en Moodle una valoracioacuten de los ejercicios desarrollados en unaactividad externa

La versioacuten v20 que daraacute maacutes opciones a la hora de interactuar con actividades externasauacuten esta en desarrollo y nada se sabe sobre posibles fechas para su presentacioacuten Luegocerticacioacuten de herramientas etc

55

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 31: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

36 Instalacioacuten base

Para llevar a cabo las pruebas se ha optado por la creacioacuten de una maacutequina virtual sobre VirtualBox 3 en la cual hemos instalado Windows XP como sistema operativo Este sistema es maacutesligero a la hora de trabajar en maacutequinas virtuales pues requiere menos recursos que las versionesposteriores del mismos sistema

El siguiente paso era la instalacioacuten de Moodle Aunque se dispone de un instalador para Win-dows se ha optado por la descarga e instalacioacuten de XAMPP 4 y su y su posterior conguracioacutenen la maacutequina virtual XAMPP es un servidor independiente de plataforma software libre queconsiste principalmente en la base de datos MySQL el servidor web Apache y los inteacuterpretespara lenguajes de script PHP y Perl El nombre proviene del acroacutenimo de X (para cualquierade los diferentes sistemas operativos) Apache MySQL PHP Perl

XAMPP en su versioacuten 181 incluye

Apache 243

MySQL 5527

PHP 547

phpMyAdmin 3522

FileZilla FTP Server 0941

Tomcat 7030

Strawberry Perl 51611 Portable

XAMPP Control Panel 310

Hemos continuado con la descarga he instalacioacuten de Moodle y hemos querido probar las difer-encias que obtenemos entre las versiones 19x y 25 por lo que se han descargado ambas heinstalado en maacutequinas virtuales diferentes Con ello conseguiremos probar el resultado obtenidoseguacuten la versioacuten Moodle desde su versioacuten 22 ya soporta conexiones mediante IMS - LTI IMSLTI es un estaacutendar IMS Learning Tool Interoperability Esto signica que las herramientas deaprendizaje tienen ahora diversas maneras de conectarse entre sin problemas

En la praacutectica cuando un usuario se registra en una herramienta como Moodle se pueden conectara la otra herramienta como MediaWiki y autenticarse automaacuteticamente proporcionando unaexperiencia perfectaLas guras 33 y 34 nos muestran el panel de control de XAMPP una vez instalado y el panede phpMyAdmin donde hemos debido congurar las bases de datos y usuario necesarios parallevar todo el proceso de conguracioacuten de Moodle y el resto de herramientas

3httpswwwvirtualboxorg4httpwwwapachefriendsorgesxampphtml

Figura 33 Panel de control de XAMPP

Figura 34 Gestor de bases de datos phpMyAdmin

Capiacutetulo 4

Servicios Web de Moodle

41 Introduccioacuten

Moodle 2X incorpora la posibilidad de implementar Servicios Web para manejar sus funciona-lidades lo que nos permite poder acceder a acciones de actualizar y crear tareas para reejar elresultado de las actividades realizadas Moodle soporta varios protocolos (REST SOAP XML-RPC y AMF)

42 Servicios Web de Moodle

Los Servicios Web de Moodle se caracterizan por permitir el acceso desde cualquier aplicacioacutenimplementando para ello tres capas como podemos observar en la gura 41

Capa nuacutecleoLa capa del nuacutecleo estaacute compuesta de todas las funciones principales de Moodle sobreusuarios grupos cursos calendario etc Moodle no dispone de una API al uso sino queofrece diferentes funciones que han sido desarrolladas durante antildeos Por tanto las necesi-dades de los Servicios Web estaacuten obligando a rehacer estas funciones del nuacutecleo para quecomiencen a formar una API (Moodle 2X)

Capa externaLa capa externa estaacute compuesta por nuevos cheros llamados externalphp colocados porlas carpetas de Moodle y conteniendo manejadores para la capa inferior Estos manejadoresson los responsables de comprobar las capacidades paraacutemetros y llamadas correctas a lasfunciones de nuacutecleo

Capa de conectoresLa capa de conectores estaacute compuesta de diferentes conectores para las diferentes imple-mentaciones de los Servicios Web y contiene un conector REST un conector SOAP unconector XML-RPC y un conector AMF Esta capa admite plugins para ampliar los conec-tores disponibles de manera que se puedan integrar otros sistemas en Moodle utilizandootros protocolos

Los pasos para utilizar un Servicio Web con Moodle seriacutean los siguientes

1 El cliente enviacutea el nombre de usuario y contrasentildea al servidor que provee los ServiciosWeb

27

Figura 41 Capas en Moodle

2 El servidor de protocolo devuelve un token de sesioacuten para esa cuenta de usuario

3 El cliente llama a un Servicio Web especiacuteco incluyendo el token de sesioacuten

4 El servidor utiliza el token para comprobar que la sesioacuten del Servicio Web estaacute activa

5 El servidor llama a la funcioacuten correspondiente localizada en el chero externallibphp dentrodel moacutedulo especiacuteco

6 La funcioacuten externa comprueba que el usuario actual tenga los permisos sucientes pararealizar esta operacioacuten

7 La funcioacuten externa llama a la funcioacuten correspondiente del nuacutecleo de Moodle (libphp)

8 La funcioacuten del nuacutecleo puede retornar un resultado a la funcioacuten externa

9 La funcioacuten externa devolveraacute el resultado al servidor de protocolo

10 El servidor de protocolo devolveraacute el resultado al cliente

43 REST

REST (Representational State Transfer) es el acroacutenimo de Transferencia de Estado Representa-cional teacutermino usado por Roy Fielding (uno de los creadores de HTTP) para describir un estilode arquitectura que utilizar como modelo en los sistemas de computacioacuten Web No es un es-taacutendar sino un enfoque que muestra como desarrollar y proporcionar servicios en Internet portanto considerado como un estilo arquitectoacutenico para disentildeo de software a gran escala El propioautor lo dene de manera concisa en eacuteste paacuterrafo

REST es un intento de mostrar coacutemo debe comportarse una aplicacioacuten Web bien disentildeada unared de paacuteginas Web (una maacutequina de estados virtual) donde el usuario progresaraacute seleccionan-do enlaces (transiciones de estado) que devuelven la paacutegina siguiente (el siguiente estado de lamaacutequina) que el usuario manejaraacute a su gusto

Este enfoque no aporta realmente nada nuevo la mayor parte de la Web sigue este estilo arqui-tectoacutenico Sin embargo el autor hace eacutenfasis en las caracteriacutesticas concretas que han hecho quela Web triunfe que van a ser los objetivos buscados por REST y que son a su juicio

Escalabilidad en las interacciones entre componentes La red ha ido creciendo de maneraexponencial y se ha ido comportado de manera satisfactoria

Generalidad en las interfaces Se proporciona acceso con distintos clientes y con distintosmecanismos de acceso

Desarrollo independiente de componentes Implementaciones cliente y servidor pueden serdesarrolladas en distintos momentos

Existencia de componentes intermediarios con los cuales existe compatibilidad (comoproxys)que permiten encapsulacioacuten e integracioacuten de sistemas no Web dentro de la misma

431 Principios de disentildeo

Los objetivos citados van a ser conseguidos imponiendo una serie de restricciones

El estado y la funcionalidad de las aplicaciones se representan por forma de recursos

La identicacioacuten de recursos se realiza de forma uacutenica global mediante Uniform ResourceIdentiers Los recursos identicados con URIs son los objetos loacutegicos a los cuales se lesmandan los mensajes

Manipulacioacuten de recursos a traveacutes de representaciones luego no se manejan directamentelos recursos sino sus representaciones

Todos los recursos comparten un interfaz uniforme formado por

bull Un conjunto de operaciones limitado para transferir el estado Se van a aprovecharlas operaciones que HTTP dene mostradas en la gura 42

bull Un conjunto limitado de tipos de contenidos identicados mediante tipos MIME

Uso de un protocolo clienteservidor sin estado y basado en capas Cada mensaje HTTPcontendraacute la informacioacuten necesaria para comprender la peticioacuten luego como muestra lagura 43 no es necesario que eacutesta sea entendida tanto en el cliente como en el servidor

Uso de hipermedios para representar el estado de una aplicacioacuten permitiendo que el estadode una aplicacioacuten Web particular esteacute almacenado en uno o maacutes documentos de hipertextoque residen bien en el servidor o en el cliente Esto permite al servidor saber el estado desus recursos sin necesidad de almacenar el estado de los clientes concretos

Figura 42 Operaciones denidas por HTTP

Como ya se mencionoacute REST se trata de un estilo arquitectoacutenico no un estaacutendar Sin embargohace uso de varios estaacutendares Web

HTTP HyperText Transfer Protocol

Figura 43 Operaciones denidas por HTTP

URL Uniform Resource Locator como el mecanismo de indenticacioacuten de recursos

XML - HTML - PNG - etc Como distintos formatos de representacioacuten de recursos

Tipos MIME como text-xml text-html image-png etc

44 SOAP

SOAP (siglas de Simple Object Access Protocol) es un protocolo estaacutendar que dene coacutemo dosobjetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML Esteprotocolo deriva de un protocolo creado por David Winer en 1998 llamado XML-RPC SOAPfue creado por Microsoft IBM y otros y estaacute actualmente bajo el auspicio de la W3C

441 Principios de disentildeo

La funcionalidad que aporta SOAP es la de proporcionar un mecanismo simple y ligero de in-tercambio de informacioacuten entre dos puntos usando el lenguaje XML SOAP no es maacutes que unmecanismo sencillo de expresar la informacioacuten mediante un modelo de empaquetado de datosmodular y una serie de mecanismos de codicacioacuten de datos Esto permite que SOAP sea uti-lizado en un amplio rango de servidores de aplicaciones que trabajen mediante el modelo decomunicacioacuten RPC (Remote Procedure Call)

SOAP consta de tres partes como podemos ver en la gura 44

El SOAP envelope que dene el marco de trabajo que determina queacute se puede introduciren un mensaje quieacuten deberiacutea hacerlo y si esa operacioacuten es opcional u obligatoria

Las reglas de codicacioacuten SOAP que denen el mecanismo de serializacioacuten que seraacute usadopara encapsular en los mensajes los distintos tipos de datos

La representacioacuten SOAP RPC que dene un modo de funcionamiento a la hora de realizarllamadas a procedimientos remotos y la obtencioacuten de sus resultados

A la hora de realizar el disentildeo de SOAP se han tenido en cuenta una serie de consideracionescon el n de cumplir una serie de objetivos claros objetivos que le daraacuten el potencial que resideen SOAP y que le haraacuten tan atractivo Eacutestos son

Establecer un protocolo estaacutendar de invocacioacuten a servicios remotos que esteacute basado enprotocolos estaacutendares de uso frecuente en Internet como son HTTP (Hiper Text TransportProtocol) para la transmisioacuten y XML (eXtensible Markup Language)para la codicacioacutende los datos

Figura 44 Partes de SOAP

Independencia de plataforma hardware lenguaje de programacioacuten e implementacioacuten delservicio Web

El logro de estos objetivos ha hecho de SOAP un protocolo extremadamente uacutetil ya que elprotocolo de comunicacioacuten HTTP es el empleado para la conexioacuten sobre Internetpor lo que segarantiza que cualquier cliente con un navegador estaacutendar pueda conectarse con un servidor re-moto Ademaacutes los datos en la transmisioacuten se empaquetan o serializan con el lenguaje XML quese ha convertido en algo imprescindible en el intercambio de datos ya que es capaz de salvar lasincompatibilidades que existiacutean en el resto de protocolos de representacioacuten de datos de la red

Por otra parte los servidores Web pueden procesar las peticiones de usuario empleando tec-nologiacuteas tales como Servlets paacuteginas ASP (Active Server Pages) paacuteginas JSP (Java ServerPages) o sencillamente un servidor de aplicaciones con invocacioacuten de objetos mediante CORBACOM o EJB

Un ejemplo tiacutepico de disentildeo de un servicio Web utilizando las ventajas de SOAP podemos veren la siguiente gura 45

Figura 45 Ejemplo de uso de SOAP

45 AMF

AMF (Action Message Format) es un protocolo binario de Adobe que va por la versioacuten AMF3Aunque por el nombre de la versioacuten pueda parecer que existan 3 cabe destacar que soacutelo existendos AMF0 y AMF3 Una de las mayores diferencias o mejoras que aporta AMF3 es que soporta

datos binarios (ByteArray) y int datos no soportados por AMF0 debido a que en la eacutepoca queaparecioacute el formato Flash Player no soportaba estos tipos de datos

AMF3 no es un protocolo para transferir informacioacuten sino que representa el formato en el quese transmite la informacioacuten en este caso un formato binario

La versioacuten de Moodle 25 viene con Zend_ AMF pero podemos utilizar tambieacuten la libreriacuteaamfPHP

AMFPHP

Zend_ amf httpframeworkzendcommanual112enzendamfhtml

Maacutes informacioacuten en httpdocsmoodleorgdevAMFPHP

46 Conguracioacuten de Moodle Web Services

Los Servicios Web habilitan que otros sistemas puedan entrar a Moodle y realizar operacionesPasaremos a detallar los pasos necesarios para su conguracioacuten y explicaremos distintos pruebasllevadas a cabo sobre su funcionamiento Para poder consumir de manera correcta unWeb Servicede Moodle seriacutea necesario antildeadir a la url que vamos a formar los paraacutemetros oportunos paralograr consumir el Web Service de manera satisfactoria Una vez antildeadidos ya podriacuteamos invocarla funcioacuten seleccionada

461 Activando los Servicios Web

Lo primero que debemos hacer es activar la opcioacuten general que habilita el uso de los serviciosweb En la gura 46 podemos observar la opcioacuten para la activacioacuten de este servicio para ello nosiremos a la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Servicios Externos

Figura 46 Activacioacuten Servicios Web

Esto solo es una opcioacuten a nivel global necesitando ahora activar los protocolos de comunciacionesque vamos a utilizar para ello deberemos ir a la opcioacuten textitAdministracioacuten del Sitio - Exten-siones - Servicios Web - Administrador de protoclos donde encontraremos las diferente opcionesque nos existen En la gura 47 podemos ver la pantalla de nuestra conguracioacuten con todos losprotocolos activados

Una vez activada la opcioacuten de Servicios Externos y seleccionados los protocolos que utilizaremosnecesitamos crear un Servicio Personalizado que no es maacutes que una etiqueta que aglutina los

Figura 47 Activacioacuten Protoclos

Servicios Web que ofrece Moodle y que pueden ser utilizados por los servicios externos Para ellodeberemos darle a la opcioacuten Agregar dentro de la opcioacuten Administracioacuten del Sitio - Extensiones- Servicios Web - Servicios Externos Como prueba habilitaremos un servicio llamado Uso_Servicio_ Web cuya creacioacuten podemos ver en la gura 48

Figura 48 Creacioacuten Servicio Personalizado

Una vez creado el Servicio Personalizado deberemos agregarle las funciones que queramos lesean permitidas pudiente tener maacutes de una En la gura 49 vemos como asociamos la creacioacutende usuarios al Servicio Personalizado

Terminado esto deberemos tener en el listado que nos muestra Moodle de Servicios personaliza-dos algo como lo mostrado en la gura 410

El siguiente paso es conceder los permisos apropiados para que este Servicio Personalizado puedeser usado por los usuarios pare ello debemos primero especicar quienes son los Usuarios au-torizados para ello en la linea de la lista de Servicios Personalizados deberemos pulsar sobre laopcioacuten usuarios autorizados donde apareceraacute una pantalla como 411 donde podremos escogerlos usuarios de los que se encuentran dados de alta en nuestro sistema

Y para terminar aunque este paso podriacutea ser realizado por el propio usuario si tuviera el per-miso de moodlewebservicecreatetoken seraacute la creacioacuten de un token el cual va ser la opcioacuten quevamos a utilizar para las pruebas de los Servicios Web de Moodle Para la creacioacuten del mismodeberemos entrar en la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Admin-istrar tokens y pulsar la opcioacuten Agregar para antildeadir un token nuevo como podemos apreciar en

Figura 49 Agregando funciones al Servicio Personalizado

Figura 410 Listado de Servicios Personalizados

la gura 412 teniendo la precaucioacuten de escoger como Servicio el Servicio Personalizado creadocon anterioridad Uso_ Servicio_ Web

En esta pantalla podemos poner varios tipos de restricciones

Restriccioacuten de IP Donde podemos indicar la direccioacuten IP desde donde

Restriccioacuten de Fecha Se puede denir hasta cuando seraacute valido este token siendo unabuena manera de poder probar cosas y no dejar puertas abiertas por error

En la gura 413 podemos ver el token asignado por el sistema para nuestro Servicio Personalizadoy que procederemos a utilizar para comprobar el funcionamiento de los Servicios Web de Moodle

462 Pruebas cliente Servicio Web

Procederemos ahora a desarrollar pruebas que utilicen los Servicios Personalizados creado Sepodriacutean haber utilizado el Cliente de prueba de servicio web que incorpora Moodle dentro dela opcioacuten Administracioacuten del Sitio - Desarrollo - Cliente de prueba servicio web pero hemosdecidido implementar una Web para comprobar la facilidad del funcionamiento del sistema y losdistintos resultados obtenidos seguacuten el protocolo utilizado

Utilizaremos la libreriacutea cURL de PHP cURL es una herramienta que permite abrir conexionesen una amplia variedad de protocolos y que estaacute disponible tanto como herramienta de consola(para ejecutar directamente con comandos) como en libreriacutea (para usar en vuestro coacutedigo) y quepermite hacer praacutecticamente todo manejo de cookies descarga de cheros binarios enviacuteos de

Figura 411 Alta de Usuarios Autorizados

Figura 412 Creacioacuten de Tokens

paraacutemetros GET y POST etc

La web creada para la introduccioacuten 414 de los usuarios seraacute equivalente para todos los procesosprocesos siendo el programa que da respuesta al formulario el que implemente la funcioacuten nece-saria para la introduccioacuten de los datos en Moodle

Los resultados de REST pueden mostrar los resultados del alta de dos maneras diferentes unaen formato XML como podemos ver en la gura 415 y otro en formatox JSON tambieacuten po-dremos ver en la gura Los resultados obtenidos tambieacuten pueden verse en el la gura 416

Figura 413 Lista de Tokens

Figura 414 Web de alta de usuarios

Figura 415 Resultado de REST en formato XML

Figura 416 Resultado de REST en formato JSON

Capiacutetulo 5

Herramientas Externas

51 Introduccioacuten

Las versiones de Moodle desde la 22 vienen con IMS LTI o External Tool de manera integradaEn versiones anteriores era necesario la instalacioacuten de plugins como LTI Provider (maacutes informa-cioacuten en la web de Moodle1 IMS LTI es un estandar de IMS learing2 para la interoperabilidadde herramientas Esto signica que las herramientas de aprendizaje tienen ahora un mecanismopara jar el modo en que pueden conectarse entre ellas sin problemas

En la praacutectica cuando un usuario se registra en Moodle puede conectarse a otras herramientascomo Wikis o Blogs y autenticarse de manera automaacutetica en estas

52 Estaacutendares IMS

Actualmente se realizan esfuerzos para la integracioacuten de servicios a una plataforma virtual deaprendizaje mediante un mecanismo reutilizable independiente del tipo de plataforma El IMSGlobal Learning Consortium viene desde hace tiempo trabajando en este enfoque IMS GLCpresenta un conjunto de estaacutendares que promueven el uso de servicios de aprendizaje digitales(Digital Learning Services) dentro de las plataformas de aprendizaje tradicionales IMS DigitalLearning Services estaacute integrado por los siguientes estaacutendares principales IMS Common Car-tridge [ims a] IMS Learning Tool Interoperability [ims c] y IMS Learning Information Services[ims b]

El IMS Learning Tool Interoperability es una especicacioacuten para facilitar la inclusioacuten de her-ramientas externas dentro de un curso El administrador de la plataforma de aprendizaje ges-tiona los servicios que podraacuten ser consumidos por la plataforma el docente decide que serviciosutilizaraacute en su curso y el estudiante hace uso de los mismos IMS LTI permite que distintos LMSconsuman un mismo servicio el cual no fue implementado teniendo en cuenta el tipo de LMSsino la implementacioacuten del estaacutendar desde el lado del proveedor

El enfoque del IMS LTI estaacute dirigido a la creciente demanda de un mecanismo reutilizable para laintegracioacuten de herramientas de terceros en el nuacutecleo de las plataformas LMS Estas herramientas

1httpsmoodleorgpluginsviewphpplugin=local_ltiprovider2httpwwwimsglobalorgtoolsinteroperability2cfm

37

pueden agregar funcionalidad especializada a los LMS El enfoque ofrece una solucioacuten basada enWeb Services igualmente aplicable a distintos lenguajes de programacioacuten

Las versiones del LTI son

LTI v10 ( LTI Basic ) ( publicado en mayo de 2010 ) proporciona un meacutetodo sencillopero estaacutendar para establecer una conexioacuten segura a una herramienta desde el interior deun consumidor de herramientas El lanzamiento de este enlace permite una experienciade aprendizaje sin problemas para los estudiantes que acceden a las aplicaciones ricas queparecen tener lugar dentro del ambiente de aprendizaje Versioacuten 10 es el primer paso en eldesarrollo continuo de LTI Figura 51

LTI v11 ( publicado en marzo 2012 ) antildeade la posibilidad de pasar de nuevo un resultadode la herramienta al Consumidor de herramientas Esto permite que los estudiantes recibenuna calicacioacuten o puntuacioacuten de su interaccioacuten con la aplicacioacuten de aprendizaje

LTI v111 ( publicado en julio de 2012 ) incluye soporte para el papel Mentor que se puedeutilizar para representar a un padre tutor o auditor

LTI v20 Aun en estado de desarrollo y proporciona una plataforma maacutes sosticado y ex-tensible para permitir integraciones maacutes profundas y un mayor apoyo para los serviciosy eventos LTI 2 se basa en LTI 1 mediante la incorporacioacuten de maacutes sosticada resulta-dos de informes y una rica arquitectura de extensiones que permite servicios adicionalesque se antildeadiraacuten gradualmente LTI 2 utiliza REST y JSON-LD para ofrecer esta nuevafuncionalidad

Figura 51 Esquema LTI Baacutesico

En la gura 52 podemos observar como se podriacutean utilizar las ventajas de LTI por parte decada unos de los actores a lo largo de la vida de la aplicacioacuten de servicios externos dentro de unaplataforma de aprendizaje

En la paacutegina web de IMS3 podemos encontrar una relacioacuten de aplicaciones certicadas comocompatibles con el estaacutendar LTI indicando la versioacuten del LTI que cumplen En la gura 53podemos ver las aplicaciones certicadas por UOC y en la gura 54 la informacioacuten sobre una deestas herramientas

3httpwwwimsglobalorgccalltoolscfm

Figura 52 Esquema utilizacioacuten LTI

Figura 53 Listado de herramientas LTI de la UOC

53 Herramientas externas en Moodle

La siguiente seccioacuten consiste en la aplicacioacuten de alguno de esto servicios externos en Moodlepara comprobar su funcionamiento Nos decantaremos para la primera prueba por WordPresspues aunque existen manuales al respecto la documentacioacuten en castellano es escasa

531 Wordpress

La versioacuten estaacutendar de Wordpress a la cual accedemos cuando nos abrimos cuenta en Wordpressno viene con las herramientas necesarias para la iteracioacuten mediante LTI por lo que procedere-mos a la instalacioacuten en nuestro servidor de Wordpress para pasar a la instalacioacuten de los pluginsnecesarios

La instalacioacuten ha consistido en la descarga de la web ocial 4 de la versioacuten 351 la cual hemoscopiado dentro del directorio htdocs de nuestra instalacioacuten de Xampp Hemos dado de alta unnuevo usuario en nuestra base de datos llamado username como podemos ver en la imagen 55 yposteriormente hemos seguido los pasos que el instalador nos iba ofreciendo para tener instalado

4httpwordpressorgdownload

Figura 54 Informacioacuten sobre la certicacioacuten

Wordpress bajo la url httplocalhostwordpress

Figura 55 Usuario de Wordpress

Deberemos congurar Wordpress para que trabaje como multisitio para lo que deberemos seguirlos pasos de conguracioacuten que podemos encontrar en la web ocial de Wordpress5 bajo el nombreCreate A Network consistente en los siguientes pasos

1 Realizar una copia de seguridad por si acaso

2 Modicar el chero wp-congphp incluyendo la siguiente linea encima de Thats allstop editing Happy blogging Multisite dene (WP_ ALLOW_ MULTISITE true)

Multisite dene (WP_ ALLOW_ MULTISITE true)

3 Installar un Network Para ello hemos de entra en la opcioacuten Administration -gtTools -gtNetwork Setup donde podremos congurar opciones sobre el nombre que queremos declararpara el nuevo sitio

4 Activar el Network para ello debemos modicar los cheros wp-congphp y htaccess porlo que seriacutea bueno que realizaacuteramos primero un copia de seguridad de los mismos Loscambios que debemos realizar son los siguientes

5httpcodexwordpressorgCreate_A_Network

En wp-congphp dene(MULTISITE true)dene(SUBDOMAIN_ INSTALL false)dene(DOMAIN_ CURRENT_ SITE localhost)dene(PATH_ CURRENT_ SITE wordpress)dene(SITE_ ID_ CURRENT_ SITE 1)dene(BLOG_ ID_ CURRENT_ SITE 1)

El chero htaccess debe quedar asiacute BEGIN WordPressltIfModule mod_ rewritecgtRewriteEngine OnRewriteBase wordpressRewriteRule icircndexphp$ - [L]

add a trailing slash to wp-adminRewriteRule ([_ 0-9a-zA-Z-]+)wp-admin1wp-admin [R=301L]

RewriteCondREQUEST_ FILENAME -f [OR]RewriteCondREQUEST_ FILENAME -dRewriteRule - [L]RewriteRule ([_ 0-9a-zA-Z-]+)(wp-(content|admin|includes)) $2 [L]RewriteRule ([_ 0-9a-zA-Z-]+)( php)$ $2 [L]RewriteRule indexphp [L]ltIfModulegt

END WordPress

5 Esto nos habraacute creado en la parte izquierda de la barra de herramientas de Wordpressuna nueva opcioacuten llamada My Sites que contendraacute un listado de los sitios de nuestroWordpress

El siguiente paso seraacute la descarga del plugin los cual podremos hacerlos desde la web de sour-forgenet 6 En esta web se detalla informacioacuten sobre el plugin y como se debe instalar Siguiendolos pasos que tenemos en el mismo procederemos a la descarga y el desplegado del mismo en lacarpeta wp-contentmu-plugins Salimos de Wordpress y volvemos a entrar como superusuariosi entramos dentro de la nueva red realizada podremos ver que dentro de LTI Consumers Keystendremos la opcioacuten LTI Consumers Keys como podemos ver en la imagen 56

Aquiacute deberemos crear la clave del consumidor del servicio y la clave secreta que nos permitiraacute aMoodle conectarse a Wordpress

Una vez que tenemos la clave secreta y del consumidor deberemos volver a Moodle entrandocomo administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

6httpsourceforgenetappsmediawikilearningappsindexphptitle=LTI4Wordpress

Figura 56 Servicios LTI en Wordpress

Figura 57 Listado de claves de LTI en Wordpress

-LTI En esta paacutegina podremos rellenar nuestras opciones

Tool Name Seraacute el nombre que tendraacute la herramienta y deberemos poner alguno indicativode la herramienta que estemos utilizando

Tool Base URL Es la direccioacuten de la herramienta en nuestro caso httplocalhostwordpress

Deberemos rellenar con los datos obtenidos en Wordpress la clave de consumidor y la clavesecreta

Es importante marcar Show tool type when creating tool instances para que aparezcaposteriormente al crear los recursos en nuestros cursos

Para poder probar el sistema hemos creado un curso dentro de Moodle llamada WordpressLTIdonde daremos de la siguiente manera de alta 59

Dentro de nuestro curso seleccionamos la opcioacuten de Edicioacuten

Pulsamos sobre Antildeadir una actividad o un recurso

Seleccionamos External Tool

Rellenamos las opciones

bull Nombre de la Actividad Cualquiera de nuestra eleccioacuten

Figura 58 Conguracioacuten LTI en Moodle

bull Tipo de herramienta externa El nombre que le pusimos a la herramienta externa enla conguracioacuten LTI de Moodle

bull Launch Container Hemos elegido la opcioacuten Incrustar para ver el resultado

Figura 59 Conguracioacuten Herramienta Externa

Una vez congurado podemos lanzar la herramienta externa teniendo como resultado la gura510

Figura 510 Wordpress integrado en Moodle

532 ChemVantage

ChemVantage es un recurso gratuito para la educacioacuten cientiacuteca que incluye ejercicios de gradoejercicios de preparacioacuten exaacutemenes de la praacutectica conferencias de video y libros de texto enliacutenea gratis Fue creado por ChemVantage LLC que fue fundada por el Prof Chuck Wight queha ensentildeado Quiacutemica General en la Universidad de Utah desde 1984 (ChemVantage 2011)

Nos hemos puesto en contacto con Chuck Wight (adminchemvantageorg) para solicitarle unaclave de consumidor y secreta para poder probar este recurso desde moodle Las opciones y elcorreo puede verse en la gura 511

Una de las cosas maacutes importantes de ChemVantage y por lo que nos hemos decidido a probar esque permite la devolucioacuten de las notas obtenidas en los ejercicios realizados en las herramientasexternas a Moodle El alumno podraacute realizar las tareas en esta herramienta externa y luego sercalicadas en Moodle

ChemVantage estaacute certicada por IMS 7 como un proveedor de herramientas LTI v11 y comotal funciona desde nuestro propio LMS para llevar a cabo la autenticacioacuten de sitios provee decuentas y devuelve resultados de asignacioacuten de estudiantes con el libro LMS grado automaacutetica-mente

Los recursos disponible son ChemVantage son principalmente los siguientes

1 QuizzesLos ejercicios presentados aquiacute estaacuten disentildeados para animar a los estudiantes a leer y en-tender los libros de texto utilizados en el curso Las preguntas se basan en material que sepresente en su mayor parte en los textos de introduccioacuten de quiacutemica Los iacutetems de preguntastienen respuestas straighforward no requieren caacutelculos detallados Las preguntas se presen-tan en varios formatos diferentes incluyendo opcioacuten muacuteltiple verdadero falso casilla devericacioacuten ll-in-the-blanco y numeacutericas Cada cuestionario se compone de 10 preguntasextraiacutedas al azar de una base de datos con muchas maacutes preguntas En el proceso de tomarvarias pruebas para mejorar sus calicaciones los estudiantes probablemente encuentran

7httpdevelopersimsglobalorgcoursechemvantagehtml

algunas preguntas repetidas de concursos anteriores sin embargo es poco probable quecualquiera de los dos cuestionarios contendraacute exactamente el mismo conjunto de preguntasen el mismo orden Asignando pruebas para ser completado antes de la conferencia losprofesores pueden estar seguros de que sus estudiantes tengan un poco de exposicioacuten almaterial Esto permite una mayor discusioacuten el diaacutelogo y la participacioacuten en el aula y haceel aprendizaje maacutes divertido (de verdad)

2 Video LecturesUna serie de conferencias de viacutedeo de 10 minutos sobre una variedad de temas de QuiacutemicaGeneral es accesible desde la paacutegina principal Los videos estaacuten disentildeados para reforzar lospuntos principales que se presentan en muchos libros de texto

3 HoweworksLas tareas estaacuten disentildeadas para dar a los estudiantes la praacutectica en la resolucioacuten de proble-mas cuantitativos que tienen respuestas numeacutericas Cada alumno puede descargar la tareatrabajar los problemas y presentar las respuestas en liacutenea Respuestas son juzgados a sercorrecta si la solucioacuten numeacuterica de acuerdo con la solucioacuten que se encuentra en la base dedatos dentro de una tolerancia especicada (indicado para cada problema) El sitio informaa los estudiantes que las respuestas son correctas para que puedan rehacer problemas malresueltos y volver a presentar las respuestas Cada problema se basa en una plantilla queatrae paraacutemetros al azar por lo que la respuesta correcta es diferente para cada estudianteEsto hace que sean adecuadas para la colaboracioacuten y el trabajo en grupo porque a pesarde que el grupo puede trabajar para encontrar un algoritmo correcto para resolver un prob-lema cada estudiante tendraacute que usar el algoritmo para encontrar la solucioacuten detallada asu propio problema

4 Practice ExamsLos estudiantes pueden realizaar exaacutemenes de praacutectica cronometrados que muestran laspreguntas de un grupo de 3 o maacutes temas Cada examen estaacute disentildeado para tardar unos60 minutos o menos e incluye una seleccioacuten de 10 preguntas Las praacutecticas de exaacutemenespueden repetirse cuantas veces se desee Las preguntas numeacutericas son parametrizadas loque es muy poco probable que un estudiante realice alguna vez dos exaacutemenes de praacutecticaideacutenticos

5 Portofolio PageCada estudiante puede acceder a una paacutegina que le da la puntuacioacuten obtenida en cada prue-ba y la asignacioacuten de tareas Los estudiantes que son miembros de un grupo tienen unapaacutegina de resultados asociados a las tareas de grupo Hay una paacutegina de carpeta separadaque contiene un resumen de todas las actividades realizadas en ChemVantage incluyendovideos vistos cuestionarios completados resolver problemas con la tarea y la praacutectica deexaacutemenes completados Las puntuaciones en los exaacutemenes de praacutectica son desagregadospara revelar fortalezas y debilidades estudiantes por temas

Hemos procedido a darlo de alta en LTI como hicimos con Wordpress Entramos en Moodle co-mo Administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

Figura 511 Correo de Chuck Wight

-LTI quedando como resultado la siguiente hoja de paraacutemetros gura 512

El siguiente paso seraacute antildeadir la herramienta dentro de nuestro curso para ello pulsaremos sobreAntildeadir una actividad o un recurso Deberemos seleccionar External Tool y rellenamos las op-ciones de la herramienta seleccionando como Tipo de herramienta externa la opcioacuten creada enel apartado de LTI de Moodle

Una vez congurado la herramienta en Moodle podemos entrar para realizar una personalizacioacutende la herramienta gura 513 esta consiste en indicar si el alumno cuando se conecta realiza undeterminado tarea o puede elegir navegar por la web de ChemVantage para poder disfrutar dela cantidad de recursos que se encuentran disponibles

Cuando el usuario pulsa sobre la opcioacuten de esta herramienta externa en Moodle lo primero quese le muestra es la informacioacuten sobre su perl en Chemvantage 514Como hemos visto en los paraacutemetros de conguracioacuten existe la posibilidad de llamar a unaherramienta externa incrustaacutendola dentro de Moodle o abrieacutendolo en una paacutegina web nuevaCon esta segunda opcioacuten no hemos conseguido que funcione correctamente la importacioacuten de lasnotas En cambio si la herramienta externa estaacute incrustada permite esa vinculacioacuten

Figura 512 Conguracioacuten de paraacutemetros LTI

Figura 513 Opciones de inicio de la herramienta

Figura 514 Pantalla de utilizacioacuten de la herramienta por el usuario

Capiacutetulo 6

Middleware

61 Introduccioacuten

La uacuteltima opcioacuten seriacutea utilizar una arquitectura middleware de integracioacuten que permita la inte-gracioacuten ligera de muacuteltiples herramientas existentes en el Moodle

62 GluePS

GLUE-PS es una arquitectura de middleware que permite una interoperabilidad ligera entrelos diferentes lenguajes de disentildeo de aprendizaje y diferentes entornos de aprendizaje virtualEsta interoperabilidad permite a los maestros y otros profesionales que particularicen (es decirpara personalizar el disentildeo de aprendizaje abstractoa la clase particular los participantes y laeleccioacuten de los instrumentos en los que va a ser promulgada) desplieguen (es decir para crearde forma semiautomaacutetica las actividades necesarias en el VLE recursos etc para la aprobacioacutendel disentildeo particularizado) e incluso para llevar a cabo ciertos cambios en el tiempo de ejecucioacuten(por ejemplo modicar la composicioacuten del grupo agregar o quitar recursos de las actividadesetc) Todo esto a partir de disentildeos en distintos lenguajes de disentildeo de aprendizaje tales como laespecicacioacuten IMS-LD aprendizaje

Por otra parte GLUE-PS tambieacuten permite desplegar y gestionar disentildeos de aprendizaje en en-tornos virtuales de aprendizaje que integren herramientas de aprendizaje externos (tales comointegrar en Moodle herramientas como Google Docs y muchos otros) - lo que llamamos Am-bientes de Aprendizaje Distribuido (DLE Distributed Learning Enviroments) Esto se consiguegracias a la arquitectura de GLUE para la integracioacuten de los entornos virtuales de aprendizajey herramientas externas

621 Instalacioacuten

Para realizar la instalacioacuten de GLUE-PS nos hemos descargado el software necesario de la webde los desarrolladores1 descargando la opcioacuten de autenticacioacuten centralizada La instalacioacuten haconstado de tres partes que pasaremos a describir a continuacioacuten

1httpwwwgsicuvaesglue

49

Figura 61 Arquitectura de GLUE

La primera parte consiste en la instalacioacuten del GLUEletManager y los adaptadores GSIC toolAunque el sistema viene preparado para Linux o Windows siendo Windows la explicacioacuten quevamos a desarrollar por estar utilizando este sistema operativo con Xampp

1 Crear el directorio GLUE_ HOME El cual hemos creado para mayor comodidad en la raiacutezdel disco duro

2 Denir la variable del sistema GLUE_ HOME con el valor de la direccioacuten completa deldirectorio de GLUE del punto anterior Para ello hemos pulsado botoacuten derecho sobre MiPc Propiedad Opciones Avanzadas Variables de Entorno procediendo a pulsar el botoacutenNueva para crear la variable en cuestioacuten

3 Extraemos en el directorio del punto (1) el paquete descargado de la paacutegina de los desar-rolladores

4 Ejecutar la instalacioacuten del cheroGLUE_ HOMEbininstall gluebat para registar GLUElet-Manager y GSIC tool como un servicio de Windows Tambieacuten este paso crearaacute un cheroen GLUE_ HOMEtool_ adapteradapterdata para proveer de persistencia a los objetoscreados con el adaptador GSIC tool

A continuacioacuten daremos de alta en nuestro gestor de bases de datos un para de bases de datosque necesita GLUEletManager Para ellos seguimos los siguientes pasos

1 Abrimos la consola de phpMyaAdmin para cargar y ejecutar el chero create_ GLUE_databasessql que se encuentra en GLUE_ HOMEmanagerconfdb

2 Modicamos el chero GLUE_ HOMEmanagerconfMETA-INFpersistencexml paradarle los paraacutemetros necesarios para que JDBC se conecte a nuestra base de datos Losparaacutemetros modicados puede verse en la imagen 62

Figura 62 Paraacutemetros modicados en persistencexml

La segunda parte consiste en el registro interno de los adaptadores de las herramientas para seraccedido con GLUEletManager La distribucioacuten trae un chero para facilitar la conguracioacuten delos adaptadores que trae consigo y para su instalacioacuten deberemos ejecutar el chero GLUE_HOMEmanagerconfdbll _ internal_ Registrysql Alguna de las herramientas necesitanuna conguracioacuten maacutes completa como puede ser Google Docs adapter que necesita una cuentade Gmail para poder crear documentos en Google Docs por lo que deberemos modicar el nom-bre de usuario y contrasentildea

La uacuteltima parte consiste en la instalacioacuten del adaptardor de Moodle como VLE utilizado Estainstalacioacuten es como cualquier otro moacutedulo de Moodle 2 La carpeta que deberemos copiar seraacutela del adaptador correspondiente a Moodle que se encuentra en la carpeta GLUE_ HOMEvle_adpatersmoodle_ vle_ adapter Una vez entremos en nuestro Moodle como administrador nosapareceraacute un mensaje indicaacutendonos que el nuevo moacutedulo esta instalado Para congurar el nuevomoacutedulo debermos ir a Noticaciones - Modulos - Actividades como podemos ver en la gura 63para congurar los paraacutemetros la URL del GLUEletManager y el tiempo de espera

Figura 63 Paraacutemetros del moacutedulo GLUE

Cuando el profesor quiera crear una nueva actividad dependiente de los adaptadores de GLUEdeberaacute agregar una actividad maacutes pulsando para ello en esta opcioacuten dentro del bloque deseadopara seleccionar luego el tipo de actividad GLUElet como podemos ver en la gura64

622 Creando un Doodle

El adaptador Doodle permite la creacioacuten conguracioacuten y gestioacuten de instancias del Doodle Cadaencuesta Doodle es considerado un instancia diferente Ademaacutes este adaptador permite realizarademas la conguracioacuten inicial de encuestas Doodle incluyendo el nombre de la encuesta unadescripcioacuten y un conjunto de posibles respuestas

A continuacioacuten antildeadiremos Doodle en un bloque de Moodle para ellos pulsaremos la opcioacuten deAgregar actividad GLUElet lo cual nos mostraraacute la paacutegina65 donde deberemos rellenar comomiacutenimo el nombre de la actividad y el tipo de herramienta seleccionado en este caso Doodle(httpdoodle-testcom)

2httpdocsmoodleorgenInstalling_contributed_modules_or_plugins

Figura 64 Creando una actividad GLUElet

La primera vez que pulsemos sobre la nueva actividad creada apareceraacute un pantalla 66 dondepodemos congurar diferentes elementos de la encuesta desarrollada con Doodle como son eltiacutetulo una pequentildea descripcioacuten y luego las opciones posibles con un liacutemite de 10

El resultado nal seraacute la incrustacioacuten de una encuesta Doodle dentro de nuestro Moodle comopodemos ver en la gura67

Figura 65 Antildeadiendo Doodle como actividad

Figura 66 Opciones iniciales de conguracioacuten de Doodle

Figura 67 Doodel dentro de Moodle

Capiacutetulo 7

Conclusiones Finales

71 Conclusiones Finales

El proyecto actual nos ha servido para acercarnos a las diferentes tecnologiacuteas que permiten lacomunicacioacuten entre Servicios Webs Hemos desarrollado una primera labor de investigacioacuten queha requerido el aprendizaje de diferentes herramientas de control de documentacioacuten y referenciascomo Zotero y Mendeley

La documentacioacuten recabada en el proceso inicial de revisioacuten de documentos nos ha aportadoun visioacuten general de los diferentes sistemas virtuales de aprendizaje que podemos encontrarnosmuchos de ellos gratuitos y las diferentes soluciones que se plantean a la necesidad de incluirrecursos de otros fabricantes que en principio no fueron concebidos para ser utilizados dentro deuna plataforma VLE

Para poner en praacutectica la diferentes opciones encontradas se han montado diferentes maacutequinasvirtuales sobre las que se han probado las mismas Las conclusiones nales se pasan a detallar

IMS LTIEsta solucioacuten de integracioacuten mediante el cumplimiento de unos protocolos y certicacionesde las herramientas que lo cumplen es en principio la que podriacutea parecer la mejor opcioacutenpero la falta de compromiso de los diferentes fabricantes de Servicios Web y la luchapara imponer sus propios estaacutendares hace que aun quede mucho para que esta opcioacuten seacomo tal real

Si vemos el nuacutemero de aplicaciones certicadas para usar IMS LTI apenas superan las 50 yla mayoriacutea solo cumple la especicacioacuten v10 lo cual signica que la integracioacuten solo solu-ciona el problema de llamar a un recurso externo desde Moodle Pocas son las que cumplenla v11 que permite obtener en Moodle una valoracioacuten de los ejercicios desarrollados en unaactividad externa

La versioacuten v20 que daraacute maacutes opciones a la hora de interactuar con actividades externasauacuten esta en desarrollo y nada se sabe sobre posibles fechas para su presentacioacuten Luegocerticacioacuten de herramientas etc

55

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 32: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

Figura 33 Panel de control de XAMPP

Figura 34 Gestor de bases de datos phpMyAdmin

Capiacutetulo 4

Servicios Web de Moodle

41 Introduccioacuten

Moodle 2X incorpora la posibilidad de implementar Servicios Web para manejar sus funciona-lidades lo que nos permite poder acceder a acciones de actualizar y crear tareas para reejar elresultado de las actividades realizadas Moodle soporta varios protocolos (REST SOAP XML-RPC y AMF)

42 Servicios Web de Moodle

Los Servicios Web de Moodle se caracterizan por permitir el acceso desde cualquier aplicacioacutenimplementando para ello tres capas como podemos observar en la gura 41

Capa nuacutecleoLa capa del nuacutecleo estaacute compuesta de todas las funciones principales de Moodle sobreusuarios grupos cursos calendario etc Moodle no dispone de una API al uso sino queofrece diferentes funciones que han sido desarrolladas durante antildeos Por tanto las necesi-dades de los Servicios Web estaacuten obligando a rehacer estas funciones del nuacutecleo para quecomiencen a formar una API (Moodle 2X)

Capa externaLa capa externa estaacute compuesta por nuevos cheros llamados externalphp colocados porlas carpetas de Moodle y conteniendo manejadores para la capa inferior Estos manejadoresson los responsables de comprobar las capacidades paraacutemetros y llamadas correctas a lasfunciones de nuacutecleo

Capa de conectoresLa capa de conectores estaacute compuesta de diferentes conectores para las diferentes imple-mentaciones de los Servicios Web y contiene un conector REST un conector SOAP unconector XML-RPC y un conector AMF Esta capa admite plugins para ampliar los conec-tores disponibles de manera que se puedan integrar otros sistemas en Moodle utilizandootros protocolos

Los pasos para utilizar un Servicio Web con Moodle seriacutean los siguientes

1 El cliente enviacutea el nombre de usuario y contrasentildea al servidor que provee los ServiciosWeb

27

Figura 41 Capas en Moodle

2 El servidor de protocolo devuelve un token de sesioacuten para esa cuenta de usuario

3 El cliente llama a un Servicio Web especiacuteco incluyendo el token de sesioacuten

4 El servidor utiliza el token para comprobar que la sesioacuten del Servicio Web estaacute activa

5 El servidor llama a la funcioacuten correspondiente localizada en el chero externallibphp dentrodel moacutedulo especiacuteco

6 La funcioacuten externa comprueba que el usuario actual tenga los permisos sucientes pararealizar esta operacioacuten

7 La funcioacuten externa llama a la funcioacuten correspondiente del nuacutecleo de Moodle (libphp)

8 La funcioacuten del nuacutecleo puede retornar un resultado a la funcioacuten externa

9 La funcioacuten externa devolveraacute el resultado al servidor de protocolo

10 El servidor de protocolo devolveraacute el resultado al cliente

43 REST

REST (Representational State Transfer) es el acroacutenimo de Transferencia de Estado Representa-cional teacutermino usado por Roy Fielding (uno de los creadores de HTTP) para describir un estilode arquitectura que utilizar como modelo en los sistemas de computacioacuten Web No es un es-taacutendar sino un enfoque que muestra como desarrollar y proporcionar servicios en Internet portanto considerado como un estilo arquitectoacutenico para disentildeo de software a gran escala El propioautor lo dene de manera concisa en eacuteste paacuterrafo

REST es un intento de mostrar coacutemo debe comportarse una aplicacioacuten Web bien disentildeada unared de paacuteginas Web (una maacutequina de estados virtual) donde el usuario progresaraacute seleccionan-do enlaces (transiciones de estado) que devuelven la paacutegina siguiente (el siguiente estado de lamaacutequina) que el usuario manejaraacute a su gusto

Este enfoque no aporta realmente nada nuevo la mayor parte de la Web sigue este estilo arqui-tectoacutenico Sin embargo el autor hace eacutenfasis en las caracteriacutesticas concretas que han hecho quela Web triunfe que van a ser los objetivos buscados por REST y que son a su juicio

Escalabilidad en las interacciones entre componentes La red ha ido creciendo de maneraexponencial y se ha ido comportado de manera satisfactoria

Generalidad en las interfaces Se proporciona acceso con distintos clientes y con distintosmecanismos de acceso

Desarrollo independiente de componentes Implementaciones cliente y servidor pueden serdesarrolladas en distintos momentos

Existencia de componentes intermediarios con los cuales existe compatibilidad (comoproxys)que permiten encapsulacioacuten e integracioacuten de sistemas no Web dentro de la misma

431 Principios de disentildeo

Los objetivos citados van a ser conseguidos imponiendo una serie de restricciones

El estado y la funcionalidad de las aplicaciones se representan por forma de recursos

La identicacioacuten de recursos se realiza de forma uacutenica global mediante Uniform ResourceIdentiers Los recursos identicados con URIs son los objetos loacutegicos a los cuales se lesmandan los mensajes

Manipulacioacuten de recursos a traveacutes de representaciones luego no se manejan directamentelos recursos sino sus representaciones

Todos los recursos comparten un interfaz uniforme formado por

bull Un conjunto de operaciones limitado para transferir el estado Se van a aprovecharlas operaciones que HTTP dene mostradas en la gura 42

bull Un conjunto limitado de tipos de contenidos identicados mediante tipos MIME

Uso de un protocolo clienteservidor sin estado y basado en capas Cada mensaje HTTPcontendraacute la informacioacuten necesaria para comprender la peticioacuten luego como muestra lagura 43 no es necesario que eacutesta sea entendida tanto en el cliente como en el servidor

Uso de hipermedios para representar el estado de una aplicacioacuten permitiendo que el estadode una aplicacioacuten Web particular esteacute almacenado en uno o maacutes documentos de hipertextoque residen bien en el servidor o en el cliente Esto permite al servidor saber el estado desus recursos sin necesidad de almacenar el estado de los clientes concretos

Figura 42 Operaciones denidas por HTTP

Como ya se mencionoacute REST se trata de un estilo arquitectoacutenico no un estaacutendar Sin embargohace uso de varios estaacutendares Web

HTTP HyperText Transfer Protocol

Figura 43 Operaciones denidas por HTTP

URL Uniform Resource Locator como el mecanismo de indenticacioacuten de recursos

XML - HTML - PNG - etc Como distintos formatos de representacioacuten de recursos

Tipos MIME como text-xml text-html image-png etc

44 SOAP

SOAP (siglas de Simple Object Access Protocol) es un protocolo estaacutendar que dene coacutemo dosobjetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML Esteprotocolo deriva de un protocolo creado por David Winer en 1998 llamado XML-RPC SOAPfue creado por Microsoft IBM y otros y estaacute actualmente bajo el auspicio de la W3C

441 Principios de disentildeo

La funcionalidad que aporta SOAP es la de proporcionar un mecanismo simple y ligero de in-tercambio de informacioacuten entre dos puntos usando el lenguaje XML SOAP no es maacutes que unmecanismo sencillo de expresar la informacioacuten mediante un modelo de empaquetado de datosmodular y una serie de mecanismos de codicacioacuten de datos Esto permite que SOAP sea uti-lizado en un amplio rango de servidores de aplicaciones que trabajen mediante el modelo decomunicacioacuten RPC (Remote Procedure Call)

SOAP consta de tres partes como podemos ver en la gura 44

El SOAP envelope que dene el marco de trabajo que determina queacute se puede introduciren un mensaje quieacuten deberiacutea hacerlo y si esa operacioacuten es opcional u obligatoria

Las reglas de codicacioacuten SOAP que denen el mecanismo de serializacioacuten que seraacute usadopara encapsular en los mensajes los distintos tipos de datos

La representacioacuten SOAP RPC que dene un modo de funcionamiento a la hora de realizarllamadas a procedimientos remotos y la obtencioacuten de sus resultados

A la hora de realizar el disentildeo de SOAP se han tenido en cuenta una serie de consideracionescon el n de cumplir una serie de objetivos claros objetivos que le daraacuten el potencial que resideen SOAP y que le haraacuten tan atractivo Eacutestos son

Establecer un protocolo estaacutendar de invocacioacuten a servicios remotos que esteacute basado enprotocolos estaacutendares de uso frecuente en Internet como son HTTP (Hiper Text TransportProtocol) para la transmisioacuten y XML (eXtensible Markup Language)para la codicacioacutende los datos

Figura 44 Partes de SOAP

Independencia de plataforma hardware lenguaje de programacioacuten e implementacioacuten delservicio Web

El logro de estos objetivos ha hecho de SOAP un protocolo extremadamente uacutetil ya que elprotocolo de comunicacioacuten HTTP es el empleado para la conexioacuten sobre Internetpor lo que segarantiza que cualquier cliente con un navegador estaacutendar pueda conectarse con un servidor re-moto Ademaacutes los datos en la transmisioacuten se empaquetan o serializan con el lenguaje XML quese ha convertido en algo imprescindible en el intercambio de datos ya que es capaz de salvar lasincompatibilidades que existiacutean en el resto de protocolos de representacioacuten de datos de la red

Por otra parte los servidores Web pueden procesar las peticiones de usuario empleando tec-nologiacuteas tales como Servlets paacuteginas ASP (Active Server Pages) paacuteginas JSP (Java ServerPages) o sencillamente un servidor de aplicaciones con invocacioacuten de objetos mediante CORBACOM o EJB

Un ejemplo tiacutepico de disentildeo de un servicio Web utilizando las ventajas de SOAP podemos veren la siguiente gura 45

Figura 45 Ejemplo de uso de SOAP

45 AMF

AMF (Action Message Format) es un protocolo binario de Adobe que va por la versioacuten AMF3Aunque por el nombre de la versioacuten pueda parecer que existan 3 cabe destacar que soacutelo existendos AMF0 y AMF3 Una de las mayores diferencias o mejoras que aporta AMF3 es que soporta

datos binarios (ByteArray) y int datos no soportados por AMF0 debido a que en la eacutepoca queaparecioacute el formato Flash Player no soportaba estos tipos de datos

AMF3 no es un protocolo para transferir informacioacuten sino que representa el formato en el quese transmite la informacioacuten en este caso un formato binario

La versioacuten de Moodle 25 viene con Zend_ AMF pero podemos utilizar tambieacuten la libreriacuteaamfPHP

AMFPHP

Zend_ amf httpframeworkzendcommanual112enzendamfhtml

Maacutes informacioacuten en httpdocsmoodleorgdevAMFPHP

46 Conguracioacuten de Moodle Web Services

Los Servicios Web habilitan que otros sistemas puedan entrar a Moodle y realizar operacionesPasaremos a detallar los pasos necesarios para su conguracioacuten y explicaremos distintos pruebasllevadas a cabo sobre su funcionamiento Para poder consumir de manera correcta unWeb Servicede Moodle seriacutea necesario antildeadir a la url que vamos a formar los paraacutemetros oportunos paralograr consumir el Web Service de manera satisfactoria Una vez antildeadidos ya podriacuteamos invocarla funcioacuten seleccionada

461 Activando los Servicios Web

Lo primero que debemos hacer es activar la opcioacuten general que habilita el uso de los serviciosweb En la gura 46 podemos observar la opcioacuten para la activacioacuten de este servicio para ello nosiremos a la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Servicios Externos

Figura 46 Activacioacuten Servicios Web

Esto solo es una opcioacuten a nivel global necesitando ahora activar los protocolos de comunciacionesque vamos a utilizar para ello deberemos ir a la opcioacuten textitAdministracioacuten del Sitio - Exten-siones - Servicios Web - Administrador de protoclos donde encontraremos las diferente opcionesque nos existen En la gura 47 podemos ver la pantalla de nuestra conguracioacuten con todos losprotocolos activados

Una vez activada la opcioacuten de Servicios Externos y seleccionados los protocolos que utilizaremosnecesitamos crear un Servicio Personalizado que no es maacutes que una etiqueta que aglutina los

Figura 47 Activacioacuten Protoclos

Servicios Web que ofrece Moodle y que pueden ser utilizados por los servicios externos Para ellodeberemos darle a la opcioacuten Agregar dentro de la opcioacuten Administracioacuten del Sitio - Extensiones- Servicios Web - Servicios Externos Como prueba habilitaremos un servicio llamado Uso_Servicio_ Web cuya creacioacuten podemos ver en la gura 48

Figura 48 Creacioacuten Servicio Personalizado

Una vez creado el Servicio Personalizado deberemos agregarle las funciones que queramos lesean permitidas pudiente tener maacutes de una En la gura 49 vemos como asociamos la creacioacutende usuarios al Servicio Personalizado

Terminado esto deberemos tener en el listado que nos muestra Moodle de Servicios personaliza-dos algo como lo mostrado en la gura 410

El siguiente paso es conceder los permisos apropiados para que este Servicio Personalizado puedeser usado por los usuarios pare ello debemos primero especicar quienes son los Usuarios au-torizados para ello en la linea de la lista de Servicios Personalizados deberemos pulsar sobre laopcioacuten usuarios autorizados donde apareceraacute una pantalla como 411 donde podremos escogerlos usuarios de los que se encuentran dados de alta en nuestro sistema

Y para terminar aunque este paso podriacutea ser realizado por el propio usuario si tuviera el per-miso de moodlewebservicecreatetoken seraacute la creacioacuten de un token el cual va ser la opcioacuten quevamos a utilizar para las pruebas de los Servicios Web de Moodle Para la creacioacuten del mismodeberemos entrar en la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Admin-istrar tokens y pulsar la opcioacuten Agregar para antildeadir un token nuevo como podemos apreciar en

Figura 49 Agregando funciones al Servicio Personalizado

Figura 410 Listado de Servicios Personalizados

la gura 412 teniendo la precaucioacuten de escoger como Servicio el Servicio Personalizado creadocon anterioridad Uso_ Servicio_ Web

En esta pantalla podemos poner varios tipos de restricciones

Restriccioacuten de IP Donde podemos indicar la direccioacuten IP desde donde

Restriccioacuten de Fecha Se puede denir hasta cuando seraacute valido este token siendo unabuena manera de poder probar cosas y no dejar puertas abiertas por error

En la gura 413 podemos ver el token asignado por el sistema para nuestro Servicio Personalizadoy que procederemos a utilizar para comprobar el funcionamiento de los Servicios Web de Moodle

462 Pruebas cliente Servicio Web

Procederemos ahora a desarrollar pruebas que utilicen los Servicios Personalizados creado Sepodriacutean haber utilizado el Cliente de prueba de servicio web que incorpora Moodle dentro dela opcioacuten Administracioacuten del Sitio - Desarrollo - Cliente de prueba servicio web pero hemosdecidido implementar una Web para comprobar la facilidad del funcionamiento del sistema y losdistintos resultados obtenidos seguacuten el protocolo utilizado

Utilizaremos la libreriacutea cURL de PHP cURL es una herramienta que permite abrir conexionesen una amplia variedad de protocolos y que estaacute disponible tanto como herramienta de consola(para ejecutar directamente con comandos) como en libreriacutea (para usar en vuestro coacutedigo) y quepermite hacer praacutecticamente todo manejo de cookies descarga de cheros binarios enviacuteos de

Figura 411 Alta de Usuarios Autorizados

Figura 412 Creacioacuten de Tokens

paraacutemetros GET y POST etc

La web creada para la introduccioacuten 414 de los usuarios seraacute equivalente para todos los procesosprocesos siendo el programa que da respuesta al formulario el que implemente la funcioacuten nece-saria para la introduccioacuten de los datos en Moodle

Los resultados de REST pueden mostrar los resultados del alta de dos maneras diferentes unaen formato XML como podemos ver en la gura 415 y otro en formatox JSON tambieacuten po-dremos ver en la gura Los resultados obtenidos tambieacuten pueden verse en el la gura 416

Figura 413 Lista de Tokens

Figura 414 Web de alta de usuarios

Figura 415 Resultado de REST en formato XML

Figura 416 Resultado de REST en formato JSON

Capiacutetulo 5

Herramientas Externas

51 Introduccioacuten

Las versiones de Moodle desde la 22 vienen con IMS LTI o External Tool de manera integradaEn versiones anteriores era necesario la instalacioacuten de plugins como LTI Provider (maacutes informa-cioacuten en la web de Moodle1 IMS LTI es un estandar de IMS learing2 para la interoperabilidadde herramientas Esto signica que las herramientas de aprendizaje tienen ahora un mecanismopara jar el modo en que pueden conectarse entre ellas sin problemas

En la praacutectica cuando un usuario se registra en Moodle puede conectarse a otras herramientascomo Wikis o Blogs y autenticarse de manera automaacutetica en estas

52 Estaacutendares IMS

Actualmente se realizan esfuerzos para la integracioacuten de servicios a una plataforma virtual deaprendizaje mediante un mecanismo reutilizable independiente del tipo de plataforma El IMSGlobal Learning Consortium viene desde hace tiempo trabajando en este enfoque IMS GLCpresenta un conjunto de estaacutendares que promueven el uso de servicios de aprendizaje digitales(Digital Learning Services) dentro de las plataformas de aprendizaje tradicionales IMS DigitalLearning Services estaacute integrado por los siguientes estaacutendares principales IMS Common Car-tridge [ims a] IMS Learning Tool Interoperability [ims c] y IMS Learning Information Services[ims b]

El IMS Learning Tool Interoperability es una especicacioacuten para facilitar la inclusioacuten de her-ramientas externas dentro de un curso El administrador de la plataforma de aprendizaje ges-tiona los servicios que podraacuten ser consumidos por la plataforma el docente decide que serviciosutilizaraacute en su curso y el estudiante hace uso de los mismos IMS LTI permite que distintos LMSconsuman un mismo servicio el cual no fue implementado teniendo en cuenta el tipo de LMSsino la implementacioacuten del estaacutendar desde el lado del proveedor

El enfoque del IMS LTI estaacute dirigido a la creciente demanda de un mecanismo reutilizable para laintegracioacuten de herramientas de terceros en el nuacutecleo de las plataformas LMS Estas herramientas

1httpsmoodleorgpluginsviewphpplugin=local_ltiprovider2httpwwwimsglobalorgtoolsinteroperability2cfm

37

pueden agregar funcionalidad especializada a los LMS El enfoque ofrece una solucioacuten basada enWeb Services igualmente aplicable a distintos lenguajes de programacioacuten

Las versiones del LTI son

LTI v10 ( LTI Basic ) ( publicado en mayo de 2010 ) proporciona un meacutetodo sencillopero estaacutendar para establecer una conexioacuten segura a una herramienta desde el interior deun consumidor de herramientas El lanzamiento de este enlace permite una experienciade aprendizaje sin problemas para los estudiantes que acceden a las aplicaciones ricas queparecen tener lugar dentro del ambiente de aprendizaje Versioacuten 10 es el primer paso en eldesarrollo continuo de LTI Figura 51

LTI v11 ( publicado en marzo 2012 ) antildeade la posibilidad de pasar de nuevo un resultadode la herramienta al Consumidor de herramientas Esto permite que los estudiantes recibenuna calicacioacuten o puntuacioacuten de su interaccioacuten con la aplicacioacuten de aprendizaje

LTI v111 ( publicado en julio de 2012 ) incluye soporte para el papel Mentor que se puedeutilizar para representar a un padre tutor o auditor

LTI v20 Aun en estado de desarrollo y proporciona una plataforma maacutes sosticado y ex-tensible para permitir integraciones maacutes profundas y un mayor apoyo para los serviciosy eventos LTI 2 se basa en LTI 1 mediante la incorporacioacuten de maacutes sosticada resulta-dos de informes y una rica arquitectura de extensiones que permite servicios adicionalesque se antildeadiraacuten gradualmente LTI 2 utiliza REST y JSON-LD para ofrecer esta nuevafuncionalidad

Figura 51 Esquema LTI Baacutesico

En la gura 52 podemos observar como se podriacutean utilizar las ventajas de LTI por parte decada unos de los actores a lo largo de la vida de la aplicacioacuten de servicios externos dentro de unaplataforma de aprendizaje

En la paacutegina web de IMS3 podemos encontrar una relacioacuten de aplicaciones certicadas comocompatibles con el estaacutendar LTI indicando la versioacuten del LTI que cumplen En la gura 53podemos ver las aplicaciones certicadas por UOC y en la gura 54 la informacioacuten sobre una deestas herramientas

3httpwwwimsglobalorgccalltoolscfm

Figura 52 Esquema utilizacioacuten LTI

Figura 53 Listado de herramientas LTI de la UOC

53 Herramientas externas en Moodle

La siguiente seccioacuten consiste en la aplicacioacuten de alguno de esto servicios externos en Moodlepara comprobar su funcionamiento Nos decantaremos para la primera prueba por WordPresspues aunque existen manuales al respecto la documentacioacuten en castellano es escasa

531 Wordpress

La versioacuten estaacutendar de Wordpress a la cual accedemos cuando nos abrimos cuenta en Wordpressno viene con las herramientas necesarias para la iteracioacuten mediante LTI por lo que procedere-mos a la instalacioacuten en nuestro servidor de Wordpress para pasar a la instalacioacuten de los pluginsnecesarios

La instalacioacuten ha consistido en la descarga de la web ocial 4 de la versioacuten 351 la cual hemoscopiado dentro del directorio htdocs de nuestra instalacioacuten de Xampp Hemos dado de alta unnuevo usuario en nuestra base de datos llamado username como podemos ver en la imagen 55 yposteriormente hemos seguido los pasos que el instalador nos iba ofreciendo para tener instalado

4httpwordpressorgdownload

Figura 54 Informacioacuten sobre la certicacioacuten

Wordpress bajo la url httplocalhostwordpress

Figura 55 Usuario de Wordpress

Deberemos congurar Wordpress para que trabaje como multisitio para lo que deberemos seguirlos pasos de conguracioacuten que podemos encontrar en la web ocial de Wordpress5 bajo el nombreCreate A Network consistente en los siguientes pasos

1 Realizar una copia de seguridad por si acaso

2 Modicar el chero wp-congphp incluyendo la siguiente linea encima de Thats allstop editing Happy blogging Multisite dene (WP_ ALLOW_ MULTISITE true)

Multisite dene (WP_ ALLOW_ MULTISITE true)

3 Installar un Network Para ello hemos de entra en la opcioacuten Administration -gtTools -gtNetwork Setup donde podremos congurar opciones sobre el nombre que queremos declararpara el nuevo sitio

4 Activar el Network para ello debemos modicar los cheros wp-congphp y htaccess porlo que seriacutea bueno que realizaacuteramos primero un copia de seguridad de los mismos Loscambios que debemos realizar son los siguientes

5httpcodexwordpressorgCreate_A_Network

En wp-congphp dene(MULTISITE true)dene(SUBDOMAIN_ INSTALL false)dene(DOMAIN_ CURRENT_ SITE localhost)dene(PATH_ CURRENT_ SITE wordpress)dene(SITE_ ID_ CURRENT_ SITE 1)dene(BLOG_ ID_ CURRENT_ SITE 1)

El chero htaccess debe quedar asiacute BEGIN WordPressltIfModule mod_ rewritecgtRewriteEngine OnRewriteBase wordpressRewriteRule icircndexphp$ - [L]

add a trailing slash to wp-adminRewriteRule ([_ 0-9a-zA-Z-]+)wp-admin1wp-admin [R=301L]

RewriteCondREQUEST_ FILENAME -f [OR]RewriteCondREQUEST_ FILENAME -dRewriteRule - [L]RewriteRule ([_ 0-9a-zA-Z-]+)(wp-(content|admin|includes)) $2 [L]RewriteRule ([_ 0-9a-zA-Z-]+)( php)$ $2 [L]RewriteRule indexphp [L]ltIfModulegt

END WordPress

5 Esto nos habraacute creado en la parte izquierda de la barra de herramientas de Wordpressuna nueva opcioacuten llamada My Sites que contendraacute un listado de los sitios de nuestroWordpress

El siguiente paso seraacute la descarga del plugin los cual podremos hacerlos desde la web de sour-forgenet 6 En esta web se detalla informacioacuten sobre el plugin y como se debe instalar Siguiendolos pasos que tenemos en el mismo procederemos a la descarga y el desplegado del mismo en lacarpeta wp-contentmu-plugins Salimos de Wordpress y volvemos a entrar como superusuariosi entramos dentro de la nueva red realizada podremos ver que dentro de LTI Consumers Keystendremos la opcioacuten LTI Consumers Keys como podemos ver en la imagen 56

Aquiacute deberemos crear la clave del consumidor del servicio y la clave secreta que nos permitiraacute aMoodle conectarse a Wordpress

Una vez que tenemos la clave secreta y del consumidor deberemos volver a Moodle entrandocomo administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

6httpsourceforgenetappsmediawikilearningappsindexphptitle=LTI4Wordpress

Figura 56 Servicios LTI en Wordpress

Figura 57 Listado de claves de LTI en Wordpress

-LTI En esta paacutegina podremos rellenar nuestras opciones

Tool Name Seraacute el nombre que tendraacute la herramienta y deberemos poner alguno indicativode la herramienta que estemos utilizando

Tool Base URL Es la direccioacuten de la herramienta en nuestro caso httplocalhostwordpress

Deberemos rellenar con los datos obtenidos en Wordpress la clave de consumidor y la clavesecreta

Es importante marcar Show tool type when creating tool instances para que aparezcaposteriormente al crear los recursos en nuestros cursos

Para poder probar el sistema hemos creado un curso dentro de Moodle llamada WordpressLTIdonde daremos de la siguiente manera de alta 59

Dentro de nuestro curso seleccionamos la opcioacuten de Edicioacuten

Pulsamos sobre Antildeadir una actividad o un recurso

Seleccionamos External Tool

Rellenamos las opciones

bull Nombre de la Actividad Cualquiera de nuestra eleccioacuten

Figura 58 Conguracioacuten LTI en Moodle

bull Tipo de herramienta externa El nombre que le pusimos a la herramienta externa enla conguracioacuten LTI de Moodle

bull Launch Container Hemos elegido la opcioacuten Incrustar para ver el resultado

Figura 59 Conguracioacuten Herramienta Externa

Una vez congurado podemos lanzar la herramienta externa teniendo como resultado la gura510

Figura 510 Wordpress integrado en Moodle

532 ChemVantage

ChemVantage es un recurso gratuito para la educacioacuten cientiacuteca que incluye ejercicios de gradoejercicios de preparacioacuten exaacutemenes de la praacutectica conferencias de video y libros de texto enliacutenea gratis Fue creado por ChemVantage LLC que fue fundada por el Prof Chuck Wight queha ensentildeado Quiacutemica General en la Universidad de Utah desde 1984 (ChemVantage 2011)

Nos hemos puesto en contacto con Chuck Wight (adminchemvantageorg) para solicitarle unaclave de consumidor y secreta para poder probar este recurso desde moodle Las opciones y elcorreo puede verse en la gura 511

Una de las cosas maacutes importantes de ChemVantage y por lo que nos hemos decidido a probar esque permite la devolucioacuten de las notas obtenidas en los ejercicios realizados en las herramientasexternas a Moodle El alumno podraacute realizar las tareas en esta herramienta externa y luego sercalicadas en Moodle

ChemVantage estaacute certicada por IMS 7 como un proveedor de herramientas LTI v11 y comotal funciona desde nuestro propio LMS para llevar a cabo la autenticacioacuten de sitios provee decuentas y devuelve resultados de asignacioacuten de estudiantes con el libro LMS grado automaacutetica-mente

Los recursos disponible son ChemVantage son principalmente los siguientes

1 QuizzesLos ejercicios presentados aquiacute estaacuten disentildeados para animar a los estudiantes a leer y en-tender los libros de texto utilizados en el curso Las preguntas se basan en material que sepresente en su mayor parte en los textos de introduccioacuten de quiacutemica Los iacutetems de preguntastienen respuestas straighforward no requieren caacutelculos detallados Las preguntas se presen-tan en varios formatos diferentes incluyendo opcioacuten muacuteltiple verdadero falso casilla devericacioacuten ll-in-the-blanco y numeacutericas Cada cuestionario se compone de 10 preguntasextraiacutedas al azar de una base de datos con muchas maacutes preguntas En el proceso de tomarvarias pruebas para mejorar sus calicaciones los estudiantes probablemente encuentran

7httpdevelopersimsglobalorgcoursechemvantagehtml

algunas preguntas repetidas de concursos anteriores sin embargo es poco probable quecualquiera de los dos cuestionarios contendraacute exactamente el mismo conjunto de preguntasen el mismo orden Asignando pruebas para ser completado antes de la conferencia losprofesores pueden estar seguros de que sus estudiantes tengan un poco de exposicioacuten almaterial Esto permite una mayor discusioacuten el diaacutelogo y la participacioacuten en el aula y haceel aprendizaje maacutes divertido (de verdad)

2 Video LecturesUna serie de conferencias de viacutedeo de 10 minutos sobre una variedad de temas de QuiacutemicaGeneral es accesible desde la paacutegina principal Los videos estaacuten disentildeados para reforzar lospuntos principales que se presentan en muchos libros de texto

3 HoweworksLas tareas estaacuten disentildeadas para dar a los estudiantes la praacutectica en la resolucioacuten de proble-mas cuantitativos que tienen respuestas numeacutericas Cada alumno puede descargar la tareatrabajar los problemas y presentar las respuestas en liacutenea Respuestas son juzgados a sercorrecta si la solucioacuten numeacuterica de acuerdo con la solucioacuten que se encuentra en la base dedatos dentro de una tolerancia especicada (indicado para cada problema) El sitio informaa los estudiantes que las respuestas son correctas para que puedan rehacer problemas malresueltos y volver a presentar las respuestas Cada problema se basa en una plantilla queatrae paraacutemetros al azar por lo que la respuesta correcta es diferente para cada estudianteEsto hace que sean adecuadas para la colaboracioacuten y el trabajo en grupo porque a pesarde que el grupo puede trabajar para encontrar un algoritmo correcto para resolver un prob-lema cada estudiante tendraacute que usar el algoritmo para encontrar la solucioacuten detallada asu propio problema

4 Practice ExamsLos estudiantes pueden realizaar exaacutemenes de praacutectica cronometrados que muestran laspreguntas de un grupo de 3 o maacutes temas Cada examen estaacute disentildeado para tardar unos60 minutos o menos e incluye una seleccioacuten de 10 preguntas Las praacutecticas de exaacutemenespueden repetirse cuantas veces se desee Las preguntas numeacutericas son parametrizadas loque es muy poco probable que un estudiante realice alguna vez dos exaacutemenes de praacutecticaideacutenticos

5 Portofolio PageCada estudiante puede acceder a una paacutegina que le da la puntuacioacuten obtenida en cada prue-ba y la asignacioacuten de tareas Los estudiantes que son miembros de un grupo tienen unapaacutegina de resultados asociados a las tareas de grupo Hay una paacutegina de carpeta separadaque contiene un resumen de todas las actividades realizadas en ChemVantage incluyendovideos vistos cuestionarios completados resolver problemas con la tarea y la praacutectica deexaacutemenes completados Las puntuaciones en los exaacutemenes de praacutectica son desagregadospara revelar fortalezas y debilidades estudiantes por temas

Hemos procedido a darlo de alta en LTI como hicimos con Wordpress Entramos en Moodle co-mo Administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

Figura 511 Correo de Chuck Wight

-LTI quedando como resultado la siguiente hoja de paraacutemetros gura 512

El siguiente paso seraacute antildeadir la herramienta dentro de nuestro curso para ello pulsaremos sobreAntildeadir una actividad o un recurso Deberemos seleccionar External Tool y rellenamos las op-ciones de la herramienta seleccionando como Tipo de herramienta externa la opcioacuten creada enel apartado de LTI de Moodle

Una vez congurado la herramienta en Moodle podemos entrar para realizar una personalizacioacutende la herramienta gura 513 esta consiste en indicar si el alumno cuando se conecta realiza undeterminado tarea o puede elegir navegar por la web de ChemVantage para poder disfrutar dela cantidad de recursos que se encuentran disponibles

Cuando el usuario pulsa sobre la opcioacuten de esta herramienta externa en Moodle lo primero quese le muestra es la informacioacuten sobre su perl en Chemvantage 514Como hemos visto en los paraacutemetros de conguracioacuten existe la posibilidad de llamar a unaherramienta externa incrustaacutendola dentro de Moodle o abrieacutendolo en una paacutegina web nuevaCon esta segunda opcioacuten no hemos conseguido que funcione correctamente la importacioacuten de lasnotas En cambio si la herramienta externa estaacute incrustada permite esa vinculacioacuten

Figura 512 Conguracioacuten de paraacutemetros LTI

Figura 513 Opciones de inicio de la herramienta

Figura 514 Pantalla de utilizacioacuten de la herramienta por el usuario

Capiacutetulo 6

Middleware

61 Introduccioacuten

La uacuteltima opcioacuten seriacutea utilizar una arquitectura middleware de integracioacuten que permita la inte-gracioacuten ligera de muacuteltiples herramientas existentes en el Moodle

62 GluePS

GLUE-PS es una arquitectura de middleware que permite una interoperabilidad ligera entrelos diferentes lenguajes de disentildeo de aprendizaje y diferentes entornos de aprendizaje virtualEsta interoperabilidad permite a los maestros y otros profesionales que particularicen (es decirpara personalizar el disentildeo de aprendizaje abstractoa la clase particular los participantes y laeleccioacuten de los instrumentos en los que va a ser promulgada) desplieguen (es decir para crearde forma semiautomaacutetica las actividades necesarias en el VLE recursos etc para la aprobacioacutendel disentildeo particularizado) e incluso para llevar a cabo ciertos cambios en el tiempo de ejecucioacuten(por ejemplo modicar la composicioacuten del grupo agregar o quitar recursos de las actividadesetc) Todo esto a partir de disentildeos en distintos lenguajes de disentildeo de aprendizaje tales como laespecicacioacuten IMS-LD aprendizaje

Por otra parte GLUE-PS tambieacuten permite desplegar y gestionar disentildeos de aprendizaje en en-tornos virtuales de aprendizaje que integren herramientas de aprendizaje externos (tales comointegrar en Moodle herramientas como Google Docs y muchos otros) - lo que llamamos Am-bientes de Aprendizaje Distribuido (DLE Distributed Learning Enviroments) Esto se consiguegracias a la arquitectura de GLUE para la integracioacuten de los entornos virtuales de aprendizajey herramientas externas

621 Instalacioacuten

Para realizar la instalacioacuten de GLUE-PS nos hemos descargado el software necesario de la webde los desarrolladores1 descargando la opcioacuten de autenticacioacuten centralizada La instalacioacuten haconstado de tres partes que pasaremos a describir a continuacioacuten

1httpwwwgsicuvaesglue

49

Figura 61 Arquitectura de GLUE

La primera parte consiste en la instalacioacuten del GLUEletManager y los adaptadores GSIC toolAunque el sistema viene preparado para Linux o Windows siendo Windows la explicacioacuten quevamos a desarrollar por estar utilizando este sistema operativo con Xampp

1 Crear el directorio GLUE_ HOME El cual hemos creado para mayor comodidad en la raiacutezdel disco duro

2 Denir la variable del sistema GLUE_ HOME con el valor de la direccioacuten completa deldirectorio de GLUE del punto anterior Para ello hemos pulsado botoacuten derecho sobre MiPc Propiedad Opciones Avanzadas Variables de Entorno procediendo a pulsar el botoacutenNueva para crear la variable en cuestioacuten

3 Extraemos en el directorio del punto (1) el paquete descargado de la paacutegina de los desar-rolladores

4 Ejecutar la instalacioacuten del cheroGLUE_ HOMEbininstall gluebat para registar GLUElet-Manager y GSIC tool como un servicio de Windows Tambieacuten este paso crearaacute un cheroen GLUE_ HOMEtool_ adapteradapterdata para proveer de persistencia a los objetoscreados con el adaptador GSIC tool

A continuacioacuten daremos de alta en nuestro gestor de bases de datos un para de bases de datosque necesita GLUEletManager Para ellos seguimos los siguientes pasos

1 Abrimos la consola de phpMyaAdmin para cargar y ejecutar el chero create_ GLUE_databasessql que se encuentra en GLUE_ HOMEmanagerconfdb

2 Modicamos el chero GLUE_ HOMEmanagerconfMETA-INFpersistencexml paradarle los paraacutemetros necesarios para que JDBC se conecte a nuestra base de datos Losparaacutemetros modicados puede verse en la imagen 62

Figura 62 Paraacutemetros modicados en persistencexml

La segunda parte consiste en el registro interno de los adaptadores de las herramientas para seraccedido con GLUEletManager La distribucioacuten trae un chero para facilitar la conguracioacuten delos adaptadores que trae consigo y para su instalacioacuten deberemos ejecutar el chero GLUE_HOMEmanagerconfdbll _ internal_ Registrysql Alguna de las herramientas necesitanuna conguracioacuten maacutes completa como puede ser Google Docs adapter que necesita una cuentade Gmail para poder crear documentos en Google Docs por lo que deberemos modicar el nom-bre de usuario y contrasentildea

La uacuteltima parte consiste en la instalacioacuten del adaptardor de Moodle como VLE utilizado Estainstalacioacuten es como cualquier otro moacutedulo de Moodle 2 La carpeta que deberemos copiar seraacutela del adaptador correspondiente a Moodle que se encuentra en la carpeta GLUE_ HOMEvle_adpatersmoodle_ vle_ adapter Una vez entremos en nuestro Moodle como administrador nosapareceraacute un mensaje indicaacutendonos que el nuevo moacutedulo esta instalado Para congurar el nuevomoacutedulo debermos ir a Noticaciones - Modulos - Actividades como podemos ver en la gura 63para congurar los paraacutemetros la URL del GLUEletManager y el tiempo de espera

Figura 63 Paraacutemetros del moacutedulo GLUE

Cuando el profesor quiera crear una nueva actividad dependiente de los adaptadores de GLUEdeberaacute agregar una actividad maacutes pulsando para ello en esta opcioacuten dentro del bloque deseadopara seleccionar luego el tipo de actividad GLUElet como podemos ver en la gura64

622 Creando un Doodle

El adaptador Doodle permite la creacioacuten conguracioacuten y gestioacuten de instancias del Doodle Cadaencuesta Doodle es considerado un instancia diferente Ademaacutes este adaptador permite realizarademas la conguracioacuten inicial de encuestas Doodle incluyendo el nombre de la encuesta unadescripcioacuten y un conjunto de posibles respuestas

A continuacioacuten antildeadiremos Doodle en un bloque de Moodle para ellos pulsaremos la opcioacuten deAgregar actividad GLUElet lo cual nos mostraraacute la paacutegina65 donde deberemos rellenar comomiacutenimo el nombre de la actividad y el tipo de herramienta seleccionado en este caso Doodle(httpdoodle-testcom)

2httpdocsmoodleorgenInstalling_contributed_modules_or_plugins

Figura 64 Creando una actividad GLUElet

La primera vez que pulsemos sobre la nueva actividad creada apareceraacute un pantalla 66 dondepodemos congurar diferentes elementos de la encuesta desarrollada con Doodle como son eltiacutetulo una pequentildea descripcioacuten y luego las opciones posibles con un liacutemite de 10

El resultado nal seraacute la incrustacioacuten de una encuesta Doodle dentro de nuestro Moodle comopodemos ver en la gura67

Figura 65 Antildeadiendo Doodle como actividad

Figura 66 Opciones iniciales de conguracioacuten de Doodle

Figura 67 Doodel dentro de Moodle

Capiacutetulo 7

Conclusiones Finales

71 Conclusiones Finales

El proyecto actual nos ha servido para acercarnos a las diferentes tecnologiacuteas que permiten lacomunicacioacuten entre Servicios Webs Hemos desarrollado una primera labor de investigacioacuten queha requerido el aprendizaje de diferentes herramientas de control de documentacioacuten y referenciascomo Zotero y Mendeley

La documentacioacuten recabada en el proceso inicial de revisioacuten de documentos nos ha aportadoun visioacuten general de los diferentes sistemas virtuales de aprendizaje que podemos encontrarnosmuchos de ellos gratuitos y las diferentes soluciones que se plantean a la necesidad de incluirrecursos de otros fabricantes que en principio no fueron concebidos para ser utilizados dentro deuna plataforma VLE

Para poner en praacutectica la diferentes opciones encontradas se han montado diferentes maacutequinasvirtuales sobre las que se han probado las mismas Las conclusiones nales se pasan a detallar

IMS LTIEsta solucioacuten de integracioacuten mediante el cumplimiento de unos protocolos y certicacionesde las herramientas que lo cumplen es en principio la que podriacutea parecer la mejor opcioacutenpero la falta de compromiso de los diferentes fabricantes de Servicios Web y la luchapara imponer sus propios estaacutendares hace que aun quede mucho para que esta opcioacuten seacomo tal real

Si vemos el nuacutemero de aplicaciones certicadas para usar IMS LTI apenas superan las 50 yla mayoriacutea solo cumple la especicacioacuten v10 lo cual signica que la integracioacuten solo solu-ciona el problema de llamar a un recurso externo desde Moodle Pocas son las que cumplenla v11 que permite obtener en Moodle una valoracioacuten de los ejercicios desarrollados en unaactividad externa

La versioacuten v20 que daraacute maacutes opciones a la hora de interactuar con actividades externasauacuten esta en desarrollo y nada se sabe sobre posibles fechas para su presentacioacuten Luegocerticacioacuten de herramientas etc

55

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 33: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

Capiacutetulo 4

Servicios Web de Moodle

41 Introduccioacuten

Moodle 2X incorpora la posibilidad de implementar Servicios Web para manejar sus funciona-lidades lo que nos permite poder acceder a acciones de actualizar y crear tareas para reejar elresultado de las actividades realizadas Moodle soporta varios protocolos (REST SOAP XML-RPC y AMF)

42 Servicios Web de Moodle

Los Servicios Web de Moodle se caracterizan por permitir el acceso desde cualquier aplicacioacutenimplementando para ello tres capas como podemos observar en la gura 41

Capa nuacutecleoLa capa del nuacutecleo estaacute compuesta de todas las funciones principales de Moodle sobreusuarios grupos cursos calendario etc Moodle no dispone de una API al uso sino queofrece diferentes funciones que han sido desarrolladas durante antildeos Por tanto las necesi-dades de los Servicios Web estaacuten obligando a rehacer estas funciones del nuacutecleo para quecomiencen a formar una API (Moodle 2X)

Capa externaLa capa externa estaacute compuesta por nuevos cheros llamados externalphp colocados porlas carpetas de Moodle y conteniendo manejadores para la capa inferior Estos manejadoresson los responsables de comprobar las capacidades paraacutemetros y llamadas correctas a lasfunciones de nuacutecleo

Capa de conectoresLa capa de conectores estaacute compuesta de diferentes conectores para las diferentes imple-mentaciones de los Servicios Web y contiene un conector REST un conector SOAP unconector XML-RPC y un conector AMF Esta capa admite plugins para ampliar los conec-tores disponibles de manera que se puedan integrar otros sistemas en Moodle utilizandootros protocolos

Los pasos para utilizar un Servicio Web con Moodle seriacutean los siguientes

1 El cliente enviacutea el nombre de usuario y contrasentildea al servidor que provee los ServiciosWeb

27

Figura 41 Capas en Moodle

2 El servidor de protocolo devuelve un token de sesioacuten para esa cuenta de usuario

3 El cliente llama a un Servicio Web especiacuteco incluyendo el token de sesioacuten

4 El servidor utiliza el token para comprobar que la sesioacuten del Servicio Web estaacute activa

5 El servidor llama a la funcioacuten correspondiente localizada en el chero externallibphp dentrodel moacutedulo especiacuteco

6 La funcioacuten externa comprueba que el usuario actual tenga los permisos sucientes pararealizar esta operacioacuten

7 La funcioacuten externa llama a la funcioacuten correspondiente del nuacutecleo de Moodle (libphp)

8 La funcioacuten del nuacutecleo puede retornar un resultado a la funcioacuten externa

9 La funcioacuten externa devolveraacute el resultado al servidor de protocolo

10 El servidor de protocolo devolveraacute el resultado al cliente

43 REST

REST (Representational State Transfer) es el acroacutenimo de Transferencia de Estado Representa-cional teacutermino usado por Roy Fielding (uno de los creadores de HTTP) para describir un estilode arquitectura que utilizar como modelo en los sistemas de computacioacuten Web No es un es-taacutendar sino un enfoque que muestra como desarrollar y proporcionar servicios en Internet portanto considerado como un estilo arquitectoacutenico para disentildeo de software a gran escala El propioautor lo dene de manera concisa en eacuteste paacuterrafo

REST es un intento de mostrar coacutemo debe comportarse una aplicacioacuten Web bien disentildeada unared de paacuteginas Web (una maacutequina de estados virtual) donde el usuario progresaraacute seleccionan-do enlaces (transiciones de estado) que devuelven la paacutegina siguiente (el siguiente estado de lamaacutequina) que el usuario manejaraacute a su gusto

Este enfoque no aporta realmente nada nuevo la mayor parte de la Web sigue este estilo arqui-tectoacutenico Sin embargo el autor hace eacutenfasis en las caracteriacutesticas concretas que han hecho quela Web triunfe que van a ser los objetivos buscados por REST y que son a su juicio

Escalabilidad en las interacciones entre componentes La red ha ido creciendo de maneraexponencial y se ha ido comportado de manera satisfactoria

Generalidad en las interfaces Se proporciona acceso con distintos clientes y con distintosmecanismos de acceso

Desarrollo independiente de componentes Implementaciones cliente y servidor pueden serdesarrolladas en distintos momentos

Existencia de componentes intermediarios con los cuales existe compatibilidad (comoproxys)que permiten encapsulacioacuten e integracioacuten de sistemas no Web dentro de la misma

431 Principios de disentildeo

Los objetivos citados van a ser conseguidos imponiendo una serie de restricciones

El estado y la funcionalidad de las aplicaciones se representan por forma de recursos

La identicacioacuten de recursos se realiza de forma uacutenica global mediante Uniform ResourceIdentiers Los recursos identicados con URIs son los objetos loacutegicos a los cuales se lesmandan los mensajes

Manipulacioacuten de recursos a traveacutes de representaciones luego no se manejan directamentelos recursos sino sus representaciones

Todos los recursos comparten un interfaz uniforme formado por

bull Un conjunto de operaciones limitado para transferir el estado Se van a aprovecharlas operaciones que HTTP dene mostradas en la gura 42

bull Un conjunto limitado de tipos de contenidos identicados mediante tipos MIME

Uso de un protocolo clienteservidor sin estado y basado en capas Cada mensaje HTTPcontendraacute la informacioacuten necesaria para comprender la peticioacuten luego como muestra lagura 43 no es necesario que eacutesta sea entendida tanto en el cliente como en el servidor

Uso de hipermedios para representar el estado de una aplicacioacuten permitiendo que el estadode una aplicacioacuten Web particular esteacute almacenado en uno o maacutes documentos de hipertextoque residen bien en el servidor o en el cliente Esto permite al servidor saber el estado desus recursos sin necesidad de almacenar el estado de los clientes concretos

Figura 42 Operaciones denidas por HTTP

Como ya se mencionoacute REST se trata de un estilo arquitectoacutenico no un estaacutendar Sin embargohace uso de varios estaacutendares Web

HTTP HyperText Transfer Protocol

Figura 43 Operaciones denidas por HTTP

URL Uniform Resource Locator como el mecanismo de indenticacioacuten de recursos

XML - HTML - PNG - etc Como distintos formatos de representacioacuten de recursos

Tipos MIME como text-xml text-html image-png etc

44 SOAP

SOAP (siglas de Simple Object Access Protocol) es un protocolo estaacutendar que dene coacutemo dosobjetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML Esteprotocolo deriva de un protocolo creado por David Winer en 1998 llamado XML-RPC SOAPfue creado por Microsoft IBM y otros y estaacute actualmente bajo el auspicio de la W3C

441 Principios de disentildeo

La funcionalidad que aporta SOAP es la de proporcionar un mecanismo simple y ligero de in-tercambio de informacioacuten entre dos puntos usando el lenguaje XML SOAP no es maacutes que unmecanismo sencillo de expresar la informacioacuten mediante un modelo de empaquetado de datosmodular y una serie de mecanismos de codicacioacuten de datos Esto permite que SOAP sea uti-lizado en un amplio rango de servidores de aplicaciones que trabajen mediante el modelo decomunicacioacuten RPC (Remote Procedure Call)

SOAP consta de tres partes como podemos ver en la gura 44

El SOAP envelope que dene el marco de trabajo que determina queacute se puede introduciren un mensaje quieacuten deberiacutea hacerlo y si esa operacioacuten es opcional u obligatoria

Las reglas de codicacioacuten SOAP que denen el mecanismo de serializacioacuten que seraacute usadopara encapsular en los mensajes los distintos tipos de datos

La representacioacuten SOAP RPC que dene un modo de funcionamiento a la hora de realizarllamadas a procedimientos remotos y la obtencioacuten de sus resultados

A la hora de realizar el disentildeo de SOAP se han tenido en cuenta una serie de consideracionescon el n de cumplir una serie de objetivos claros objetivos que le daraacuten el potencial que resideen SOAP y que le haraacuten tan atractivo Eacutestos son

Establecer un protocolo estaacutendar de invocacioacuten a servicios remotos que esteacute basado enprotocolos estaacutendares de uso frecuente en Internet como son HTTP (Hiper Text TransportProtocol) para la transmisioacuten y XML (eXtensible Markup Language)para la codicacioacutende los datos

Figura 44 Partes de SOAP

Independencia de plataforma hardware lenguaje de programacioacuten e implementacioacuten delservicio Web

El logro de estos objetivos ha hecho de SOAP un protocolo extremadamente uacutetil ya que elprotocolo de comunicacioacuten HTTP es el empleado para la conexioacuten sobre Internetpor lo que segarantiza que cualquier cliente con un navegador estaacutendar pueda conectarse con un servidor re-moto Ademaacutes los datos en la transmisioacuten se empaquetan o serializan con el lenguaje XML quese ha convertido en algo imprescindible en el intercambio de datos ya que es capaz de salvar lasincompatibilidades que existiacutean en el resto de protocolos de representacioacuten de datos de la red

Por otra parte los servidores Web pueden procesar las peticiones de usuario empleando tec-nologiacuteas tales como Servlets paacuteginas ASP (Active Server Pages) paacuteginas JSP (Java ServerPages) o sencillamente un servidor de aplicaciones con invocacioacuten de objetos mediante CORBACOM o EJB

Un ejemplo tiacutepico de disentildeo de un servicio Web utilizando las ventajas de SOAP podemos veren la siguiente gura 45

Figura 45 Ejemplo de uso de SOAP

45 AMF

AMF (Action Message Format) es un protocolo binario de Adobe que va por la versioacuten AMF3Aunque por el nombre de la versioacuten pueda parecer que existan 3 cabe destacar que soacutelo existendos AMF0 y AMF3 Una de las mayores diferencias o mejoras que aporta AMF3 es que soporta

datos binarios (ByteArray) y int datos no soportados por AMF0 debido a que en la eacutepoca queaparecioacute el formato Flash Player no soportaba estos tipos de datos

AMF3 no es un protocolo para transferir informacioacuten sino que representa el formato en el quese transmite la informacioacuten en este caso un formato binario

La versioacuten de Moodle 25 viene con Zend_ AMF pero podemos utilizar tambieacuten la libreriacuteaamfPHP

AMFPHP

Zend_ amf httpframeworkzendcommanual112enzendamfhtml

Maacutes informacioacuten en httpdocsmoodleorgdevAMFPHP

46 Conguracioacuten de Moodle Web Services

Los Servicios Web habilitan que otros sistemas puedan entrar a Moodle y realizar operacionesPasaremos a detallar los pasos necesarios para su conguracioacuten y explicaremos distintos pruebasllevadas a cabo sobre su funcionamiento Para poder consumir de manera correcta unWeb Servicede Moodle seriacutea necesario antildeadir a la url que vamos a formar los paraacutemetros oportunos paralograr consumir el Web Service de manera satisfactoria Una vez antildeadidos ya podriacuteamos invocarla funcioacuten seleccionada

461 Activando los Servicios Web

Lo primero que debemos hacer es activar la opcioacuten general que habilita el uso de los serviciosweb En la gura 46 podemos observar la opcioacuten para la activacioacuten de este servicio para ello nosiremos a la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Servicios Externos

Figura 46 Activacioacuten Servicios Web

Esto solo es una opcioacuten a nivel global necesitando ahora activar los protocolos de comunciacionesque vamos a utilizar para ello deberemos ir a la opcioacuten textitAdministracioacuten del Sitio - Exten-siones - Servicios Web - Administrador de protoclos donde encontraremos las diferente opcionesque nos existen En la gura 47 podemos ver la pantalla de nuestra conguracioacuten con todos losprotocolos activados

Una vez activada la opcioacuten de Servicios Externos y seleccionados los protocolos que utilizaremosnecesitamos crear un Servicio Personalizado que no es maacutes que una etiqueta que aglutina los

Figura 47 Activacioacuten Protoclos

Servicios Web que ofrece Moodle y que pueden ser utilizados por los servicios externos Para ellodeberemos darle a la opcioacuten Agregar dentro de la opcioacuten Administracioacuten del Sitio - Extensiones- Servicios Web - Servicios Externos Como prueba habilitaremos un servicio llamado Uso_Servicio_ Web cuya creacioacuten podemos ver en la gura 48

Figura 48 Creacioacuten Servicio Personalizado

Una vez creado el Servicio Personalizado deberemos agregarle las funciones que queramos lesean permitidas pudiente tener maacutes de una En la gura 49 vemos como asociamos la creacioacutende usuarios al Servicio Personalizado

Terminado esto deberemos tener en el listado que nos muestra Moodle de Servicios personaliza-dos algo como lo mostrado en la gura 410

El siguiente paso es conceder los permisos apropiados para que este Servicio Personalizado puedeser usado por los usuarios pare ello debemos primero especicar quienes son los Usuarios au-torizados para ello en la linea de la lista de Servicios Personalizados deberemos pulsar sobre laopcioacuten usuarios autorizados donde apareceraacute una pantalla como 411 donde podremos escogerlos usuarios de los que se encuentran dados de alta en nuestro sistema

Y para terminar aunque este paso podriacutea ser realizado por el propio usuario si tuviera el per-miso de moodlewebservicecreatetoken seraacute la creacioacuten de un token el cual va ser la opcioacuten quevamos a utilizar para las pruebas de los Servicios Web de Moodle Para la creacioacuten del mismodeberemos entrar en la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Admin-istrar tokens y pulsar la opcioacuten Agregar para antildeadir un token nuevo como podemos apreciar en

Figura 49 Agregando funciones al Servicio Personalizado

Figura 410 Listado de Servicios Personalizados

la gura 412 teniendo la precaucioacuten de escoger como Servicio el Servicio Personalizado creadocon anterioridad Uso_ Servicio_ Web

En esta pantalla podemos poner varios tipos de restricciones

Restriccioacuten de IP Donde podemos indicar la direccioacuten IP desde donde

Restriccioacuten de Fecha Se puede denir hasta cuando seraacute valido este token siendo unabuena manera de poder probar cosas y no dejar puertas abiertas por error

En la gura 413 podemos ver el token asignado por el sistema para nuestro Servicio Personalizadoy que procederemos a utilizar para comprobar el funcionamiento de los Servicios Web de Moodle

462 Pruebas cliente Servicio Web

Procederemos ahora a desarrollar pruebas que utilicen los Servicios Personalizados creado Sepodriacutean haber utilizado el Cliente de prueba de servicio web que incorpora Moodle dentro dela opcioacuten Administracioacuten del Sitio - Desarrollo - Cliente de prueba servicio web pero hemosdecidido implementar una Web para comprobar la facilidad del funcionamiento del sistema y losdistintos resultados obtenidos seguacuten el protocolo utilizado

Utilizaremos la libreriacutea cURL de PHP cURL es una herramienta que permite abrir conexionesen una amplia variedad de protocolos y que estaacute disponible tanto como herramienta de consola(para ejecutar directamente con comandos) como en libreriacutea (para usar en vuestro coacutedigo) y quepermite hacer praacutecticamente todo manejo de cookies descarga de cheros binarios enviacuteos de

Figura 411 Alta de Usuarios Autorizados

Figura 412 Creacioacuten de Tokens

paraacutemetros GET y POST etc

La web creada para la introduccioacuten 414 de los usuarios seraacute equivalente para todos los procesosprocesos siendo el programa que da respuesta al formulario el que implemente la funcioacuten nece-saria para la introduccioacuten de los datos en Moodle

Los resultados de REST pueden mostrar los resultados del alta de dos maneras diferentes unaen formato XML como podemos ver en la gura 415 y otro en formatox JSON tambieacuten po-dremos ver en la gura Los resultados obtenidos tambieacuten pueden verse en el la gura 416

Figura 413 Lista de Tokens

Figura 414 Web de alta de usuarios

Figura 415 Resultado de REST en formato XML

Figura 416 Resultado de REST en formato JSON

Capiacutetulo 5

Herramientas Externas

51 Introduccioacuten

Las versiones de Moodle desde la 22 vienen con IMS LTI o External Tool de manera integradaEn versiones anteriores era necesario la instalacioacuten de plugins como LTI Provider (maacutes informa-cioacuten en la web de Moodle1 IMS LTI es un estandar de IMS learing2 para la interoperabilidadde herramientas Esto signica que las herramientas de aprendizaje tienen ahora un mecanismopara jar el modo en que pueden conectarse entre ellas sin problemas

En la praacutectica cuando un usuario se registra en Moodle puede conectarse a otras herramientascomo Wikis o Blogs y autenticarse de manera automaacutetica en estas

52 Estaacutendares IMS

Actualmente se realizan esfuerzos para la integracioacuten de servicios a una plataforma virtual deaprendizaje mediante un mecanismo reutilizable independiente del tipo de plataforma El IMSGlobal Learning Consortium viene desde hace tiempo trabajando en este enfoque IMS GLCpresenta un conjunto de estaacutendares que promueven el uso de servicios de aprendizaje digitales(Digital Learning Services) dentro de las plataformas de aprendizaje tradicionales IMS DigitalLearning Services estaacute integrado por los siguientes estaacutendares principales IMS Common Car-tridge [ims a] IMS Learning Tool Interoperability [ims c] y IMS Learning Information Services[ims b]

El IMS Learning Tool Interoperability es una especicacioacuten para facilitar la inclusioacuten de her-ramientas externas dentro de un curso El administrador de la plataforma de aprendizaje ges-tiona los servicios que podraacuten ser consumidos por la plataforma el docente decide que serviciosutilizaraacute en su curso y el estudiante hace uso de los mismos IMS LTI permite que distintos LMSconsuman un mismo servicio el cual no fue implementado teniendo en cuenta el tipo de LMSsino la implementacioacuten del estaacutendar desde el lado del proveedor

El enfoque del IMS LTI estaacute dirigido a la creciente demanda de un mecanismo reutilizable para laintegracioacuten de herramientas de terceros en el nuacutecleo de las plataformas LMS Estas herramientas

1httpsmoodleorgpluginsviewphpplugin=local_ltiprovider2httpwwwimsglobalorgtoolsinteroperability2cfm

37

pueden agregar funcionalidad especializada a los LMS El enfoque ofrece una solucioacuten basada enWeb Services igualmente aplicable a distintos lenguajes de programacioacuten

Las versiones del LTI son

LTI v10 ( LTI Basic ) ( publicado en mayo de 2010 ) proporciona un meacutetodo sencillopero estaacutendar para establecer una conexioacuten segura a una herramienta desde el interior deun consumidor de herramientas El lanzamiento de este enlace permite una experienciade aprendizaje sin problemas para los estudiantes que acceden a las aplicaciones ricas queparecen tener lugar dentro del ambiente de aprendizaje Versioacuten 10 es el primer paso en eldesarrollo continuo de LTI Figura 51

LTI v11 ( publicado en marzo 2012 ) antildeade la posibilidad de pasar de nuevo un resultadode la herramienta al Consumidor de herramientas Esto permite que los estudiantes recibenuna calicacioacuten o puntuacioacuten de su interaccioacuten con la aplicacioacuten de aprendizaje

LTI v111 ( publicado en julio de 2012 ) incluye soporte para el papel Mentor que se puedeutilizar para representar a un padre tutor o auditor

LTI v20 Aun en estado de desarrollo y proporciona una plataforma maacutes sosticado y ex-tensible para permitir integraciones maacutes profundas y un mayor apoyo para los serviciosy eventos LTI 2 se basa en LTI 1 mediante la incorporacioacuten de maacutes sosticada resulta-dos de informes y una rica arquitectura de extensiones que permite servicios adicionalesque se antildeadiraacuten gradualmente LTI 2 utiliza REST y JSON-LD para ofrecer esta nuevafuncionalidad

Figura 51 Esquema LTI Baacutesico

En la gura 52 podemos observar como se podriacutean utilizar las ventajas de LTI por parte decada unos de los actores a lo largo de la vida de la aplicacioacuten de servicios externos dentro de unaplataforma de aprendizaje

En la paacutegina web de IMS3 podemos encontrar una relacioacuten de aplicaciones certicadas comocompatibles con el estaacutendar LTI indicando la versioacuten del LTI que cumplen En la gura 53podemos ver las aplicaciones certicadas por UOC y en la gura 54 la informacioacuten sobre una deestas herramientas

3httpwwwimsglobalorgccalltoolscfm

Figura 52 Esquema utilizacioacuten LTI

Figura 53 Listado de herramientas LTI de la UOC

53 Herramientas externas en Moodle

La siguiente seccioacuten consiste en la aplicacioacuten de alguno de esto servicios externos en Moodlepara comprobar su funcionamiento Nos decantaremos para la primera prueba por WordPresspues aunque existen manuales al respecto la documentacioacuten en castellano es escasa

531 Wordpress

La versioacuten estaacutendar de Wordpress a la cual accedemos cuando nos abrimos cuenta en Wordpressno viene con las herramientas necesarias para la iteracioacuten mediante LTI por lo que procedere-mos a la instalacioacuten en nuestro servidor de Wordpress para pasar a la instalacioacuten de los pluginsnecesarios

La instalacioacuten ha consistido en la descarga de la web ocial 4 de la versioacuten 351 la cual hemoscopiado dentro del directorio htdocs de nuestra instalacioacuten de Xampp Hemos dado de alta unnuevo usuario en nuestra base de datos llamado username como podemos ver en la imagen 55 yposteriormente hemos seguido los pasos que el instalador nos iba ofreciendo para tener instalado

4httpwordpressorgdownload

Figura 54 Informacioacuten sobre la certicacioacuten

Wordpress bajo la url httplocalhostwordpress

Figura 55 Usuario de Wordpress

Deberemos congurar Wordpress para que trabaje como multisitio para lo que deberemos seguirlos pasos de conguracioacuten que podemos encontrar en la web ocial de Wordpress5 bajo el nombreCreate A Network consistente en los siguientes pasos

1 Realizar una copia de seguridad por si acaso

2 Modicar el chero wp-congphp incluyendo la siguiente linea encima de Thats allstop editing Happy blogging Multisite dene (WP_ ALLOW_ MULTISITE true)

Multisite dene (WP_ ALLOW_ MULTISITE true)

3 Installar un Network Para ello hemos de entra en la opcioacuten Administration -gtTools -gtNetwork Setup donde podremos congurar opciones sobre el nombre que queremos declararpara el nuevo sitio

4 Activar el Network para ello debemos modicar los cheros wp-congphp y htaccess porlo que seriacutea bueno que realizaacuteramos primero un copia de seguridad de los mismos Loscambios que debemos realizar son los siguientes

5httpcodexwordpressorgCreate_A_Network

En wp-congphp dene(MULTISITE true)dene(SUBDOMAIN_ INSTALL false)dene(DOMAIN_ CURRENT_ SITE localhost)dene(PATH_ CURRENT_ SITE wordpress)dene(SITE_ ID_ CURRENT_ SITE 1)dene(BLOG_ ID_ CURRENT_ SITE 1)

El chero htaccess debe quedar asiacute BEGIN WordPressltIfModule mod_ rewritecgtRewriteEngine OnRewriteBase wordpressRewriteRule icircndexphp$ - [L]

add a trailing slash to wp-adminRewriteRule ([_ 0-9a-zA-Z-]+)wp-admin1wp-admin [R=301L]

RewriteCondREQUEST_ FILENAME -f [OR]RewriteCondREQUEST_ FILENAME -dRewriteRule - [L]RewriteRule ([_ 0-9a-zA-Z-]+)(wp-(content|admin|includes)) $2 [L]RewriteRule ([_ 0-9a-zA-Z-]+)( php)$ $2 [L]RewriteRule indexphp [L]ltIfModulegt

END WordPress

5 Esto nos habraacute creado en la parte izquierda de la barra de herramientas de Wordpressuna nueva opcioacuten llamada My Sites que contendraacute un listado de los sitios de nuestroWordpress

El siguiente paso seraacute la descarga del plugin los cual podremos hacerlos desde la web de sour-forgenet 6 En esta web se detalla informacioacuten sobre el plugin y como se debe instalar Siguiendolos pasos que tenemos en el mismo procederemos a la descarga y el desplegado del mismo en lacarpeta wp-contentmu-plugins Salimos de Wordpress y volvemos a entrar como superusuariosi entramos dentro de la nueva red realizada podremos ver que dentro de LTI Consumers Keystendremos la opcioacuten LTI Consumers Keys como podemos ver en la imagen 56

Aquiacute deberemos crear la clave del consumidor del servicio y la clave secreta que nos permitiraacute aMoodle conectarse a Wordpress

Una vez que tenemos la clave secreta y del consumidor deberemos volver a Moodle entrandocomo administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

6httpsourceforgenetappsmediawikilearningappsindexphptitle=LTI4Wordpress

Figura 56 Servicios LTI en Wordpress

Figura 57 Listado de claves de LTI en Wordpress

-LTI En esta paacutegina podremos rellenar nuestras opciones

Tool Name Seraacute el nombre que tendraacute la herramienta y deberemos poner alguno indicativode la herramienta que estemos utilizando

Tool Base URL Es la direccioacuten de la herramienta en nuestro caso httplocalhostwordpress

Deberemos rellenar con los datos obtenidos en Wordpress la clave de consumidor y la clavesecreta

Es importante marcar Show tool type when creating tool instances para que aparezcaposteriormente al crear los recursos en nuestros cursos

Para poder probar el sistema hemos creado un curso dentro de Moodle llamada WordpressLTIdonde daremos de la siguiente manera de alta 59

Dentro de nuestro curso seleccionamos la opcioacuten de Edicioacuten

Pulsamos sobre Antildeadir una actividad o un recurso

Seleccionamos External Tool

Rellenamos las opciones

bull Nombre de la Actividad Cualquiera de nuestra eleccioacuten

Figura 58 Conguracioacuten LTI en Moodle

bull Tipo de herramienta externa El nombre que le pusimos a la herramienta externa enla conguracioacuten LTI de Moodle

bull Launch Container Hemos elegido la opcioacuten Incrustar para ver el resultado

Figura 59 Conguracioacuten Herramienta Externa

Una vez congurado podemos lanzar la herramienta externa teniendo como resultado la gura510

Figura 510 Wordpress integrado en Moodle

532 ChemVantage

ChemVantage es un recurso gratuito para la educacioacuten cientiacuteca que incluye ejercicios de gradoejercicios de preparacioacuten exaacutemenes de la praacutectica conferencias de video y libros de texto enliacutenea gratis Fue creado por ChemVantage LLC que fue fundada por el Prof Chuck Wight queha ensentildeado Quiacutemica General en la Universidad de Utah desde 1984 (ChemVantage 2011)

Nos hemos puesto en contacto con Chuck Wight (adminchemvantageorg) para solicitarle unaclave de consumidor y secreta para poder probar este recurso desde moodle Las opciones y elcorreo puede verse en la gura 511

Una de las cosas maacutes importantes de ChemVantage y por lo que nos hemos decidido a probar esque permite la devolucioacuten de las notas obtenidas en los ejercicios realizados en las herramientasexternas a Moodle El alumno podraacute realizar las tareas en esta herramienta externa y luego sercalicadas en Moodle

ChemVantage estaacute certicada por IMS 7 como un proveedor de herramientas LTI v11 y comotal funciona desde nuestro propio LMS para llevar a cabo la autenticacioacuten de sitios provee decuentas y devuelve resultados de asignacioacuten de estudiantes con el libro LMS grado automaacutetica-mente

Los recursos disponible son ChemVantage son principalmente los siguientes

1 QuizzesLos ejercicios presentados aquiacute estaacuten disentildeados para animar a los estudiantes a leer y en-tender los libros de texto utilizados en el curso Las preguntas se basan en material que sepresente en su mayor parte en los textos de introduccioacuten de quiacutemica Los iacutetems de preguntastienen respuestas straighforward no requieren caacutelculos detallados Las preguntas se presen-tan en varios formatos diferentes incluyendo opcioacuten muacuteltiple verdadero falso casilla devericacioacuten ll-in-the-blanco y numeacutericas Cada cuestionario se compone de 10 preguntasextraiacutedas al azar de una base de datos con muchas maacutes preguntas En el proceso de tomarvarias pruebas para mejorar sus calicaciones los estudiantes probablemente encuentran

7httpdevelopersimsglobalorgcoursechemvantagehtml

algunas preguntas repetidas de concursos anteriores sin embargo es poco probable quecualquiera de los dos cuestionarios contendraacute exactamente el mismo conjunto de preguntasen el mismo orden Asignando pruebas para ser completado antes de la conferencia losprofesores pueden estar seguros de que sus estudiantes tengan un poco de exposicioacuten almaterial Esto permite una mayor discusioacuten el diaacutelogo y la participacioacuten en el aula y haceel aprendizaje maacutes divertido (de verdad)

2 Video LecturesUna serie de conferencias de viacutedeo de 10 minutos sobre una variedad de temas de QuiacutemicaGeneral es accesible desde la paacutegina principal Los videos estaacuten disentildeados para reforzar lospuntos principales que se presentan en muchos libros de texto

3 HoweworksLas tareas estaacuten disentildeadas para dar a los estudiantes la praacutectica en la resolucioacuten de proble-mas cuantitativos que tienen respuestas numeacutericas Cada alumno puede descargar la tareatrabajar los problemas y presentar las respuestas en liacutenea Respuestas son juzgados a sercorrecta si la solucioacuten numeacuterica de acuerdo con la solucioacuten que se encuentra en la base dedatos dentro de una tolerancia especicada (indicado para cada problema) El sitio informaa los estudiantes que las respuestas son correctas para que puedan rehacer problemas malresueltos y volver a presentar las respuestas Cada problema se basa en una plantilla queatrae paraacutemetros al azar por lo que la respuesta correcta es diferente para cada estudianteEsto hace que sean adecuadas para la colaboracioacuten y el trabajo en grupo porque a pesarde que el grupo puede trabajar para encontrar un algoritmo correcto para resolver un prob-lema cada estudiante tendraacute que usar el algoritmo para encontrar la solucioacuten detallada asu propio problema

4 Practice ExamsLos estudiantes pueden realizaar exaacutemenes de praacutectica cronometrados que muestran laspreguntas de un grupo de 3 o maacutes temas Cada examen estaacute disentildeado para tardar unos60 minutos o menos e incluye una seleccioacuten de 10 preguntas Las praacutecticas de exaacutemenespueden repetirse cuantas veces se desee Las preguntas numeacutericas son parametrizadas loque es muy poco probable que un estudiante realice alguna vez dos exaacutemenes de praacutecticaideacutenticos

5 Portofolio PageCada estudiante puede acceder a una paacutegina que le da la puntuacioacuten obtenida en cada prue-ba y la asignacioacuten de tareas Los estudiantes que son miembros de un grupo tienen unapaacutegina de resultados asociados a las tareas de grupo Hay una paacutegina de carpeta separadaque contiene un resumen de todas las actividades realizadas en ChemVantage incluyendovideos vistos cuestionarios completados resolver problemas con la tarea y la praacutectica deexaacutemenes completados Las puntuaciones en los exaacutemenes de praacutectica son desagregadospara revelar fortalezas y debilidades estudiantes por temas

Hemos procedido a darlo de alta en LTI como hicimos con Wordpress Entramos en Moodle co-mo Administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

Figura 511 Correo de Chuck Wight

-LTI quedando como resultado la siguiente hoja de paraacutemetros gura 512

El siguiente paso seraacute antildeadir la herramienta dentro de nuestro curso para ello pulsaremos sobreAntildeadir una actividad o un recurso Deberemos seleccionar External Tool y rellenamos las op-ciones de la herramienta seleccionando como Tipo de herramienta externa la opcioacuten creada enel apartado de LTI de Moodle

Una vez congurado la herramienta en Moodle podemos entrar para realizar una personalizacioacutende la herramienta gura 513 esta consiste en indicar si el alumno cuando se conecta realiza undeterminado tarea o puede elegir navegar por la web de ChemVantage para poder disfrutar dela cantidad de recursos que se encuentran disponibles

Cuando el usuario pulsa sobre la opcioacuten de esta herramienta externa en Moodle lo primero quese le muestra es la informacioacuten sobre su perl en Chemvantage 514Como hemos visto en los paraacutemetros de conguracioacuten existe la posibilidad de llamar a unaherramienta externa incrustaacutendola dentro de Moodle o abrieacutendolo en una paacutegina web nuevaCon esta segunda opcioacuten no hemos conseguido que funcione correctamente la importacioacuten de lasnotas En cambio si la herramienta externa estaacute incrustada permite esa vinculacioacuten

Figura 512 Conguracioacuten de paraacutemetros LTI

Figura 513 Opciones de inicio de la herramienta

Figura 514 Pantalla de utilizacioacuten de la herramienta por el usuario

Capiacutetulo 6

Middleware

61 Introduccioacuten

La uacuteltima opcioacuten seriacutea utilizar una arquitectura middleware de integracioacuten que permita la inte-gracioacuten ligera de muacuteltiples herramientas existentes en el Moodle

62 GluePS

GLUE-PS es una arquitectura de middleware que permite una interoperabilidad ligera entrelos diferentes lenguajes de disentildeo de aprendizaje y diferentes entornos de aprendizaje virtualEsta interoperabilidad permite a los maestros y otros profesionales que particularicen (es decirpara personalizar el disentildeo de aprendizaje abstractoa la clase particular los participantes y laeleccioacuten de los instrumentos en los que va a ser promulgada) desplieguen (es decir para crearde forma semiautomaacutetica las actividades necesarias en el VLE recursos etc para la aprobacioacutendel disentildeo particularizado) e incluso para llevar a cabo ciertos cambios en el tiempo de ejecucioacuten(por ejemplo modicar la composicioacuten del grupo agregar o quitar recursos de las actividadesetc) Todo esto a partir de disentildeos en distintos lenguajes de disentildeo de aprendizaje tales como laespecicacioacuten IMS-LD aprendizaje

Por otra parte GLUE-PS tambieacuten permite desplegar y gestionar disentildeos de aprendizaje en en-tornos virtuales de aprendizaje que integren herramientas de aprendizaje externos (tales comointegrar en Moodle herramientas como Google Docs y muchos otros) - lo que llamamos Am-bientes de Aprendizaje Distribuido (DLE Distributed Learning Enviroments) Esto se consiguegracias a la arquitectura de GLUE para la integracioacuten de los entornos virtuales de aprendizajey herramientas externas

621 Instalacioacuten

Para realizar la instalacioacuten de GLUE-PS nos hemos descargado el software necesario de la webde los desarrolladores1 descargando la opcioacuten de autenticacioacuten centralizada La instalacioacuten haconstado de tres partes que pasaremos a describir a continuacioacuten

1httpwwwgsicuvaesglue

49

Figura 61 Arquitectura de GLUE

La primera parte consiste en la instalacioacuten del GLUEletManager y los adaptadores GSIC toolAunque el sistema viene preparado para Linux o Windows siendo Windows la explicacioacuten quevamos a desarrollar por estar utilizando este sistema operativo con Xampp

1 Crear el directorio GLUE_ HOME El cual hemos creado para mayor comodidad en la raiacutezdel disco duro

2 Denir la variable del sistema GLUE_ HOME con el valor de la direccioacuten completa deldirectorio de GLUE del punto anterior Para ello hemos pulsado botoacuten derecho sobre MiPc Propiedad Opciones Avanzadas Variables de Entorno procediendo a pulsar el botoacutenNueva para crear la variable en cuestioacuten

3 Extraemos en el directorio del punto (1) el paquete descargado de la paacutegina de los desar-rolladores

4 Ejecutar la instalacioacuten del cheroGLUE_ HOMEbininstall gluebat para registar GLUElet-Manager y GSIC tool como un servicio de Windows Tambieacuten este paso crearaacute un cheroen GLUE_ HOMEtool_ adapteradapterdata para proveer de persistencia a los objetoscreados con el adaptador GSIC tool

A continuacioacuten daremos de alta en nuestro gestor de bases de datos un para de bases de datosque necesita GLUEletManager Para ellos seguimos los siguientes pasos

1 Abrimos la consola de phpMyaAdmin para cargar y ejecutar el chero create_ GLUE_databasessql que se encuentra en GLUE_ HOMEmanagerconfdb

2 Modicamos el chero GLUE_ HOMEmanagerconfMETA-INFpersistencexml paradarle los paraacutemetros necesarios para que JDBC se conecte a nuestra base de datos Losparaacutemetros modicados puede verse en la imagen 62

Figura 62 Paraacutemetros modicados en persistencexml

La segunda parte consiste en el registro interno de los adaptadores de las herramientas para seraccedido con GLUEletManager La distribucioacuten trae un chero para facilitar la conguracioacuten delos adaptadores que trae consigo y para su instalacioacuten deberemos ejecutar el chero GLUE_HOMEmanagerconfdbll _ internal_ Registrysql Alguna de las herramientas necesitanuna conguracioacuten maacutes completa como puede ser Google Docs adapter que necesita una cuentade Gmail para poder crear documentos en Google Docs por lo que deberemos modicar el nom-bre de usuario y contrasentildea

La uacuteltima parte consiste en la instalacioacuten del adaptardor de Moodle como VLE utilizado Estainstalacioacuten es como cualquier otro moacutedulo de Moodle 2 La carpeta que deberemos copiar seraacutela del adaptador correspondiente a Moodle que se encuentra en la carpeta GLUE_ HOMEvle_adpatersmoodle_ vle_ adapter Una vez entremos en nuestro Moodle como administrador nosapareceraacute un mensaje indicaacutendonos que el nuevo moacutedulo esta instalado Para congurar el nuevomoacutedulo debermos ir a Noticaciones - Modulos - Actividades como podemos ver en la gura 63para congurar los paraacutemetros la URL del GLUEletManager y el tiempo de espera

Figura 63 Paraacutemetros del moacutedulo GLUE

Cuando el profesor quiera crear una nueva actividad dependiente de los adaptadores de GLUEdeberaacute agregar una actividad maacutes pulsando para ello en esta opcioacuten dentro del bloque deseadopara seleccionar luego el tipo de actividad GLUElet como podemos ver en la gura64

622 Creando un Doodle

El adaptador Doodle permite la creacioacuten conguracioacuten y gestioacuten de instancias del Doodle Cadaencuesta Doodle es considerado un instancia diferente Ademaacutes este adaptador permite realizarademas la conguracioacuten inicial de encuestas Doodle incluyendo el nombre de la encuesta unadescripcioacuten y un conjunto de posibles respuestas

A continuacioacuten antildeadiremos Doodle en un bloque de Moodle para ellos pulsaremos la opcioacuten deAgregar actividad GLUElet lo cual nos mostraraacute la paacutegina65 donde deberemos rellenar comomiacutenimo el nombre de la actividad y el tipo de herramienta seleccionado en este caso Doodle(httpdoodle-testcom)

2httpdocsmoodleorgenInstalling_contributed_modules_or_plugins

Figura 64 Creando una actividad GLUElet

La primera vez que pulsemos sobre la nueva actividad creada apareceraacute un pantalla 66 dondepodemos congurar diferentes elementos de la encuesta desarrollada con Doodle como son eltiacutetulo una pequentildea descripcioacuten y luego las opciones posibles con un liacutemite de 10

El resultado nal seraacute la incrustacioacuten de una encuesta Doodle dentro de nuestro Moodle comopodemos ver en la gura67

Figura 65 Antildeadiendo Doodle como actividad

Figura 66 Opciones iniciales de conguracioacuten de Doodle

Figura 67 Doodel dentro de Moodle

Capiacutetulo 7

Conclusiones Finales

71 Conclusiones Finales

El proyecto actual nos ha servido para acercarnos a las diferentes tecnologiacuteas que permiten lacomunicacioacuten entre Servicios Webs Hemos desarrollado una primera labor de investigacioacuten queha requerido el aprendizaje de diferentes herramientas de control de documentacioacuten y referenciascomo Zotero y Mendeley

La documentacioacuten recabada en el proceso inicial de revisioacuten de documentos nos ha aportadoun visioacuten general de los diferentes sistemas virtuales de aprendizaje que podemos encontrarnosmuchos de ellos gratuitos y las diferentes soluciones que se plantean a la necesidad de incluirrecursos de otros fabricantes que en principio no fueron concebidos para ser utilizados dentro deuna plataforma VLE

Para poner en praacutectica la diferentes opciones encontradas se han montado diferentes maacutequinasvirtuales sobre las que se han probado las mismas Las conclusiones nales se pasan a detallar

IMS LTIEsta solucioacuten de integracioacuten mediante el cumplimiento de unos protocolos y certicacionesde las herramientas que lo cumplen es en principio la que podriacutea parecer la mejor opcioacutenpero la falta de compromiso de los diferentes fabricantes de Servicios Web y la luchapara imponer sus propios estaacutendares hace que aun quede mucho para que esta opcioacuten seacomo tal real

Si vemos el nuacutemero de aplicaciones certicadas para usar IMS LTI apenas superan las 50 yla mayoriacutea solo cumple la especicacioacuten v10 lo cual signica que la integracioacuten solo solu-ciona el problema de llamar a un recurso externo desde Moodle Pocas son las que cumplenla v11 que permite obtener en Moodle una valoracioacuten de los ejercicios desarrollados en unaactividad externa

La versioacuten v20 que daraacute maacutes opciones a la hora de interactuar con actividades externasauacuten esta en desarrollo y nada se sabe sobre posibles fechas para su presentacioacuten Luegocerticacioacuten de herramientas etc

55

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 34: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

Figura 41 Capas en Moodle

2 El servidor de protocolo devuelve un token de sesioacuten para esa cuenta de usuario

3 El cliente llama a un Servicio Web especiacuteco incluyendo el token de sesioacuten

4 El servidor utiliza el token para comprobar que la sesioacuten del Servicio Web estaacute activa

5 El servidor llama a la funcioacuten correspondiente localizada en el chero externallibphp dentrodel moacutedulo especiacuteco

6 La funcioacuten externa comprueba que el usuario actual tenga los permisos sucientes pararealizar esta operacioacuten

7 La funcioacuten externa llama a la funcioacuten correspondiente del nuacutecleo de Moodle (libphp)

8 La funcioacuten del nuacutecleo puede retornar un resultado a la funcioacuten externa

9 La funcioacuten externa devolveraacute el resultado al servidor de protocolo

10 El servidor de protocolo devolveraacute el resultado al cliente

43 REST

REST (Representational State Transfer) es el acroacutenimo de Transferencia de Estado Representa-cional teacutermino usado por Roy Fielding (uno de los creadores de HTTP) para describir un estilode arquitectura que utilizar como modelo en los sistemas de computacioacuten Web No es un es-taacutendar sino un enfoque que muestra como desarrollar y proporcionar servicios en Internet portanto considerado como un estilo arquitectoacutenico para disentildeo de software a gran escala El propioautor lo dene de manera concisa en eacuteste paacuterrafo

REST es un intento de mostrar coacutemo debe comportarse una aplicacioacuten Web bien disentildeada unared de paacuteginas Web (una maacutequina de estados virtual) donde el usuario progresaraacute seleccionan-do enlaces (transiciones de estado) que devuelven la paacutegina siguiente (el siguiente estado de lamaacutequina) que el usuario manejaraacute a su gusto

Este enfoque no aporta realmente nada nuevo la mayor parte de la Web sigue este estilo arqui-tectoacutenico Sin embargo el autor hace eacutenfasis en las caracteriacutesticas concretas que han hecho quela Web triunfe que van a ser los objetivos buscados por REST y que son a su juicio

Escalabilidad en las interacciones entre componentes La red ha ido creciendo de maneraexponencial y se ha ido comportado de manera satisfactoria

Generalidad en las interfaces Se proporciona acceso con distintos clientes y con distintosmecanismos de acceso

Desarrollo independiente de componentes Implementaciones cliente y servidor pueden serdesarrolladas en distintos momentos

Existencia de componentes intermediarios con los cuales existe compatibilidad (comoproxys)que permiten encapsulacioacuten e integracioacuten de sistemas no Web dentro de la misma

431 Principios de disentildeo

Los objetivos citados van a ser conseguidos imponiendo una serie de restricciones

El estado y la funcionalidad de las aplicaciones se representan por forma de recursos

La identicacioacuten de recursos se realiza de forma uacutenica global mediante Uniform ResourceIdentiers Los recursos identicados con URIs son los objetos loacutegicos a los cuales se lesmandan los mensajes

Manipulacioacuten de recursos a traveacutes de representaciones luego no se manejan directamentelos recursos sino sus representaciones

Todos los recursos comparten un interfaz uniforme formado por

bull Un conjunto de operaciones limitado para transferir el estado Se van a aprovecharlas operaciones que HTTP dene mostradas en la gura 42

bull Un conjunto limitado de tipos de contenidos identicados mediante tipos MIME

Uso de un protocolo clienteservidor sin estado y basado en capas Cada mensaje HTTPcontendraacute la informacioacuten necesaria para comprender la peticioacuten luego como muestra lagura 43 no es necesario que eacutesta sea entendida tanto en el cliente como en el servidor

Uso de hipermedios para representar el estado de una aplicacioacuten permitiendo que el estadode una aplicacioacuten Web particular esteacute almacenado en uno o maacutes documentos de hipertextoque residen bien en el servidor o en el cliente Esto permite al servidor saber el estado desus recursos sin necesidad de almacenar el estado de los clientes concretos

Figura 42 Operaciones denidas por HTTP

Como ya se mencionoacute REST se trata de un estilo arquitectoacutenico no un estaacutendar Sin embargohace uso de varios estaacutendares Web

HTTP HyperText Transfer Protocol

Figura 43 Operaciones denidas por HTTP

URL Uniform Resource Locator como el mecanismo de indenticacioacuten de recursos

XML - HTML - PNG - etc Como distintos formatos de representacioacuten de recursos

Tipos MIME como text-xml text-html image-png etc

44 SOAP

SOAP (siglas de Simple Object Access Protocol) es un protocolo estaacutendar que dene coacutemo dosobjetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML Esteprotocolo deriva de un protocolo creado por David Winer en 1998 llamado XML-RPC SOAPfue creado por Microsoft IBM y otros y estaacute actualmente bajo el auspicio de la W3C

441 Principios de disentildeo

La funcionalidad que aporta SOAP es la de proporcionar un mecanismo simple y ligero de in-tercambio de informacioacuten entre dos puntos usando el lenguaje XML SOAP no es maacutes que unmecanismo sencillo de expresar la informacioacuten mediante un modelo de empaquetado de datosmodular y una serie de mecanismos de codicacioacuten de datos Esto permite que SOAP sea uti-lizado en un amplio rango de servidores de aplicaciones que trabajen mediante el modelo decomunicacioacuten RPC (Remote Procedure Call)

SOAP consta de tres partes como podemos ver en la gura 44

El SOAP envelope que dene el marco de trabajo que determina queacute se puede introduciren un mensaje quieacuten deberiacutea hacerlo y si esa operacioacuten es opcional u obligatoria

Las reglas de codicacioacuten SOAP que denen el mecanismo de serializacioacuten que seraacute usadopara encapsular en los mensajes los distintos tipos de datos

La representacioacuten SOAP RPC que dene un modo de funcionamiento a la hora de realizarllamadas a procedimientos remotos y la obtencioacuten de sus resultados

A la hora de realizar el disentildeo de SOAP se han tenido en cuenta una serie de consideracionescon el n de cumplir una serie de objetivos claros objetivos que le daraacuten el potencial que resideen SOAP y que le haraacuten tan atractivo Eacutestos son

Establecer un protocolo estaacutendar de invocacioacuten a servicios remotos que esteacute basado enprotocolos estaacutendares de uso frecuente en Internet como son HTTP (Hiper Text TransportProtocol) para la transmisioacuten y XML (eXtensible Markup Language)para la codicacioacutende los datos

Figura 44 Partes de SOAP

Independencia de plataforma hardware lenguaje de programacioacuten e implementacioacuten delservicio Web

El logro de estos objetivos ha hecho de SOAP un protocolo extremadamente uacutetil ya que elprotocolo de comunicacioacuten HTTP es el empleado para la conexioacuten sobre Internetpor lo que segarantiza que cualquier cliente con un navegador estaacutendar pueda conectarse con un servidor re-moto Ademaacutes los datos en la transmisioacuten se empaquetan o serializan con el lenguaje XML quese ha convertido en algo imprescindible en el intercambio de datos ya que es capaz de salvar lasincompatibilidades que existiacutean en el resto de protocolos de representacioacuten de datos de la red

Por otra parte los servidores Web pueden procesar las peticiones de usuario empleando tec-nologiacuteas tales como Servlets paacuteginas ASP (Active Server Pages) paacuteginas JSP (Java ServerPages) o sencillamente un servidor de aplicaciones con invocacioacuten de objetos mediante CORBACOM o EJB

Un ejemplo tiacutepico de disentildeo de un servicio Web utilizando las ventajas de SOAP podemos veren la siguiente gura 45

Figura 45 Ejemplo de uso de SOAP

45 AMF

AMF (Action Message Format) es un protocolo binario de Adobe que va por la versioacuten AMF3Aunque por el nombre de la versioacuten pueda parecer que existan 3 cabe destacar que soacutelo existendos AMF0 y AMF3 Una de las mayores diferencias o mejoras que aporta AMF3 es que soporta

datos binarios (ByteArray) y int datos no soportados por AMF0 debido a que en la eacutepoca queaparecioacute el formato Flash Player no soportaba estos tipos de datos

AMF3 no es un protocolo para transferir informacioacuten sino que representa el formato en el quese transmite la informacioacuten en este caso un formato binario

La versioacuten de Moodle 25 viene con Zend_ AMF pero podemos utilizar tambieacuten la libreriacuteaamfPHP

AMFPHP

Zend_ amf httpframeworkzendcommanual112enzendamfhtml

Maacutes informacioacuten en httpdocsmoodleorgdevAMFPHP

46 Conguracioacuten de Moodle Web Services

Los Servicios Web habilitan que otros sistemas puedan entrar a Moodle y realizar operacionesPasaremos a detallar los pasos necesarios para su conguracioacuten y explicaremos distintos pruebasllevadas a cabo sobre su funcionamiento Para poder consumir de manera correcta unWeb Servicede Moodle seriacutea necesario antildeadir a la url que vamos a formar los paraacutemetros oportunos paralograr consumir el Web Service de manera satisfactoria Una vez antildeadidos ya podriacuteamos invocarla funcioacuten seleccionada

461 Activando los Servicios Web

Lo primero que debemos hacer es activar la opcioacuten general que habilita el uso de los serviciosweb En la gura 46 podemos observar la opcioacuten para la activacioacuten de este servicio para ello nosiremos a la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Servicios Externos

Figura 46 Activacioacuten Servicios Web

Esto solo es una opcioacuten a nivel global necesitando ahora activar los protocolos de comunciacionesque vamos a utilizar para ello deberemos ir a la opcioacuten textitAdministracioacuten del Sitio - Exten-siones - Servicios Web - Administrador de protoclos donde encontraremos las diferente opcionesque nos existen En la gura 47 podemos ver la pantalla de nuestra conguracioacuten con todos losprotocolos activados

Una vez activada la opcioacuten de Servicios Externos y seleccionados los protocolos que utilizaremosnecesitamos crear un Servicio Personalizado que no es maacutes que una etiqueta que aglutina los

Figura 47 Activacioacuten Protoclos

Servicios Web que ofrece Moodle y que pueden ser utilizados por los servicios externos Para ellodeberemos darle a la opcioacuten Agregar dentro de la opcioacuten Administracioacuten del Sitio - Extensiones- Servicios Web - Servicios Externos Como prueba habilitaremos un servicio llamado Uso_Servicio_ Web cuya creacioacuten podemos ver en la gura 48

Figura 48 Creacioacuten Servicio Personalizado

Una vez creado el Servicio Personalizado deberemos agregarle las funciones que queramos lesean permitidas pudiente tener maacutes de una En la gura 49 vemos como asociamos la creacioacutende usuarios al Servicio Personalizado

Terminado esto deberemos tener en el listado que nos muestra Moodle de Servicios personaliza-dos algo como lo mostrado en la gura 410

El siguiente paso es conceder los permisos apropiados para que este Servicio Personalizado puedeser usado por los usuarios pare ello debemos primero especicar quienes son los Usuarios au-torizados para ello en la linea de la lista de Servicios Personalizados deberemos pulsar sobre laopcioacuten usuarios autorizados donde apareceraacute una pantalla como 411 donde podremos escogerlos usuarios de los que se encuentran dados de alta en nuestro sistema

Y para terminar aunque este paso podriacutea ser realizado por el propio usuario si tuviera el per-miso de moodlewebservicecreatetoken seraacute la creacioacuten de un token el cual va ser la opcioacuten quevamos a utilizar para las pruebas de los Servicios Web de Moodle Para la creacioacuten del mismodeberemos entrar en la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Admin-istrar tokens y pulsar la opcioacuten Agregar para antildeadir un token nuevo como podemos apreciar en

Figura 49 Agregando funciones al Servicio Personalizado

Figura 410 Listado de Servicios Personalizados

la gura 412 teniendo la precaucioacuten de escoger como Servicio el Servicio Personalizado creadocon anterioridad Uso_ Servicio_ Web

En esta pantalla podemos poner varios tipos de restricciones

Restriccioacuten de IP Donde podemos indicar la direccioacuten IP desde donde

Restriccioacuten de Fecha Se puede denir hasta cuando seraacute valido este token siendo unabuena manera de poder probar cosas y no dejar puertas abiertas por error

En la gura 413 podemos ver el token asignado por el sistema para nuestro Servicio Personalizadoy que procederemos a utilizar para comprobar el funcionamiento de los Servicios Web de Moodle

462 Pruebas cliente Servicio Web

Procederemos ahora a desarrollar pruebas que utilicen los Servicios Personalizados creado Sepodriacutean haber utilizado el Cliente de prueba de servicio web que incorpora Moodle dentro dela opcioacuten Administracioacuten del Sitio - Desarrollo - Cliente de prueba servicio web pero hemosdecidido implementar una Web para comprobar la facilidad del funcionamiento del sistema y losdistintos resultados obtenidos seguacuten el protocolo utilizado

Utilizaremos la libreriacutea cURL de PHP cURL es una herramienta que permite abrir conexionesen una amplia variedad de protocolos y que estaacute disponible tanto como herramienta de consola(para ejecutar directamente con comandos) como en libreriacutea (para usar en vuestro coacutedigo) y quepermite hacer praacutecticamente todo manejo de cookies descarga de cheros binarios enviacuteos de

Figura 411 Alta de Usuarios Autorizados

Figura 412 Creacioacuten de Tokens

paraacutemetros GET y POST etc

La web creada para la introduccioacuten 414 de los usuarios seraacute equivalente para todos los procesosprocesos siendo el programa que da respuesta al formulario el que implemente la funcioacuten nece-saria para la introduccioacuten de los datos en Moodle

Los resultados de REST pueden mostrar los resultados del alta de dos maneras diferentes unaen formato XML como podemos ver en la gura 415 y otro en formatox JSON tambieacuten po-dremos ver en la gura Los resultados obtenidos tambieacuten pueden verse en el la gura 416

Figura 413 Lista de Tokens

Figura 414 Web de alta de usuarios

Figura 415 Resultado de REST en formato XML

Figura 416 Resultado de REST en formato JSON

Capiacutetulo 5

Herramientas Externas

51 Introduccioacuten

Las versiones de Moodle desde la 22 vienen con IMS LTI o External Tool de manera integradaEn versiones anteriores era necesario la instalacioacuten de plugins como LTI Provider (maacutes informa-cioacuten en la web de Moodle1 IMS LTI es un estandar de IMS learing2 para la interoperabilidadde herramientas Esto signica que las herramientas de aprendizaje tienen ahora un mecanismopara jar el modo en que pueden conectarse entre ellas sin problemas

En la praacutectica cuando un usuario se registra en Moodle puede conectarse a otras herramientascomo Wikis o Blogs y autenticarse de manera automaacutetica en estas

52 Estaacutendares IMS

Actualmente se realizan esfuerzos para la integracioacuten de servicios a una plataforma virtual deaprendizaje mediante un mecanismo reutilizable independiente del tipo de plataforma El IMSGlobal Learning Consortium viene desde hace tiempo trabajando en este enfoque IMS GLCpresenta un conjunto de estaacutendares que promueven el uso de servicios de aprendizaje digitales(Digital Learning Services) dentro de las plataformas de aprendizaje tradicionales IMS DigitalLearning Services estaacute integrado por los siguientes estaacutendares principales IMS Common Car-tridge [ims a] IMS Learning Tool Interoperability [ims c] y IMS Learning Information Services[ims b]

El IMS Learning Tool Interoperability es una especicacioacuten para facilitar la inclusioacuten de her-ramientas externas dentro de un curso El administrador de la plataforma de aprendizaje ges-tiona los servicios que podraacuten ser consumidos por la plataforma el docente decide que serviciosutilizaraacute en su curso y el estudiante hace uso de los mismos IMS LTI permite que distintos LMSconsuman un mismo servicio el cual no fue implementado teniendo en cuenta el tipo de LMSsino la implementacioacuten del estaacutendar desde el lado del proveedor

El enfoque del IMS LTI estaacute dirigido a la creciente demanda de un mecanismo reutilizable para laintegracioacuten de herramientas de terceros en el nuacutecleo de las plataformas LMS Estas herramientas

1httpsmoodleorgpluginsviewphpplugin=local_ltiprovider2httpwwwimsglobalorgtoolsinteroperability2cfm

37

pueden agregar funcionalidad especializada a los LMS El enfoque ofrece una solucioacuten basada enWeb Services igualmente aplicable a distintos lenguajes de programacioacuten

Las versiones del LTI son

LTI v10 ( LTI Basic ) ( publicado en mayo de 2010 ) proporciona un meacutetodo sencillopero estaacutendar para establecer una conexioacuten segura a una herramienta desde el interior deun consumidor de herramientas El lanzamiento de este enlace permite una experienciade aprendizaje sin problemas para los estudiantes que acceden a las aplicaciones ricas queparecen tener lugar dentro del ambiente de aprendizaje Versioacuten 10 es el primer paso en eldesarrollo continuo de LTI Figura 51

LTI v11 ( publicado en marzo 2012 ) antildeade la posibilidad de pasar de nuevo un resultadode la herramienta al Consumidor de herramientas Esto permite que los estudiantes recibenuna calicacioacuten o puntuacioacuten de su interaccioacuten con la aplicacioacuten de aprendizaje

LTI v111 ( publicado en julio de 2012 ) incluye soporte para el papel Mentor que se puedeutilizar para representar a un padre tutor o auditor

LTI v20 Aun en estado de desarrollo y proporciona una plataforma maacutes sosticado y ex-tensible para permitir integraciones maacutes profundas y un mayor apoyo para los serviciosy eventos LTI 2 se basa en LTI 1 mediante la incorporacioacuten de maacutes sosticada resulta-dos de informes y una rica arquitectura de extensiones que permite servicios adicionalesque se antildeadiraacuten gradualmente LTI 2 utiliza REST y JSON-LD para ofrecer esta nuevafuncionalidad

Figura 51 Esquema LTI Baacutesico

En la gura 52 podemos observar como se podriacutean utilizar las ventajas de LTI por parte decada unos de los actores a lo largo de la vida de la aplicacioacuten de servicios externos dentro de unaplataforma de aprendizaje

En la paacutegina web de IMS3 podemos encontrar una relacioacuten de aplicaciones certicadas comocompatibles con el estaacutendar LTI indicando la versioacuten del LTI que cumplen En la gura 53podemos ver las aplicaciones certicadas por UOC y en la gura 54 la informacioacuten sobre una deestas herramientas

3httpwwwimsglobalorgccalltoolscfm

Figura 52 Esquema utilizacioacuten LTI

Figura 53 Listado de herramientas LTI de la UOC

53 Herramientas externas en Moodle

La siguiente seccioacuten consiste en la aplicacioacuten de alguno de esto servicios externos en Moodlepara comprobar su funcionamiento Nos decantaremos para la primera prueba por WordPresspues aunque existen manuales al respecto la documentacioacuten en castellano es escasa

531 Wordpress

La versioacuten estaacutendar de Wordpress a la cual accedemos cuando nos abrimos cuenta en Wordpressno viene con las herramientas necesarias para la iteracioacuten mediante LTI por lo que procedere-mos a la instalacioacuten en nuestro servidor de Wordpress para pasar a la instalacioacuten de los pluginsnecesarios

La instalacioacuten ha consistido en la descarga de la web ocial 4 de la versioacuten 351 la cual hemoscopiado dentro del directorio htdocs de nuestra instalacioacuten de Xampp Hemos dado de alta unnuevo usuario en nuestra base de datos llamado username como podemos ver en la imagen 55 yposteriormente hemos seguido los pasos que el instalador nos iba ofreciendo para tener instalado

4httpwordpressorgdownload

Figura 54 Informacioacuten sobre la certicacioacuten

Wordpress bajo la url httplocalhostwordpress

Figura 55 Usuario de Wordpress

Deberemos congurar Wordpress para que trabaje como multisitio para lo que deberemos seguirlos pasos de conguracioacuten que podemos encontrar en la web ocial de Wordpress5 bajo el nombreCreate A Network consistente en los siguientes pasos

1 Realizar una copia de seguridad por si acaso

2 Modicar el chero wp-congphp incluyendo la siguiente linea encima de Thats allstop editing Happy blogging Multisite dene (WP_ ALLOW_ MULTISITE true)

Multisite dene (WP_ ALLOW_ MULTISITE true)

3 Installar un Network Para ello hemos de entra en la opcioacuten Administration -gtTools -gtNetwork Setup donde podremos congurar opciones sobre el nombre que queremos declararpara el nuevo sitio

4 Activar el Network para ello debemos modicar los cheros wp-congphp y htaccess porlo que seriacutea bueno que realizaacuteramos primero un copia de seguridad de los mismos Loscambios que debemos realizar son los siguientes

5httpcodexwordpressorgCreate_A_Network

En wp-congphp dene(MULTISITE true)dene(SUBDOMAIN_ INSTALL false)dene(DOMAIN_ CURRENT_ SITE localhost)dene(PATH_ CURRENT_ SITE wordpress)dene(SITE_ ID_ CURRENT_ SITE 1)dene(BLOG_ ID_ CURRENT_ SITE 1)

El chero htaccess debe quedar asiacute BEGIN WordPressltIfModule mod_ rewritecgtRewriteEngine OnRewriteBase wordpressRewriteRule icircndexphp$ - [L]

add a trailing slash to wp-adminRewriteRule ([_ 0-9a-zA-Z-]+)wp-admin1wp-admin [R=301L]

RewriteCondREQUEST_ FILENAME -f [OR]RewriteCondREQUEST_ FILENAME -dRewriteRule - [L]RewriteRule ([_ 0-9a-zA-Z-]+)(wp-(content|admin|includes)) $2 [L]RewriteRule ([_ 0-9a-zA-Z-]+)( php)$ $2 [L]RewriteRule indexphp [L]ltIfModulegt

END WordPress

5 Esto nos habraacute creado en la parte izquierda de la barra de herramientas de Wordpressuna nueva opcioacuten llamada My Sites que contendraacute un listado de los sitios de nuestroWordpress

El siguiente paso seraacute la descarga del plugin los cual podremos hacerlos desde la web de sour-forgenet 6 En esta web se detalla informacioacuten sobre el plugin y como se debe instalar Siguiendolos pasos que tenemos en el mismo procederemos a la descarga y el desplegado del mismo en lacarpeta wp-contentmu-plugins Salimos de Wordpress y volvemos a entrar como superusuariosi entramos dentro de la nueva red realizada podremos ver que dentro de LTI Consumers Keystendremos la opcioacuten LTI Consumers Keys como podemos ver en la imagen 56

Aquiacute deberemos crear la clave del consumidor del servicio y la clave secreta que nos permitiraacute aMoodle conectarse a Wordpress

Una vez que tenemos la clave secreta y del consumidor deberemos volver a Moodle entrandocomo administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

6httpsourceforgenetappsmediawikilearningappsindexphptitle=LTI4Wordpress

Figura 56 Servicios LTI en Wordpress

Figura 57 Listado de claves de LTI en Wordpress

-LTI En esta paacutegina podremos rellenar nuestras opciones

Tool Name Seraacute el nombre que tendraacute la herramienta y deberemos poner alguno indicativode la herramienta que estemos utilizando

Tool Base URL Es la direccioacuten de la herramienta en nuestro caso httplocalhostwordpress

Deberemos rellenar con los datos obtenidos en Wordpress la clave de consumidor y la clavesecreta

Es importante marcar Show tool type when creating tool instances para que aparezcaposteriormente al crear los recursos en nuestros cursos

Para poder probar el sistema hemos creado un curso dentro de Moodle llamada WordpressLTIdonde daremos de la siguiente manera de alta 59

Dentro de nuestro curso seleccionamos la opcioacuten de Edicioacuten

Pulsamos sobre Antildeadir una actividad o un recurso

Seleccionamos External Tool

Rellenamos las opciones

bull Nombre de la Actividad Cualquiera de nuestra eleccioacuten

Figura 58 Conguracioacuten LTI en Moodle

bull Tipo de herramienta externa El nombre que le pusimos a la herramienta externa enla conguracioacuten LTI de Moodle

bull Launch Container Hemos elegido la opcioacuten Incrustar para ver el resultado

Figura 59 Conguracioacuten Herramienta Externa

Una vez congurado podemos lanzar la herramienta externa teniendo como resultado la gura510

Figura 510 Wordpress integrado en Moodle

532 ChemVantage

ChemVantage es un recurso gratuito para la educacioacuten cientiacuteca que incluye ejercicios de gradoejercicios de preparacioacuten exaacutemenes de la praacutectica conferencias de video y libros de texto enliacutenea gratis Fue creado por ChemVantage LLC que fue fundada por el Prof Chuck Wight queha ensentildeado Quiacutemica General en la Universidad de Utah desde 1984 (ChemVantage 2011)

Nos hemos puesto en contacto con Chuck Wight (adminchemvantageorg) para solicitarle unaclave de consumidor y secreta para poder probar este recurso desde moodle Las opciones y elcorreo puede verse en la gura 511

Una de las cosas maacutes importantes de ChemVantage y por lo que nos hemos decidido a probar esque permite la devolucioacuten de las notas obtenidas en los ejercicios realizados en las herramientasexternas a Moodle El alumno podraacute realizar las tareas en esta herramienta externa y luego sercalicadas en Moodle

ChemVantage estaacute certicada por IMS 7 como un proveedor de herramientas LTI v11 y comotal funciona desde nuestro propio LMS para llevar a cabo la autenticacioacuten de sitios provee decuentas y devuelve resultados de asignacioacuten de estudiantes con el libro LMS grado automaacutetica-mente

Los recursos disponible son ChemVantage son principalmente los siguientes

1 QuizzesLos ejercicios presentados aquiacute estaacuten disentildeados para animar a los estudiantes a leer y en-tender los libros de texto utilizados en el curso Las preguntas se basan en material que sepresente en su mayor parte en los textos de introduccioacuten de quiacutemica Los iacutetems de preguntastienen respuestas straighforward no requieren caacutelculos detallados Las preguntas se presen-tan en varios formatos diferentes incluyendo opcioacuten muacuteltiple verdadero falso casilla devericacioacuten ll-in-the-blanco y numeacutericas Cada cuestionario se compone de 10 preguntasextraiacutedas al azar de una base de datos con muchas maacutes preguntas En el proceso de tomarvarias pruebas para mejorar sus calicaciones los estudiantes probablemente encuentran

7httpdevelopersimsglobalorgcoursechemvantagehtml

algunas preguntas repetidas de concursos anteriores sin embargo es poco probable quecualquiera de los dos cuestionarios contendraacute exactamente el mismo conjunto de preguntasen el mismo orden Asignando pruebas para ser completado antes de la conferencia losprofesores pueden estar seguros de que sus estudiantes tengan un poco de exposicioacuten almaterial Esto permite una mayor discusioacuten el diaacutelogo y la participacioacuten en el aula y haceel aprendizaje maacutes divertido (de verdad)

2 Video LecturesUna serie de conferencias de viacutedeo de 10 minutos sobre una variedad de temas de QuiacutemicaGeneral es accesible desde la paacutegina principal Los videos estaacuten disentildeados para reforzar lospuntos principales que se presentan en muchos libros de texto

3 HoweworksLas tareas estaacuten disentildeadas para dar a los estudiantes la praacutectica en la resolucioacuten de proble-mas cuantitativos que tienen respuestas numeacutericas Cada alumno puede descargar la tareatrabajar los problemas y presentar las respuestas en liacutenea Respuestas son juzgados a sercorrecta si la solucioacuten numeacuterica de acuerdo con la solucioacuten que se encuentra en la base dedatos dentro de una tolerancia especicada (indicado para cada problema) El sitio informaa los estudiantes que las respuestas son correctas para que puedan rehacer problemas malresueltos y volver a presentar las respuestas Cada problema se basa en una plantilla queatrae paraacutemetros al azar por lo que la respuesta correcta es diferente para cada estudianteEsto hace que sean adecuadas para la colaboracioacuten y el trabajo en grupo porque a pesarde que el grupo puede trabajar para encontrar un algoritmo correcto para resolver un prob-lema cada estudiante tendraacute que usar el algoritmo para encontrar la solucioacuten detallada asu propio problema

4 Practice ExamsLos estudiantes pueden realizaar exaacutemenes de praacutectica cronometrados que muestran laspreguntas de un grupo de 3 o maacutes temas Cada examen estaacute disentildeado para tardar unos60 minutos o menos e incluye una seleccioacuten de 10 preguntas Las praacutecticas de exaacutemenespueden repetirse cuantas veces se desee Las preguntas numeacutericas son parametrizadas loque es muy poco probable que un estudiante realice alguna vez dos exaacutemenes de praacutecticaideacutenticos

5 Portofolio PageCada estudiante puede acceder a una paacutegina que le da la puntuacioacuten obtenida en cada prue-ba y la asignacioacuten de tareas Los estudiantes que son miembros de un grupo tienen unapaacutegina de resultados asociados a las tareas de grupo Hay una paacutegina de carpeta separadaque contiene un resumen de todas las actividades realizadas en ChemVantage incluyendovideos vistos cuestionarios completados resolver problemas con la tarea y la praacutectica deexaacutemenes completados Las puntuaciones en los exaacutemenes de praacutectica son desagregadospara revelar fortalezas y debilidades estudiantes por temas

Hemos procedido a darlo de alta en LTI como hicimos con Wordpress Entramos en Moodle co-mo Administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

Figura 511 Correo de Chuck Wight

-LTI quedando como resultado la siguiente hoja de paraacutemetros gura 512

El siguiente paso seraacute antildeadir la herramienta dentro de nuestro curso para ello pulsaremos sobreAntildeadir una actividad o un recurso Deberemos seleccionar External Tool y rellenamos las op-ciones de la herramienta seleccionando como Tipo de herramienta externa la opcioacuten creada enel apartado de LTI de Moodle

Una vez congurado la herramienta en Moodle podemos entrar para realizar una personalizacioacutende la herramienta gura 513 esta consiste en indicar si el alumno cuando se conecta realiza undeterminado tarea o puede elegir navegar por la web de ChemVantage para poder disfrutar dela cantidad de recursos que se encuentran disponibles

Cuando el usuario pulsa sobre la opcioacuten de esta herramienta externa en Moodle lo primero quese le muestra es la informacioacuten sobre su perl en Chemvantage 514Como hemos visto en los paraacutemetros de conguracioacuten existe la posibilidad de llamar a unaherramienta externa incrustaacutendola dentro de Moodle o abrieacutendolo en una paacutegina web nuevaCon esta segunda opcioacuten no hemos conseguido que funcione correctamente la importacioacuten de lasnotas En cambio si la herramienta externa estaacute incrustada permite esa vinculacioacuten

Figura 512 Conguracioacuten de paraacutemetros LTI

Figura 513 Opciones de inicio de la herramienta

Figura 514 Pantalla de utilizacioacuten de la herramienta por el usuario

Capiacutetulo 6

Middleware

61 Introduccioacuten

La uacuteltima opcioacuten seriacutea utilizar una arquitectura middleware de integracioacuten que permita la inte-gracioacuten ligera de muacuteltiples herramientas existentes en el Moodle

62 GluePS

GLUE-PS es una arquitectura de middleware que permite una interoperabilidad ligera entrelos diferentes lenguajes de disentildeo de aprendizaje y diferentes entornos de aprendizaje virtualEsta interoperabilidad permite a los maestros y otros profesionales que particularicen (es decirpara personalizar el disentildeo de aprendizaje abstractoa la clase particular los participantes y laeleccioacuten de los instrumentos en los que va a ser promulgada) desplieguen (es decir para crearde forma semiautomaacutetica las actividades necesarias en el VLE recursos etc para la aprobacioacutendel disentildeo particularizado) e incluso para llevar a cabo ciertos cambios en el tiempo de ejecucioacuten(por ejemplo modicar la composicioacuten del grupo agregar o quitar recursos de las actividadesetc) Todo esto a partir de disentildeos en distintos lenguajes de disentildeo de aprendizaje tales como laespecicacioacuten IMS-LD aprendizaje

Por otra parte GLUE-PS tambieacuten permite desplegar y gestionar disentildeos de aprendizaje en en-tornos virtuales de aprendizaje que integren herramientas de aprendizaje externos (tales comointegrar en Moodle herramientas como Google Docs y muchos otros) - lo que llamamos Am-bientes de Aprendizaje Distribuido (DLE Distributed Learning Enviroments) Esto se consiguegracias a la arquitectura de GLUE para la integracioacuten de los entornos virtuales de aprendizajey herramientas externas

621 Instalacioacuten

Para realizar la instalacioacuten de GLUE-PS nos hemos descargado el software necesario de la webde los desarrolladores1 descargando la opcioacuten de autenticacioacuten centralizada La instalacioacuten haconstado de tres partes que pasaremos a describir a continuacioacuten

1httpwwwgsicuvaesglue

49

Figura 61 Arquitectura de GLUE

La primera parte consiste en la instalacioacuten del GLUEletManager y los adaptadores GSIC toolAunque el sistema viene preparado para Linux o Windows siendo Windows la explicacioacuten quevamos a desarrollar por estar utilizando este sistema operativo con Xampp

1 Crear el directorio GLUE_ HOME El cual hemos creado para mayor comodidad en la raiacutezdel disco duro

2 Denir la variable del sistema GLUE_ HOME con el valor de la direccioacuten completa deldirectorio de GLUE del punto anterior Para ello hemos pulsado botoacuten derecho sobre MiPc Propiedad Opciones Avanzadas Variables de Entorno procediendo a pulsar el botoacutenNueva para crear la variable en cuestioacuten

3 Extraemos en el directorio del punto (1) el paquete descargado de la paacutegina de los desar-rolladores

4 Ejecutar la instalacioacuten del cheroGLUE_ HOMEbininstall gluebat para registar GLUElet-Manager y GSIC tool como un servicio de Windows Tambieacuten este paso crearaacute un cheroen GLUE_ HOMEtool_ adapteradapterdata para proveer de persistencia a los objetoscreados con el adaptador GSIC tool

A continuacioacuten daremos de alta en nuestro gestor de bases de datos un para de bases de datosque necesita GLUEletManager Para ellos seguimos los siguientes pasos

1 Abrimos la consola de phpMyaAdmin para cargar y ejecutar el chero create_ GLUE_databasessql que se encuentra en GLUE_ HOMEmanagerconfdb

2 Modicamos el chero GLUE_ HOMEmanagerconfMETA-INFpersistencexml paradarle los paraacutemetros necesarios para que JDBC se conecte a nuestra base de datos Losparaacutemetros modicados puede verse en la imagen 62

Figura 62 Paraacutemetros modicados en persistencexml

La segunda parte consiste en el registro interno de los adaptadores de las herramientas para seraccedido con GLUEletManager La distribucioacuten trae un chero para facilitar la conguracioacuten delos adaptadores que trae consigo y para su instalacioacuten deberemos ejecutar el chero GLUE_HOMEmanagerconfdbll _ internal_ Registrysql Alguna de las herramientas necesitanuna conguracioacuten maacutes completa como puede ser Google Docs adapter que necesita una cuentade Gmail para poder crear documentos en Google Docs por lo que deberemos modicar el nom-bre de usuario y contrasentildea

La uacuteltima parte consiste en la instalacioacuten del adaptardor de Moodle como VLE utilizado Estainstalacioacuten es como cualquier otro moacutedulo de Moodle 2 La carpeta que deberemos copiar seraacutela del adaptador correspondiente a Moodle que se encuentra en la carpeta GLUE_ HOMEvle_adpatersmoodle_ vle_ adapter Una vez entremos en nuestro Moodle como administrador nosapareceraacute un mensaje indicaacutendonos que el nuevo moacutedulo esta instalado Para congurar el nuevomoacutedulo debermos ir a Noticaciones - Modulos - Actividades como podemos ver en la gura 63para congurar los paraacutemetros la URL del GLUEletManager y el tiempo de espera

Figura 63 Paraacutemetros del moacutedulo GLUE

Cuando el profesor quiera crear una nueva actividad dependiente de los adaptadores de GLUEdeberaacute agregar una actividad maacutes pulsando para ello en esta opcioacuten dentro del bloque deseadopara seleccionar luego el tipo de actividad GLUElet como podemos ver en la gura64

622 Creando un Doodle

El adaptador Doodle permite la creacioacuten conguracioacuten y gestioacuten de instancias del Doodle Cadaencuesta Doodle es considerado un instancia diferente Ademaacutes este adaptador permite realizarademas la conguracioacuten inicial de encuestas Doodle incluyendo el nombre de la encuesta unadescripcioacuten y un conjunto de posibles respuestas

A continuacioacuten antildeadiremos Doodle en un bloque de Moodle para ellos pulsaremos la opcioacuten deAgregar actividad GLUElet lo cual nos mostraraacute la paacutegina65 donde deberemos rellenar comomiacutenimo el nombre de la actividad y el tipo de herramienta seleccionado en este caso Doodle(httpdoodle-testcom)

2httpdocsmoodleorgenInstalling_contributed_modules_or_plugins

Figura 64 Creando una actividad GLUElet

La primera vez que pulsemos sobre la nueva actividad creada apareceraacute un pantalla 66 dondepodemos congurar diferentes elementos de la encuesta desarrollada con Doodle como son eltiacutetulo una pequentildea descripcioacuten y luego las opciones posibles con un liacutemite de 10

El resultado nal seraacute la incrustacioacuten de una encuesta Doodle dentro de nuestro Moodle comopodemos ver en la gura67

Figura 65 Antildeadiendo Doodle como actividad

Figura 66 Opciones iniciales de conguracioacuten de Doodle

Figura 67 Doodel dentro de Moodle

Capiacutetulo 7

Conclusiones Finales

71 Conclusiones Finales

El proyecto actual nos ha servido para acercarnos a las diferentes tecnologiacuteas que permiten lacomunicacioacuten entre Servicios Webs Hemos desarrollado una primera labor de investigacioacuten queha requerido el aprendizaje de diferentes herramientas de control de documentacioacuten y referenciascomo Zotero y Mendeley

La documentacioacuten recabada en el proceso inicial de revisioacuten de documentos nos ha aportadoun visioacuten general de los diferentes sistemas virtuales de aprendizaje que podemos encontrarnosmuchos de ellos gratuitos y las diferentes soluciones que se plantean a la necesidad de incluirrecursos de otros fabricantes que en principio no fueron concebidos para ser utilizados dentro deuna plataforma VLE

Para poner en praacutectica la diferentes opciones encontradas se han montado diferentes maacutequinasvirtuales sobre las que se han probado las mismas Las conclusiones nales se pasan a detallar

IMS LTIEsta solucioacuten de integracioacuten mediante el cumplimiento de unos protocolos y certicacionesde las herramientas que lo cumplen es en principio la que podriacutea parecer la mejor opcioacutenpero la falta de compromiso de los diferentes fabricantes de Servicios Web y la luchapara imponer sus propios estaacutendares hace que aun quede mucho para que esta opcioacuten seacomo tal real

Si vemos el nuacutemero de aplicaciones certicadas para usar IMS LTI apenas superan las 50 yla mayoriacutea solo cumple la especicacioacuten v10 lo cual signica que la integracioacuten solo solu-ciona el problema de llamar a un recurso externo desde Moodle Pocas son las que cumplenla v11 que permite obtener en Moodle una valoracioacuten de los ejercicios desarrollados en unaactividad externa

La versioacuten v20 que daraacute maacutes opciones a la hora de interactuar con actividades externasauacuten esta en desarrollo y nada se sabe sobre posibles fechas para su presentacioacuten Luegocerticacioacuten de herramientas etc

55

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 35: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

Generalidad en las interfaces Se proporciona acceso con distintos clientes y con distintosmecanismos de acceso

Desarrollo independiente de componentes Implementaciones cliente y servidor pueden serdesarrolladas en distintos momentos

Existencia de componentes intermediarios con los cuales existe compatibilidad (comoproxys)que permiten encapsulacioacuten e integracioacuten de sistemas no Web dentro de la misma

431 Principios de disentildeo

Los objetivos citados van a ser conseguidos imponiendo una serie de restricciones

El estado y la funcionalidad de las aplicaciones se representan por forma de recursos

La identicacioacuten de recursos se realiza de forma uacutenica global mediante Uniform ResourceIdentiers Los recursos identicados con URIs son los objetos loacutegicos a los cuales se lesmandan los mensajes

Manipulacioacuten de recursos a traveacutes de representaciones luego no se manejan directamentelos recursos sino sus representaciones

Todos los recursos comparten un interfaz uniforme formado por

bull Un conjunto de operaciones limitado para transferir el estado Se van a aprovecharlas operaciones que HTTP dene mostradas en la gura 42

bull Un conjunto limitado de tipos de contenidos identicados mediante tipos MIME

Uso de un protocolo clienteservidor sin estado y basado en capas Cada mensaje HTTPcontendraacute la informacioacuten necesaria para comprender la peticioacuten luego como muestra lagura 43 no es necesario que eacutesta sea entendida tanto en el cliente como en el servidor

Uso de hipermedios para representar el estado de una aplicacioacuten permitiendo que el estadode una aplicacioacuten Web particular esteacute almacenado en uno o maacutes documentos de hipertextoque residen bien en el servidor o en el cliente Esto permite al servidor saber el estado desus recursos sin necesidad de almacenar el estado de los clientes concretos

Figura 42 Operaciones denidas por HTTP

Como ya se mencionoacute REST se trata de un estilo arquitectoacutenico no un estaacutendar Sin embargohace uso de varios estaacutendares Web

HTTP HyperText Transfer Protocol

Figura 43 Operaciones denidas por HTTP

URL Uniform Resource Locator como el mecanismo de indenticacioacuten de recursos

XML - HTML - PNG - etc Como distintos formatos de representacioacuten de recursos

Tipos MIME como text-xml text-html image-png etc

44 SOAP

SOAP (siglas de Simple Object Access Protocol) es un protocolo estaacutendar que dene coacutemo dosobjetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML Esteprotocolo deriva de un protocolo creado por David Winer en 1998 llamado XML-RPC SOAPfue creado por Microsoft IBM y otros y estaacute actualmente bajo el auspicio de la W3C

441 Principios de disentildeo

La funcionalidad que aporta SOAP es la de proporcionar un mecanismo simple y ligero de in-tercambio de informacioacuten entre dos puntos usando el lenguaje XML SOAP no es maacutes que unmecanismo sencillo de expresar la informacioacuten mediante un modelo de empaquetado de datosmodular y una serie de mecanismos de codicacioacuten de datos Esto permite que SOAP sea uti-lizado en un amplio rango de servidores de aplicaciones que trabajen mediante el modelo decomunicacioacuten RPC (Remote Procedure Call)

SOAP consta de tres partes como podemos ver en la gura 44

El SOAP envelope que dene el marco de trabajo que determina queacute se puede introduciren un mensaje quieacuten deberiacutea hacerlo y si esa operacioacuten es opcional u obligatoria

Las reglas de codicacioacuten SOAP que denen el mecanismo de serializacioacuten que seraacute usadopara encapsular en los mensajes los distintos tipos de datos

La representacioacuten SOAP RPC que dene un modo de funcionamiento a la hora de realizarllamadas a procedimientos remotos y la obtencioacuten de sus resultados

A la hora de realizar el disentildeo de SOAP se han tenido en cuenta una serie de consideracionescon el n de cumplir una serie de objetivos claros objetivos que le daraacuten el potencial que resideen SOAP y que le haraacuten tan atractivo Eacutestos son

Establecer un protocolo estaacutendar de invocacioacuten a servicios remotos que esteacute basado enprotocolos estaacutendares de uso frecuente en Internet como son HTTP (Hiper Text TransportProtocol) para la transmisioacuten y XML (eXtensible Markup Language)para la codicacioacutende los datos

Figura 44 Partes de SOAP

Independencia de plataforma hardware lenguaje de programacioacuten e implementacioacuten delservicio Web

El logro de estos objetivos ha hecho de SOAP un protocolo extremadamente uacutetil ya que elprotocolo de comunicacioacuten HTTP es el empleado para la conexioacuten sobre Internetpor lo que segarantiza que cualquier cliente con un navegador estaacutendar pueda conectarse con un servidor re-moto Ademaacutes los datos en la transmisioacuten se empaquetan o serializan con el lenguaje XML quese ha convertido en algo imprescindible en el intercambio de datos ya que es capaz de salvar lasincompatibilidades que existiacutean en el resto de protocolos de representacioacuten de datos de la red

Por otra parte los servidores Web pueden procesar las peticiones de usuario empleando tec-nologiacuteas tales como Servlets paacuteginas ASP (Active Server Pages) paacuteginas JSP (Java ServerPages) o sencillamente un servidor de aplicaciones con invocacioacuten de objetos mediante CORBACOM o EJB

Un ejemplo tiacutepico de disentildeo de un servicio Web utilizando las ventajas de SOAP podemos veren la siguiente gura 45

Figura 45 Ejemplo de uso de SOAP

45 AMF

AMF (Action Message Format) es un protocolo binario de Adobe que va por la versioacuten AMF3Aunque por el nombre de la versioacuten pueda parecer que existan 3 cabe destacar que soacutelo existendos AMF0 y AMF3 Una de las mayores diferencias o mejoras que aporta AMF3 es que soporta

datos binarios (ByteArray) y int datos no soportados por AMF0 debido a que en la eacutepoca queaparecioacute el formato Flash Player no soportaba estos tipos de datos

AMF3 no es un protocolo para transferir informacioacuten sino que representa el formato en el quese transmite la informacioacuten en este caso un formato binario

La versioacuten de Moodle 25 viene con Zend_ AMF pero podemos utilizar tambieacuten la libreriacuteaamfPHP

AMFPHP

Zend_ amf httpframeworkzendcommanual112enzendamfhtml

Maacutes informacioacuten en httpdocsmoodleorgdevAMFPHP

46 Conguracioacuten de Moodle Web Services

Los Servicios Web habilitan que otros sistemas puedan entrar a Moodle y realizar operacionesPasaremos a detallar los pasos necesarios para su conguracioacuten y explicaremos distintos pruebasllevadas a cabo sobre su funcionamiento Para poder consumir de manera correcta unWeb Servicede Moodle seriacutea necesario antildeadir a la url que vamos a formar los paraacutemetros oportunos paralograr consumir el Web Service de manera satisfactoria Una vez antildeadidos ya podriacuteamos invocarla funcioacuten seleccionada

461 Activando los Servicios Web

Lo primero que debemos hacer es activar la opcioacuten general que habilita el uso de los serviciosweb En la gura 46 podemos observar la opcioacuten para la activacioacuten de este servicio para ello nosiremos a la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Servicios Externos

Figura 46 Activacioacuten Servicios Web

Esto solo es una opcioacuten a nivel global necesitando ahora activar los protocolos de comunciacionesque vamos a utilizar para ello deberemos ir a la opcioacuten textitAdministracioacuten del Sitio - Exten-siones - Servicios Web - Administrador de protoclos donde encontraremos las diferente opcionesque nos existen En la gura 47 podemos ver la pantalla de nuestra conguracioacuten con todos losprotocolos activados

Una vez activada la opcioacuten de Servicios Externos y seleccionados los protocolos que utilizaremosnecesitamos crear un Servicio Personalizado que no es maacutes que una etiqueta que aglutina los

Figura 47 Activacioacuten Protoclos

Servicios Web que ofrece Moodle y que pueden ser utilizados por los servicios externos Para ellodeberemos darle a la opcioacuten Agregar dentro de la opcioacuten Administracioacuten del Sitio - Extensiones- Servicios Web - Servicios Externos Como prueba habilitaremos un servicio llamado Uso_Servicio_ Web cuya creacioacuten podemos ver en la gura 48

Figura 48 Creacioacuten Servicio Personalizado

Una vez creado el Servicio Personalizado deberemos agregarle las funciones que queramos lesean permitidas pudiente tener maacutes de una En la gura 49 vemos como asociamos la creacioacutende usuarios al Servicio Personalizado

Terminado esto deberemos tener en el listado que nos muestra Moodle de Servicios personaliza-dos algo como lo mostrado en la gura 410

El siguiente paso es conceder los permisos apropiados para que este Servicio Personalizado puedeser usado por los usuarios pare ello debemos primero especicar quienes son los Usuarios au-torizados para ello en la linea de la lista de Servicios Personalizados deberemos pulsar sobre laopcioacuten usuarios autorizados donde apareceraacute una pantalla como 411 donde podremos escogerlos usuarios de los que se encuentran dados de alta en nuestro sistema

Y para terminar aunque este paso podriacutea ser realizado por el propio usuario si tuviera el per-miso de moodlewebservicecreatetoken seraacute la creacioacuten de un token el cual va ser la opcioacuten quevamos a utilizar para las pruebas de los Servicios Web de Moodle Para la creacioacuten del mismodeberemos entrar en la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Admin-istrar tokens y pulsar la opcioacuten Agregar para antildeadir un token nuevo como podemos apreciar en

Figura 49 Agregando funciones al Servicio Personalizado

Figura 410 Listado de Servicios Personalizados

la gura 412 teniendo la precaucioacuten de escoger como Servicio el Servicio Personalizado creadocon anterioridad Uso_ Servicio_ Web

En esta pantalla podemos poner varios tipos de restricciones

Restriccioacuten de IP Donde podemos indicar la direccioacuten IP desde donde

Restriccioacuten de Fecha Se puede denir hasta cuando seraacute valido este token siendo unabuena manera de poder probar cosas y no dejar puertas abiertas por error

En la gura 413 podemos ver el token asignado por el sistema para nuestro Servicio Personalizadoy que procederemos a utilizar para comprobar el funcionamiento de los Servicios Web de Moodle

462 Pruebas cliente Servicio Web

Procederemos ahora a desarrollar pruebas que utilicen los Servicios Personalizados creado Sepodriacutean haber utilizado el Cliente de prueba de servicio web que incorpora Moodle dentro dela opcioacuten Administracioacuten del Sitio - Desarrollo - Cliente de prueba servicio web pero hemosdecidido implementar una Web para comprobar la facilidad del funcionamiento del sistema y losdistintos resultados obtenidos seguacuten el protocolo utilizado

Utilizaremos la libreriacutea cURL de PHP cURL es una herramienta que permite abrir conexionesen una amplia variedad de protocolos y que estaacute disponible tanto como herramienta de consola(para ejecutar directamente con comandos) como en libreriacutea (para usar en vuestro coacutedigo) y quepermite hacer praacutecticamente todo manejo de cookies descarga de cheros binarios enviacuteos de

Figura 411 Alta de Usuarios Autorizados

Figura 412 Creacioacuten de Tokens

paraacutemetros GET y POST etc

La web creada para la introduccioacuten 414 de los usuarios seraacute equivalente para todos los procesosprocesos siendo el programa que da respuesta al formulario el que implemente la funcioacuten nece-saria para la introduccioacuten de los datos en Moodle

Los resultados de REST pueden mostrar los resultados del alta de dos maneras diferentes unaen formato XML como podemos ver en la gura 415 y otro en formatox JSON tambieacuten po-dremos ver en la gura Los resultados obtenidos tambieacuten pueden verse en el la gura 416

Figura 413 Lista de Tokens

Figura 414 Web de alta de usuarios

Figura 415 Resultado de REST en formato XML

Figura 416 Resultado de REST en formato JSON

Capiacutetulo 5

Herramientas Externas

51 Introduccioacuten

Las versiones de Moodle desde la 22 vienen con IMS LTI o External Tool de manera integradaEn versiones anteriores era necesario la instalacioacuten de plugins como LTI Provider (maacutes informa-cioacuten en la web de Moodle1 IMS LTI es un estandar de IMS learing2 para la interoperabilidadde herramientas Esto signica que las herramientas de aprendizaje tienen ahora un mecanismopara jar el modo en que pueden conectarse entre ellas sin problemas

En la praacutectica cuando un usuario se registra en Moodle puede conectarse a otras herramientascomo Wikis o Blogs y autenticarse de manera automaacutetica en estas

52 Estaacutendares IMS

Actualmente se realizan esfuerzos para la integracioacuten de servicios a una plataforma virtual deaprendizaje mediante un mecanismo reutilizable independiente del tipo de plataforma El IMSGlobal Learning Consortium viene desde hace tiempo trabajando en este enfoque IMS GLCpresenta un conjunto de estaacutendares que promueven el uso de servicios de aprendizaje digitales(Digital Learning Services) dentro de las plataformas de aprendizaje tradicionales IMS DigitalLearning Services estaacute integrado por los siguientes estaacutendares principales IMS Common Car-tridge [ims a] IMS Learning Tool Interoperability [ims c] y IMS Learning Information Services[ims b]

El IMS Learning Tool Interoperability es una especicacioacuten para facilitar la inclusioacuten de her-ramientas externas dentro de un curso El administrador de la plataforma de aprendizaje ges-tiona los servicios que podraacuten ser consumidos por la plataforma el docente decide que serviciosutilizaraacute en su curso y el estudiante hace uso de los mismos IMS LTI permite que distintos LMSconsuman un mismo servicio el cual no fue implementado teniendo en cuenta el tipo de LMSsino la implementacioacuten del estaacutendar desde el lado del proveedor

El enfoque del IMS LTI estaacute dirigido a la creciente demanda de un mecanismo reutilizable para laintegracioacuten de herramientas de terceros en el nuacutecleo de las plataformas LMS Estas herramientas

1httpsmoodleorgpluginsviewphpplugin=local_ltiprovider2httpwwwimsglobalorgtoolsinteroperability2cfm

37

pueden agregar funcionalidad especializada a los LMS El enfoque ofrece una solucioacuten basada enWeb Services igualmente aplicable a distintos lenguajes de programacioacuten

Las versiones del LTI son

LTI v10 ( LTI Basic ) ( publicado en mayo de 2010 ) proporciona un meacutetodo sencillopero estaacutendar para establecer una conexioacuten segura a una herramienta desde el interior deun consumidor de herramientas El lanzamiento de este enlace permite una experienciade aprendizaje sin problemas para los estudiantes que acceden a las aplicaciones ricas queparecen tener lugar dentro del ambiente de aprendizaje Versioacuten 10 es el primer paso en eldesarrollo continuo de LTI Figura 51

LTI v11 ( publicado en marzo 2012 ) antildeade la posibilidad de pasar de nuevo un resultadode la herramienta al Consumidor de herramientas Esto permite que los estudiantes recibenuna calicacioacuten o puntuacioacuten de su interaccioacuten con la aplicacioacuten de aprendizaje

LTI v111 ( publicado en julio de 2012 ) incluye soporte para el papel Mentor que se puedeutilizar para representar a un padre tutor o auditor

LTI v20 Aun en estado de desarrollo y proporciona una plataforma maacutes sosticado y ex-tensible para permitir integraciones maacutes profundas y un mayor apoyo para los serviciosy eventos LTI 2 se basa en LTI 1 mediante la incorporacioacuten de maacutes sosticada resulta-dos de informes y una rica arquitectura de extensiones que permite servicios adicionalesque se antildeadiraacuten gradualmente LTI 2 utiliza REST y JSON-LD para ofrecer esta nuevafuncionalidad

Figura 51 Esquema LTI Baacutesico

En la gura 52 podemos observar como se podriacutean utilizar las ventajas de LTI por parte decada unos de los actores a lo largo de la vida de la aplicacioacuten de servicios externos dentro de unaplataforma de aprendizaje

En la paacutegina web de IMS3 podemos encontrar una relacioacuten de aplicaciones certicadas comocompatibles con el estaacutendar LTI indicando la versioacuten del LTI que cumplen En la gura 53podemos ver las aplicaciones certicadas por UOC y en la gura 54 la informacioacuten sobre una deestas herramientas

3httpwwwimsglobalorgccalltoolscfm

Figura 52 Esquema utilizacioacuten LTI

Figura 53 Listado de herramientas LTI de la UOC

53 Herramientas externas en Moodle

La siguiente seccioacuten consiste en la aplicacioacuten de alguno de esto servicios externos en Moodlepara comprobar su funcionamiento Nos decantaremos para la primera prueba por WordPresspues aunque existen manuales al respecto la documentacioacuten en castellano es escasa

531 Wordpress

La versioacuten estaacutendar de Wordpress a la cual accedemos cuando nos abrimos cuenta en Wordpressno viene con las herramientas necesarias para la iteracioacuten mediante LTI por lo que procedere-mos a la instalacioacuten en nuestro servidor de Wordpress para pasar a la instalacioacuten de los pluginsnecesarios

La instalacioacuten ha consistido en la descarga de la web ocial 4 de la versioacuten 351 la cual hemoscopiado dentro del directorio htdocs de nuestra instalacioacuten de Xampp Hemos dado de alta unnuevo usuario en nuestra base de datos llamado username como podemos ver en la imagen 55 yposteriormente hemos seguido los pasos que el instalador nos iba ofreciendo para tener instalado

4httpwordpressorgdownload

Figura 54 Informacioacuten sobre la certicacioacuten

Wordpress bajo la url httplocalhostwordpress

Figura 55 Usuario de Wordpress

Deberemos congurar Wordpress para que trabaje como multisitio para lo que deberemos seguirlos pasos de conguracioacuten que podemos encontrar en la web ocial de Wordpress5 bajo el nombreCreate A Network consistente en los siguientes pasos

1 Realizar una copia de seguridad por si acaso

2 Modicar el chero wp-congphp incluyendo la siguiente linea encima de Thats allstop editing Happy blogging Multisite dene (WP_ ALLOW_ MULTISITE true)

Multisite dene (WP_ ALLOW_ MULTISITE true)

3 Installar un Network Para ello hemos de entra en la opcioacuten Administration -gtTools -gtNetwork Setup donde podremos congurar opciones sobre el nombre que queremos declararpara el nuevo sitio

4 Activar el Network para ello debemos modicar los cheros wp-congphp y htaccess porlo que seriacutea bueno que realizaacuteramos primero un copia de seguridad de los mismos Loscambios que debemos realizar son los siguientes

5httpcodexwordpressorgCreate_A_Network

En wp-congphp dene(MULTISITE true)dene(SUBDOMAIN_ INSTALL false)dene(DOMAIN_ CURRENT_ SITE localhost)dene(PATH_ CURRENT_ SITE wordpress)dene(SITE_ ID_ CURRENT_ SITE 1)dene(BLOG_ ID_ CURRENT_ SITE 1)

El chero htaccess debe quedar asiacute BEGIN WordPressltIfModule mod_ rewritecgtRewriteEngine OnRewriteBase wordpressRewriteRule icircndexphp$ - [L]

add a trailing slash to wp-adminRewriteRule ([_ 0-9a-zA-Z-]+)wp-admin1wp-admin [R=301L]

RewriteCondREQUEST_ FILENAME -f [OR]RewriteCondREQUEST_ FILENAME -dRewriteRule - [L]RewriteRule ([_ 0-9a-zA-Z-]+)(wp-(content|admin|includes)) $2 [L]RewriteRule ([_ 0-9a-zA-Z-]+)( php)$ $2 [L]RewriteRule indexphp [L]ltIfModulegt

END WordPress

5 Esto nos habraacute creado en la parte izquierda de la barra de herramientas de Wordpressuna nueva opcioacuten llamada My Sites que contendraacute un listado de los sitios de nuestroWordpress

El siguiente paso seraacute la descarga del plugin los cual podremos hacerlos desde la web de sour-forgenet 6 En esta web se detalla informacioacuten sobre el plugin y como se debe instalar Siguiendolos pasos que tenemos en el mismo procederemos a la descarga y el desplegado del mismo en lacarpeta wp-contentmu-plugins Salimos de Wordpress y volvemos a entrar como superusuariosi entramos dentro de la nueva red realizada podremos ver que dentro de LTI Consumers Keystendremos la opcioacuten LTI Consumers Keys como podemos ver en la imagen 56

Aquiacute deberemos crear la clave del consumidor del servicio y la clave secreta que nos permitiraacute aMoodle conectarse a Wordpress

Una vez que tenemos la clave secreta y del consumidor deberemos volver a Moodle entrandocomo administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

6httpsourceforgenetappsmediawikilearningappsindexphptitle=LTI4Wordpress

Figura 56 Servicios LTI en Wordpress

Figura 57 Listado de claves de LTI en Wordpress

-LTI En esta paacutegina podremos rellenar nuestras opciones

Tool Name Seraacute el nombre que tendraacute la herramienta y deberemos poner alguno indicativode la herramienta que estemos utilizando

Tool Base URL Es la direccioacuten de la herramienta en nuestro caso httplocalhostwordpress

Deberemos rellenar con los datos obtenidos en Wordpress la clave de consumidor y la clavesecreta

Es importante marcar Show tool type when creating tool instances para que aparezcaposteriormente al crear los recursos en nuestros cursos

Para poder probar el sistema hemos creado un curso dentro de Moodle llamada WordpressLTIdonde daremos de la siguiente manera de alta 59

Dentro de nuestro curso seleccionamos la opcioacuten de Edicioacuten

Pulsamos sobre Antildeadir una actividad o un recurso

Seleccionamos External Tool

Rellenamos las opciones

bull Nombre de la Actividad Cualquiera de nuestra eleccioacuten

Figura 58 Conguracioacuten LTI en Moodle

bull Tipo de herramienta externa El nombre que le pusimos a la herramienta externa enla conguracioacuten LTI de Moodle

bull Launch Container Hemos elegido la opcioacuten Incrustar para ver el resultado

Figura 59 Conguracioacuten Herramienta Externa

Una vez congurado podemos lanzar la herramienta externa teniendo como resultado la gura510

Figura 510 Wordpress integrado en Moodle

532 ChemVantage

ChemVantage es un recurso gratuito para la educacioacuten cientiacuteca que incluye ejercicios de gradoejercicios de preparacioacuten exaacutemenes de la praacutectica conferencias de video y libros de texto enliacutenea gratis Fue creado por ChemVantage LLC que fue fundada por el Prof Chuck Wight queha ensentildeado Quiacutemica General en la Universidad de Utah desde 1984 (ChemVantage 2011)

Nos hemos puesto en contacto con Chuck Wight (adminchemvantageorg) para solicitarle unaclave de consumidor y secreta para poder probar este recurso desde moodle Las opciones y elcorreo puede verse en la gura 511

Una de las cosas maacutes importantes de ChemVantage y por lo que nos hemos decidido a probar esque permite la devolucioacuten de las notas obtenidas en los ejercicios realizados en las herramientasexternas a Moodle El alumno podraacute realizar las tareas en esta herramienta externa y luego sercalicadas en Moodle

ChemVantage estaacute certicada por IMS 7 como un proveedor de herramientas LTI v11 y comotal funciona desde nuestro propio LMS para llevar a cabo la autenticacioacuten de sitios provee decuentas y devuelve resultados de asignacioacuten de estudiantes con el libro LMS grado automaacutetica-mente

Los recursos disponible son ChemVantage son principalmente los siguientes

1 QuizzesLos ejercicios presentados aquiacute estaacuten disentildeados para animar a los estudiantes a leer y en-tender los libros de texto utilizados en el curso Las preguntas se basan en material que sepresente en su mayor parte en los textos de introduccioacuten de quiacutemica Los iacutetems de preguntastienen respuestas straighforward no requieren caacutelculos detallados Las preguntas se presen-tan en varios formatos diferentes incluyendo opcioacuten muacuteltiple verdadero falso casilla devericacioacuten ll-in-the-blanco y numeacutericas Cada cuestionario se compone de 10 preguntasextraiacutedas al azar de una base de datos con muchas maacutes preguntas En el proceso de tomarvarias pruebas para mejorar sus calicaciones los estudiantes probablemente encuentran

7httpdevelopersimsglobalorgcoursechemvantagehtml

algunas preguntas repetidas de concursos anteriores sin embargo es poco probable quecualquiera de los dos cuestionarios contendraacute exactamente el mismo conjunto de preguntasen el mismo orden Asignando pruebas para ser completado antes de la conferencia losprofesores pueden estar seguros de que sus estudiantes tengan un poco de exposicioacuten almaterial Esto permite una mayor discusioacuten el diaacutelogo y la participacioacuten en el aula y haceel aprendizaje maacutes divertido (de verdad)

2 Video LecturesUna serie de conferencias de viacutedeo de 10 minutos sobre una variedad de temas de QuiacutemicaGeneral es accesible desde la paacutegina principal Los videos estaacuten disentildeados para reforzar lospuntos principales que se presentan en muchos libros de texto

3 HoweworksLas tareas estaacuten disentildeadas para dar a los estudiantes la praacutectica en la resolucioacuten de proble-mas cuantitativos que tienen respuestas numeacutericas Cada alumno puede descargar la tareatrabajar los problemas y presentar las respuestas en liacutenea Respuestas son juzgados a sercorrecta si la solucioacuten numeacuterica de acuerdo con la solucioacuten que se encuentra en la base dedatos dentro de una tolerancia especicada (indicado para cada problema) El sitio informaa los estudiantes que las respuestas son correctas para que puedan rehacer problemas malresueltos y volver a presentar las respuestas Cada problema se basa en una plantilla queatrae paraacutemetros al azar por lo que la respuesta correcta es diferente para cada estudianteEsto hace que sean adecuadas para la colaboracioacuten y el trabajo en grupo porque a pesarde que el grupo puede trabajar para encontrar un algoritmo correcto para resolver un prob-lema cada estudiante tendraacute que usar el algoritmo para encontrar la solucioacuten detallada asu propio problema

4 Practice ExamsLos estudiantes pueden realizaar exaacutemenes de praacutectica cronometrados que muestran laspreguntas de un grupo de 3 o maacutes temas Cada examen estaacute disentildeado para tardar unos60 minutos o menos e incluye una seleccioacuten de 10 preguntas Las praacutecticas de exaacutemenespueden repetirse cuantas veces se desee Las preguntas numeacutericas son parametrizadas loque es muy poco probable que un estudiante realice alguna vez dos exaacutemenes de praacutecticaideacutenticos

5 Portofolio PageCada estudiante puede acceder a una paacutegina que le da la puntuacioacuten obtenida en cada prue-ba y la asignacioacuten de tareas Los estudiantes que son miembros de un grupo tienen unapaacutegina de resultados asociados a las tareas de grupo Hay una paacutegina de carpeta separadaque contiene un resumen de todas las actividades realizadas en ChemVantage incluyendovideos vistos cuestionarios completados resolver problemas con la tarea y la praacutectica deexaacutemenes completados Las puntuaciones en los exaacutemenes de praacutectica son desagregadospara revelar fortalezas y debilidades estudiantes por temas

Hemos procedido a darlo de alta en LTI como hicimos con Wordpress Entramos en Moodle co-mo Administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

Figura 511 Correo de Chuck Wight

-LTI quedando como resultado la siguiente hoja de paraacutemetros gura 512

El siguiente paso seraacute antildeadir la herramienta dentro de nuestro curso para ello pulsaremos sobreAntildeadir una actividad o un recurso Deberemos seleccionar External Tool y rellenamos las op-ciones de la herramienta seleccionando como Tipo de herramienta externa la opcioacuten creada enel apartado de LTI de Moodle

Una vez congurado la herramienta en Moodle podemos entrar para realizar una personalizacioacutende la herramienta gura 513 esta consiste en indicar si el alumno cuando se conecta realiza undeterminado tarea o puede elegir navegar por la web de ChemVantage para poder disfrutar dela cantidad de recursos que se encuentran disponibles

Cuando el usuario pulsa sobre la opcioacuten de esta herramienta externa en Moodle lo primero quese le muestra es la informacioacuten sobre su perl en Chemvantage 514Como hemos visto en los paraacutemetros de conguracioacuten existe la posibilidad de llamar a unaherramienta externa incrustaacutendola dentro de Moodle o abrieacutendolo en una paacutegina web nuevaCon esta segunda opcioacuten no hemos conseguido que funcione correctamente la importacioacuten de lasnotas En cambio si la herramienta externa estaacute incrustada permite esa vinculacioacuten

Figura 512 Conguracioacuten de paraacutemetros LTI

Figura 513 Opciones de inicio de la herramienta

Figura 514 Pantalla de utilizacioacuten de la herramienta por el usuario

Capiacutetulo 6

Middleware

61 Introduccioacuten

La uacuteltima opcioacuten seriacutea utilizar una arquitectura middleware de integracioacuten que permita la inte-gracioacuten ligera de muacuteltiples herramientas existentes en el Moodle

62 GluePS

GLUE-PS es una arquitectura de middleware que permite una interoperabilidad ligera entrelos diferentes lenguajes de disentildeo de aprendizaje y diferentes entornos de aprendizaje virtualEsta interoperabilidad permite a los maestros y otros profesionales que particularicen (es decirpara personalizar el disentildeo de aprendizaje abstractoa la clase particular los participantes y laeleccioacuten de los instrumentos en los que va a ser promulgada) desplieguen (es decir para crearde forma semiautomaacutetica las actividades necesarias en el VLE recursos etc para la aprobacioacutendel disentildeo particularizado) e incluso para llevar a cabo ciertos cambios en el tiempo de ejecucioacuten(por ejemplo modicar la composicioacuten del grupo agregar o quitar recursos de las actividadesetc) Todo esto a partir de disentildeos en distintos lenguajes de disentildeo de aprendizaje tales como laespecicacioacuten IMS-LD aprendizaje

Por otra parte GLUE-PS tambieacuten permite desplegar y gestionar disentildeos de aprendizaje en en-tornos virtuales de aprendizaje que integren herramientas de aprendizaje externos (tales comointegrar en Moodle herramientas como Google Docs y muchos otros) - lo que llamamos Am-bientes de Aprendizaje Distribuido (DLE Distributed Learning Enviroments) Esto se consiguegracias a la arquitectura de GLUE para la integracioacuten de los entornos virtuales de aprendizajey herramientas externas

621 Instalacioacuten

Para realizar la instalacioacuten de GLUE-PS nos hemos descargado el software necesario de la webde los desarrolladores1 descargando la opcioacuten de autenticacioacuten centralizada La instalacioacuten haconstado de tres partes que pasaremos a describir a continuacioacuten

1httpwwwgsicuvaesglue

49

Figura 61 Arquitectura de GLUE

La primera parte consiste en la instalacioacuten del GLUEletManager y los adaptadores GSIC toolAunque el sistema viene preparado para Linux o Windows siendo Windows la explicacioacuten quevamos a desarrollar por estar utilizando este sistema operativo con Xampp

1 Crear el directorio GLUE_ HOME El cual hemos creado para mayor comodidad en la raiacutezdel disco duro

2 Denir la variable del sistema GLUE_ HOME con el valor de la direccioacuten completa deldirectorio de GLUE del punto anterior Para ello hemos pulsado botoacuten derecho sobre MiPc Propiedad Opciones Avanzadas Variables de Entorno procediendo a pulsar el botoacutenNueva para crear la variable en cuestioacuten

3 Extraemos en el directorio del punto (1) el paquete descargado de la paacutegina de los desar-rolladores

4 Ejecutar la instalacioacuten del cheroGLUE_ HOMEbininstall gluebat para registar GLUElet-Manager y GSIC tool como un servicio de Windows Tambieacuten este paso crearaacute un cheroen GLUE_ HOMEtool_ adapteradapterdata para proveer de persistencia a los objetoscreados con el adaptador GSIC tool

A continuacioacuten daremos de alta en nuestro gestor de bases de datos un para de bases de datosque necesita GLUEletManager Para ellos seguimos los siguientes pasos

1 Abrimos la consola de phpMyaAdmin para cargar y ejecutar el chero create_ GLUE_databasessql que se encuentra en GLUE_ HOMEmanagerconfdb

2 Modicamos el chero GLUE_ HOMEmanagerconfMETA-INFpersistencexml paradarle los paraacutemetros necesarios para que JDBC se conecte a nuestra base de datos Losparaacutemetros modicados puede verse en la imagen 62

Figura 62 Paraacutemetros modicados en persistencexml

La segunda parte consiste en el registro interno de los adaptadores de las herramientas para seraccedido con GLUEletManager La distribucioacuten trae un chero para facilitar la conguracioacuten delos adaptadores que trae consigo y para su instalacioacuten deberemos ejecutar el chero GLUE_HOMEmanagerconfdbll _ internal_ Registrysql Alguna de las herramientas necesitanuna conguracioacuten maacutes completa como puede ser Google Docs adapter que necesita una cuentade Gmail para poder crear documentos en Google Docs por lo que deberemos modicar el nom-bre de usuario y contrasentildea

La uacuteltima parte consiste en la instalacioacuten del adaptardor de Moodle como VLE utilizado Estainstalacioacuten es como cualquier otro moacutedulo de Moodle 2 La carpeta que deberemos copiar seraacutela del adaptador correspondiente a Moodle que se encuentra en la carpeta GLUE_ HOMEvle_adpatersmoodle_ vle_ adapter Una vez entremos en nuestro Moodle como administrador nosapareceraacute un mensaje indicaacutendonos que el nuevo moacutedulo esta instalado Para congurar el nuevomoacutedulo debermos ir a Noticaciones - Modulos - Actividades como podemos ver en la gura 63para congurar los paraacutemetros la URL del GLUEletManager y el tiempo de espera

Figura 63 Paraacutemetros del moacutedulo GLUE

Cuando el profesor quiera crear una nueva actividad dependiente de los adaptadores de GLUEdeberaacute agregar una actividad maacutes pulsando para ello en esta opcioacuten dentro del bloque deseadopara seleccionar luego el tipo de actividad GLUElet como podemos ver en la gura64

622 Creando un Doodle

El adaptador Doodle permite la creacioacuten conguracioacuten y gestioacuten de instancias del Doodle Cadaencuesta Doodle es considerado un instancia diferente Ademaacutes este adaptador permite realizarademas la conguracioacuten inicial de encuestas Doodle incluyendo el nombre de la encuesta unadescripcioacuten y un conjunto de posibles respuestas

A continuacioacuten antildeadiremos Doodle en un bloque de Moodle para ellos pulsaremos la opcioacuten deAgregar actividad GLUElet lo cual nos mostraraacute la paacutegina65 donde deberemos rellenar comomiacutenimo el nombre de la actividad y el tipo de herramienta seleccionado en este caso Doodle(httpdoodle-testcom)

2httpdocsmoodleorgenInstalling_contributed_modules_or_plugins

Figura 64 Creando una actividad GLUElet

La primera vez que pulsemos sobre la nueva actividad creada apareceraacute un pantalla 66 dondepodemos congurar diferentes elementos de la encuesta desarrollada con Doodle como son eltiacutetulo una pequentildea descripcioacuten y luego las opciones posibles con un liacutemite de 10

El resultado nal seraacute la incrustacioacuten de una encuesta Doodle dentro de nuestro Moodle comopodemos ver en la gura67

Figura 65 Antildeadiendo Doodle como actividad

Figura 66 Opciones iniciales de conguracioacuten de Doodle

Figura 67 Doodel dentro de Moodle

Capiacutetulo 7

Conclusiones Finales

71 Conclusiones Finales

El proyecto actual nos ha servido para acercarnos a las diferentes tecnologiacuteas que permiten lacomunicacioacuten entre Servicios Webs Hemos desarrollado una primera labor de investigacioacuten queha requerido el aprendizaje de diferentes herramientas de control de documentacioacuten y referenciascomo Zotero y Mendeley

La documentacioacuten recabada en el proceso inicial de revisioacuten de documentos nos ha aportadoun visioacuten general de los diferentes sistemas virtuales de aprendizaje que podemos encontrarnosmuchos de ellos gratuitos y las diferentes soluciones que se plantean a la necesidad de incluirrecursos de otros fabricantes que en principio no fueron concebidos para ser utilizados dentro deuna plataforma VLE

Para poner en praacutectica la diferentes opciones encontradas se han montado diferentes maacutequinasvirtuales sobre las que se han probado las mismas Las conclusiones nales se pasan a detallar

IMS LTIEsta solucioacuten de integracioacuten mediante el cumplimiento de unos protocolos y certicacionesde las herramientas que lo cumplen es en principio la que podriacutea parecer la mejor opcioacutenpero la falta de compromiso de los diferentes fabricantes de Servicios Web y la luchapara imponer sus propios estaacutendares hace que aun quede mucho para que esta opcioacuten seacomo tal real

Si vemos el nuacutemero de aplicaciones certicadas para usar IMS LTI apenas superan las 50 yla mayoriacutea solo cumple la especicacioacuten v10 lo cual signica que la integracioacuten solo solu-ciona el problema de llamar a un recurso externo desde Moodle Pocas son las que cumplenla v11 que permite obtener en Moodle una valoracioacuten de los ejercicios desarrollados en unaactividad externa

La versioacuten v20 que daraacute maacutes opciones a la hora de interactuar con actividades externasauacuten esta en desarrollo y nada se sabe sobre posibles fechas para su presentacioacuten Luegocerticacioacuten de herramientas etc

55

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 36: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

Figura 43 Operaciones denidas por HTTP

URL Uniform Resource Locator como el mecanismo de indenticacioacuten de recursos

XML - HTML - PNG - etc Como distintos formatos de representacioacuten de recursos

Tipos MIME como text-xml text-html image-png etc

44 SOAP

SOAP (siglas de Simple Object Access Protocol) es un protocolo estaacutendar que dene coacutemo dosobjetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML Esteprotocolo deriva de un protocolo creado por David Winer en 1998 llamado XML-RPC SOAPfue creado por Microsoft IBM y otros y estaacute actualmente bajo el auspicio de la W3C

441 Principios de disentildeo

La funcionalidad que aporta SOAP es la de proporcionar un mecanismo simple y ligero de in-tercambio de informacioacuten entre dos puntos usando el lenguaje XML SOAP no es maacutes que unmecanismo sencillo de expresar la informacioacuten mediante un modelo de empaquetado de datosmodular y una serie de mecanismos de codicacioacuten de datos Esto permite que SOAP sea uti-lizado en un amplio rango de servidores de aplicaciones que trabajen mediante el modelo decomunicacioacuten RPC (Remote Procedure Call)

SOAP consta de tres partes como podemos ver en la gura 44

El SOAP envelope que dene el marco de trabajo que determina queacute se puede introduciren un mensaje quieacuten deberiacutea hacerlo y si esa operacioacuten es opcional u obligatoria

Las reglas de codicacioacuten SOAP que denen el mecanismo de serializacioacuten que seraacute usadopara encapsular en los mensajes los distintos tipos de datos

La representacioacuten SOAP RPC que dene un modo de funcionamiento a la hora de realizarllamadas a procedimientos remotos y la obtencioacuten de sus resultados

A la hora de realizar el disentildeo de SOAP se han tenido en cuenta una serie de consideracionescon el n de cumplir una serie de objetivos claros objetivos que le daraacuten el potencial que resideen SOAP y que le haraacuten tan atractivo Eacutestos son

Establecer un protocolo estaacutendar de invocacioacuten a servicios remotos que esteacute basado enprotocolos estaacutendares de uso frecuente en Internet como son HTTP (Hiper Text TransportProtocol) para la transmisioacuten y XML (eXtensible Markup Language)para la codicacioacutende los datos

Figura 44 Partes de SOAP

Independencia de plataforma hardware lenguaje de programacioacuten e implementacioacuten delservicio Web

El logro de estos objetivos ha hecho de SOAP un protocolo extremadamente uacutetil ya que elprotocolo de comunicacioacuten HTTP es el empleado para la conexioacuten sobre Internetpor lo que segarantiza que cualquier cliente con un navegador estaacutendar pueda conectarse con un servidor re-moto Ademaacutes los datos en la transmisioacuten se empaquetan o serializan con el lenguaje XML quese ha convertido en algo imprescindible en el intercambio de datos ya que es capaz de salvar lasincompatibilidades que existiacutean en el resto de protocolos de representacioacuten de datos de la red

Por otra parte los servidores Web pueden procesar las peticiones de usuario empleando tec-nologiacuteas tales como Servlets paacuteginas ASP (Active Server Pages) paacuteginas JSP (Java ServerPages) o sencillamente un servidor de aplicaciones con invocacioacuten de objetos mediante CORBACOM o EJB

Un ejemplo tiacutepico de disentildeo de un servicio Web utilizando las ventajas de SOAP podemos veren la siguiente gura 45

Figura 45 Ejemplo de uso de SOAP

45 AMF

AMF (Action Message Format) es un protocolo binario de Adobe que va por la versioacuten AMF3Aunque por el nombre de la versioacuten pueda parecer que existan 3 cabe destacar que soacutelo existendos AMF0 y AMF3 Una de las mayores diferencias o mejoras que aporta AMF3 es que soporta

datos binarios (ByteArray) y int datos no soportados por AMF0 debido a que en la eacutepoca queaparecioacute el formato Flash Player no soportaba estos tipos de datos

AMF3 no es un protocolo para transferir informacioacuten sino que representa el formato en el quese transmite la informacioacuten en este caso un formato binario

La versioacuten de Moodle 25 viene con Zend_ AMF pero podemos utilizar tambieacuten la libreriacuteaamfPHP

AMFPHP

Zend_ amf httpframeworkzendcommanual112enzendamfhtml

Maacutes informacioacuten en httpdocsmoodleorgdevAMFPHP

46 Conguracioacuten de Moodle Web Services

Los Servicios Web habilitan que otros sistemas puedan entrar a Moodle y realizar operacionesPasaremos a detallar los pasos necesarios para su conguracioacuten y explicaremos distintos pruebasllevadas a cabo sobre su funcionamiento Para poder consumir de manera correcta unWeb Servicede Moodle seriacutea necesario antildeadir a la url que vamos a formar los paraacutemetros oportunos paralograr consumir el Web Service de manera satisfactoria Una vez antildeadidos ya podriacuteamos invocarla funcioacuten seleccionada

461 Activando los Servicios Web

Lo primero que debemos hacer es activar la opcioacuten general que habilita el uso de los serviciosweb En la gura 46 podemos observar la opcioacuten para la activacioacuten de este servicio para ello nosiremos a la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Servicios Externos

Figura 46 Activacioacuten Servicios Web

Esto solo es una opcioacuten a nivel global necesitando ahora activar los protocolos de comunciacionesque vamos a utilizar para ello deberemos ir a la opcioacuten textitAdministracioacuten del Sitio - Exten-siones - Servicios Web - Administrador de protoclos donde encontraremos las diferente opcionesque nos existen En la gura 47 podemos ver la pantalla de nuestra conguracioacuten con todos losprotocolos activados

Una vez activada la opcioacuten de Servicios Externos y seleccionados los protocolos que utilizaremosnecesitamos crear un Servicio Personalizado que no es maacutes que una etiqueta que aglutina los

Figura 47 Activacioacuten Protoclos

Servicios Web que ofrece Moodle y que pueden ser utilizados por los servicios externos Para ellodeberemos darle a la opcioacuten Agregar dentro de la opcioacuten Administracioacuten del Sitio - Extensiones- Servicios Web - Servicios Externos Como prueba habilitaremos un servicio llamado Uso_Servicio_ Web cuya creacioacuten podemos ver en la gura 48

Figura 48 Creacioacuten Servicio Personalizado

Una vez creado el Servicio Personalizado deberemos agregarle las funciones que queramos lesean permitidas pudiente tener maacutes de una En la gura 49 vemos como asociamos la creacioacutende usuarios al Servicio Personalizado

Terminado esto deberemos tener en el listado que nos muestra Moodle de Servicios personaliza-dos algo como lo mostrado en la gura 410

El siguiente paso es conceder los permisos apropiados para que este Servicio Personalizado puedeser usado por los usuarios pare ello debemos primero especicar quienes son los Usuarios au-torizados para ello en la linea de la lista de Servicios Personalizados deberemos pulsar sobre laopcioacuten usuarios autorizados donde apareceraacute una pantalla como 411 donde podremos escogerlos usuarios de los que se encuentran dados de alta en nuestro sistema

Y para terminar aunque este paso podriacutea ser realizado por el propio usuario si tuviera el per-miso de moodlewebservicecreatetoken seraacute la creacioacuten de un token el cual va ser la opcioacuten quevamos a utilizar para las pruebas de los Servicios Web de Moodle Para la creacioacuten del mismodeberemos entrar en la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Admin-istrar tokens y pulsar la opcioacuten Agregar para antildeadir un token nuevo como podemos apreciar en

Figura 49 Agregando funciones al Servicio Personalizado

Figura 410 Listado de Servicios Personalizados

la gura 412 teniendo la precaucioacuten de escoger como Servicio el Servicio Personalizado creadocon anterioridad Uso_ Servicio_ Web

En esta pantalla podemos poner varios tipos de restricciones

Restriccioacuten de IP Donde podemos indicar la direccioacuten IP desde donde

Restriccioacuten de Fecha Se puede denir hasta cuando seraacute valido este token siendo unabuena manera de poder probar cosas y no dejar puertas abiertas por error

En la gura 413 podemos ver el token asignado por el sistema para nuestro Servicio Personalizadoy que procederemos a utilizar para comprobar el funcionamiento de los Servicios Web de Moodle

462 Pruebas cliente Servicio Web

Procederemos ahora a desarrollar pruebas que utilicen los Servicios Personalizados creado Sepodriacutean haber utilizado el Cliente de prueba de servicio web que incorpora Moodle dentro dela opcioacuten Administracioacuten del Sitio - Desarrollo - Cliente de prueba servicio web pero hemosdecidido implementar una Web para comprobar la facilidad del funcionamiento del sistema y losdistintos resultados obtenidos seguacuten el protocolo utilizado

Utilizaremos la libreriacutea cURL de PHP cURL es una herramienta que permite abrir conexionesen una amplia variedad de protocolos y que estaacute disponible tanto como herramienta de consola(para ejecutar directamente con comandos) como en libreriacutea (para usar en vuestro coacutedigo) y quepermite hacer praacutecticamente todo manejo de cookies descarga de cheros binarios enviacuteos de

Figura 411 Alta de Usuarios Autorizados

Figura 412 Creacioacuten de Tokens

paraacutemetros GET y POST etc

La web creada para la introduccioacuten 414 de los usuarios seraacute equivalente para todos los procesosprocesos siendo el programa que da respuesta al formulario el que implemente la funcioacuten nece-saria para la introduccioacuten de los datos en Moodle

Los resultados de REST pueden mostrar los resultados del alta de dos maneras diferentes unaen formato XML como podemos ver en la gura 415 y otro en formatox JSON tambieacuten po-dremos ver en la gura Los resultados obtenidos tambieacuten pueden verse en el la gura 416

Figura 413 Lista de Tokens

Figura 414 Web de alta de usuarios

Figura 415 Resultado de REST en formato XML

Figura 416 Resultado de REST en formato JSON

Capiacutetulo 5

Herramientas Externas

51 Introduccioacuten

Las versiones de Moodle desde la 22 vienen con IMS LTI o External Tool de manera integradaEn versiones anteriores era necesario la instalacioacuten de plugins como LTI Provider (maacutes informa-cioacuten en la web de Moodle1 IMS LTI es un estandar de IMS learing2 para la interoperabilidadde herramientas Esto signica que las herramientas de aprendizaje tienen ahora un mecanismopara jar el modo en que pueden conectarse entre ellas sin problemas

En la praacutectica cuando un usuario se registra en Moodle puede conectarse a otras herramientascomo Wikis o Blogs y autenticarse de manera automaacutetica en estas

52 Estaacutendares IMS

Actualmente se realizan esfuerzos para la integracioacuten de servicios a una plataforma virtual deaprendizaje mediante un mecanismo reutilizable independiente del tipo de plataforma El IMSGlobal Learning Consortium viene desde hace tiempo trabajando en este enfoque IMS GLCpresenta un conjunto de estaacutendares que promueven el uso de servicios de aprendizaje digitales(Digital Learning Services) dentro de las plataformas de aprendizaje tradicionales IMS DigitalLearning Services estaacute integrado por los siguientes estaacutendares principales IMS Common Car-tridge [ims a] IMS Learning Tool Interoperability [ims c] y IMS Learning Information Services[ims b]

El IMS Learning Tool Interoperability es una especicacioacuten para facilitar la inclusioacuten de her-ramientas externas dentro de un curso El administrador de la plataforma de aprendizaje ges-tiona los servicios que podraacuten ser consumidos por la plataforma el docente decide que serviciosutilizaraacute en su curso y el estudiante hace uso de los mismos IMS LTI permite que distintos LMSconsuman un mismo servicio el cual no fue implementado teniendo en cuenta el tipo de LMSsino la implementacioacuten del estaacutendar desde el lado del proveedor

El enfoque del IMS LTI estaacute dirigido a la creciente demanda de un mecanismo reutilizable para laintegracioacuten de herramientas de terceros en el nuacutecleo de las plataformas LMS Estas herramientas

1httpsmoodleorgpluginsviewphpplugin=local_ltiprovider2httpwwwimsglobalorgtoolsinteroperability2cfm

37

pueden agregar funcionalidad especializada a los LMS El enfoque ofrece una solucioacuten basada enWeb Services igualmente aplicable a distintos lenguajes de programacioacuten

Las versiones del LTI son

LTI v10 ( LTI Basic ) ( publicado en mayo de 2010 ) proporciona un meacutetodo sencillopero estaacutendar para establecer una conexioacuten segura a una herramienta desde el interior deun consumidor de herramientas El lanzamiento de este enlace permite una experienciade aprendizaje sin problemas para los estudiantes que acceden a las aplicaciones ricas queparecen tener lugar dentro del ambiente de aprendizaje Versioacuten 10 es el primer paso en eldesarrollo continuo de LTI Figura 51

LTI v11 ( publicado en marzo 2012 ) antildeade la posibilidad de pasar de nuevo un resultadode la herramienta al Consumidor de herramientas Esto permite que los estudiantes recibenuna calicacioacuten o puntuacioacuten de su interaccioacuten con la aplicacioacuten de aprendizaje

LTI v111 ( publicado en julio de 2012 ) incluye soporte para el papel Mentor que se puedeutilizar para representar a un padre tutor o auditor

LTI v20 Aun en estado de desarrollo y proporciona una plataforma maacutes sosticado y ex-tensible para permitir integraciones maacutes profundas y un mayor apoyo para los serviciosy eventos LTI 2 se basa en LTI 1 mediante la incorporacioacuten de maacutes sosticada resulta-dos de informes y una rica arquitectura de extensiones que permite servicios adicionalesque se antildeadiraacuten gradualmente LTI 2 utiliza REST y JSON-LD para ofrecer esta nuevafuncionalidad

Figura 51 Esquema LTI Baacutesico

En la gura 52 podemos observar como se podriacutean utilizar las ventajas de LTI por parte decada unos de los actores a lo largo de la vida de la aplicacioacuten de servicios externos dentro de unaplataforma de aprendizaje

En la paacutegina web de IMS3 podemos encontrar una relacioacuten de aplicaciones certicadas comocompatibles con el estaacutendar LTI indicando la versioacuten del LTI que cumplen En la gura 53podemos ver las aplicaciones certicadas por UOC y en la gura 54 la informacioacuten sobre una deestas herramientas

3httpwwwimsglobalorgccalltoolscfm

Figura 52 Esquema utilizacioacuten LTI

Figura 53 Listado de herramientas LTI de la UOC

53 Herramientas externas en Moodle

La siguiente seccioacuten consiste en la aplicacioacuten de alguno de esto servicios externos en Moodlepara comprobar su funcionamiento Nos decantaremos para la primera prueba por WordPresspues aunque existen manuales al respecto la documentacioacuten en castellano es escasa

531 Wordpress

La versioacuten estaacutendar de Wordpress a la cual accedemos cuando nos abrimos cuenta en Wordpressno viene con las herramientas necesarias para la iteracioacuten mediante LTI por lo que procedere-mos a la instalacioacuten en nuestro servidor de Wordpress para pasar a la instalacioacuten de los pluginsnecesarios

La instalacioacuten ha consistido en la descarga de la web ocial 4 de la versioacuten 351 la cual hemoscopiado dentro del directorio htdocs de nuestra instalacioacuten de Xampp Hemos dado de alta unnuevo usuario en nuestra base de datos llamado username como podemos ver en la imagen 55 yposteriormente hemos seguido los pasos que el instalador nos iba ofreciendo para tener instalado

4httpwordpressorgdownload

Figura 54 Informacioacuten sobre la certicacioacuten

Wordpress bajo la url httplocalhostwordpress

Figura 55 Usuario de Wordpress

Deberemos congurar Wordpress para que trabaje como multisitio para lo que deberemos seguirlos pasos de conguracioacuten que podemos encontrar en la web ocial de Wordpress5 bajo el nombreCreate A Network consistente en los siguientes pasos

1 Realizar una copia de seguridad por si acaso

2 Modicar el chero wp-congphp incluyendo la siguiente linea encima de Thats allstop editing Happy blogging Multisite dene (WP_ ALLOW_ MULTISITE true)

Multisite dene (WP_ ALLOW_ MULTISITE true)

3 Installar un Network Para ello hemos de entra en la opcioacuten Administration -gtTools -gtNetwork Setup donde podremos congurar opciones sobre el nombre que queremos declararpara el nuevo sitio

4 Activar el Network para ello debemos modicar los cheros wp-congphp y htaccess porlo que seriacutea bueno que realizaacuteramos primero un copia de seguridad de los mismos Loscambios que debemos realizar son los siguientes

5httpcodexwordpressorgCreate_A_Network

En wp-congphp dene(MULTISITE true)dene(SUBDOMAIN_ INSTALL false)dene(DOMAIN_ CURRENT_ SITE localhost)dene(PATH_ CURRENT_ SITE wordpress)dene(SITE_ ID_ CURRENT_ SITE 1)dene(BLOG_ ID_ CURRENT_ SITE 1)

El chero htaccess debe quedar asiacute BEGIN WordPressltIfModule mod_ rewritecgtRewriteEngine OnRewriteBase wordpressRewriteRule icircndexphp$ - [L]

add a trailing slash to wp-adminRewriteRule ([_ 0-9a-zA-Z-]+)wp-admin1wp-admin [R=301L]

RewriteCondREQUEST_ FILENAME -f [OR]RewriteCondREQUEST_ FILENAME -dRewriteRule - [L]RewriteRule ([_ 0-9a-zA-Z-]+)(wp-(content|admin|includes)) $2 [L]RewriteRule ([_ 0-9a-zA-Z-]+)( php)$ $2 [L]RewriteRule indexphp [L]ltIfModulegt

END WordPress

5 Esto nos habraacute creado en la parte izquierda de la barra de herramientas de Wordpressuna nueva opcioacuten llamada My Sites que contendraacute un listado de los sitios de nuestroWordpress

El siguiente paso seraacute la descarga del plugin los cual podremos hacerlos desde la web de sour-forgenet 6 En esta web se detalla informacioacuten sobre el plugin y como se debe instalar Siguiendolos pasos que tenemos en el mismo procederemos a la descarga y el desplegado del mismo en lacarpeta wp-contentmu-plugins Salimos de Wordpress y volvemos a entrar como superusuariosi entramos dentro de la nueva red realizada podremos ver que dentro de LTI Consumers Keystendremos la opcioacuten LTI Consumers Keys como podemos ver en la imagen 56

Aquiacute deberemos crear la clave del consumidor del servicio y la clave secreta que nos permitiraacute aMoodle conectarse a Wordpress

Una vez que tenemos la clave secreta y del consumidor deberemos volver a Moodle entrandocomo administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

6httpsourceforgenetappsmediawikilearningappsindexphptitle=LTI4Wordpress

Figura 56 Servicios LTI en Wordpress

Figura 57 Listado de claves de LTI en Wordpress

-LTI En esta paacutegina podremos rellenar nuestras opciones

Tool Name Seraacute el nombre que tendraacute la herramienta y deberemos poner alguno indicativode la herramienta que estemos utilizando

Tool Base URL Es la direccioacuten de la herramienta en nuestro caso httplocalhostwordpress

Deberemos rellenar con los datos obtenidos en Wordpress la clave de consumidor y la clavesecreta

Es importante marcar Show tool type when creating tool instances para que aparezcaposteriormente al crear los recursos en nuestros cursos

Para poder probar el sistema hemos creado un curso dentro de Moodle llamada WordpressLTIdonde daremos de la siguiente manera de alta 59

Dentro de nuestro curso seleccionamos la opcioacuten de Edicioacuten

Pulsamos sobre Antildeadir una actividad o un recurso

Seleccionamos External Tool

Rellenamos las opciones

bull Nombre de la Actividad Cualquiera de nuestra eleccioacuten

Figura 58 Conguracioacuten LTI en Moodle

bull Tipo de herramienta externa El nombre que le pusimos a la herramienta externa enla conguracioacuten LTI de Moodle

bull Launch Container Hemos elegido la opcioacuten Incrustar para ver el resultado

Figura 59 Conguracioacuten Herramienta Externa

Una vez congurado podemos lanzar la herramienta externa teniendo como resultado la gura510

Figura 510 Wordpress integrado en Moodle

532 ChemVantage

ChemVantage es un recurso gratuito para la educacioacuten cientiacuteca que incluye ejercicios de gradoejercicios de preparacioacuten exaacutemenes de la praacutectica conferencias de video y libros de texto enliacutenea gratis Fue creado por ChemVantage LLC que fue fundada por el Prof Chuck Wight queha ensentildeado Quiacutemica General en la Universidad de Utah desde 1984 (ChemVantage 2011)

Nos hemos puesto en contacto con Chuck Wight (adminchemvantageorg) para solicitarle unaclave de consumidor y secreta para poder probar este recurso desde moodle Las opciones y elcorreo puede verse en la gura 511

Una de las cosas maacutes importantes de ChemVantage y por lo que nos hemos decidido a probar esque permite la devolucioacuten de las notas obtenidas en los ejercicios realizados en las herramientasexternas a Moodle El alumno podraacute realizar las tareas en esta herramienta externa y luego sercalicadas en Moodle

ChemVantage estaacute certicada por IMS 7 como un proveedor de herramientas LTI v11 y comotal funciona desde nuestro propio LMS para llevar a cabo la autenticacioacuten de sitios provee decuentas y devuelve resultados de asignacioacuten de estudiantes con el libro LMS grado automaacutetica-mente

Los recursos disponible son ChemVantage son principalmente los siguientes

1 QuizzesLos ejercicios presentados aquiacute estaacuten disentildeados para animar a los estudiantes a leer y en-tender los libros de texto utilizados en el curso Las preguntas se basan en material que sepresente en su mayor parte en los textos de introduccioacuten de quiacutemica Los iacutetems de preguntastienen respuestas straighforward no requieren caacutelculos detallados Las preguntas se presen-tan en varios formatos diferentes incluyendo opcioacuten muacuteltiple verdadero falso casilla devericacioacuten ll-in-the-blanco y numeacutericas Cada cuestionario se compone de 10 preguntasextraiacutedas al azar de una base de datos con muchas maacutes preguntas En el proceso de tomarvarias pruebas para mejorar sus calicaciones los estudiantes probablemente encuentran

7httpdevelopersimsglobalorgcoursechemvantagehtml

algunas preguntas repetidas de concursos anteriores sin embargo es poco probable quecualquiera de los dos cuestionarios contendraacute exactamente el mismo conjunto de preguntasen el mismo orden Asignando pruebas para ser completado antes de la conferencia losprofesores pueden estar seguros de que sus estudiantes tengan un poco de exposicioacuten almaterial Esto permite una mayor discusioacuten el diaacutelogo y la participacioacuten en el aula y haceel aprendizaje maacutes divertido (de verdad)

2 Video LecturesUna serie de conferencias de viacutedeo de 10 minutos sobre una variedad de temas de QuiacutemicaGeneral es accesible desde la paacutegina principal Los videos estaacuten disentildeados para reforzar lospuntos principales que se presentan en muchos libros de texto

3 HoweworksLas tareas estaacuten disentildeadas para dar a los estudiantes la praacutectica en la resolucioacuten de proble-mas cuantitativos que tienen respuestas numeacutericas Cada alumno puede descargar la tareatrabajar los problemas y presentar las respuestas en liacutenea Respuestas son juzgados a sercorrecta si la solucioacuten numeacuterica de acuerdo con la solucioacuten que se encuentra en la base dedatos dentro de una tolerancia especicada (indicado para cada problema) El sitio informaa los estudiantes que las respuestas son correctas para que puedan rehacer problemas malresueltos y volver a presentar las respuestas Cada problema se basa en una plantilla queatrae paraacutemetros al azar por lo que la respuesta correcta es diferente para cada estudianteEsto hace que sean adecuadas para la colaboracioacuten y el trabajo en grupo porque a pesarde que el grupo puede trabajar para encontrar un algoritmo correcto para resolver un prob-lema cada estudiante tendraacute que usar el algoritmo para encontrar la solucioacuten detallada asu propio problema

4 Practice ExamsLos estudiantes pueden realizaar exaacutemenes de praacutectica cronometrados que muestran laspreguntas de un grupo de 3 o maacutes temas Cada examen estaacute disentildeado para tardar unos60 minutos o menos e incluye una seleccioacuten de 10 preguntas Las praacutecticas de exaacutemenespueden repetirse cuantas veces se desee Las preguntas numeacutericas son parametrizadas loque es muy poco probable que un estudiante realice alguna vez dos exaacutemenes de praacutecticaideacutenticos

5 Portofolio PageCada estudiante puede acceder a una paacutegina que le da la puntuacioacuten obtenida en cada prue-ba y la asignacioacuten de tareas Los estudiantes que son miembros de un grupo tienen unapaacutegina de resultados asociados a las tareas de grupo Hay una paacutegina de carpeta separadaque contiene un resumen de todas las actividades realizadas en ChemVantage incluyendovideos vistos cuestionarios completados resolver problemas con la tarea y la praacutectica deexaacutemenes completados Las puntuaciones en los exaacutemenes de praacutectica son desagregadospara revelar fortalezas y debilidades estudiantes por temas

Hemos procedido a darlo de alta en LTI como hicimos con Wordpress Entramos en Moodle co-mo Administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

Figura 511 Correo de Chuck Wight

-LTI quedando como resultado la siguiente hoja de paraacutemetros gura 512

El siguiente paso seraacute antildeadir la herramienta dentro de nuestro curso para ello pulsaremos sobreAntildeadir una actividad o un recurso Deberemos seleccionar External Tool y rellenamos las op-ciones de la herramienta seleccionando como Tipo de herramienta externa la opcioacuten creada enel apartado de LTI de Moodle

Una vez congurado la herramienta en Moodle podemos entrar para realizar una personalizacioacutende la herramienta gura 513 esta consiste en indicar si el alumno cuando se conecta realiza undeterminado tarea o puede elegir navegar por la web de ChemVantage para poder disfrutar dela cantidad de recursos que se encuentran disponibles

Cuando el usuario pulsa sobre la opcioacuten de esta herramienta externa en Moodle lo primero quese le muestra es la informacioacuten sobre su perl en Chemvantage 514Como hemos visto en los paraacutemetros de conguracioacuten existe la posibilidad de llamar a unaherramienta externa incrustaacutendola dentro de Moodle o abrieacutendolo en una paacutegina web nuevaCon esta segunda opcioacuten no hemos conseguido que funcione correctamente la importacioacuten de lasnotas En cambio si la herramienta externa estaacute incrustada permite esa vinculacioacuten

Figura 512 Conguracioacuten de paraacutemetros LTI

Figura 513 Opciones de inicio de la herramienta

Figura 514 Pantalla de utilizacioacuten de la herramienta por el usuario

Capiacutetulo 6

Middleware

61 Introduccioacuten

La uacuteltima opcioacuten seriacutea utilizar una arquitectura middleware de integracioacuten que permita la inte-gracioacuten ligera de muacuteltiples herramientas existentes en el Moodle

62 GluePS

GLUE-PS es una arquitectura de middleware que permite una interoperabilidad ligera entrelos diferentes lenguajes de disentildeo de aprendizaje y diferentes entornos de aprendizaje virtualEsta interoperabilidad permite a los maestros y otros profesionales que particularicen (es decirpara personalizar el disentildeo de aprendizaje abstractoa la clase particular los participantes y laeleccioacuten de los instrumentos en los que va a ser promulgada) desplieguen (es decir para crearde forma semiautomaacutetica las actividades necesarias en el VLE recursos etc para la aprobacioacutendel disentildeo particularizado) e incluso para llevar a cabo ciertos cambios en el tiempo de ejecucioacuten(por ejemplo modicar la composicioacuten del grupo agregar o quitar recursos de las actividadesetc) Todo esto a partir de disentildeos en distintos lenguajes de disentildeo de aprendizaje tales como laespecicacioacuten IMS-LD aprendizaje

Por otra parte GLUE-PS tambieacuten permite desplegar y gestionar disentildeos de aprendizaje en en-tornos virtuales de aprendizaje que integren herramientas de aprendizaje externos (tales comointegrar en Moodle herramientas como Google Docs y muchos otros) - lo que llamamos Am-bientes de Aprendizaje Distribuido (DLE Distributed Learning Enviroments) Esto se consiguegracias a la arquitectura de GLUE para la integracioacuten de los entornos virtuales de aprendizajey herramientas externas

621 Instalacioacuten

Para realizar la instalacioacuten de GLUE-PS nos hemos descargado el software necesario de la webde los desarrolladores1 descargando la opcioacuten de autenticacioacuten centralizada La instalacioacuten haconstado de tres partes que pasaremos a describir a continuacioacuten

1httpwwwgsicuvaesglue

49

Figura 61 Arquitectura de GLUE

La primera parte consiste en la instalacioacuten del GLUEletManager y los adaptadores GSIC toolAunque el sistema viene preparado para Linux o Windows siendo Windows la explicacioacuten quevamos a desarrollar por estar utilizando este sistema operativo con Xampp

1 Crear el directorio GLUE_ HOME El cual hemos creado para mayor comodidad en la raiacutezdel disco duro

2 Denir la variable del sistema GLUE_ HOME con el valor de la direccioacuten completa deldirectorio de GLUE del punto anterior Para ello hemos pulsado botoacuten derecho sobre MiPc Propiedad Opciones Avanzadas Variables de Entorno procediendo a pulsar el botoacutenNueva para crear la variable en cuestioacuten

3 Extraemos en el directorio del punto (1) el paquete descargado de la paacutegina de los desar-rolladores

4 Ejecutar la instalacioacuten del cheroGLUE_ HOMEbininstall gluebat para registar GLUElet-Manager y GSIC tool como un servicio de Windows Tambieacuten este paso crearaacute un cheroen GLUE_ HOMEtool_ adapteradapterdata para proveer de persistencia a los objetoscreados con el adaptador GSIC tool

A continuacioacuten daremos de alta en nuestro gestor de bases de datos un para de bases de datosque necesita GLUEletManager Para ellos seguimos los siguientes pasos

1 Abrimos la consola de phpMyaAdmin para cargar y ejecutar el chero create_ GLUE_databasessql que se encuentra en GLUE_ HOMEmanagerconfdb

2 Modicamos el chero GLUE_ HOMEmanagerconfMETA-INFpersistencexml paradarle los paraacutemetros necesarios para que JDBC se conecte a nuestra base de datos Losparaacutemetros modicados puede verse en la imagen 62

Figura 62 Paraacutemetros modicados en persistencexml

La segunda parte consiste en el registro interno de los adaptadores de las herramientas para seraccedido con GLUEletManager La distribucioacuten trae un chero para facilitar la conguracioacuten delos adaptadores que trae consigo y para su instalacioacuten deberemos ejecutar el chero GLUE_HOMEmanagerconfdbll _ internal_ Registrysql Alguna de las herramientas necesitanuna conguracioacuten maacutes completa como puede ser Google Docs adapter que necesita una cuentade Gmail para poder crear documentos en Google Docs por lo que deberemos modicar el nom-bre de usuario y contrasentildea

La uacuteltima parte consiste en la instalacioacuten del adaptardor de Moodle como VLE utilizado Estainstalacioacuten es como cualquier otro moacutedulo de Moodle 2 La carpeta que deberemos copiar seraacutela del adaptador correspondiente a Moodle que se encuentra en la carpeta GLUE_ HOMEvle_adpatersmoodle_ vle_ adapter Una vez entremos en nuestro Moodle como administrador nosapareceraacute un mensaje indicaacutendonos que el nuevo moacutedulo esta instalado Para congurar el nuevomoacutedulo debermos ir a Noticaciones - Modulos - Actividades como podemos ver en la gura 63para congurar los paraacutemetros la URL del GLUEletManager y el tiempo de espera

Figura 63 Paraacutemetros del moacutedulo GLUE

Cuando el profesor quiera crear una nueva actividad dependiente de los adaptadores de GLUEdeberaacute agregar una actividad maacutes pulsando para ello en esta opcioacuten dentro del bloque deseadopara seleccionar luego el tipo de actividad GLUElet como podemos ver en la gura64

622 Creando un Doodle

El adaptador Doodle permite la creacioacuten conguracioacuten y gestioacuten de instancias del Doodle Cadaencuesta Doodle es considerado un instancia diferente Ademaacutes este adaptador permite realizarademas la conguracioacuten inicial de encuestas Doodle incluyendo el nombre de la encuesta unadescripcioacuten y un conjunto de posibles respuestas

A continuacioacuten antildeadiremos Doodle en un bloque de Moodle para ellos pulsaremos la opcioacuten deAgregar actividad GLUElet lo cual nos mostraraacute la paacutegina65 donde deberemos rellenar comomiacutenimo el nombre de la actividad y el tipo de herramienta seleccionado en este caso Doodle(httpdoodle-testcom)

2httpdocsmoodleorgenInstalling_contributed_modules_or_plugins

Figura 64 Creando una actividad GLUElet

La primera vez que pulsemos sobre la nueva actividad creada apareceraacute un pantalla 66 dondepodemos congurar diferentes elementos de la encuesta desarrollada con Doodle como son eltiacutetulo una pequentildea descripcioacuten y luego las opciones posibles con un liacutemite de 10

El resultado nal seraacute la incrustacioacuten de una encuesta Doodle dentro de nuestro Moodle comopodemos ver en la gura67

Figura 65 Antildeadiendo Doodle como actividad

Figura 66 Opciones iniciales de conguracioacuten de Doodle

Figura 67 Doodel dentro de Moodle

Capiacutetulo 7

Conclusiones Finales

71 Conclusiones Finales

El proyecto actual nos ha servido para acercarnos a las diferentes tecnologiacuteas que permiten lacomunicacioacuten entre Servicios Webs Hemos desarrollado una primera labor de investigacioacuten queha requerido el aprendizaje de diferentes herramientas de control de documentacioacuten y referenciascomo Zotero y Mendeley

La documentacioacuten recabada en el proceso inicial de revisioacuten de documentos nos ha aportadoun visioacuten general de los diferentes sistemas virtuales de aprendizaje que podemos encontrarnosmuchos de ellos gratuitos y las diferentes soluciones que se plantean a la necesidad de incluirrecursos de otros fabricantes que en principio no fueron concebidos para ser utilizados dentro deuna plataforma VLE

Para poner en praacutectica la diferentes opciones encontradas se han montado diferentes maacutequinasvirtuales sobre las que se han probado las mismas Las conclusiones nales se pasan a detallar

IMS LTIEsta solucioacuten de integracioacuten mediante el cumplimiento de unos protocolos y certicacionesde las herramientas que lo cumplen es en principio la que podriacutea parecer la mejor opcioacutenpero la falta de compromiso de los diferentes fabricantes de Servicios Web y la luchapara imponer sus propios estaacutendares hace que aun quede mucho para que esta opcioacuten seacomo tal real

Si vemos el nuacutemero de aplicaciones certicadas para usar IMS LTI apenas superan las 50 yla mayoriacutea solo cumple la especicacioacuten v10 lo cual signica que la integracioacuten solo solu-ciona el problema de llamar a un recurso externo desde Moodle Pocas son las que cumplenla v11 que permite obtener en Moodle una valoracioacuten de los ejercicios desarrollados en unaactividad externa

La versioacuten v20 que daraacute maacutes opciones a la hora de interactuar con actividades externasauacuten esta en desarrollo y nada se sabe sobre posibles fechas para su presentacioacuten Luegocerticacioacuten de herramientas etc

55

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 37: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

Figura 44 Partes de SOAP

Independencia de plataforma hardware lenguaje de programacioacuten e implementacioacuten delservicio Web

El logro de estos objetivos ha hecho de SOAP un protocolo extremadamente uacutetil ya que elprotocolo de comunicacioacuten HTTP es el empleado para la conexioacuten sobre Internetpor lo que segarantiza que cualquier cliente con un navegador estaacutendar pueda conectarse con un servidor re-moto Ademaacutes los datos en la transmisioacuten se empaquetan o serializan con el lenguaje XML quese ha convertido en algo imprescindible en el intercambio de datos ya que es capaz de salvar lasincompatibilidades que existiacutean en el resto de protocolos de representacioacuten de datos de la red

Por otra parte los servidores Web pueden procesar las peticiones de usuario empleando tec-nologiacuteas tales como Servlets paacuteginas ASP (Active Server Pages) paacuteginas JSP (Java ServerPages) o sencillamente un servidor de aplicaciones con invocacioacuten de objetos mediante CORBACOM o EJB

Un ejemplo tiacutepico de disentildeo de un servicio Web utilizando las ventajas de SOAP podemos veren la siguiente gura 45

Figura 45 Ejemplo de uso de SOAP

45 AMF

AMF (Action Message Format) es un protocolo binario de Adobe que va por la versioacuten AMF3Aunque por el nombre de la versioacuten pueda parecer que existan 3 cabe destacar que soacutelo existendos AMF0 y AMF3 Una de las mayores diferencias o mejoras que aporta AMF3 es que soporta

datos binarios (ByteArray) y int datos no soportados por AMF0 debido a que en la eacutepoca queaparecioacute el formato Flash Player no soportaba estos tipos de datos

AMF3 no es un protocolo para transferir informacioacuten sino que representa el formato en el quese transmite la informacioacuten en este caso un formato binario

La versioacuten de Moodle 25 viene con Zend_ AMF pero podemos utilizar tambieacuten la libreriacuteaamfPHP

AMFPHP

Zend_ amf httpframeworkzendcommanual112enzendamfhtml

Maacutes informacioacuten en httpdocsmoodleorgdevAMFPHP

46 Conguracioacuten de Moodle Web Services

Los Servicios Web habilitan que otros sistemas puedan entrar a Moodle y realizar operacionesPasaremos a detallar los pasos necesarios para su conguracioacuten y explicaremos distintos pruebasllevadas a cabo sobre su funcionamiento Para poder consumir de manera correcta unWeb Servicede Moodle seriacutea necesario antildeadir a la url que vamos a formar los paraacutemetros oportunos paralograr consumir el Web Service de manera satisfactoria Una vez antildeadidos ya podriacuteamos invocarla funcioacuten seleccionada

461 Activando los Servicios Web

Lo primero que debemos hacer es activar la opcioacuten general que habilita el uso de los serviciosweb En la gura 46 podemos observar la opcioacuten para la activacioacuten de este servicio para ello nosiremos a la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Servicios Externos

Figura 46 Activacioacuten Servicios Web

Esto solo es una opcioacuten a nivel global necesitando ahora activar los protocolos de comunciacionesque vamos a utilizar para ello deberemos ir a la opcioacuten textitAdministracioacuten del Sitio - Exten-siones - Servicios Web - Administrador de protoclos donde encontraremos las diferente opcionesque nos existen En la gura 47 podemos ver la pantalla de nuestra conguracioacuten con todos losprotocolos activados

Una vez activada la opcioacuten de Servicios Externos y seleccionados los protocolos que utilizaremosnecesitamos crear un Servicio Personalizado que no es maacutes que una etiqueta que aglutina los

Figura 47 Activacioacuten Protoclos

Servicios Web que ofrece Moodle y que pueden ser utilizados por los servicios externos Para ellodeberemos darle a la opcioacuten Agregar dentro de la opcioacuten Administracioacuten del Sitio - Extensiones- Servicios Web - Servicios Externos Como prueba habilitaremos un servicio llamado Uso_Servicio_ Web cuya creacioacuten podemos ver en la gura 48

Figura 48 Creacioacuten Servicio Personalizado

Una vez creado el Servicio Personalizado deberemos agregarle las funciones que queramos lesean permitidas pudiente tener maacutes de una En la gura 49 vemos como asociamos la creacioacutende usuarios al Servicio Personalizado

Terminado esto deberemos tener en el listado que nos muestra Moodle de Servicios personaliza-dos algo como lo mostrado en la gura 410

El siguiente paso es conceder los permisos apropiados para que este Servicio Personalizado puedeser usado por los usuarios pare ello debemos primero especicar quienes son los Usuarios au-torizados para ello en la linea de la lista de Servicios Personalizados deberemos pulsar sobre laopcioacuten usuarios autorizados donde apareceraacute una pantalla como 411 donde podremos escogerlos usuarios de los que se encuentran dados de alta en nuestro sistema

Y para terminar aunque este paso podriacutea ser realizado por el propio usuario si tuviera el per-miso de moodlewebservicecreatetoken seraacute la creacioacuten de un token el cual va ser la opcioacuten quevamos a utilizar para las pruebas de los Servicios Web de Moodle Para la creacioacuten del mismodeberemos entrar en la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Admin-istrar tokens y pulsar la opcioacuten Agregar para antildeadir un token nuevo como podemos apreciar en

Figura 49 Agregando funciones al Servicio Personalizado

Figura 410 Listado de Servicios Personalizados

la gura 412 teniendo la precaucioacuten de escoger como Servicio el Servicio Personalizado creadocon anterioridad Uso_ Servicio_ Web

En esta pantalla podemos poner varios tipos de restricciones

Restriccioacuten de IP Donde podemos indicar la direccioacuten IP desde donde

Restriccioacuten de Fecha Se puede denir hasta cuando seraacute valido este token siendo unabuena manera de poder probar cosas y no dejar puertas abiertas por error

En la gura 413 podemos ver el token asignado por el sistema para nuestro Servicio Personalizadoy que procederemos a utilizar para comprobar el funcionamiento de los Servicios Web de Moodle

462 Pruebas cliente Servicio Web

Procederemos ahora a desarrollar pruebas que utilicen los Servicios Personalizados creado Sepodriacutean haber utilizado el Cliente de prueba de servicio web que incorpora Moodle dentro dela opcioacuten Administracioacuten del Sitio - Desarrollo - Cliente de prueba servicio web pero hemosdecidido implementar una Web para comprobar la facilidad del funcionamiento del sistema y losdistintos resultados obtenidos seguacuten el protocolo utilizado

Utilizaremos la libreriacutea cURL de PHP cURL es una herramienta que permite abrir conexionesen una amplia variedad de protocolos y que estaacute disponible tanto como herramienta de consola(para ejecutar directamente con comandos) como en libreriacutea (para usar en vuestro coacutedigo) y quepermite hacer praacutecticamente todo manejo de cookies descarga de cheros binarios enviacuteos de

Figura 411 Alta de Usuarios Autorizados

Figura 412 Creacioacuten de Tokens

paraacutemetros GET y POST etc

La web creada para la introduccioacuten 414 de los usuarios seraacute equivalente para todos los procesosprocesos siendo el programa que da respuesta al formulario el que implemente la funcioacuten nece-saria para la introduccioacuten de los datos en Moodle

Los resultados de REST pueden mostrar los resultados del alta de dos maneras diferentes unaen formato XML como podemos ver en la gura 415 y otro en formatox JSON tambieacuten po-dremos ver en la gura Los resultados obtenidos tambieacuten pueden verse en el la gura 416

Figura 413 Lista de Tokens

Figura 414 Web de alta de usuarios

Figura 415 Resultado de REST en formato XML

Figura 416 Resultado de REST en formato JSON

Capiacutetulo 5

Herramientas Externas

51 Introduccioacuten

Las versiones de Moodle desde la 22 vienen con IMS LTI o External Tool de manera integradaEn versiones anteriores era necesario la instalacioacuten de plugins como LTI Provider (maacutes informa-cioacuten en la web de Moodle1 IMS LTI es un estandar de IMS learing2 para la interoperabilidadde herramientas Esto signica que las herramientas de aprendizaje tienen ahora un mecanismopara jar el modo en que pueden conectarse entre ellas sin problemas

En la praacutectica cuando un usuario se registra en Moodle puede conectarse a otras herramientascomo Wikis o Blogs y autenticarse de manera automaacutetica en estas

52 Estaacutendares IMS

Actualmente se realizan esfuerzos para la integracioacuten de servicios a una plataforma virtual deaprendizaje mediante un mecanismo reutilizable independiente del tipo de plataforma El IMSGlobal Learning Consortium viene desde hace tiempo trabajando en este enfoque IMS GLCpresenta un conjunto de estaacutendares que promueven el uso de servicios de aprendizaje digitales(Digital Learning Services) dentro de las plataformas de aprendizaje tradicionales IMS DigitalLearning Services estaacute integrado por los siguientes estaacutendares principales IMS Common Car-tridge [ims a] IMS Learning Tool Interoperability [ims c] y IMS Learning Information Services[ims b]

El IMS Learning Tool Interoperability es una especicacioacuten para facilitar la inclusioacuten de her-ramientas externas dentro de un curso El administrador de la plataforma de aprendizaje ges-tiona los servicios que podraacuten ser consumidos por la plataforma el docente decide que serviciosutilizaraacute en su curso y el estudiante hace uso de los mismos IMS LTI permite que distintos LMSconsuman un mismo servicio el cual no fue implementado teniendo en cuenta el tipo de LMSsino la implementacioacuten del estaacutendar desde el lado del proveedor

El enfoque del IMS LTI estaacute dirigido a la creciente demanda de un mecanismo reutilizable para laintegracioacuten de herramientas de terceros en el nuacutecleo de las plataformas LMS Estas herramientas

1httpsmoodleorgpluginsviewphpplugin=local_ltiprovider2httpwwwimsglobalorgtoolsinteroperability2cfm

37

pueden agregar funcionalidad especializada a los LMS El enfoque ofrece una solucioacuten basada enWeb Services igualmente aplicable a distintos lenguajes de programacioacuten

Las versiones del LTI son

LTI v10 ( LTI Basic ) ( publicado en mayo de 2010 ) proporciona un meacutetodo sencillopero estaacutendar para establecer una conexioacuten segura a una herramienta desde el interior deun consumidor de herramientas El lanzamiento de este enlace permite una experienciade aprendizaje sin problemas para los estudiantes que acceden a las aplicaciones ricas queparecen tener lugar dentro del ambiente de aprendizaje Versioacuten 10 es el primer paso en eldesarrollo continuo de LTI Figura 51

LTI v11 ( publicado en marzo 2012 ) antildeade la posibilidad de pasar de nuevo un resultadode la herramienta al Consumidor de herramientas Esto permite que los estudiantes recibenuna calicacioacuten o puntuacioacuten de su interaccioacuten con la aplicacioacuten de aprendizaje

LTI v111 ( publicado en julio de 2012 ) incluye soporte para el papel Mentor que se puedeutilizar para representar a un padre tutor o auditor

LTI v20 Aun en estado de desarrollo y proporciona una plataforma maacutes sosticado y ex-tensible para permitir integraciones maacutes profundas y un mayor apoyo para los serviciosy eventos LTI 2 se basa en LTI 1 mediante la incorporacioacuten de maacutes sosticada resulta-dos de informes y una rica arquitectura de extensiones que permite servicios adicionalesque se antildeadiraacuten gradualmente LTI 2 utiliza REST y JSON-LD para ofrecer esta nuevafuncionalidad

Figura 51 Esquema LTI Baacutesico

En la gura 52 podemos observar como se podriacutean utilizar las ventajas de LTI por parte decada unos de los actores a lo largo de la vida de la aplicacioacuten de servicios externos dentro de unaplataforma de aprendizaje

En la paacutegina web de IMS3 podemos encontrar una relacioacuten de aplicaciones certicadas comocompatibles con el estaacutendar LTI indicando la versioacuten del LTI que cumplen En la gura 53podemos ver las aplicaciones certicadas por UOC y en la gura 54 la informacioacuten sobre una deestas herramientas

3httpwwwimsglobalorgccalltoolscfm

Figura 52 Esquema utilizacioacuten LTI

Figura 53 Listado de herramientas LTI de la UOC

53 Herramientas externas en Moodle

La siguiente seccioacuten consiste en la aplicacioacuten de alguno de esto servicios externos en Moodlepara comprobar su funcionamiento Nos decantaremos para la primera prueba por WordPresspues aunque existen manuales al respecto la documentacioacuten en castellano es escasa

531 Wordpress

La versioacuten estaacutendar de Wordpress a la cual accedemos cuando nos abrimos cuenta en Wordpressno viene con las herramientas necesarias para la iteracioacuten mediante LTI por lo que procedere-mos a la instalacioacuten en nuestro servidor de Wordpress para pasar a la instalacioacuten de los pluginsnecesarios

La instalacioacuten ha consistido en la descarga de la web ocial 4 de la versioacuten 351 la cual hemoscopiado dentro del directorio htdocs de nuestra instalacioacuten de Xampp Hemos dado de alta unnuevo usuario en nuestra base de datos llamado username como podemos ver en la imagen 55 yposteriormente hemos seguido los pasos que el instalador nos iba ofreciendo para tener instalado

4httpwordpressorgdownload

Figura 54 Informacioacuten sobre la certicacioacuten

Wordpress bajo la url httplocalhostwordpress

Figura 55 Usuario de Wordpress

Deberemos congurar Wordpress para que trabaje como multisitio para lo que deberemos seguirlos pasos de conguracioacuten que podemos encontrar en la web ocial de Wordpress5 bajo el nombreCreate A Network consistente en los siguientes pasos

1 Realizar una copia de seguridad por si acaso

2 Modicar el chero wp-congphp incluyendo la siguiente linea encima de Thats allstop editing Happy blogging Multisite dene (WP_ ALLOW_ MULTISITE true)

Multisite dene (WP_ ALLOW_ MULTISITE true)

3 Installar un Network Para ello hemos de entra en la opcioacuten Administration -gtTools -gtNetwork Setup donde podremos congurar opciones sobre el nombre que queremos declararpara el nuevo sitio

4 Activar el Network para ello debemos modicar los cheros wp-congphp y htaccess porlo que seriacutea bueno que realizaacuteramos primero un copia de seguridad de los mismos Loscambios que debemos realizar son los siguientes

5httpcodexwordpressorgCreate_A_Network

En wp-congphp dene(MULTISITE true)dene(SUBDOMAIN_ INSTALL false)dene(DOMAIN_ CURRENT_ SITE localhost)dene(PATH_ CURRENT_ SITE wordpress)dene(SITE_ ID_ CURRENT_ SITE 1)dene(BLOG_ ID_ CURRENT_ SITE 1)

El chero htaccess debe quedar asiacute BEGIN WordPressltIfModule mod_ rewritecgtRewriteEngine OnRewriteBase wordpressRewriteRule icircndexphp$ - [L]

add a trailing slash to wp-adminRewriteRule ([_ 0-9a-zA-Z-]+)wp-admin1wp-admin [R=301L]

RewriteCondREQUEST_ FILENAME -f [OR]RewriteCondREQUEST_ FILENAME -dRewriteRule - [L]RewriteRule ([_ 0-9a-zA-Z-]+)(wp-(content|admin|includes)) $2 [L]RewriteRule ([_ 0-9a-zA-Z-]+)( php)$ $2 [L]RewriteRule indexphp [L]ltIfModulegt

END WordPress

5 Esto nos habraacute creado en la parte izquierda de la barra de herramientas de Wordpressuna nueva opcioacuten llamada My Sites que contendraacute un listado de los sitios de nuestroWordpress

El siguiente paso seraacute la descarga del plugin los cual podremos hacerlos desde la web de sour-forgenet 6 En esta web se detalla informacioacuten sobre el plugin y como se debe instalar Siguiendolos pasos que tenemos en el mismo procederemos a la descarga y el desplegado del mismo en lacarpeta wp-contentmu-plugins Salimos de Wordpress y volvemos a entrar como superusuariosi entramos dentro de la nueva red realizada podremos ver que dentro de LTI Consumers Keystendremos la opcioacuten LTI Consumers Keys como podemos ver en la imagen 56

Aquiacute deberemos crear la clave del consumidor del servicio y la clave secreta que nos permitiraacute aMoodle conectarse a Wordpress

Una vez que tenemos la clave secreta y del consumidor deberemos volver a Moodle entrandocomo administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

6httpsourceforgenetappsmediawikilearningappsindexphptitle=LTI4Wordpress

Figura 56 Servicios LTI en Wordpress

Figura 57 Listado de claves de LTI en Wordpress

-LTI En esta paacutegina podremos rellenar nuestras opciones

Tool Name Seraacute el nombre que tendraacute la herramienta y deberemos poner alguno indicativode la herramienta que estemos utilizando

Tool Base URL Es la direccioacuten de la herramienta en nuestro caso httplocalhostwordpress

Deberemos rellenar con los datos obtenidos en Wordpress la clave de consumidor y la clavesecreta

Es importante marcar Show tool type when creating tool instances para que aparezcaposteriormente al crear los recursos en nuestros cursos

Para poder probar el sistema hemos creado un curso dentro de Moodle llamada WordpressLTIdonde daremos de la siguiente manera de alta 59

Dentro de nuestro curso seleccionamos la opcioacuten de Edicioacuten

Pulsamos sobre Antildeadir una actividad o un recurso

Seleccionamos External Tool

Rellenamos las opciones

bull Nombre de la Actividad Cualquiera de nuestra eleccioacuten

Figura 58 Conguracioacuten LTI en Moodle

bull Tipo de herramienta externa El nombre que le pusimos a la herramienta externa enla conguracioacuten LTI de Moodle

bull Launch Container Hemos elegido la opcioacuten Incrustar para ver el resultado

Figura 59 Conguracioacuten Herramienta Externa

Una vez congurado podemos lanzar la herramienta externa teniendo como resultado la gura510

Figura 510 Wordpress integrado en Moodle

532 ChemVantage

ChemVantage es un recurso gratuito para la educacioacuten cientiacuteca que incluye ejercicios de gradoejercicios de preparacioacuten exaacutemenes de la praacutectica conferencias de video y libros de texto enliacutenea gratis Fue creado por ChemVantage LLC que fue fundada por el Prof Chuck Wight queha ensentildeado Quiacutemica General en la Universidad de Utah desde 1984 (ChemVantage 2011)

Nos hemos puesto en contacto con Chuck Wight (adminchemvantageorg) para solicitarle unaclave de consumidor y secreta para poder probar este recurso desde moodle Las opciones y elcorreo puede verse en la gura 511

Una de las cosas maacutes importantes de ChemVantage y por lo que nos hemos decidido a probar esque permite la devolucioacuten de las notas obtenidas en los ejercicios realizados en las herramientasexternas a Moodle El alumno podraacute realizar las tareas en esta herramienta externa y luego sercalicadas en Moodle

ChemVantage estaacute certicada por IMS 7 como un proveedor de herramientas LTI v11 y comotal funciona desde nuestro propio LMS para llevar a cabo la autenticacioacuten de sitios provee decuentas y devuelve resultados de asignacioacuten de estudiantes con el libro LMS grado automaacutetica-mente

Los recursos disponible son ChemVantage son principalmente los siguientes

1 QuizzesLos ejercicios presentados aquiacute estaacuten disentildeados para animar a los estudiantes a leer y en-tender los libros de texto utilizados en el curso Las preguntas se basan en material que sepresente en su mayor parte en los textos de introduccioacuten de quiacutemica Los iacutetems de preguntastienen respuestas straighforward no requieren caacutelculos detallados Las preguntas se presen-tan en varios formatos diferentes incluyendo opcioacuten muacuteltiple verdadero falso casilla devericacioacuten ll-in-the-blanco y numeacutericas Cada cuestionario se compone de 10 preguntasextraiacutedas al azar de una base de datos con muchas maacutes preguntas En el proceso de tomarvarias pruebas para mejorar sus calicaciones los estudiantes probablemente encuentran

7httpdevelopersimsglobalorgcoursechemvantagehtml

algunas preguntas repetidas de concursos anteriores sin embargo es poco probable quecualquiera de los dos cuestionarios contendraacute exactamente el mismo conjunto de preguntasen el mismo orden Asignando pruebas para ser completado antes de la conferencia losprofesores pueden estar seguros de que sus estudiantes tengan un poco de exposicioacuten almaterial Esto permite una mayor discusioacuten el diaacutelogo y la participacioacuten en el aula y haceel aprendizaje maacutes divertido (de verdad)

2 Video LecturesUna serie de conferencias de viacutedeo de 10 minutos sobre una variedad de temas de QuiacutemicaGeneral es accesible desde la paacutegina principal Los videos estaacuten disentildeados para reforzar lospuntos principales que se presentan en muchos libros de texto

3 HoweworksLas tareas estaacuten disentildeadas para dar a los estudiantes la praacutectica en la resolucioacuten de proble-mas cuantitativos que tienen respuestas numeacutericas Cada alumno puede descargar la tareatrabajar los problemas y presentar las respuestas en liacutenea Respuestas son juzgados a sercorrecta si la solucioacuten numeacuterica de acuerdo con la solucioacuten que se encuentra en la base dedatos dentro de una tolerancia especicada (indicado para cada problema) El sitio informaa los estudiantes que las respuestas son correctas para que puedan rehacer problemas malresueltos y volver a presentar las respuestas Cada problema se basa en una plantilla queatrae paraacutemetros al azar por lo que la respuesta correcta es diferente para cada estudianteEsto hace que sean adecuadas para la colaboracioacuten y el trabajo en grupo porque a pesarde que el grupo puede trabajar para encontrar un algoritmo correcto para resolver un prob-lema cada estudiante tendraacute que usar el algoritmo para encontrar la solucioacuten detallada asu propio problema

4 Practice ExamsLos estudiantes pueden realizaar exaacutemenes de praacutectica cronometrados que muestran laspreguntas de un grupo de 3 o maacutes temas Cada examen estaacute disentildeado para tardar unos60 minutos o menos e incluye una seleccioacuten de 10 preguntas Las praacutecticas de exaacutemenespueden repetirse cuantas veces se desee Las preguntas numeacutericas son parametrizadas loque es muy poco probable que un estudiante realice alguna vez dos exaacutemenes de praacutecticaideacutenticos

5 Portofolio PageCada estudiante puede acceder a una paacutegina que le da la puntuacioacuten obtenida en cada prue-ba y la asignacioacuten de tareas Los estudiantes que son miembros de un grupo tienen unapaacutegina de resultados asociados a las tareas de grupo Hay una paacutegina de carpeta separadaque contiene un resumen de todas las actividades realizadas en ChemVantage incluyendovideos vistos cuestionarios completados resolver problemas con la tarea y la praacutectica deexaacutemenes completados Las puntuaciones en los exaacutemenes de praacutectica son desagregadospara revelar fortalezas y debilidades estudiantes por temas

Hemos procedido a darlo de alta en LTI como hicimos con Wordpress Entramos en Moodle co-mo Administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

Figura 511 Correo de Chuck Wight

-LTI quedando como resultado la siguiente hoja de paraacutemetros gura 512

El siguiente paso seraacute antildeadir la herramienta dentro de nuestro curso para ello pulsaremos sobreAntildeadir una actividad o un recurso Deberemos seleccionar External Tool y rellenamos las op-ciones de la herramienta seleccionando como Tipo de herramienta externa la opcioacuten creada enel apartado de LTI de Moodle

Una vez congurado la herramienta en Moodle podemos entrar para realizar una personalizacioacutende la herramienta gura 513 esta consiste en indicar si el alumno cuando se conecta realiza undeterminado tarea o puede elegir navegar por la web de ChemVantage para poder disfrutar dela cantidad de recursos que se encuentran disponibles

Cuando el usuario pulsa sobre la opcioacuten de esta herramienta externa en Moodle lo primero quese le muestra es la informacioacuten sobre su perl en Chemvantage 514Como hemos visto en los paraacutemetros de conguracioacuten existe la posibilidad de llamar a unaherramienta externa incrustaacutendola dentro de Moodle o abrieacutendolo en una paacutegina web nuevaCon esta segunda opcioacuten no hemos conseguido que funcione correctamente la importacioacuten de lasnotas En cambio si la herramienta externa estaacute incrustada permite esa vinculacioacuten

Figura 512 Conguracioacuten de paraacutemetros LTI

Figura 513 Opciones de inicio de la herramienta

Figura 514 Pantalla de utilizacioacuten de la herramienta por el usuario

Capiacutetulo 6

Middleware

61 Introduccioacuten

La uacuteltima opcioacuten seriacutea utilizar una arquitectura middleware de integracioacuten que permita la inte-gracioacuten ligera de muacuteltiples herramientas existentes en el Moodle

62 GluePS

GLUE-PS es una arquitectura de middleware que permite una interoperabilidad ligera entrelos diferentes lenguajes de disentildeo de aprendizaje y diferentes entornos de aprendizaje virtualEsta interoperabilidad permite a los maestros y otros profesionales que particularicen (es decirpara personalizar el disentildeo de aprendizaje abstractoa la clase particular los participantes y laeleccioacuten de los instrumentos en los que va a ser promulgada) desplieguen (es decir para crearde forma semiautomaacutetica las actividades necesarias en el VLE recursos etc para la aprobacioacutendel disentildeo particularizado) e incluso para llevar a cabo ciertos cambios en el tiempo de ejecucioacuten(por ejemplo modicar la composicioacuten del grupo agregar o quitar recursos de las actividadesetc) Todo esto a partir de disentildeos en distintos lenguajes de disentildeo de aprendizaje tales como laespecicacioacuten IMS-LD aprendizaje

Por otra parte GLUE-PS tambieacuten permite desplegar y gestionar disentildeos de aprendizaje en en-tornos virtuales de aprendizaje que integren herramientas de aprendizaje externos (tales comointegrar en Moodle herramientas como Google Docs y muchos otros) - lo que llamamos Am-bientes de Aprendizaje Distribuido (DLE Distributed Learning Enviroments) Esto se consiguegracias a la arquitectura de GLUE para la integracioacuten de los entornos virtuales de aprendizajey herramientas externas

621 Instalacioacuten

Para realizar la instalacioacuten de GLUE-PS nos hemos descargado el software necesario de la webde los desarrolladores1 descargando la opcioacuten de autenticacioacuten centralizada La instalacioacuten haconstado de tres partes que pasaremos a describir a continuacioacuten

1httpwwwgsicuvaesglue

49

Figura 61 Arquitectura de GLUE

La primera parte consiste en la instalacioacuten del GLUEletManager y los adaptadores GSIC toolAunque el sistema viene preparado para Linux o Windows siendo Windows la explicacioacuten quevamos a desarrollar por estar utilizando este sistema operativo con Xampp

1 Crear el directorio GLUE_ HOME El cual hemos creado para mayor comodidad en la raiacutezdel disco duro

2 Denir la variable del sistema GLUE_ HOME con el valor de la direccioacuten completa deldirectorio de GLUE del punto anterior Para ello hemos pulsado botoacuten derecho sobre MiPc Propiedad Opciones Avanzadas Variables de Entorno procediendo a pulsar el botoacutenNueva para crear la variable en cuestioacuten

3 Extraemos en el directorio del punto (1) el paquete descargado de la paacutegina de los desar-rolladores

4 Ejecutar la instalacioacuten del cheroGLUE_ HOMEbininstall gluebat para registar GLUElet-Manager y GSIC tool como un servicio de Windows Tambieacuten este paso crearaacute un cheroen GLUE_ HOMEtool_ adapteradapterdata para proveer de persistencia a los objetoscreados con el adaptador GSIC tool

A continuacioacuten daremos de alta en nuestro gestor de bases de datos un para de bases de datosque necesita GLUEletManager Para ellos seguimos los siguientes pasos

1 Abrimos la consola de phpMyaAdmin para cargar y ejecutar el chero create_ GLUE_databasessql que se encuentra en GLUE_ HOMEmanagerconfdb

2 Modicamos el chero GLUE_ HOMEmanagerconfMETA-INFpersistencexml paradarle los paraacutemetros necesarios para que JDBC se conecte a nuestra base de datos Losparaacutemetros modicados puede verse en la imagen 62

Figura 62 Paraacutemetros modicados en persistencexml

La segunda parte consiste en el registro interno de los adaptadores de las herramientas para seraccedido con GLUEletManager La distribucioacuten trae un chero para facilitar la conguracioacuten delos adaptadores que trae consigo y para su instalacioacuten deberemos ejecutar el chero GLUE_HOMEmanagerconfdbll _ internal_ Registrysql Alguna de las herramientas necesitanuna conguracioacuten maacutes completa como puede ser Google Docs adapter que necesita una cuentade Gmail para poder crear documentos en Google Docs por lo que deberemos modicar el nom-bre de usuario y contrasentildea

La uacuteltima parte consiste en la instalacioacuten del adaptardor de Moodle como VLE utilizado Estainstalacioacuten es como cualquier otro moacutedulo de Moodle 2 La carpeta que deberemos copiar seraacutela del adaptador correspondiente a Moodle que se encuentra en la carpeta GLUE_ HOMEvle_adpatersmoodle_ vle_ adapter Una vez entremos en nuestro Moodle como administrador nosapareceraacute un mensaje indicaacutendonos que el nuevo moacutedulo esta instalado Para congurar el nuevomoacutedulo debermos ir a Noticaciones - Modulos - Actividades como podemos ver en la gura 63para congurar los paraacutemetros la URL del GLUEletManager y el tiempo de espera

Figura 63 Paraacutemetros del moacutedulo GLUE

Cuando el profesor quiera crear una nueva actividad dependiente de los adaptadores de GLUEdeberaacute agregar una actividad maacutes pulsando para ello en esta opcioacuten dentro del bloque deseadopara seleccionar luego el tipo de actividad GLUElet como podemos ver en la gura64

622 Creando un Doodle

El adaptador Doodle permite la creacioacuten conguracioacuten y gestioacuten de instancias del Doodle Cadaencuesta Doodle es considerado un instancia diferente Ademaacutes este adaptador permite realizarademas la conguracioacuten inicial de encuestas Doodle incluyendo el nombre de la encuesta unadescripcioacuten y un conjunto de posibles respuestas

A continuacioacuten antildeadiremos Doodle en un bloque de Moodle para ellos pulsaremos la opcioacuten deAgregar actividad GLUElet lo cual nos mostraraacute la paacutegina65 donde deberemos rellenar comomiacutenimo el nombre de la actividad y el tipo de herramienta seleccionado en este caso Doodle(httpdoodle-testcom)

2httpdocsmoodleorgenInstalling_contributed_modules_or_plugins

Figura 64 Creando una actividad GLUElet

La primera vez que pulsemos sobre la nueva actividad creada apareceraacute un pantalla 66 dondepodemos congurar diferentes elementos de la encuesta desarrollada con Doodle como son eltiacutetulo una pequentildea descripcioacuten y luego las opciones posibles con un liacutemite de 10

El resultado nal seraacute la incrustacioacuten de una encuesta Doodle dentro de nuestro Moodle comopodemos ver en la gura67

Figura 65 Antildeadiendo Doodle como actividad

Figura 66 Opciones iniciales de conguracioacuten de Doodle

Figura 67 Doodel dentro de Moodle

Capiacutetulo 7

Conclusiones Finales

71 Conclusiones Finales

El proyecto actual nos ha servido para acercarnos a las diferentes tecnologiacuteas que permiten lacomunicacioacuten entre Servicios Webs Hemos desarrollado una primera labor de investigacioacuten queha requerido el aprendizaje de diferentes herramientas de control de documentacioacuten y referenciascomo Zotero y Mendeley

La documentacioacuten recabada en el proceso inicial de revisioacuten de documentos nos ha aportadoun visioacuten general de los diferentes sistemas virtuales de aprendizaje que podemos encontrarnosmuchos de ellos gratuitos y las diferentes soluciones que se plantean a la necesidad de incluirrecursos de otros fabricantes que en principio no fueron concebidos para ser utilizados dentro deuna plataforma VLE

Para poner en praacutectica la diferentes opciones encontradas se han montado diferentes maacutequinasvirtuales sobre las que se han probado las mismas Las conclusiones nales se pasan a detallar

IMS LTIEsta solucioacuten de integracioacuten mediante el cumplimiento de unos protocolos y certicacionesde las herramientas que lo cumplen es en principio la que podriacutea parecer la mejor opcioacutenpero la falta de compromiso de los diferentes fabricantes de Servicios Web y la luchapara imponer sus propios estaacutendares hace que aun quede mucho para que esta opcioacuten seacomo tal real

Si vemos el nuacutemero de aplicaciones certicadas para usar IMS LTI apenas superan las 50 yla mayoriacutea solo cumple la especicacioacuten v10 lo cual signica que la integracioacuten solo solu-ciona el problema de llamar a un recurso externo desde Moodle Pocas son las que cumplenla v11 que permite obtener en Moodle una valoracioacuten de los ejercicios desarrollados en unaactividad externa

La versioacuten v20 que daraacute maacutes opciones a la hora de interactuar con actividades externasauacuten esta en desarrollo y nada se sabe sobre posibles fechas para su presentacioacuten Luegocerticacioacuten de herramientas etc

55

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 38: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

datos binarios (ByteArray) y int datos no soportados por AMF0 debido a que en la eacutepoca queaparecioacute el formato Flash Player no soportaba estos tipos de datos

AMF3 no es un protocolo para transferir informacioacuten sino que representa el formato en el quese transmite la informacioacuten en este caso un formato binario

La versioacuten de Moodle 25 viene con Zend_ AMF pero podemos utilizar tambieacuten la libreriacuteaamfPHP

AMFPHP

Zend_ amf httpframeworkzendcommanual112enzendamfhtml

Maacutes informacioacuten en httpdocsmoodleorgdevAMFPHP

46 Conguracioacuten de Moodle Web Services

Los Servicios Web habilitan que otros sistemas puedan entrar a Moodle y realizar operacionesPasaremos a detallar los pasos necesarios para su conguracioacuten y explicaremos distintos pruebasllevadas a cabo sobre su funcionamiento Para poder consumir de manera correcta unWeb Servicede Moodle seriacutea necesario antildeadir a la url que vamos a formar los paraacutemetros oportunos paralograr consumir el Web Service de manera satisfactoria Una vez antildeadidos ya podriacuteamos invocarla funcioacuten seleccionada

461 Activando los Servicios Web

Lo primero que debemos hacer es activar la opcioacuten general que habilita el uso de los serviciosweb En la gura 46 podemos observar la opcioacuten para la activacioacuten de este servicio para ello nosiremos a la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Servicios Externos

Figura 46 Activacioacuten Servicios Web

Esto solo es una opcioacuten a nivel global necesitando ahora activar los protocolos de comunciacionesque vamos a utilizar para ello deberemos ir a la opcioacuten textitAdministracioacuten del Sitio - Exten-siones - Servicios Web - Administrador de protoclos donde encontraremos las diferente opcionesque nos existen En la gura 47 podemos ver la pantalla de nuestra conguracioacuten con todos losprotocolos activados

Una vez activada la opcioacuten de Servicios Externos y seleccionados los protocolos que utilizaremosnecesitamos crear un Servicio Personalizado que no es maacutes que una etiqueta que aglutina los

Figura 47 Activacioacuten Protoclos

Servicios Web que ofrece Moodle y que pueden ser utilizados por los servicios externos Para ellodeberemos darle a la opcioacuten Agregar dentro de la opcioacuten Administracioacuten del Sitio - Extensiones- Servicios Web - Servicios Externos Como prueba habilitaremos un servicio llamado Uso_Servicio_ Web cuya creacioacuten podemos ver en la gura 48

Figura 48 Creacioacuten Servicio Personalizado

Una vez creado el Servicio Personalizado deberemos agregarle las funciones que queramos lesean permitidas pudiente tener maacutes de una En la gura 49 vemos como asociamos la creacioacutende usuarios al Servicio Personalizado

Terminado esto deberemos tener en el listado que nos muestra Moodle de Servicios personaliza-dos algo como lo mostrado en la gura 410

El siguiente paso es conceder los permisos apropiados para que este Servicio Personalizado puedeser usado por los usuarios pare ello debemos primero especicar quienes son los Usuarios au-torizados para ello en la linea de la lista de Servicios Personalizados deberemos pulsar sobre laopcioacuten usuarios autorizados donde apareceraacute una pantalla como 411 donde podremos escogerlos usuarios de los que se encuentran dados de alta en nuestro sistema

Y para terminar aunque este paso podriacutea ser realizado por el propio usuario si tuviera el per-miso de moodlewebservicecreatetoken seraacute la creacioacuten de un token el cual va ser la opcioacuten quevamos a utilizar para las pruebas de los Servicios Web de Moodle Para la creacioacuten del mismodeberemos entrar en la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Admin-istrar tokens y pulsar la opcioacuten Agregar para antildeadir un token nuevo como podemos apreciar en

Figura 49 Agregando funciones al Servicio Personalizado

Figura 410 Listado de Servicios Personalizados

la gura 412 teniendo la precaucioacuten de escoger como Servicio el Servicio Personalizado creadocon anterioridad Uso_ Servicio_ Web

En esta pantalla podemos poner varios tipos de restricciones

Restriccioacuten de IP Donde podemos indicar la direccioacuten IP desde donde

Restriccioacuten de Fecha Se puede denir hasta cuando seraacute valido este token siendo unabuena manera de poder probar cosas y no dejar puertas abiertas por error

En la gura 413 podemos ver el token asignado por el sistema para nuestro Servicio Personalizadoy que procederemos a utilizar para comprobar el funcionamiento de los Servicios Web de Moodle

462 Pruebas cliente Servicio Web

Procederemos ahora a desarrollar pruebas que utilicen los Servicios Personalizados creado Sepodriacutean haber utilizado el Cliente de prueba de servicio web que incorpora Moodle dentro dela opcioacuten Administracioacuten del Sitio - Desarrollo - Cliente de prueba servicio web pero hemosdecidido implementar una Web para comprobar la facilidad del funcionamiento del sistema y losdistintos resultados obtenidos seguacuten el protocolo utilizado

Utilizaremos la libreriacutea cURL de PHP cURL es una herramienta que permite abrir conexionesen una amplia variedad de protocolos y que estaacute disponible tanto como herramienta de consola(para ejecutar directamente con comandos) como en libreriacutea (para usar en vuestro coacutedigo) y quepermite hacer praacutecticamente todo manejo de cookies descarga de cheros binarios enviacuteos de

Figura 411 Alta de Usuarios Autorizados

Figura 412 Creacioacuten de Tokens

paraacutemetros GET y POST etc

La web creada para la introduccioacuten 414 de los usuarios seraacute equivalente para todos los procesosprocesos siendo el programa que da respuesta al formulario el que implemente la funcioacuten nece-saria para la introduccioacuten de los datos en Moodle

Los resultados de REST pueden mostrar los resultados del alta de dos maneras diferentes unaen formato XML como podemos ver en la gura 415 y otro en formatox JSON tambieacuten po-dremos ver en la gura Los resultados obtenidos tambieacuten pueden verse en el la gura 416

Figura 413 Lista de Tokens

Figura 414 Web de alta de usuarios

Figura 415 Resultado de REST en formato XML

Figura 416 Resultado de REST en formato JSON

Capiacutetulo 5

Herramientas Externas

51 Introduccioacuten

Las versiones de Moodle desde la 22 vienen con IMS LTI o External Tool de manera integradaEn versiones anteriores era necesario la instalacioacuten de plugins como LTI Provider (maacutes informa-cioacuten en la web de Moodle1 IMS LTI es un estandar de IMS learing2 para la interoperabilidadde herramientas Esto signica que las herramientas de aprendizaje tienen ahora un mecanismopara jar el modo en que pueden conectarse entre ellas sin problemas

En la praacutectica cuando un usuario se registra en Moodle puede conectarse a otras herramientascomo Wikis o Blogs y autenticarse de manera automaacutetica en estas

52 Estaacutendares IMS

Actualmente se realizan esfuerzos para la integracioacuten de servicios a una plataforma virtual deaprendizaje mediante un mecanismo reutilizable independiente del tipo de plataforma El IMSGlobal Learning Consortium viene desde hace tiempo trabajando en este enfoque IMS GLCpresenta un conjunto de estaacutendares que promueven el uso de servicios de aprendizaje digitales(Digital Learning Services) dentro de las plataformas de aprendizaje tradicionales IMS DigitalLearning Services estaacute integrado por los siguientes estaacutendares principales IMS Common Car-tridge [ims a] IMS Learning Tool Interoperability [ims c] y IMS Learning Information Services[ims b]

El IMS Learning Tool Interoperability es una especicacioacuten para facilitar la inclusioacuten de her-ramientas externas dentro de un curso El administrador de la plataforma de aprendizaje ges-tiona los servicios que podraacuten ser consumidos por la plataforma el docente decide que serviciosutilizaraacute en su curso y el estudiante hace uso de los mismos IMS LTI permite que distintos LMSconsuman un mismo servicio el cual no fue implementado teniendo en cuenta el tipo de LMSsino la implementacioacuten del estaacutendar desde el lado del proveedor

El enfoque del IMS LTI estaacute dirigido a la creciente demanda de un mecanismo reutilizable para laintegracioacuten de herramientas de terceros en el nuacutecleo de las plataformas LMS Estas herramientas

1httpsmoodleorgpluginsviewphpplugin=local_ltiprovider2httpwwwimsglobalorgtoolsinteroperability2cfm

37

pueden agregar funcionalidad especializada a los LMS El enfoque ofrece una solucioacuten basada enWeb Services igualmente aplicable a distintos lenguajes de programacioacuten

Las versiones del LTI son

LTI v10 ( LTI Basic ) ( publicado en mayo de 2010 ) proporciona un meacutetodo sencillopero estaacutendar para establecer una conexioacuten segura a una herramienta desde el interior deun consumidor de herramientas El lanzamiento de este enlace permite una experienciade aprendizaje sin problemas para los estudiantes que acceden a las aplicaciones ricas queparecen tener lugar dentro del ambiente de aprendizaje Versioacuten 10 es el primer paso en eldesarrollo continuo de LTI Figura 51

LTI v11 ( publicado en marzo 2012 ) antildeade la posibilidad de pasar de nuevo un resultadode la herramienta al Consumidor de herramientas Esto permite que los estudiantes recibenuna calicacioacuten o puntuacioacuten de su interaccioacuten con la aplicacioacuten de aprendizaje

LTI v111 ( publicado en julio de 2012 ) incluye soporte para el papel Mentor que se puedeutilizar para representar a un padre tutor o auditor

LTI v20 Aun en estado de desarrollo y proporciona una plataforma maacutes sosticado y ex-tensible para permitir integraciones maacutes profundas y un mayor apoyo para los serviciosy eventos LTI 2 se basa en LTI 1 mediante la incorporacioacuten de maacutes sosticada resulta-dos de informes y una rica arquitectura de extensiones que permite servicios adicionalesque se antildeadiraacuten gradualmente LTI 2 utiliza REST y JSON-LD para ofrecer esta nuevafuncionalidad

Figura 51 Esquema LTI Baacutesico

En la gura 52 podemos observar como se podriacutean utilizar las ventajas de LTI por parte decada unos de los actores a lo largo de la vida de la aplicacioacuten de servicios externos dentro de unaplataforma de aprendizaje

En la paacutegina web de IMS3 podemos encontrar una relacioacuten de aplicaciones certicadas comocompatibles con el estaacutendar LTI indicando la versioacuten del LTI que cumplen En la gura 53podemos ver las aplicaciones certicadas por UOC y en la gura 54 la informacioacuten sobre una deestas herramientas

3httpwwwimsglobalorgccalltoolscfm

Figura 52 Esquema utilizacioacuten LTI

Figura 53 Listado de herramientas LTI de la UOC

53 Herramientas externas en Moodle

La siguiente seccioacuten consiste en la aplicacioacuten de alguno de esto servicios externos en Moodlepara comprobar su funcionamiento Nos decantaremos para la primera prueba por WordPresspues aunque existen manuales al respecto la documentacioacuten en castellano es escasa

531 Wordpress

La versioacuten estaacutendar de Wordpress a la cual accedemos cuando nos abrimos cuenta en Wordpressno viene con las herramientas necesarias para la iteracioacuten mediante LTI por lo que procedere-mos a la instalacioacuten en nuestro servidor de Wordpress para pasar a la instalacioacuten de los pluginsnecesarios

La instalacioacuten ha consistido en la descarga de la web ocial 4 de la versioacuten 351 la cual hemoscopiado dentro del directorio htdocs de nuestra instalacioacuten de Xampp Hemos dado de alta unnuevo usuario en nuestra base de datos llamado username como podemos ver en la imagen 55 yposteriormente hemos seguido los pasos que el instalador nos iba ofreciendo para tener instalado

4httpwordpressorgdownload

Figura 54 Informacioacuten sobre la certicacioacuten

Wordpress bajo la url httplocalhostwordpress

Figura 55 Usuario de Wordpress

Deberemos congurar Wordpress para que trabaje como multisitio para lo que deberemos seguirlos pasos de conguracioacuten que podemos encontrar en la web ocial de Wordpress5 bajo el nombreCreate A Network consistente en los siguientes pasos

1 Realizar una copia de seguridad por si acaso

2 Modicar el chero wp-congphp incluyendo la siguiente linea encima de Thats allstop editing Happy blogging Multisite dene (WP_ ALLOW_ MULTISITE true)

Multisite dene (WP_ ALLOW_ MULTISITE true)

3 Installar un Network Para ello hemos de entra en la opcioacuten Administration -gtTools -gtNetwork Setup donde podremos congurar opciones sobre el nombre que queremos declararpara el nuevo sitio

4 Activar el Network para ello debemos modicar los cheros wp-congphp y htaccess porlo que seriacutea bueno que realizaacuteramos primero un copia de seguridad de los mismos Loscambios que debemos realizar son los siguientes

5httpcodexwordpressorgCreate_A_Network

En wp-congphp dene(MULTISITE true)dene(SUBDOMAIN_ INSTALL false)dene(DOMAIN_ CURRENT_ SITE localhost)dene(PATH_ CURRENT_ SITE wordpress)dene(SITE_ ID_ CURRENT_ SITE 1)dene(BLOG_ ID_ CURRENT_ SITE 1)

El chero htaccess debe quedar asiacute BEGIN WordPressltIfModule mod_ rewritecgtRewriteEngine OnRewriteBase wordpressRewriteRule icircndexphp$ - [L]

add a trailing slash to wp-adminRewriteRule ([_ 0-9a-zA-Z-]+)wp-admin1wp-admin [R=301L]

RewriteCondREQUEST_ FILENAME -f [OR]RewriteCondREQUEST_ FILENAME -dRewriteRule - [L]RewriteRule ([_ 0-9a-zA-Z-]+)(wp-(content|admin|includes)) $2 [L]RewriteRule ([_ 0-9a-zA-Z-]+)( php)$ $2 [L]RewriteRule indexphp [L]ltIfModulegt

END WordPress

5 Esto nos habraacute creado en la parte izquierda de la barra de herramientas de Wordpressuna nueva opcioacuten llamada My Sites que contendraacute un listado de los sitios de nuestroWordpress

El siguiente paso seraacute la descarga del plugin los cual podremos hacerlos desde la web de sour-forgenet 6 En esta web se detalla informacioacuten sobre el plugin y como se debe instalar Siguiendolos pasos que tenemos en el mismo procederemos a la descarga y el desplegado del mismo en lacarpeta wp-contentmu-plugins Salimos de Wordpress y volvemos a entrar como superusuariosi entramos dentro de la nueva red realizada podremos ver que dentro de LTI Consumers Keystendremos la opcioacuten LTI Consumers Keys como podemos ver en la imagen 56

Aquiacute deberemos crear la clave del consumidor del servicio y la clave secreta que nos permitiraacute aMoodle conectarse a Wordpress

Una vez que tenemos la clave secreta y del consumidor deberemos volver a Moodle entrandocomo administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

6httpsourceforgenetappsmediawikilearningappsindexphptitle=LTI4Wordpress

Figura 56 Servicios LTI en Wordpress

Figura 57 Listado de claves de LTI en Wordpress

-LTI En esta paacutegina podremos rellenar nuestras opciones

Tool Name Seraacute el nombre que tendraacute la herramienta y deberemos poner alguno indicativode la herramienta que estemos utilizando

Tool Base URL Es la direccioacuten de la herramienta en nuestro caso httplocalhostwordpress

Deberemos rellenar con los datos obtenidos en Wordpress la clave de consumidor y la clavesecreta

Es importante marcar Show tool type when creating tool instances para que aparezcaposteriormente al crear los recursos en nuestros cursos

Para poder probar el sistema hemos creado un curso dentro de Moodle llamada WordpressLTIdonde daremos de la siguiente manera de alta 59

Dentro de nuestro curso seleccionamos la opcioacuten de Edicioacuten

Pulsamos sobre Antildeadir una actividad o un recurso

Seleccionamos External Tool

Rellenamos las opciones

bull Nombre de la Actividad Cualquiera de nuestra eleccioacuten

Figura 58 Conguracioacuten LTI en Moodle

bull Tipo de herramienta externa El nombre que le pusimos a la herramienta externa enla conguracioacuten LTI de Moodle

bull Launch Container Hemos elegido la opcioacuten Incrustar para ver el resultado

Figura 59 Conguracioacuten Herramienta Externa

Una vez congurado podemos lanzar la herramienta externa teniendo como resultado la gura510

Figura 510 Wordpress integrado en Moodle

532 ChemVantage

ChemVantage es un recurso gratuito para la educacioacuten cientiacuteca que incluye ejercicios de gradoejercicios de preparacioacuten exaacutemenes de la praacutectica conferencias de video y libros de texto enliacutenea gratis Fue creado por ChemVantage LLC que fue fundada por el Prof Chuck Wight queha ensentildeado Quiacutemica General en la Universidad de Utah desde 1984 (ChemVantage 2011)

Nos hemos puesto en contacto con Chuck Wight (adminchemvantageorg) para solicitarle unaclave de consumidor y secreta para poder probar este recurso desde moodle Las opciones y elcorreo puede verse en la gura 511

Una de las cosas maacutes importantes de ChemVantage y por lo que nos hemos decidido a probar esque permite la devolucioacuten de las notas obtenidas en los ejercicios realizados en las herramientasexternas a Moodle El alumno podraacute realizar las tareas en esta herramienta externa y luego sercalicadas en Moodle

ChemVantage estaacute certicada por IMS 7 como un proveedor de herramientas LTI v11 y comotal funciona desde nuestro propio LMS para llevar a cabo la autenticacioacuten de sitios provee decuentas y devuelve resultados de asignacioacuten de estudiantes con el libro LMS grado automaacutetica-mente

Los recursos disponible son ChemVantage son principalmente los siguientes

1 QuizzesLos ejercicios presentados aquiacute estaacuten disentildeados para animar a los estudiantes a leer y en-tender los libros de texto utilizados en el curso Las preguntas se basan en material que sepresente en su mayor parte en los textos de introduccioacuten de quiacutemica Los iacutetems de preguntastienen respuestas straighforward no requieren caacutelculos detallados Las preguntas se presen-tan en varios formatos diferentes incluyendo opcioacuten muacuteltiple verdadero falso casilla devericacioacuten ll-in-the-blanco y numeacutericas Cada cuestionario se compone de 10 preguntasextraiacutedas al azar de una base de datos con muchas maacutes preguntas En el proceso de tomarvarias pruebas para mejorar sus calicaciones los estudiantes probablemente encuentran

7httpdevelopersimsglobalorgcoursechemvantagehtml

algunas preguntas repetidas de concursos anteriores sin embargo es poco probable quecualquiera de los dos cuestionarios contendraacute exactamente el mismo conjunto de preguntasen el mismo orden Asignando pruebas para ser completado antes de la conferencia losprofesores pueden estar seguros de que sus estudiantes tengan un poco de exposicioacuten almaterial Esto permite una mayor discusioacuten el diaacutelogo y la participacioacuten en el aula y haceel aprendizaje maacutes divertido (de verdad)

2 Video LecturesUna serie de conferencias de viacutedeo de 10 minutos sobre una variedad de temas de QuiacutemicaGeneral es accesible desde la paacutegina principal Los videos estaacuten disentildeados para reforzar lospuntos principales que se presentan en muchos libros de texto

3 HoweworksLas tareas estaacuten disentildeadas para dar a los estudiantes la praacutectica en la resolucioacuten de proble-mas cuantitativos que tienen respuestas numeacutericas Cada alumno puede descargar la tareatrabajar los problemas y presentar las respuestas en liacutenea Respuestas son juzgados a sercorrecta si la solucioacuten numeacuterica de acuerdo con la solucioacuten que se encuentra en la base dedatos dentro de una tolerancia especicada (indicado para cada problema) El sitio informaa los estudiantes que las respuestas son correctas para que puedan rehacer problemas malresueltos y volver a presentar las respuestas Cada problema se basa en una plantilla queatrae paraacutemetros al azar por lo que la respuesta correcta es diferente para cada estudianteEsto hace que sean adecuadas para la colaboracioacuten y el trabajo en grupo porque a pesarde que el grupo puede trabajar para encontrar un algoritmo correcto para resolver un prob-lema cada estudiante tendraacute que usar el algoritmo para encontrar la solucioacuten detallada asu propio problema

4 Practice ExamsLos estudiantes pueden realizaar exaacutemenes de praacutectica cronometrados que muestran laspreguntas de un grupo de 3 o maacutes temas Cada examen estaacute disentildeado para tardar unos60 minutos o menos e incluye una seleccioacuten de 10 preguntas Las praacutecticas de exaacutemenespueden repetirse cuantas veces se desee Las preguntas numeacutericas son parametrizadas loque es muy poco probable que un estudiante realice alguna vez dos exaacutemenes de praacutecticaideacutenticos

5 Portofolio PageCada estudiante puede acceder a una paacutegina que le da la puntuacioacuten obtenida en cada prue-ba y la asignacioacuten de tareas Los estudiantes que son miembros de un grupo tienen unapaacutegina de resultados asociados a las tareas de grupo Hay una paacutegina de carpeta separadaque contiene un resumen de todas las actividades realizadas en ChemVantage incluyendovideos vistos cuestionarios completados resolver problemas con la tarea y la praacutectica deexaacutemenes completados Las puntuaciones en los exaacutemenes de praacutectica son desagregadospara revelar fortalezas y debilidades estudiantes por temas

Hemos procedido a darlo de alta en LTI como hicimos con Wordpress Entramos en Moodle co-mo Administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

Figura 511 Correo de Chuck Wight

-LTI quedando como resultado la siguiente hoja de paraacutemetros gura 512

El siguiente paso seraacute antildeadir la herramienta dentro de nuestro curso para ello pulsaremos sobreAntildeadir una actividad o un recurso Deberemos seleccionar External Tool y rellenamos las op-ciones de la herramienta seleccionando como Tipo de herramienta externa la opcioacuten creada enel apartado de LTI de Moodle

Una vez congurado la herramienta en Moodle podemos entrar para realizar una personalizacioacutende la herramienta gura 513 esta consiste en indicar si el alumno cuando se conecta realiza undeterminado tarea o puede elegir navegar por la web de ChemVantage para poder disfrutar dela cantidad de recursos que se encuentran disponibles

Cuando el usuario pulsa sobre la opcioacuten de esta herramienta externa en Moodle lo primero quese le muestra es la informacioacuten sobre su perl en Chemvantage 514Como hemos visto en los paraacutemetros de conguracioacuten existe la posibilidad de llamar a unaherramienta externa incrustaacutendola dentro de Moodle o abrieacutendolo en una paacutegina web nuevaCon esta segunda opcioacuten no hemos conseguido que funcione correctamente la importacioacuten de lasnotas En cambio si la herramienta externa estaacute incrustada permite esa vinculacioacuten

Figura 512 Conguracioacuten de paraacutemetros LTI

Figura 513 Opciones de inicio de la herramienta

Figura 514 Pantalla de utilizacioacuten de la herramienta por el usuario

Capiacutetulo 6

Middleware

61 Introduccioacuten

La uacuteltima opcioacuten seriacutea utilizar una arquitectura middleware de integracioacuten que permita la inte-gracioacuten ligera de muacuteltiples herramientas existentes en el Moodle

62 GluePS

GLUE-PS es una arquitectura de middleware que permite una interoperabilidad ligera entrelos diferentes lenguajes de disentildeo de aprendizaje y diferentes entornos de aprendizaje virtualEsta interoperabilidad permite a los maestros y otros profesionales que particularicen (es decirpara personalizar el disentildeo de aprendizaje abstractoa la clase particular los participantes y laeleccioacuten de los instrumentos en los que va a ser promulgada) desplieguen (es decir para crearde forma semiautomaacutetica las actividades necesarias en el VLE recursos etc para la aprobacioacutendel disentildeo particularizado) e incluso para llevar a cabo ciertos cambios en el tiempo de ejecucioacuten(por ejemplo modicar la composicioacuten del grupo agregar o quitar recursos de las actividadesetc) Todo esto a partir de disentildeos en distintos lenguajes de disentildeo de aprendizaje tales como laespecicacioacuten IMS-LD aprendizaje

Por otra parte GLUE-PS tambieacuten permite desplegar y gestionar disentildeos de aprendizaje en en-tornos virtuales de aprendizaje que integren herramientas de aprendizaje externos (tales comointegrar en Moodle herramientas como Google Docs y muchos otros) - lo que llamamos Am-bientes de Aprendizaje Distribuido (DLE Distributed Learning Enviroments) Esto se consiguegracias a la arquitectura de GLUE para la integracioacuten de los entornos virtuales de aprendizajey herramientas externas

621 Instalacioacuten

Para realizar la instalacioacuten de GLUE-PS nos hemos descargado el software necesario de la webde los desarrolladores1 descargando la opcioacuten de autenticacioacuten centralizada La instalacioacuten haconstado de tres partes que pasaremos a describir a continuacioacuten

1httpwwwgsicuvaesglue

49

Figura 61 Arquitectura de GLUE

La primera parte consiste en la instalacioacuten del GLUEletManager y los adaptadores GSIC toolAunque el sistema viene preparado para Linux o Windows siendo Windows la explicacioacuten quevamos a desarrollar por estar utilizando este sistema operativo con Xampp

1 Crear el directorio GLUE_ HOME El cual hemos creado para mayor comodidad en la raiacutezdel disco duro

2 Denir la variable del sistema GLUE_ HOME con el valor de la direccioacuten completa deldirectorio de GLUE del punto anterior Para ello hemos pulsado botoacuten derecho sobre MiPc Propiedad Opciones Avanzadas Variables de Entorno procediendo a pulsar el botoacutenNueva para crear la variable en cuestioacuten

3 Extraemos en el directorio del punto (1) el paquete descargado de la paacutegina de los desar-rolladores

4 Ejecutar la instalacioacuten del cheroGLUE_ HOMEbininstall gluebat para registar GLUElet-Manager y GSIC tool como un servicio de Windows Tambieacuten este paso crearaacute un cheroen GLUE_ HOMEtool_ adapteradapterdata para proveer de persistencia a los objetoscreados con el adaptador GSIC tool

A continuacioacuten daremos de alta en nuestro gestor de bases de datos un para de bases de datosque necesita GLUEletManager Para ellos seguimos los siguientes pasos

1 Abrimos la consola de phpMyaAdmin para cargar y ejecutar el chero create_ GLUE_databasessql que se encuentra en GLUE_ HOMEmanagerconfdb

2 Modicamos el chero GLUE_ HOMEmanagerconfMETA-INFpersistencexml paradarle los paraacutemetros necesarios para que JDBC se conecte a nuestra base de datos Losparaacutemetros modicados puede verse en la imagen 62

Figura 62 Paraacutemetros modicados en persistencexml

La segunda parte consiste en el registro interno de los adaptadores de las herramientas para seraccedido con GLUEletManager La distribucioacuten trae un chero para facilitar la conguracioacuten delos adaptadores que trae consigo y para su instalacioacuten deberemos ejecutar el chero GLUE_HOMEmanagerconfdbll _ internal_ Registrysql Alguna de las herramientas necesitanuna conguracioacuten maacutes completa como puede ser Google Docs adapter que necesita una cuentade Gmail para poder crear documentos en Google Docs por lo que deberemos modicar el nom-bre de usuario y contrasentildea

La uacuteltima parte consiste en la instalacioacuten del adaptardor de Moodle como VLE utilizado Estainstalacioacuten es como cualquier otro moacutedulo de Moodle 2 La carpeta que deberemos copiar seraacutela del adaptador correspondiente a Moodle que se encuentra en la carpeta GLUE_ HOMEvle_adpatersmoodle_ vle_ adapter Una vez entremos en nuestro Moodle como administrador nosapareceraacute un mensaje indicaacutendonos que el nuevo moacutedulo esta instalado Para congurar el nuevomoacutedulo debermos ir a Noticaciones - Modulos - Actividades como podemos ver en la gura 63para congurar los paraacutemetros la URL del GLUEletManager y el tiempo de espera

Figura 63 Paraacutemetros del moacutedulo GLUE

Cuando el profesor quiera crear una nueva actividad dependiente de los adaptadores de GLUEdeberaacute agregar una actividad maacutes pulsando para ello en esta opcioacuten dentro del bloque deseadopara seleccionar luego el tipo de actividad GLUElet como podemos ver en la gura64

622 Creando un Doodle

El adaptador Doodle permite la creacioacuten conguracioacuten y gestioacuten de instancias del Doodle Cadaencuesta Doodle es considerado un instancia diferente Ademaacutes este adaptador permite realizarademas la conguracioacuten inicial de encuestas Doodle incluyendo el nombre de la encuesta unadescripcioacuten y un conjunto de posibles respuestas

A continuacioacuten antildeadiremos Doodle en un bloque de Moodle para ellos pulsaremos la opcioacuten deAgregar actividad GLUElet lo cual nos mostraraacute la paacutegina65 donde deberemos rellenar comomiacutenimo el nombre de la actividad y el tipo de herramienta seleccionado en este caso Doodle(httpdoodle-testcom)

2httpdocsmoodleorgenInstalling_contributed_modules_or_plugins

Figura 64 Creando una actividad GLUElet

La primera vez que pulsemos sobre la nueva actividad creada apareceraacute un pantalla 66 dondepodemos congurar diferentes elementos de la encuesta desarrollada con Doodle como son eltiacutetulo una pequentildea descripcioacuten y luego las opciones posibles con un liacutemite de 10

El resultado nal seraacute la incrustacioacuten de una encuesta Doodle dentro de nuestro Moodle comopodemos ver en la gura67

Figura 65 Antildeadiendo Doodle como actividad

Figura 66 Opciones iniciales de conguracioacuten de Doodle

Figura 67 Doodel dentro de Moodle

Capiacutetulo 7

Conclusiones Finales

71 Conclusiones Finales

El proyecto actual nos ha servido para acercarnos a las diferentes tecnologiacuteas que permiten lacomunicacioacuten entre Servicios Webs Hemos desarrollado una primera labor de investigacioacuten queha requerido el aprendizaje de diferentes herramientas de control de documentacioacuten y referenciascomo Zotero y Mendeley

La documentacioacuten recabada en el proceso inicial de revisioacuten de documentos nos ha aportadoun visioacuten general de los diferentes sistemas virtuales de aprendizaje que podemos encontrarnosmuchos de ellos gratuitos y las diferentes soluciones que se plantean a la necesidad de incluirrecursos de otros fabricantes que en principio no fueron concebidos para ser utilizados dentro deuna plataforma VLE

Para poner en praacutectica la diferentes opciones encontradas se han montado diferentes maacutequinasvirtuales sobre las que se han probado las mismas Las conclusiones nales se pasan a detallar

IMS LTIEsta solucioacuten de integracioacuten mediante el cumplimiento de unos protocolos y certicacionesde las herramientas que lo cumplen es en principio la que podriacutea parecer la mejor opcioacutenpero la falta de compromiso de los diferentes fabricantes de Servicios Web y la luchapara imponer sus propios estaacutendares hace que aun quede mucho para que esta opcioacuten seacomo tal real

Si vemos el nuacutemero de aplicaciones certicadas para usar IMS LTI apenas superan las 50 yla mayoriacutea solo cumple la especicacioacuten v10 lo cual signica que la integracioacuten solo solu-ciona el problema de llamar a un recurso externo desde Moodle Pocas son las que cumplenla v11 que permite obtener en Moodle una valoracioacuten de los ejercicios desarrollados en unaactividad externa

La versioacuten v20 que daraacute maacutes opciones a la hora de interactuar con actividades externasauacuten esta en desarrollo y nada se sabe sobre posibles fechas para su presentacioacuten Luegocerticacioacuten de herramientas etc

55

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 39: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

Figura 47 Activacioacuten Protoclos

Servicios Web que ofrece Moodle y que pueden ser utilizados por los servicios externos Para ellodeberemos darle a la opcioacuten Agregar dentro de la opcioacuten Administracioacuten del Sitio - Extensiones- Servicios Web - Servicios Externos Como prueba habilitaremos un servicio llamado Uso_Servicio_ Web cuya creacioacuten podemos ver en la gura 48

Figura 48 Creacioacuten Servicio Personalizado

Una vez creado el Servicio Personalizado deberemos agregarle las funciones que queramos lesean permitidas pudiente tener maacutes de una En la gura 49 vemos como asociamos la creacioacutende usuarios al Servicio Personalizado

Terminado esto deberemos tener en el listado que nos muestra Moodle de Servicios personaliza-dos algo como lo mostrado en la gura 410

El siguiente paso es conceder los permisos apropiados para que este Servicio Personalizado puedeser usado por los usuarios pare ello debemos primero especicar quienes son los Usuarios au-torizados para ello en la linea de la lista de Servicios Personalizados deberemos pulsar sobre laopcioacuten usuarios autorizados donde apareceraacute una pantalla como 411 donde podremos escogerlos usuarios de los que se encuentran dados de alta en nuestro sistema

Y para terminar aunque este paso podriacutea ser realizado por el propio usuario si tuviera el per-miso de moodlewebservicecreatetoken seraacute la creacioacuten de un token el cual va ser la opcioacuten quevamos a utilizar para las pruebas de los Servicios Web de Moodle Para la creacioacuten del mismodeberemos entrar en la opcioacuten Administracioacuten del Sitio - Extensiones - Servicios Web - Admin-istrar tokens y pulsar la opcioacuten Agregar para antildeadir un token nuevo como podemos apreciar en

Figura 49 Agregando funciones al Servicio Personalizado

Figura 410 Listado de Servicios Personalizados

la gura 412 teniendo la precaucioacuten de escoger como Servicio el Servicio Personalizado creadocon anterioridad Uso_ Servicio_ Web

En esta pantalla podemos poner varios tipos de restricciones

Restriccioacuten de IP Donde podemos indicar la direccioacuten IP desde donde

Restriccioacuten de Fecha Se puede denir hasta cuando seraacute valido este token siendo unabuena manera de poder probar cosas y no dejar puertas abiertas por error

En la gura 413 podemos ver el token asignado por el sistema para nuestro Servicio Personalizadoy que procederemos a utilizar para comprobar el funcionamiento de los Servicios Web de Moodle

462 Pruebas cliente Servicio Web

Procederemos ahora a desarrollar pruebas que utilicen los Servicios Personalizados creado Sepodriacutean haber utilizado el Cliente de prueba de servicio web que incorpora Moodle dentro dela opcioacuten Administracioacuten del Sitio - Desarrollo - Cliente de prueba servicio web pero hemosdecidido implementar una Web para comprobar la facilidad del funcionamiento del sistema y losdistintos resultados obtenidos seguacuten el protocolo utilizado

Utilizaremos la libreriacutea cURL de PHP cURL es una herramienta que permite abrir conexionesen una amplia variedad de protocolos y que estaacute disponible tanto como herramienta de consola(para ejecutar directamente con comandos) como en libreriacutea (para usar en vuestro coacutedigo) y quepermite hacer praacutecticamente todo manejo de cookies descarga de cheros binarios enviacuteos de

Figura 411 Alta de Usuarios Autorizados

Figura 412 Creacioacuten de Tokens

paraacutemetros GET y POST etc

La web creada para la introduccioacuten 414 de los usuarios seraacute equivalente para todos los procesosprocesos siendo el programa que da respuesta al formulario el que implemente la funcioacuten nece-saria para la introduccioacuten de los datos en Moodle

Los resultados de REST pueden mostrar los resultados del alta de dos maneras diferentes unaen formato XML como podemos ver en la gura 415 y otro en formatox JSON tambieacuten po-dremos ver en la gura Los resultados obtenidos tambieacuten pueden verse en el la gura 416

Figura 413 Lista de Tokens

Figura 414 Web de alta de usuarios

Figura 415 Resultado de REST en formato XML

Figura 416 Resultado de REST en formato JSON

Capiacutetulo 5

Herramientas Externas

51 Introduccioacuten

Las versiones de Moodle desde la 22 vienen con IMS LTI o External Tool de manera integradaEn versiones anteriores era necesario la instalacioacuten de plugins como LTI Provider (maacutes informa-cioacuten en la web de Moodle1 IMS LTI es un estandar de IMS learing2 para la interoperabilidadde herramientas Esto signica que las herramientas de aprendizaje tienen ahora un mecanismopara jar el modo en que pueden conectarse entre ellas sin problemas

En la praacutectica cuando un usuario se registra en Moodle puede conectarse a otras herramientascomo Wikis o Blogs y autenticarse de manera automaacutetica en estas

52 Estaacutendares IMS

Actualmente se realizan esfuerzos para la integracioacuten de servicios a una plataforma virtual deaprendizaje mediante un mecanismo reutilizable independiente del tipo de plataforma El IMSGlobal Learning Consortium viene desde hace tiempo trabajando en este enfoque IMS GLCpresenta un conjunto de estaacutendares que promueven el uso de servicios de aprendizaje digitales(Digital Learning Services) dentro de las plataformas de aprendizaje tradicionales IMS DigitalLearning Services estaacute integrado por los siguientes estaacutendares principales IMS Common Car-tridge [ims a] IMS Learning Tool Interoperability [ims c] y IMS Learning Information Services[ims b]

El IMS Learning Tool Interoperability es una especicacioacuten para facilitar la inclusioacuten de her-ramientas externas dentro de un curso El administrador de la plataforma de aprendizaje ges-tiona los servicios que podraacuten ser consumidos por la plataforma el docente decide que serviciosutilizaraacute en su curso y el estudiante hace uso de los mismos IMS LTI permite que distintos LMSconsuman un mismo servicio el cual no fue implementado teniendo en cuenta el tipo de LMSsino la implementacioacuten del estaacutendar desde el lado del proveedor

El enfoque del IMS LTI estaacute dirigido a la creciente demanda de un mecanismo reutilizable para laintegracioacuten de herramientas de terceros en el nuacutecleo de las plataformas LMS Estas herramientas

1httpsmoodleorgpluginsviewphpplugin=local_ltiprovider2httpwwwimsglobalorgtoolsinteroperability2cfm

37

pueden agregar funcionalidad especializada a los LMS El enfoque ofrece una solucioacuten basada enWeb Services igualmente aplicable a distintos lenguajes de programacioacuten

Las versiones del LTI son

LTI v10 ( LTI Basic ) ( publicado en mayo de 2010 ) proporciona un meacutetodo sencillopero estaacutendar para establecer una conexioacuten segura a una herramienta desde el interior deun consumidor de herramientas El lanzamiento de este enlace permite una experienciade aprendizaje sin problemas para los estudiantes que acceden a las aplicaciones ricas queparecen tener lugar dentro del ambiente de aprendizaje Versioacuten 10 es el primer paso en eldesarrollo continuo de LTI Figura 51

LTI v11 ( publicado en marzo 2012 ) antildeade la posibilidad de pasar de nuevo un resultadode la herramienta al Consumidor de herramientas Esto permite que los estudiantes recibenuna calicacioacuten o puntuacioacuten de su interaccioacuten con la aplicacioacuten de aprendizaje

LTI v111 ( publicado en julio de 2012 ) incluye soporte para el papel Mentor que se puedeutilizar para representar a un padre tutor o auditor

LTI v20 Aun en estado de desarrollo y proporciona una plataforma maacutes sosticado y ex-tensible para permitir integraciones maacutes profundas y un mayor apoyo para los serviciosy eventos LTI 2 se basa en LTI 1 mediante la incorporacioacuten de maacutes sosticada resulta-dos de informes y una rica arquitectura de extensiones que permite servicios adicionalesque se antildeadiraacuten gradualmente LTI 2 utiliza REST y JSON-LD para ofrecer esta nuevafuncionalidad

Figura 51 Esquema LTI Baacutesico

En la gura 52 podemos observar como se podriacutean utilizar las ventajas de LTI por parte decada unos de los actores a lo largo de la vida de la aplicacioacuten de servicios externos dentro de unaplataforma de aprendizaje

En la paacutegina web de IMS3 podemos encontrar una relacioacuten de aplicaciones certicadas comocompatibles con el estaacutendar LTI indicando la versioacuten del LTI que cumplen En la gura 53podemos ver las aplicaciones certicadas por UOC y en la gura 54 la informacioacuten sobre una deestas herramientas

3httpwwwimsglobalorgccalltoolscfm

Figura 52 Esquema utilizacioacuten LTI

Figura 53 Listado de herramientas LTI de la UOC

53 Herramientas externas en Moodle

La siguiente seccioacuten consiste en la aplicacioacuten de alguno de esto servicios externos en Moodlepara comprobar su funcionamiento Nos decantaremos para la primera prueba por WordPresspues aunque existen manuales al respecto la documentacioacuten en castellano es escasa

531 Wordpress

La versioacuten estaacutendar de Wordpress a la cual accedemos cuando nos abrimos cuenta en Wordpressno viene con las herramientas necesarias para la iteracioacuten mediante LTI por lo que procedere-mos a la instalacioacuten en nuestro servidor de Wordpress para pasar a la instalacioacuten de los pluginsnecesarios

La instalacioacuten ha consistido en la descarga de la web ocial 4 de la versioacuten 351 la cual hemoscopiado dentro del directorio htdocs de nuestra instalacioacuten de Xampp Hemos dado de alta unnuevo usuario en nuestra base de datos llamado username como podemos ver en la imagen 55 yposteriormente hemos seguido los pasos que el instalador nos iba ofreciendo para tener instalado

4httpwordpressorgdownload

Figura 54 Informacioacuten sobre la certicacioacuten

Wordpress bajo la url httplocalhostwordpress

Figura 55 Usuario de Wordpress

Deberemos congurar Wordpress para que trabaje como multisitio para lo que deberemos seguirlos pasos de conguracioacuten que podemos encontrar en la web ocial de Wordpress5 bajo el nombreCreate A Network consistente en los siguientes pasos

1 Realizar una copia de seguridad por si acaso

2 Modicar el chero wp-congphp incluyendo la siguiente linea encima de Thats allstop editing Happy blogging Multisite dene (WP_ ALLOW_ MULTISITE true)

Multisite dene (WP_ ALLOW_ MULTISITE true)

3 Installar un Network Para ello hemos de entra en la opcioacuten Administration -gtTools -gtNetwork Setup donde podremos congurar opciones sobre el nombre que queremos declararpara el nuevo sitio

4 Activar el Network para ello debemos modicar los cheros wp-congphp y htaccess porlo que seriacutea bueno que realizaacuteramos primero un copia de seguridad de los mismos Loscambios que debemos realizar son los siguientes

5httpcodexwordpressorgCreate_A_Network

En wp-congphp dene(MULTISITE true)dene(SUBDOMAIN_ INSTALL false)dene(DOMAIN_ CURRENT_ SITE localhost)dene(PATH_ CURRENT_ SITE wordpress)dene(SITE_ ID_ CURRENT_ SITE 1)dene(BLOG_ ID_ CURRENT_ SITE 1)

El chero htaccess debe quedar asiacute BEGIN WordPressltIfModule mod_ rewritecgtRewriteEngine OnRewriteBase wordpressRewriteRule icircndexphp$ - [L]

add a trailing slash to wp-adminRewriteRule ([_ 0-9a-zA-Z-]+)wp-admin1wp-admin [R=301L]

RewriteCondREQUEST_ FILENAME -f [OR]RewriteCondREQUEST_ FILENAME -dRewriteRule - [L]RewriteRule ([_ 0-9a-zA-Z-]+)(wp-(content|admin|includes)) $2 [L]RewriteRule ([_ 0-9a-zA-Z-]+)( php)$ $2 [L]RewriteRule indexphp [L]ltIfModulegt

END WordPress

5 Esto nos habraacute creado en la parte izquierda de la barra de herramientas de Wordpressuna nueva opcioacuten llamada My Sites que contendraacute un listado de los sitios de nuestroWordpress

El siguiente paso seraacute la descarga del plugin los cual podremos hacerlos desde la web de sour-forgenet 6 En esta web se detalla informacioacuten sobre el plugin y como se debe instalar Siguiendolos pasos que tenemos en el mismo procederemos a la descarga y el desplegado del mismo en lacarpeta wp-contentmu-plugins Salimos de Wordpress y volvemos a entrar como superusuariosi entramos dentro de la nueva red realizada podremos ver que dentro de LTI Consumers Keystendremos la opcioacuten LTI Consumers Keys como podemos ver en la imagen 56

Aquiacute deberemos crear la clave del consumidor del servicio y la clave secreta que nos permitiraacute aMoodle conectarse a Wordpress

Una vez que tenemos la clave secreta y del consumidor deberemos volver a Moodle entrandocomo administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

6httpsourceforgenetappsmediawikilearningappsindexphptitle=LTI4Wordpress

Figura 56 Servicios LTI en Wordpress

Figura 57 Listado de claves de LTI en Wordpress

-LTI En esta paacutegina podremos rellenar nuestras opciones

Tool Name Seraacute el nombre que tendraacute la herramienta y deberemos poner alguno indicativode la herramienta que estemos utilizando

Tool Base URL Es la direccioacuten de la herramienta en nuestro caso httplocalhostwordpress

Deberemos rellenar con los datos obtenidos en Wordpress la clave de consumidor y la clavesecreta

Es importante marcar Show tool type when creating tool instances para que aparezcaposteriormente al crear los recursos en nuestros cursos

Para poder probar el sistema hemos creado un curso dentro de Moodle llamada WordpressLTIdonde daremos de la siguiente manera de alta 59

Dentro de nuestro curso seleccionamos la opcioacuten de Edicioacuten

Pulsamos sobre Antildeadir una actividad o un recurso

Seleccionamos External Tool

Rellenamos las opciones

bull Nombre de la Actividad Cualquiera de nuestra eleccioacuten

Figura 58 Conguracioacuten LTI en Moodle

bull Tipo de herramienta externa El nombre que le pusimos a la herramienta externa enla conguracioacuten LTI de Moodle

bull Launch Container Hemos elegido la opcioacuten Incrustar para ver el resultado

Figura 59 Conguracioacuten Herramienta Externa

Una vez congurado podemos lanzar la herramienta externa teniendo como resultado la gura510

Figura 510 Wordpress integrado en Moodle

532 ChemVantage

ChemVantage es un recurso gratuito para la educacioacuten cientiacuteca que incluye ejercicios de gradoejercicios de preparacioacuten exaacutemenes de la praacutectica conferencias de video y libros de texto enliacutenea gratis Fue creado por ChemVantage LLC que fue fundada por el Prof Chuck Wight queha ensentildeado Quiacutemica General en la Universidad de Utah desde 1984 (ChemVantage 2011)

Nos hemos puesto en contacto con Chuck Wight (adminchemvantageorg) para solicitarle unaclave de consumidor y secreta para poder probar este recurso desde moodle Las opciones y elcorreo puede verse en la gura 511

Una de las cosas maacutes importantes de ChemVantage y por lo que nos hemos decidido a probar esque permite la devolucioacuten de las notas obtenidas en los ejercicios realizados en las herramientasexternas a Moodle El alumno podraacute realizar las tareas en esta herramienta externa y luego sercalicadas en Moodle

ChemVantage estaacute certicada por IMS 7 como un proveedor de herramientas LTI v11 y comotal funciona desde nuestro propio LMS para llevar a cabo la autenticacioacuten de sitios provee decuentas y devuelve resultados de asignacioacuten de estudiantes con el libro LMS grado automaacutetica-mente

Los recursos disponible son ChemVantage son principalmente los siguientes

1 QuizzesLos ejercicios presentados aquiacute estaacuten disentildeados para animar a los estudiantes a leer y en-tender los libros de texto utilizados en el curso Las preguntas se basan en material que sepresente en su mayor parte en los textos de introduccioacuten de quiacutemica Los iacutetems de preguntastienen respuestas straighforward no requieren caacutelculos detallados Las preguntas se presen-tan en varios formatos diferentes incluyendo opcioacuten muacuteltiple verdadero falso casilla devericacioacuten ll-in-the-blanco y numeacutericas Cada cuestionario se compone de 10 preguntasextraiacutedas al azar de una base de datos con muchas maacutes preguntas En el proceso de tomarvarias pruebas para mejorar sus calicaciones los estudiantes probablemente encuentran

7httpdevelopersimsglobalorgcoursechemvantagehtml

algunas preguntas repetidas de concursos anteriores sin embargo es poco probable quecualquiera de los dos cuestionarios contendraacute exactamente el mismo conjunto de preguntasen el mismo orden Asignando pruebas para ser completado antes de la conferencia losprofesores pueden estar seguros de que sus estudiantes tengan un poco de exposicioacuten almaterial Esto permite una mayor discusioacuten el diaacutelogo y la participacioacuten en el aula y haceel aprendizaje maacutes divertido (de verdad)

2 Video LecturesUna serie de conferencias de viacutedeo de 10 minutos sobre una variedad de temas de QuiacutemicaGeneral es accesible desde la paacutegina principal Los videos estaacuten disentildeados para reforzar lospuntos principales que se presentan en muchos libros de texto

3 HoweworksLas tareas estaacuten disentildeadas para dar a los estudiantes la praacutectica en la resolucioacuten de proble-mas cuantitativos que tienen respuestas numeacutericas Cada alumno puede descargar la tareatrabajar los problemas y presentar las respuestas en liacutenea Respuestas son juzgados a sercorrecta si la solucioacuten numeacuterica de acuerdo con la solucioacuten que se encuentra en la base dedatos dentro de una tolerancia especicada (indicado para cada problema) El sitio informaa los estudiantes que las respuestas son correctas para que puedan rehacer problemas malresueltos y volver a presentar las respuestas Cada problema se basa en una plantilla queatrae paraacutemetros al azar por lo que la respuesta correcta es diferente para cada estudianteEsto hace que sean adecuadas para la colaboracioacuten y el trabajo en grupo porque a pesarde que el grupo puede trabajar para encontrar un algoritmo correcto para resolver un prob-lema cada estudiante tendraacute que usar el algoritmo para encontrar la solucioacuten detallada asu propio problema

4 Practice ExamsLos estudiantes pueden realizaar exaacutemenes de praacutectica cronometrados que muestran laspreguntas de un grupo de 3 o maacutes temas Cada examen estaacute disentildeado para tardar unos60 minutos o menos e incluye una seleccioacuten de 10 preguntas Las praacutecticas de exaacutemenespueden repetirse cuantas veces se desee Las preguntas numeacutericas son parametrizadas loque es muy poco probable que un estudiante realice alguna vez dos exaacutemenes de praacutecticaideacutenticos

5 Portofolio PageCada estudiante puede acceder a una paacutegina que le da la puntuacioacuten obtenida en cada prue-ba y la asignacioacuten de tareas Los estudiantes que son miembros de un grupo tienen unapaacutegina de resultados asociados a las tareas de grupo Hay una paacutegina de carpeta separadaque contiene un resumen de todas las actividades realizadas en ChemVantage incluyendovideos vistos cuestionarios completados resolver problemas con la tarea y la praacutectica deexaacutemenes completados Las puntuaciones en los exaacutemenes de praacutectica son desagregadospara revelar fortalezas y debilidades estudiantes por temas

Hemos procedido a darlo de alta en LTI como hicimos con Wordpress Entramos en Moodle co-mo Administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

Figura 511 Correo de Chuck Wight

-LTI quedando como resultado la siguiente hoja de paraacutemetros gura 512

El siguiente paso seraacute antildeadir la herramienta dentro de nuestro curso para ello pulsaremos sobreAntildeadir una actividad o un recurso Deberemos seleccionar External Tool y rellenamos las op-ciones de la herramienta seleccionando como Tipo de herramienta externa la opcioacuten creada enel apartado de LTI de Moodle

Una vez congurado la herramienta en Moodle podemos entrar para realizar una personalizacioacutende la herramienta gura 513 esta consiste en indicar si el alumno cuando se conecta realiza undeterminado tarea o puede elegir navegar por la web de ChemVantage para poder disfrutar dela cantidad de recursos que se encuentran disponibles

Cuando el usuario pulsa sobre la opcioacuten de esta herramienta externa en Moodle lo primero quese le muestra es la informacioacuten sobre su perl en Chemvantage 514Como hemos visto en los paraacutemetros de conguracioacuten existe la posibilidad de llamar a unaherramienta externa incrustaacutendola dentro de Moodle o abrieacutendolo en una paacutegina web nuevaCon esta segunda opcioacuten no hemos conseguido que funcione correctamente la importacioacuten de lasnotas En cambio si la herramienta externa estaacute incrustada permite esa vinculacioacuten

Figura 512 Conguracioacuten de paraacutemetros LTI

Figura 513 Opciones de inicio de la herramienta

Figura 514 Pantalla de utilizacioacuten de la herramienta por el usuario

Capiacutetulo 6

Middleware

61 Introduccioacuten

La uacuteltima opcioacuten seriacutea utilizar una arquitectura middleware de integracioacuten que permita la inte-gracioacuten ligera de muacuteltiples herramientas existentes en el Moodle

62 GluePS

GLUE-PS es una arquitectura de middleware que permite una interoperabilidad ligera entrelos diferentes lenguajes de disentildeo de aprendizaje y diferentes entornos de aprendizaje virtualEsta interoperabilidad permite a los maestros y otros profesionales que particularicen (es decirpara personalizar el disentildeo de aprendizaje abstractoa la clase particular los participantes y laeleccioacuten de los instrumentos en los que va a ser promulgada) desplieguen (es decir para crearde forma semiautomaacutetica las actividades necesarias en el VLE recursos etc para la aprobacioacutendel disentildeo particularizado) e incluso para llevar a cabo ciertos cambios en el tiempo de ejecucioacuten(por ejemplo modicar la composicioacuten del grupo agregar o quitar recursos de las actividadesetc) Todo esto a partir de disentildeos en distintos lenguajes de disentildeo de aprendizaje tales como laespecicacioacuten IMS-LD aprendizaje

Por otra parte GLUE-PS tambieacuten permite desplegar y gestionar disentildeos de aprendizaje en en-tornos virtuales de aprendizaje que integren herramientas de aprendizaje externos (tales comointegrar en Moodle herramientas como Google Docs y muchos otros) - lo que llamamos Am-bientes de Aprendizaje Distribuido (DLE Distributed Learning Enviroments) Esto se consiguegracias a la arquitectura de GLUE para la integracioacuten de los entornos virtuales de aprendizajey herramientas externas

621 Instalacioacuten

Para realizar la instalacioacuten de GLUE-PS nos hemos descargado el software necesario de la webde los desarrolladores1 descargando la opcioacuten de autenticacioacuten centralizada La instalacioacuten haconstado de tres partes que pasaremos a describir a continuacioacuten

1httpwwwgsicuvaesglue

49

Figura 61 Arquitectura de GLUE

La primera parte consiste en la instalacioacuten del GLUEletManager y los adaptadores GSIC toolAunque el sistema viene preparado para Linux o Windows siendo Windows la explicacioacuten quevamos a desarrollar por estar utilizando este sistema operativo con Xampp

1 Crear el directorio GLUE_ HOME El cual hemos creado para mayor comodidad en la raiacutezdel disco duro

2 Denir la variable del sistema GLUE_ HOME con el valor de la direccioacuten completa deldirectorio de GLUE del punto anterior Para ello hemos pulsado botoacuten derecho sobre MiPc Propiedad Opciones Avanzadas Variables de Entorno procediendo a pulsar el botoacutenNueva para crear la variable en cuestioacuten

3 Extraemos en el directorio del punto (1) el paquete descargado de la paacutegina de los desar-rolladores

4 Ejecutar la instalacioacuten del cheroGLUE_ HOMEbininstall gluebat para registar GLUElet-Manager y GSIC tool como un servicio de Windows Tambieacuten este paso crearaacute un cheroen GLUE_ HOMEtool_ adapteradapterdata para proveer de persistencia a los objetoscreados con el adaptador GSIC tool

A continuacioacuten daremos de alta en nuestro gestor de bases de datos un para de bases de datosque necesita GLUEletManager Para ellos seguimos los siguientes pasos

1 Abrimos la consola de phpMyaAdmin para cargar y ejecutar el chero create_ GLUE_databasessql que se encuentra en GLUE_ HOMEmanagerconfdb

2 Modicamos el chero GLUE_ HOMEmanagerconfMETA-INFpersistencexml paradarle los paraacutemetros necesarios para que JDBC se conecte a nuestra base de datos Losparaacutemetros modicados puede verse en la imagen 62

Figura 62 Paraacutemetros modicados en persistencexml

La segunda parte consiste en el registro interno de los adaptadores de las herramientas para seraccedido con GLUEletManager La distribucioacuten trae un chero para facilitar la conguracioacuten delos adaptadores que trae consigo y para su instalacioacuten deberemos ejecutar el chero GLUE_HOMEmanagerconfdbll _ internal_ Registrysql Alguna de las herramientas necesitanuna conguracioacuten maacutes completa como puede ser Google Docs adapter que necesita una cuentade Gmail para poder crear documentos en Google Docs por lo que deberemos modicar el nom-bre de usuario y contrasentildea

La uacuteltima parte consiste en la instalacioacuten del adaptardor de Moodle como VLE utilizado Estainstalacioacuten es como cualquier otro moacutedulo de Moodle 2 La carpeta que deberemos copiar seraacutela del adaptador correspondiente a Moodle que se encuentra en la carpeta GLUE_ HOMEvle_adpatersmoodle_ vle_ adapter Una vez entremos en nuestro Moodle como administrador nosapareceraacute un mensaje indicaacutendonos que el nuevo moacutedulo esta instalado Para congurar el nuevomoacutedulo debermos ir a Noticaciones - Modulos - Actividades como podemos ver en la gura 63para congurar los paraacutemetros la URL del GLUEletManager y el tiempo de espera

Figura 63 Paraacutemetros del moacutedulo GLUE

Cuando el profesor quiera crear una nueva actividad dependiente de los adaptadores de GLUEdeberaacute agregar una actividad maacutes pulsando para ello en esta opcioacuten dentro del bloque deseadopara seleccionar luego el tipo de actividad GLUElet como podemos ver en la gura64

622 Creando un Doodle

El adaptador Doodle permite la creacioacuten conguracioacuten y gestioacuten de instancias del Doodle Cadaencuesta Doodle es considerado un instancia diferente Ademaacutes este adaptador permite realizarademas la conguracioacuten inicial de encuestas Doodle incluyendo el nombre de la encuesta unadescripcioacuten y un conjunto de posibles respuestas

A continuacioacuten antildeadiremos Doodle en un bloque de Moodle para ellos pulsaremos la opcioacuten deAgregar actividad GLUElet lo cual nos mostraraacute la paacutegina65 donde deberemos rellenar comomiacutenimo el nombre de la actividad y el tipo de herramienta seleccionado en este caso Doodle(httpdoodle-testcom)

2httpdocsmoodleorgenInstalling_contributed_modules_or_plugins

Figura 64 Creando una actividad GLUElet

La primera vez que pulsemos sobre la nueva actividad creada apareceraacute un pantalla 66 dondepodemos congurar diferentes elementos de la encuesta desarrollada con Doodle como son eltiacutetulo una pequentildea descripcioacuten y luego las opciones posibles con un liacutemite de 10

El resultado nal seraacute la incrustacioacuten de una encuesta Doodle dentro de nuestro Moodle comopodemos ver en la gura67

Figura 65 Antildeadiendo Doodle como actividad

Figura 66 Opciones iniciales de conguracioacuten de Doodle

Figura 67 Doodel dentro de Moodle

Capiacutetulo 7

Conclusiones Finales

71 Conclusiones Finales

El proyecto actual nos ha servido para acercarnos a las diferentes tecnologiacuteas que permiten lacomunicacioacuten entre Servicios Webs Hemos desarrollado una primera labor de investigacioacuten queha requerido el aprendizaje de diferentes herramientas de control de documentacioacuten y referenciascomo Zotero y Mendeley

La documentacioacuten recabada en el proceso inicial de revisioacuten de documentos nos ha aportadoun visioacuten general de los diferentes sistemas virtuales de aprendizaje que podemos encontrarnosmuchos de ellos gratuitos y las diferentes soluciones que se plantean a la necesidad de incluirrecursos de otros fabricantes que en principio no fueron concebidos para ser utilizados dentro deuna plataforma VLE

Para poner en praacutectica la diferentes opciones encontradas se han montado diferentes maacutequinasvirtuales sobre las que se han probado las mismas Las conclusiones nales se pasan a detallar

IMS LTIEsta solucioacuten de integracioacuten mediante el cumplimiento de unos protocolos y certicacionesde las herramientas que lo cumplen es en principio la que podriacutea parecer la mejor opcioacutenpero la falta de compromiso de los diferentes fabricantes de Servicios Web y la luchapara imponer sus propios estaacutendares hace que aun quede mucho para que esta opcioacuten seacomo tal real

Si vemos el nuacutemero de aplicaciones certicadas para usar IMS LTI apenas superan las 50 yla mayoriacutea solo cumple la especicacioacuten v10 lo cual signica que la integracioacuten solo solu-ciona el problema de llamar a un recurso externo desde Moodle Pocas son las que cumplenla v11 que permite obtener en Moodle una valoracioacuten de los ejercicios desarrollados en unaactividad externa

La versioacuten v20 que daraacute maacutes opciones a la hora de interactuar con actividades externasauacuten esta en desarrollo y nada se sabe sobre posibles fechas para su presentacioacuten Luegocerticacioacuten de herramientas etc

55

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 40: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

Figura 49 Agregando funciones al Servicio Personalizado

Figura 410 Listado de Servicios Personalizados

la gura 412 teniendo la precaucioacuten de escoger como Servicio el Servicio Personalizado creadocon anterioridad Uso_ Servicio_ Web

En esta pantalla podemos poner varios tipos de restricciones

Restriccioacuten de IP Donde podemos indicar la direccioacuten IP desde donde

Restriccioacuten de Fecha Se puede denir hasta cuando seraacute valido este token siendo unabuena manera de poder probar cosas y no dejar puertas abiertas por error

En la gura 413 podemos ver el token asignado por el sistema para nuestro Servicio Personalizadoy que procederemos a utilizar para comprobar el funcionamiento de los Servicios Web de Moodle

462 Pruebas cliente Servicio Web

Procederemos ahora a desarrollar pruebas que utilicen los Servicios Personalizados creado Sepodriacutean haber utilizado el Cliente de prueba de servicio web que incorpora Moodle dentro dela opcioacuten Administracioacuten del Sitio - Desarrollo - Cliente de prueba servicio web pero hemosdecidido implementar una Web para comprobar la facilidad del funcionamiento del sistema y losdistintos resultados obtenidos seguacuten el protocolo utilizado

Utilizaremos la libreriacutea cURL de PHP cURL es una herramienta que permite abrir conexionesen una amplia variedad de protocolos y que estaacute disponible tanto como herramienta de consola(para ejecutar directamente con comandos) como en libreriacutea (para usar en vuestro coacutedigo) y quepermite hacer praacutecticamente todo manejo de cookies descarga de cheros binarios enviacuteos de

Figura 411 Alta de Usuarios Autorizados

Figura 412 Creacioacuten de Tokens

paraacutemetros GET y POST etc

La web creada para la introduccioacuten 414 de los usuarios seraacute equivalente para todos los procesosprocesos siendo el programa que da respuesta al formulario el que implemente la funcioacuten nece-saria para la introduccioacuten de los datos en Moodle

Los resultados de REST pueden mostrar los resultados del alta de dos maneras diferentes unaen formato XML como podemos ver en la gura 415 y otro en formatox JSON tambieacuten po-dremos ver en la gura Los resultados obtenidos tambieacuten pueden verse en el la gura 416

Figura 413 Lista de Tokens

Figura 414 Web de alta de usuarios

Figura 415 Resultado de REST en formato XML

Figura 416 Resultado de REST en formato JSON

Capiacutetulo 5

Herramientas Externas

51 Introduccioacuten

Las versiones de Moodle desde la 22 vienen con IMS LTI o External Tool de manera integradaEn versiones anteriores era necesario la instalacioacuten de plugins como LTI Provider (maacutes informa-cioacuten en la web de Moodle1 IMS LTI es un estandar de IMS learing2 para la interoperabilidadde herramientas Esto signica que las herramientas de aprendizaje tienen ahora un mecanismopara jar el modo en que pueden conectarse entre ellas sin problemas

En la praacutectica cuando un usuario se registra en Moodle puede conectarse a otras herramientascomo Wikis o Blogs y autenticarse de manera automaacutetica en estas

52 Estaacutendares IMS

Actualmente se realizan esfuerzos para la integracioacuten de servicios a una plataforma virtual deaprendizaje mediante un mecanismo reutilizable independiente del tipo de plataforma El IMSGlobal Learning Consortium viene desde hace tiempo trabajando en este enfoque IMS GLCpresenta un conjunto de estaacutendares que promueven el uso de servicios de aprendizaje digitales(Digital Learning Services) dentro de las plataformas de aprendizaje tradicionales IMS DigitalLearning Services estaacute integrado por los siguientes estaacutendares principales IMS Common Car-tridge [ims a] IMS Learning Tool Interoperability [ims c] y IMS Learning Information Services[ims b]

El IMS Learning Tool Interoperability es una especicacioacuten para facilitar la inclusioacuten de her-ramientas externas dentro de un curso El administrador de la plataforma de aprendizaje ges-tiona los servicios que podraacuten ser consumidos por la plataforma el docente decide que serviciosutilizaraacute en su curso y el estudiante hace uso de los mismos IMS LTI permite que distintos LMSconsuman un mismo servicio el cual no fue implementado teniendo en cuenta el tipo de LMSsino la implementacioacuten del estaacutendar desde el lado del proveedor

El enfoque del IMS LTI estaacute dirigido a la creciente demanda de un mecanismo reutilizable para laintegracioacuten de herramientas de terceros en el nuacutecleo de las plataformas LMS Estas herramientas

1httpsmoodleorgpluginsviewphpplugin=local_ltiprovider2httpwwwimsglobalorgtoolsinteroperability2cfm

37

pueden agregar funcionalidad especializada a los LMS El enfoque ofrece una solucioacuten basada enWeb Services igualmente aplicable a distintos lenguajes de programacioacuten

Las versiones del LTI son

LTI v10 ( LTI Basic ) ( publicado en mayo de 2010 ) proporciona un meacutetodo sencillopero estaacutendar para establecer una conexioacuten segura a una herramienta desde el interior deun consumidor de herramientas El lanzamiento de este enlace permite una experienciade aprendizaje sin problemas para los estudiantes que acceden a las aplicaciones ricas queparecen tener lugar dentro del ambiente de aprendizaje Versioacuten 10 es el primer paso en eldesarrollo continuo de LTI Figura 51

LTI v11 ( publicado en marzo 2012 ) antildeade la posibilidad de pasar de nuevo un resultadode la herramienta al Consumidor de herramientas Esto permite que los estudiantes recibenuna calicacioacuten o puntuacioacuten de su interaccioacuten con la aplicacioacuten de aprendizaje

LTI v111 ( publicado en julio de 2012 ) incluye soporte para el papel Mentor que se puedeutilizar para representar a un padre tutor o auditor

LTI v20 Aun en estado de desarrollo y proporciona una plataforma maacutes sosticado y ex-tensible para permitir integraciones maacutes profundas y un mayor apoyo para los serviciosy eventos LTI 2 se basa en LTI 1 mediante la incorporacioacuten de maacutes sosticada resulta-dos de informes y una rica arquitectura de extensiones que permite servicios adicionalesque se antildeadiraacuten gradualmente LTI 2 utiliza REST y JSON-LD para ofrecer esta nuevafuncionalidad

Figura 51 Esquema LTI Baacutesico

En la gura 52 podemos observar como se podriacutean utilizar las ventajas de LTI por parte decada unos de los actores a lo largo de la vida de la aplicacioacuten de servicios externos dentro de unaplataforma de aprendizaje

En la paacutegina web de IMS3 podemos encontrar una relacioacuten de aplicaciones certicadas comocompatibles con el estaacutendar LTI indicando la versioacuten del LTI que cumplen En la gura 53podemos ver las aplicaciones certicadas por UOC y en la gura 54 la informacioacuten sobre una deestas herramientas

3httpwwwimsglobalorgccalltoolscfm

Figura 52 Esquema utilizacioacuten LTI

Figura 53 Listado de herramientas LTI de la UOC

53 Herramientas externas en Moodle

La siguiente seccioacuten consiste en la aplicacioacuten de alguno de esto servicios externos en Moodlepara comprobar su funcionamiento Nos decantaremos para la primera prueba por WordPresspues aunque existen manuales al respecto la documentacioacuten en castellano es escasa

531 Wordpress

La versioacuten estaacutendar de Wordpress a la cual accedemos cuando nos abrimos cuenta en Wordpressno viene con las herramientas necesarias para la iteracioacuten mediante LTI por lo que procedere-mos a la instalacioacuten en nuestro servidor de Wordpress para pasar a la instalacioacuten de los pluginsnecesarios

La instalacioacuten ha consistido en la descarga de la web ocial 4 de la versioacuten 351 la cual hemoscopiado dentro del directorio htdocs de nuestra instalacioacuten de Xampp Hemos dado de alta unnuevo usuario en nuestra base de datos llamado username como podemos ver en la imagen 55 yposteriormente hemos seguido los pasos que el instalador nos iba ofreciendo para tener instalado

4httpwordpressorgdownload

Figura 54 Informacioacuten sobre la certicacioacuten

Wordpress bajo la url httplocalhostwordpress

Figura 55 Usuario de Wordpress

Deberemos congurar Wordpress para que trabaje como multisitio para lo que deberemos seguirlos pasos de conguracioacuten que podemos encontrar en la web ocial de Wordpress5 bajo el nombreCreate A Network consistente en los siguientes pasos

1 Realizar una copia de seguridad por si acaso

2 Modicar el chero wp-congphp incluyendo la siguiente linea encima de Thats allstop editing Happy blogging Multisite dene (WP_ ALLOW_ MULTISITE true)

Multisite dene (WP_ ALLOW_ MULTISITE true)

3 Installar un Network Para ello hemos de entra en la opcioacuten Administration -gtTools -gtNetwork Setup donde podremos congurar opciones sobre el nombre que queremos declararpara el nuevo sitio

4 Activar el Network para ello debemos modicar los cheros wp-congphp y htaccess porlo que seriacutea bueno que realizaacuteramos primero un copia de seguridad de los mismos Loscambios que debemos realizar son los siguientes

5httpcodexwordpressorgCreate_A_Network

En wp-congphp dene(MULTISITE true)dene(SUBDOMAIN_ INSTALL false)dene(DOMAIN_ CURRENT_ SITE localhost)dene(PATH_ CURRENT_ SITE wordpress)dene(SITE_ ID_ CURRENT_ SITE 1)dene(BLOG_ ID_ CURRENT_ SITE 1)

El chero htaccess debe quedar asiacute BEGIN WordPressltIfModule mod_ rewritecgtRewriteEngine OnRewriteBase wordpressRewriteRule icircndexphp$ - [L]

add a trailing slash to wp-adminRewriteRule ([_ 0-9a-zA-Z-]+)wp-admin1wp-admin [R=301L]

RewriteCondREQUEST_ FILENAME -f [OR]RewriteCondREQUEST_ FILENAME -dRewriteRule - [L]RewriteRule ([_ 0-9a-zA-Z-]+)(wp-(content|admin|includes)) $2 [L]RewriteRule ([_ 0-9a-zA-Z-]+)( php)$ $2 [L]RewriteRule indexphp [L]ltIfModulegt

END WordPress

5 Esto nos habraacute creado en la parte izquierda de la barra de herramientas de Wordpressuna nueva opcioacuten llamada My Sites que contendraacute un listado de los sitios de nuestroWordpress

El siguiente paso seraacute la descarga del plugin los cual podremos hacerlos desde la web de sour-forgenet 6 En esta web se detalla informacioacuten sobre el plugin y como se debe instalar Siguiendolos pasos que tenemos en el mismo procederemos a la descarga y el desplegado del mismo en lacarpeta wp-contentmu-plugins Salimos de Wordpress y volvemos a entrar como superusuariosi entramos dentro de la nueva red realizada podremos ver que dentro de LTI Consumers Keystendremos la opcioacuten LTI Consumers Keys como podemos ver en la imagen 56

Aquiacute deberemos crear la clave del consumidor del servicio y la clave secreta que nos permitiraacute aMoodle conectarse a Wordpress

Una vez que tenemos la clave secreta y del consumidor deberemos volver a Moodle entrandocomo administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

6httpsourceforgenetappsmediawikilearningappsindexphptitle=LTI4Wordpress

Figura 56 Servicios LTI en Wordpress

Figura 57 Listado de claves de LTI en Wordpress

-LTI En esta paacutegina podremos rellenar nuestras opciones

Tool Name Seraacute el nombre que tendraacute la herramienta y deberemos poner alguno indicativode la herramienta que estemos utilizando

Tool Base URL Es la direccioacuten de la herramienta en nuestro caso httplocalhostwordpress

Deberemos rellenar con los datos obtenidos en Wordpress la clave de consumidor y la clavesecreta

Es importante marcar Show tool type when creating tool instances para que aparezcaposteriormente al crear los recursos en nuestros cursos

Para poder probar el sistema hemos creado un curso dentro de Moodle llamada WordpressLTIdonde daremos de la siguiente manera de alta 59

Dentro de nuestro curso seleccionamos la opcioacuten de Edicioacuten

Pulsamos sobre Antildeadir una actividad o un recurso

Seleccionamos External Tool

Rellenamos las opciones

bull Nombre de la Actividad Cualquiera de nuestra eleccioacuten

Figura 58 Conguracioacuten LTI en Moodle

bull Tipo de herramienta externa El nombre que le pusimos a la herramienta externa enla conguracioacuten LTI de Moodle

bull Launch Container Hemos elegido la opcioacuten Incrustar para ver el resultado

Figura 59 Conguracioacuten Herramienta Externa

Una vez congurado podemos lanzar la herramienta externa teniendo como resultado la gura510

Figura 510 Wordpress integrado en Moodle

532 ChemVantage

ChemVantage es un recurso gratuito para la educacioacuten cientiacuteca que incluye ejercicios de gradoejercicios de preparacioacuten exaacutemenes de la praacutectica conferencias de video y libros de texto enliacutenea gratis Fue creado por ChemVantage LLC que fue fundada por el Prof Chuck Wight queha ensentildeado Quiacutemica General en la Universidad de Utah desde 1984 (ChemVantage 2011)

Nos hemos puesto en contacto con Chuck Wight (adminchemvantageorg) para solicitarle unaclave de consumidor y secreta para poder probar este recurso desde moodle Las opciones y elcorreo puede verse en la gura 511

Una de las cosas maacutes importantes de ChemVantage y por lo que nos hemos decidido a probar esque permite la devolucioacuten de las notas obtenidas en los ejercicios realizados en las herramientasexternas a Moodle El alumno podraacute realizar las tareas en esta herramienta externa y luego sercalicadas en Moodle

ChemVantage estaacute certicada por IMS 7 como un proveedor de herramientas LTI v11 y comotal funciona desde nuestro propio LMS para llevar a cabo la autenticacioacuten de sitios provee decuentas y devuelve resultados de asignacioacuten de estudiantes con el libro LMS grado automaacutetica-mente

Los recursos disponible son ChemVantage son principalmente los siguientes

1 QuizzesLos ejercicios presentados aquiacute estaacuten disentildeados para animar a los estudiantes a leer y en-tender los libros de texto utilizados en el curso Las preguntas se basan en material que sepresente en su mayor parte en los textos de introduccioacuten de quiacutemica Los iacutetems de preguntastienen respuestas straighforward no requieren caacutelculos detallados Las preguntas se presen-tan en varios formatos diferentes incluyendo opcioacuten muacuteltiple verdadero falso casilla devericacioacuten ll-in-the-blanco y numeacutericas Cada cuestionario se compone de 10 preguntasextraiacutedas al azar de una base de datos con muchas maacutes preguntas En el proceso de tomarvarias pruebas para mejorar sus calicaciones los estudiantes probablemente encuentran

7httpdevelopersimsglobalorgcoursechemvantagehtml

algunas preguntas repetidas de concursos anteriores sin embargo es poco probable quecualquiera de los dos cuestionarios contendraacute exactamente el mismo conjunto de preguntasen el mismo orden Asignando pruebas para ser completado antes de la conferencia losprofesores pueden estar seguros de que sus estudiantes tengan un poco de exposicioacuten almaterial Esto permite una mayor discusioacuten el diaacutelogo y la participacioacuten en el aula y haceel aprendizaje maacutes divertido (de verdad)

2 Video LecturesUna serie de conferencias de viacutedeo de 10 minutos sobre una variedad de temas de QuiacutemicaGeneral es accesible desde la paacutegina principal Los videos estaacuten disentildeados para reforzar lospuntos principales que se presentan en muchos libros de texto

3 HoweworksLas tareas estaacuten disentildeadas para dar a los estudiantes la praacutectica en la resolucioacuten de proble-mas cuantitativos que tienen respuestas numeacutericas Cada alumno puede descargar la tareatrabajar los problemas y presentar las respuestas en liacutenea Respuestas son juzgados a sercorrecta si la solucioacuten numeacuterica de acuerdo con la solucioacuten que se encuentra en la base dedatos dentro de una tolerancia especicada (indicado para cada problema) El sitio informaa los estudiantes que las respuestas son correctas para que puedan rehacer problemas malresueltos y volver a presentar las respuestas Cada problema se basa en una plantilla queatrae paraacutemetros al azar por lo que la respuesta correcta es diferente para cada estudianteEsto hace que sean adecuadas para la colaboracioacuten y el trabajo en grupo porque a pesarde que el grupo puede trabajar para encontrar un algoritmo correcto para resolver un prob-lema cada estudiante tendraacute que usar el algoritmo para encontrar la solucioacuten detallada asu propio problema

4 Practice ExamsLos estudiantes pueden realizaar exaacutemenes de praacutectica cronometrados que muestran laspreguntas de un grupo de 3 o maacutes temas Cada examen estaacute disentildeado para tardar unos60 minutos o menos e incluye una seleccioacuten de 10 preguntas Las praacutecticas de exaacutemenespueden repetirse cuantas veces se desee Las preguntas numeacutericas son parametrizadas loque es muy poco probable que un estudiante realice alguna vez dos exaacutemenes de praacutecticaideacutenticos

5 Portofolio PageCada estudiante puede acceder a una paacutegina que le da la puntuacioacuten obtenida en cada prue-ba y la asignacioacuten de tareas Los estudiantes que son miembros de un grupo tienen unapaacutegina de resultados asociados a las tareas de grupo Hay una paacutegina de carpeta separadaque contiene un resumen de todas las actividades realizadas en ChemVantage incluyendovideos vistos cuestionarios completados resolver problemas con la tarea y la praacutectica deexaacutemenes completados Las puntuaciones en los exaacutemenes de praacutectica son desagregadospara revelar fortalezas y debilidades estudiantes por temas

Hemos procedido a darlo de alta en LTI como hicimos con Wordpress Entramos en Moodle co-mo Administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

Figura 511 Correo de Chuck Wight

-LTI quedando como resultado la siguiente hoja de paraacutemetros gura 512

El siguiente paso seraacute antildeadir la herramienta dentro de nuestro curso para ello pulsaremos sobreAntildeadir una actividad o un recurso Deberemos seleccionar External Tool y rellenamos las op-ciones de la herramienta seleccionando como Tipo de herramienta externa la opcioacuten creada enel apartado de LTI de Moodle

Una vez congurado la herramienta en Moodle podemos entrar para realizar una personalizacioacutende la herramienta gura 513 esta consiste en indicar si el alumno cuando se conecta realiza undeterminado tarea o puede elegir navegar por la web de ChemVantage para poder disfrutar dela cantidad de recursos que se encuentran disponibles

Cuando el usuario pulsa sobre la opcioacuten de esta herramienta externa en Moodle lo primero quese le muestra es la informacioacuten sobre su perl en Chemvantage 514Como hemos visto en los paraacutemetros de conguracioacuten existe la posibilidad de llamar a unaherramienta externa incrustaacutendola dentro de Moodle o abrieacutendolo en una paacutegina web nuevaCon esta segunda opcioacuten no hemos conseguido que funcione correctamente la importacioacuten de lasnotas En cambio si la herramienta externa estaacute incrustada permite esa vinculacioacuten

Figura 512 Conguracioacuten de paraacutemetros LTI

Figura 513 Opciones de inicio de la herramienta

Figura 514 Pantalla de utilizacioacuten de la herramienta por el usuario

Capiacutetulo 6

Middleware

61 Introduccioacuten

La uacuteltima opcioacuten seriacutea utilizar una arquitectura middleware de integracioacuten que permita la inte-gracioacuten ligera de muacuteltiples herramientas existentes en el Moodle

62 GluePS

GLUE-PS es una arquitectura de middleware que permite una interoperabilidad ligera entrelos diferentes lenguajes de disentildeo de aprendizaje y diferentes entornos de aprendizaje virtualEsta interoperabilidad permite a los maestros y otros profesionales que particularicen (es decirpara personalizar el disentildeo de aprendizaje abstractoa la clase particular los participantes y laeleccioacuten de los instrumentos en los que va a ser promulgada) desplieguen (es decir para crearde forma semiautomaacutetica las actividades necesarias en el VLE recursos etc para la aprobacioacutendel disentildeo particularizado) e incluso para llevar a cabo ciertos cambios en el tiempo de ejecucioacuten(por ejemplo modicar la composicioacuten del grupo agregar o quitar recursos de las actividadesetc) Todo esto a partir de disentildeos en distintos lenguajes de disentildeo de aprendizaje tales como laespecicacioacuten IMS-LD aprendizaje

Por otra parte GLUE-PS tambieacuten permite desplegar y gestionar disentildeos de aprendizaje en en-tornos virtuales de aprendizaje que integren herramientas de aprendizaje externos (tales comointegrar en Moodle herramientas como Google Docs y muchos otros) - lo que llamamos Am-bientes de Aprendizaje Distribuido (DLE Distributed Learning Enviroments) Esto se consiguegracias a la arquitectura de GLUE para la integracioacuten de los entornos virtuales de aprendizajey herramientas externas

621 Instalacioacuten

Para realizar la instalacioacuten de GLUE-PS nos hemos descargado el software necesario de la webde los desarrolladores1 descargando la opcioacuten de autenticacioacuten centralizada La instalacioacuten haconstado de tres partes que pasaremos a describir a continuacioacuten

1httpwwwgsicuvaesglue

49

Figura 61 Arquitectura de GLUE

La primera parte consiste en la instalacioacuten del GLUEletManager y los adaptadores GSIC toolAunque el sistema viene preparado para Linux o Windows siendo Windows la explicacioacuten quevamos a desarrollar por estar utilizando este sistema operativo con Xampp

1 Crear el directorio GLUE_ HOME El cual hemos creado para mayor comodidad en la raiacutezdel disco duro

2 Denir la variable del sistema GLUE_ HOME con el valor de la direccioacuten completa deldirectorio de GLUE del punto anterior Para ello hemos pulsado botoacuten derecho sobre MiPc Propiedad Opciones Avanzadas Variables de Entorno procediendo a pulsar el botoacutenNueva para crear la variable en cuestioacuten

3 Extraemos en el directorio del punto (1) el paquete descargado de la paacutegina de los desar-rolladores

4 Ejecutar la instalacioacuten del cheroGLUE_ HOMEbininstall gluebat para registar GLUElet-Manager y GSIC tool como un servicio de Windows Tambieacuten este paso crearaacute un cheroen GLUE_ HOMEtool_ adapteradapterdata para proveer de persistencia a los objetoscreados con el adaptador GSIC tool

A continuacioacuten daremos de alta en nuestro gestor de bases de datos un para de bases de datosque necesita GLUEletManager Para ellos seguimos los siguientes pasos

1 Abrimos la consola de phpMyaAdmin para cargar y ejecutar el chero create_ GLUE_databasessql que se encuentra en GLUE_ HOMEmanagerconfdb

2 Modicamos el chero GLUE_ HOMEmanagerconfMETA-INFpersistencexml paradarle los paraacutemetros necesarios para que JDBC se conecte a nuestra base de datos Losparaacutemetros modicados puede verse en la imagen 62

Figura 62 Paraacutemetros modicados en persistencexml

La segunda parte consiste en el registro interno de los adaptadores de las herramientas para seraccedido con GLUEletManager La distribucioacuten trae un chero para facilitar la conguracioacuten delos adaptadores que trae consigo y para su instalacioacuten deberemos ejecutar el chero GLUE_HOMEmanagerconfdbll _ internal_ Registrysql Alguna de las herramientas necesitanuna conguracioacuten maacutes completa como puede ser Google Docs adapter que necesita una cuentade Gmail para poder crear documentos en Google Docs por lo que deberemos modicar el nom-bre de usuario y contrasentildea

La uacuteltima parte consiste en la instalacioacuten del adaptardor de Moodle como VLE utilizado Estainstalacioacuten es como cualquier otro moacutedulo de Moodle 2 La carpeta que deberemos copiar seraacutela del adaptador correspondiente a Moodle que se encuentra en la carpeta GLUE_ HOMEvle_adpatersmoodle_ vle_ adapter Una vez entremos en nuestro Moodle como administrador nosapareceraacute un mensaje indicaacutendonos que el nuevo moacutedulo esta instalado Para congurar el nuevomoacutedulo debermos ir a Noticaciones - Modulos - Actividades como podemos ver en la gura 63para congurar los paraacutemetros la URL del GLUEletManager y el tiempo de espera

Figura 63 Paraacutemetros del moacutedulo GLUE

Cuando el profesor quiera crear una nueva actividad dependiente de los adaptadores de GLUEdeberaacute agregar una actividad maacutes pulsando para ello en esta opcioacuten dentro del bloque deseadopara seleccionar luego el tipo de actividad GLUElet como podemos ver en la gura64

622 Creando un Doodle

El adaptador Doodle permite la creacioacuten conguracioacuten y gestioacuten de instancias del Doodle Cadaencuesta Doodle es considerado un instancia diferente Ademaacutes este adaptador permite realizarademas la conguracioacuten inicial de encuestas Doodle incluyendo el nombre de la encuesta unadescripcioacuten y un conjunto de posibles respuestas

A continuacioacuten antildeadiremos Doodle en un bloque de Moodle para ellos pulsaremos la opcioacuten deAgregar actividad GLUElet lo cual nos mostraraacute la paacutegina65 donde deberemos rellenar comomiacutenimo el nombre de la actividad y el tipo de herramienta seleccionado en este caso Doodle(httpdoodle-testcom)

2httpdocsmoodleorgenInstalling_contributed_modules_or_plugins

Figura 64 Creando una actividad GLUElet

La primera vez que pulsemos sobre la nueva actividad creada apareceraacute un pantalla 66 dondepodemos congurar diferentes elementos de la encuesta desarrollada con Doodle como son eltiacutetulo una pequentildea descripcioacuten y luego las opciones posibles con un liacutemite de 10

El resultado nal seraacute la incrustacioacuten de una encuesta Doodle dentro de nuestro Moodle comopodemos ver en la gura67

Figura 65 Antildeadiendo Doodle como actividad

Figura 66 Opciones iniciales de conguracioacuten de Doodle

Figura 67 Doodel dentro de Moodle

Capiacutetulo 7

Conclusiones Finales

71 Conclusiones Finales

El proyecto actual nos ha servido para acercarnos a las diferentes tecnologiacuteas que permiten lacomunicacioacuten entre Servicios Webs Hemos desarrollado una primera labor de investigacioacuten queha requerido el aprendizaje de diferentes herramientas de control de documentacioacuten y referenciascomo Zotero y Mendeley

La documentacioacuten recabada en el proceso inicial de revisioacuten de documentos nos ha aportadoun visioacuten general de los diferentes sistemas virtuales de aprendizaje que podemos encontrarnosmuchos de ellos gratuitos y las diferentes soluciones que se plantean a la necesidad de incluirrecursos de otros fabricantes que en principio no fueron concebidos para ser utilizados dentro deuna plataforma VLE

Para poner en praacutectica la diferentes opciones encontradas se han montado diferentes maacutequinasvirtuales sobre las que se han probado las mismas Las conclusiones nales se pasan a detallar

IMS LTIEsta solucioacuten de integracioacuten mediante el cumplimiento de unos protocolos y certicacionesde las herramientas que lo cumplen es en principio la que podriacutea parecer la mejor opcioacutenpero la falta de compromiso de los diferentes fabricantes de Servicios Web y la luchapara imponer sus propios estaacutendares hace que aun quede mucho para que esta opcioacuten seacomo tal real

Si vemos el nuacutemero de aplicaciones certicadas para usar IMS LTI apenas superan las 50 yla mayoriacutea solo cumple la especicacioacuten v10 lo cual signica que la integracioacuten solo solu-ciona el problema de llamar a un recurso externo desde Moodle Pocas son las que cumplenla v11 que permite obtener en Moodle una valoracioacuten de los ejercicios desarrollados en unaactividad externa

La versioacuten v20 que daraacute maacutes opciones a la hora de interactuar con actividades externasauacuten esta en desarrollo y nada se sabe sobre posibles fechas para su presentacioacuten Luegocerticacioacuten de herramientas etc

55

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 41: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

Figura 411 Alta de Usuarios Autorizados

Figura 412 Creacioacuten de Tokens

paraacutemetros GET y POST etc

La web creada para la introduccioacuten 414 de los usuarios seraacute equivalente para todos los procesosprocesos siendo el programa que da respuesta al formulario el que implemente la funcioacuten nece-saria para la introduccioacuten de los datos en Moodle

Los resultados de REST pueden mostrar los resultados del alta de dos maneras diferentes unaen formato XML como podemos ver en la gura 415 y otro en formatox JSON tambieacuten po-dremos ver en la gura Los resultados obtenidos tambieacuten pueden verse en el la gura 416

Figura 413 Lista de Tokens

Figura 414 Web de alta de usuarios

Figura 415 Resultado de REST en formato XML

Figura 416 Resultado de REST en formato JSON

Capiacutetulo 5

Herramientas Externas

51 Introduccioacuten

Las versiones de Moodle desde la 22 vienen con IMS LTI o External Tool de manera integradaEn versiones anteriores era necesario la instalacioacuten de plugins como LTI Provider (maacutes informa-cioacuten en la web de Moodle1 IMS LTI es un estandar de IMS learing2 para la interoperabilidadde herramientas Esto signica que las herramientas de aprendizaje tienen ahora un mecanismopara jar el modo en que pueden conectarse entre ellas sin problemas

En la praacutectica cuando un usuario se registra en Moodle puede conectarse a otras herramientascomo Wikis o Blogs y autenticarse de manera automaacutetica en estas

52 Estaacutendares IMS

Actualmente se realizan esfuerzos para la integracioacuten de servicios a una plataforma virtual deaprendizaje mediante un mecanismo reutilizable independiente del tipo de plataforma El IMSGlobal Learning Consortium viene desde hace tiempo trabajando en este enfoque IMS GLCpresenta un conjunto de estaacutendares que promueven el uso de servicios de aprendizaje digitales(Digital Learning Services) dentro de las plataformas de aprendizaje tradicionales IMS DigitalLearning Services estaacute integrado por los siguientes estaacutendares principales IMS Common Car-tridge [ims a] IMS Learning Tool Interoperability [ims c] y IMS Learning Information Services[ims b]

El IMS Learning Tool Interoperability es una especicacioacuten para facilitar la inclusioacuten de her-ramientas externas dentro de un curso El administrador de la plataforma de aprendizaje ges-tiona los servicios que podraacuten ser consumidos por la plataforma el docente decide que serviciosutilizaraacute en su curso y el estudiante hace uso de los mismos IMS LTI permite que distintos LMSconsuman un mismo servicio el cual no fue implementado teniendo en cuenta el tipo de LMSsino la implementacioacuten del estaacutendar desde el lado del proveedor

El enfoque del IMS LTI estaacute dirigido a la creciente demanda de un mecanismo reutilizable para laintegracioacuten de herramientas de terceros en el nuacutecleo de las plataformas LMS Estas herramientas

1httpsmoodleorgpluginsviewphpplugin=local_ltiprovider2httpwwwimsglobalorgtoolsinteroperability2cfm

37

pueden agregar funcionalidad especializada a los LMS El enfoque ofrece una solucioacuten basada enWeb Services igualmente aplicable a distintos lenguajes de programacioacuten

Las versiones del LTI son

LTI v10 ( LTI Basic ) ( publicado en mayo de 2010 ) proporciona un meacutetodo sencillopero estaacutendar para establecer una conexioacuten segura a una herramienta desde el interior deun consumidor de herramientas El lanzamiento de este enlace permite una experienciade aprendizaje sin problemas para los estudiantes que acceden a las aplicaciones ricas queparecen tener lugar dentro del ambiente de aprendizaje Versioacuten 10 es el primer paso en eldesarrollo continuo de LTI Figura 51

LTI v11 ( publicado en marzo 2012 ) antildeade la posibilidad de pasar de nuevo un resultadode la herramienta al Consumidor de herramientas Esto permite que los estudiantes recibenuna calicacioacuten o puntuacioacuten de su interaccioacuten con la aplicacioacuten de aprendizaje

LTI v111 ( publicado en julio de 2012 ) incluye soporte para el papel Mentor que se puedeutilizar para representar a un padre tutor o auditor

LTI v20 Aun en estado de desarrollo y proporciona una plataforma maacutes sosticado y ex-tensible para permitir integraciones maacutes profundas y un mayor apoyo para los serviciosy eventos LTI 2 se basa en LTI 1 mediante la incorporacioacuten de maacutes sosticada resulta-dos de informes y una rica arquitectura de extensiones que permite servicios adicionalesque se antildeadiraacuten gradualmente LTI 2 utiliza REST y JSON-LD para ofrecer esta nuevafuncionalidad

Figura 51 Esquema LTI Baacutesico

En la gura 52 podemos observar como se podriacutean utilizar las ventajas de LTI por parte decada unos de los actores a lo largo de la vida de la aplicacioacuten de servicios externos dentro de unaplataforma de aprendizaje

En la paacutegina web de IMS3 podemos encontrar una relacioacuten de aplicaciones certicadas comocompatibles con el estaacutendar LTI indicando la versioacuten del LTI que cumplen En la gura 53podemos ver las aplicaciones certicadas por UOC y en la gura 54 la informacioacuten sobre una deestas herramientas

3httpwwwimsglobalorgccalltoolscfm

Figura 52 Esquema utilizacioacuten LTI

Figura 53 Listado de herramientas LTI de la UOC

53 Herramientas externas en Moodle

La siguiente seccioacuten consiste en la aplicacioacuten de alguno de esto servicios externos en Moodlepara comprobar su funcionamiento Nos decantaremos para la primera prueba por WordPresspues aunque existen manuales al respecto la documentacioacuten en castellano es escasa

531 Wordpress

La versioacuten estaacutendar de Wordpress a la cual accedemos cuando nos abrimos cuenta en Wordpressno viene con las herramientas necesarias para la iteracioacuten mediante LTI por lo que procedere-mos a la instalacioacuten en nuestro servidor de Wordpress para pasar a la instalacioacuten de los pluginsnecesarios

La instalacioacuten ha consistido en la descarga de la web ocial 4 de la versioacuten 351 la cual hemoscopiado dentro del directorio htdocs de nuestra instalacioacuten de Xampp Hemos dado de alta unnuevo usuario en nuestra base de datos llamado username como podemos ver en la imagen 55 yposteriormente hemos seguido los pasos que el instalador nos iba ofreciendo para tener instalado

4httpwordpressorgdownload

Figura 54 Informacioacuten sobre la certicacioacuten

Wordpress bajo la url httplocalhostwordpress

Figura 55 Usuario de Wordpress

Deberemos congurar Wordpress para que trabaje como multisitio para lo que deberemos seguirlos pasos de conguracioacuten que podemos encontrar en la web ocial de Wordpress5 bajo el nombreCreate A Network consistente en los siguientes pasos

1 Realizar una copia de seguridad por si acaso

2 Modicar el chero wp-congphp incluyendo la siguiente linea encima de Thats allstop editing Happy blogging Multisite dene (WP_ ALLOW_ MULTISITE true)

Multisite dene (WP_ ALLOW_ MULTISITE true)

3 Installar un Network Para ello hemos de entra en la opcioacuten Administration -gtTools -gtNetwork Setup donde podremos congurar opciones sobre el nombre que queremos declararpara el nuevo sitio

4 Activar el Network para ello debemos modicar los cheros wp-congphp y htaccess porlo que seriacutea bueno que realizaacuteramos primero un copia de seguridad de los mismos Loscambios que debemos realizar son los siguientes

5httpcodexwordpressorgCreate_A_Network

En wp-congphp dene(MULTISITE true)dene(SUBDOMAIN_ INSTALL false)dene(DOMAIN_ CURRENT_ SITE localhost)dene(PATH_ CURRENT_ SITE wordpress)dene(SITE_ ID_ CURRENT_ SITE 1)dene(BLOG_ ID_ CURRENT_ SITE 1)

El chero htaccess debe quedar asiacute BEGIN WordPressltIfModule mod_ rewritecgtRewriteEngine OnRewriteBase wordpressRewriteRule icircndexphp$ - [L]

add a trailing slash to wp-adminRewriteRule ([_ 0-9a-zA-Z-]+)wp-admin1wp-admin [R=301L]

RewriteCondREQUEST_ FILENAME -f [OR]RewriteCondREQUEST_ FILENAME -dRewriteRule - [L]RewriteRule ([_ 0-9a-zA-Z-]+)(wp-(content|admin|includes)) $2 [L]RewriteRule ([_ 0-9a-zA-Z-]+)( php)$ $2 [L]RewriteRule indexphp [L]ltIfModulegt

END WordPress

5 Esto nos habraacute creado en la parte izquierda de la barra de herramientas de Wordpressuna nueva opcioacuten llamada My Sites que contendraacute un listado de los sitios de nuestroWordpress

El siguiente paso seraacute la descarga del plugin los cual podremos hacerlos desde la web de sour-forgenet 6 En esta web se detalla informacioacuten sobre el plugin y como se debe instalar Siguiendolos pasos que tenemos en el mismo procederemos a la descarga y el desplegado del mismo en lacarpeta wp-contentmu-plugins Salimos de Wordpress y volvemos a entrar como superusuariosi entramos dentro de la nueva red realizada podremos ver que dentro de LTI Consumers Keystendremos la opcioacuten LTI Consumers Keys como podemos ver en la imagen 56

Aquiacute deberemos crear la clave del consumidor del servicio y la clave secreta que nos permitiraacute aMoodle conectarse a Wordpress

Una vez que tenemos la clave secreta y del consumidor deberemos volver a Moodle entrandocomo administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

6httpsourceforgenetappsmediawikilearningappsindexphptitle=LTI4Wordpress

Figura 56 Servicios LTI en Wordpress

Figura 57 Listado de claves de LTI en Wordpress

-LTI En esta paacutegina podremos rellenar nuestras opciones

Tool Name Seraacute el nombre que tendraacute la herramienta y deberemos poner alguno indicativode la herramienta que estemos utilizando

Tool Base URL Es la direccioacuten de la herramienta en nuestro caso httplocalhostwordpress

Deberemos rellenar con los datos obtenidos en Wordpress la clave de consumidor y la clavesecreta

Es importante marcar Show tool type when creating tool instances para que aparezcaposteriormente al crear los recursos en nuestros cursos

Para poder probar el sistema hemos creado un curso dentro de Moodle llamada WordpressLTIdonde daremos de la siguiente manera de alta 59

Dentro de nuestro curso seleccionamos la opcioacuten de Edicioacuten

Pulsamos sobre Antildeadir una actividad o un recurso

Seleccionamos External Tool

Rellenamos las opciones

bull Nombre de la Actividad Cualquiera de nuestra eleccioacuten

Figura 58 Conguracioacuten LTI en Moodle

bull Tipo de herramienta externa El nombre que le pusimos a la herramienta externa enla conguracioacuten LTI de Moodle

bull Launch Container Hemos elegido la opcioacuten Incrustar para ver el resultado

Figura 59 Conguracioacuten Herramienta Externa

Una vez congurado podemos lanzar la herramienta externa teniendo como resultado la gura510

Figura 510 Wordpress integrado en Moodle

532 ChemVantage

ChemVantage es un recurso gratuito para la educacioacuten cientiacuteca que incluye ejercicios de gradoejercicios de preparacioacuten exaacutemenes de la praacutectica conferencias de video y libros de texto enliacutenea gratis Fue creado por ChemVantage LLC que fue fundada por el Prof Chuck Wight queha ensentildeado Quiacutemica General en la Universidad de Utah desde 1984 (ChemVantage 2011)

Nos hemos puesto en contacto con Chuck Wight (adminchemvantageorg) para solicitarle unaclave de consumidor y secreta para poder probar este recurso desde moodle Las opciones y elcorreo puede verse en la gura 511

Una de las cosas maacutes importantes de ChemVantage y por lo que nos hemos decidido a probar esque permite la devolucioacuten de las notas obtenidas en los ejercicios realizados en las herramientasexternas a Moodle El alumno podraacute realizar las tareas en esta herramienta externa y luego sercalicadas en Moodle

ChemVantage estaacute certicada por IMS 7 como un proveedor de herramientas LTI v11 y comotal funciona desde nuestro propio LMS para llevar a cabo la autenticacioacuten de sitios provee decuentas y devuelve resultados de asignacioacuten de estudiantes con el libro LMS grado automaacutetica-mente

Los recursos disponible son ChemVantage son principalmente los siguientes

1 QuizzesLos ejercicios presentados aquiacute estaacuten disentildeados para animar a los estudiantes a leer y en-tender los libros de texto utilizados en el curso Las preguntas se basan en material que sepresente en su mayor parte en los textos de introduccioacuten de quiacutemica Los iacutetems de preguntastienen respuestas straighforward no requieren caacutelculos detallados Las preguntas se presen-tan en varios formatos diferentes incluyendo opcioacuten muacuteltiple verdadero falso casilla devericacioacuten ll-in-the-blanco y numeacutericas Cada cuestionario se compone de 10 preguntasextraiacutedas al azar de una base de datos con muchas maacutes preguntas En el proceso de tomarvarias pruebas para mejorar sus calicaciones los estudiantes probablemente encuentran

7httpdevelopersimsglobalorgcoursechemvantagehtml

algunas preguntas repetidas de concursos anteriores sin embargo es poco probable quecualquiera de los dos cuestionarios contendraacute exactamente el mismo conjunto de preguntasen el mismo orden Asignando pruebas para ser completado antes de la conferencia losprofesores pueden estar seguros de que sus estudiantes tengan un poco de exposicioacuten almaterial Esto permite una mayor discusioacuten el diaacutelogo y la participacioacuten en el aula y haceel aprendizaje maacutes divertido (de verdad)

2 Video LecturesUna serie de conferencias de viacutedeo de 10 minutos sobre una variedad de temas de QuiacutemicaGeneral es accesible desde la paacutegina principal Los videos estaacuten disentildeados para reforzar lospuntos principales que se presentan en muchos libros de texto

3 HoweworksLas tareas estaacuten disentildeadas para dar a los estudiantes la praacutectica en la resolucioacuten de proble-mas cuantitativos que tienen respuestas numeacutericas Cada alumno puede descargar la tareatrabajar los problemas y presentar las respuestas en liacutenea Respuestas son juzgados a sercorrecta si la solucioacuten numeacuterica de acuerdo con la solucioacuten que se encuentra en la base dedatos dentro de una tolerancia especicada (indicado para cada problema) El sitio informaa los estudiantes que las respuestas son correctas para que puedan rehacer problemas malresueltos y volver a presentar las respuestas Cada problema se basa en una plantilla queatrae paraacutemetros al azar por lo que la respuesta correcta es diferente para cada estudianteEsto hace que sean adecuadas para la colaboracioacuten y el trabajo en grupo porque a pesarde que el grupo puede trabajar para encontrar un algoritmo correcto para resolver un prob-lema cada estudiante tendraacute que usar el algoritmo para encontrar la solucioacuten detallada asu propio problema

4 Practice ExamsLos estudiantes pueden realizaar exaacutemenes de praacutectica cronometrados que muestran laspreguntas de un grupo de 3 o maacutes temas Cada examen estaacute disentildeado para tardar unos60 minutos o menos e incluye una seleccioacuten de 10 preguntas Las praacutecticas de exaacutemenespueden repetirse cuantas veces se desee Las preguntas numeacutericas son parametrizadas loque es muy poco probable que un estudiante realice alguna vez dos exaacutemenes de praacutecticaideacutenticos

5 Portofolio PageCada estudiante puede acceder a una paacutegina que le da la puntuacioacuten obtenida en cada prue-ba y la asignacioacuten de tareas Los estudiantes que son miembros de un grupo tienen unapaacutegina de resultados asociados a las tareas de grupo Hay una paacutegina de carpeta separadaque contiene un resumen de todas las actividades realizadas en ChemVantage incluyendovideos vistos cuestionarios completados resolver problemas con la tarea y la praacutectica deexaacutemenes completados Las puntuaciones en los exaacutemenes de praacutectica son desagregadospara revelar fortalezas y debilidades estudiantes por temas

Hemos procedido a darlo de alta en LTI como hicimos con Wordpress Entramos en Moodle co-mo Administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

Figura 511 Correo de Chuck Wight

-LTI quedando como resultado la siguiente hoja de paraacutemetros gura 512

El siguiente paso seraacute antildeadir la herramienta dentro de nuestro curso para ello pulsaremos sobreAntildeadir una actividad o un recurso Deberemos seleccionar External Tool y rellenamos las op-ciones de la herramienta seleccionando como Tipo de herramienta externa la opcioacuten creada enel apartado de LTI de Moodle

Una vez congurado la herramienta en Moodle podemos entrar para realizar una personalizacioacutende la herramienta gura 513 esta consiste en indicar si el alumno cuando se conecta realiza undeterminado tarea o puede elegir navegar por la web de ChemVantage para poder disfrutar dela cantidad de recursos que se encuentran disponibles

Cuando el usuario pulsa sobre la opcioacuten de esta herramienta externa en Moodle lo primero quese le muestra es la informacioacuten sobre su perl en Chemvantage 514Como hemos visto en los paraacutemetros de conguracioacuten existe la posibilidad de llamar a unaherramienta externa incrustaacutendola dentro de Moodle o abrieacutendolo en una paacutegina web nuevaCon esta segunda opcioacuten no hemos conseguido que funcione correctamente la importacioacuten de lasnotas En cambio si la herramienta externa estaacute incrustada permite esa vinculacioacuten

Figura 512 Conguracioacuten de paraacutemetros LTI

Figura 513 Opciones de inicio de la herramienta

Figura 514 Pantalla de utilizacioacuten de la herramienta por el usuario

Capiacutetulo 6

Middleware

61 Introduccioacuten

La uacuteltima opcioacuten seriacutea utilizar una arquitectura middleware de integracioacuten que permita la inte-gracioacuten ligera de muacuteltiples herramientas existentes en el Moodle

62 GluePS

GLUE-PS es una arquitectura de middleware que permite una interoperabilidad ligera entrelos diferentes lenguajes de disentildeo de aprendizaje y diferentes entornos de aprendizaje virtualEsta interoperabilidad permite a los maestros y otros profesionales que particularicen (es decirpara personalizar el disentildeo de aprendizaje abstractoa la clase particular los participantes y laeleccioacuten de los instrumentos en los que va a ser promulgada) desplieguen (es decir para crearde forma semiautomaacutetica las actividades necesarias en el VLE recursos etc para la aprobacioacutendel disentildeo particularizado) e incluso para llevar a cabo ciertos cambios en el tiempo de ejecucioacuten(por ejemplo modicar la composicioacuten del grupo agregar o quitar recursos de las actividadesetc) Todo esto a partir de disentildeos en distintos lenguajes de disentildeo de aprendizaje tales como laespecicacioacuten IMS-LD aprendizaje

Por otra parte GLUE-PS tambieacuten permite desplegar y gestionar disentildeos de aprendizaje en en-tornos virtuales de aprendizaje que integren herramientas de aprendizaje externos (tales comointegrar en Moodle herramientas como Google Docs y muchos otros) - lo que llamamos Am-bientes de Aprendizaje Distribuido (DLE Distributed Learning Enviroments) Esto se consiguegracias a la arquitectura de GLUE para la integracioacuten de los entornos virtuales de aprendizajey herramientas externas

621 Instalacioacuten

Para realizar la instalacioacuten de GLUE-PS nos hemos descargado el software necesario de la webde los desarrolladores1 descargando la opcioacuten de autenticacioacuten centralizada La instalacioacuten haconstado de tres partes que pasaremos a describir a continuacioacuten

1httpwwwgsicuvaesglue

49

Figura 61 Arquitectura de GLUE

La primera parte consiste en la instalacioacuten del GLUEletManager y los adaptadores GSIC toolAunque el sistema viene preparado para Linux o Windows siendo Windows la explicacioacuten quevamos a desarrollar por estar utilizando este sistema operativo con Xampp

1 Crear el directorio GLUE_ HOME El cual hemos creado para mayor comodidad en la raiacutezdel disco duro

2 Denir la variable del sistema GLUE_ HOME con el valor de la direccioacuten completa deldirectorio de GLUE del punto anterior Para ello hemos pulsado botoacuten derecho sobre MiPc Propiedad Opciones Avanzadas Variables de Entorno procediendo a pulsar el botoacutenNueva para crear la variable en cuestioacuten

3 Extraemos en el directorio del punto (1) el paquete descargado de la paacutegina de los desar-rolladores

4 Ejecutar la instalacioacuten del cheroGLUE_ HOMEbininstall gluebat para registar GLUElet-Manager y GSIC tool como un servicio de Windows Tambieacuten este paso crearaacute un cheroen GLUE_ HOMEtool_ adapteradapterdata para proveer de persistencia a los objetoscreados con el adaptador GSIC tool

A continuacioacuten daremos de alta en nuestro gestor de bases de datos un para de bases de datosque necesita GLUEletManager Para ellos seguimos los siguientes pasos

1 Abrimos la consola de phpMyaAdmin para cargar y ejecutar el chero create_ GLUE_databasessql que se encuentra en GLUE_ HOMEmanagerconfdb

2 Modicamos el chero GLUE_ HOMEmanagerconfMETA-INFpersistencexml paradarle los paraacutemetros necesarios para que JDBC se conecte a nuestra base de datos Losparaacutemetros modicados puede verse en la imagen 62

Figura 62 Paraacutemetros modicados en persistencexml

La segunda parte consiste en el registro interno de los adaptadores de las herramientas para seraccedido con GLUEletManager La distribucioacuten trae un chero para facilitar la conguracioacuten delos adaptadores que trae consigo y para su instalacioacuten deberemos ejecutar el chero GLUE_HOMEmanagerconfdbll _ internal_ Registrysql Alguna de las herramientas necesitanuna conguracioacuten maacutes completa como puede ser Google Docs adapter que necesita una cuentade Gmail para poder crear documentos en Google Docs por lo que deberemos modicar el nom-bre de usuario y contrasentildea

La uacuteltima parte consiste en la instalacioacuten del adaptardor de Moodle como VLE utilizado Estainstalacioacuten es como cualquier otro moacutedulo de Moodle 2 La carpeta que deberemos copiar seraacutela del adaptador correspondiente a Moodle que se encuentra en la carpeta GLUE_ HOMEvle_adpatersmoodle_ vle_ adapter Una vez entremos en nuestro Moodle como administrador nosapareceraacute un mensaje indicaacutendonos que el nuevo moacutedulo esta instalado Para congurar el nuevomoacutedulo debermos ir a Noticaciones - Modulos - Actividades como podemos ver en la gura 63para congurar los paraacutemetros la URL del GLUEletManager y el tiempo de espera

Figura 63 Paraacutemetros del moacutedulo GLUE

Cuando el profesor quiera crear una nueva actividad dependiente de los adaptadores de GLUEdeberaacute agregar una actividad maacutes pulsando para ello en esta opcioacuten dentro del bloque deseadopara seleccionar luego el tipo de actividad GLUElet como podemos ver en la gura64

622 Creando un Doodle

El adaptador Doodle permite la creacioacuten conguracioacuten y gestioacuten de instancias del Doodle Cadaencuesta Doodle es considerado un instancia diferente Ademaacutes este adaptador permite realizarademas la conguracioacuten inicial de encuestas Doodle incluyendo el nombre de la encuesta unadescripcioacuten y un conjunto de posibles respuestas

A continuacioacuten antildeadiremos Doodle en un bloque de Moodle para ellos pulsaremos la opcioacuten deAgregar actividad GLUElet lo cual nos mostraraacute la paacutegina65 donde deberemos rellenar comomiacutenimo el nombre de la actividad y el tipo de herramienta seleccionado en este caso Doodle(httpdoodle-testcom)

2httpdocsmoodleorgenInstalling_contributed_modules_or_plugins

Figura 64 Creando una actividad GLUElet

La primera vez que pulsemos sobre la nueva actividad creada apareceraacute un pantalla 66 dondepodemos congurar diferentes elementos de la encuesta desarrollada con Doodle como son eltiacutetulo una pequentildea descripcioacuten y luego las opciones posibles con un liacutemite de 10

El resultado nal seraacute la incrustacioacuten de una encuesta Doodle dentro de nuestro Moodle comopodemos ver en la gura67

Figura 65 Antildeadiendo Doodle como actividad

Figura 66 Opciones iniciales de conguracioacuten de Doodle

Figura 67 Doodel dentro de Moodle

Capiacutetulo 7

Conclusiones Finales

71 Conclusiones Finales

El proyecto actual nos ha servido para acercarnos a las diferentes tecnologiacuteas que permiten lacomunicacioacuten entre Servicios Webs Hemos desarrollado una primera labor de investigacioacuten queha requerido el aprendizaje de diferentes herramientas de control de documentacioacuten y referenciascomo Zotero y Mendeley

La documentacioacuten recabada en el proceso inicial de revisioacuten de documentos nos ha aportadoun visioacuten general de los diferentes sistemas virtuales de aprendizaje que podemos encontrarnosmuchos de ellos gratuitos y las diferentes soluciones que se plantean a la necesidad de incluirrecursos de otros fabricantes que en principio no fueron concebidos para ser utilizados dentro deuna plataforma VLE

Para poner en praacutectica la diferentes opciones encontradas se han montado diferentes maacutequinasvirtuales sobre las que se han probado las mismas Las conclusiones nales se pasan a detallar

IMS LTIEsta solucioacuten de integracioacuten mediante el cumplimiento de unos protocolos y certicacionesde las herramientas que lo cumplen es en principio la que podriacutea parecer la mejor opcioacutenpero la falta de compromiso de los diferentes fabricantes de Servicios Web y la luchapara imponer sus propios estaacutendares hace que aun quede mucho para que esta opcioacuten seacomo tal real

Si vemos el nuacutemero de aplicaciones certicadas para usar IMS LTI apenas superan las 50 yla mayoriacutea solo cumple la especicacioacuten v10 lo cual signica que la integracioacuten solo solu-ciona el problema de llamar a un recurso externo desde Moodle Pocas son las que cumplenla v11 que permite obtener en Moodle una valoracioacuten de los ejercicios desarrollados en unaactividad externa

La versioacuten v20 que daraacute maacutes opciones a la hora de interactuar con actividades externasauacuten esta en desarrollo y nada se sabe sobre posibles fechas para su presentacioacuten Luegocerticacioacuten de herramientas etc

55

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 42: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

Figura 413 Lista de Tokens

Figura 414 Web de alta de usuarios

Figura 415 Resultado de REST en formato XML

Figura 416 Resultado de REST en formato JSON

Capiacutetulo 5

Herramientas Externas

51 Introduccioacuten

Las versiones de Moodle desde la 22 vienen con IMS LTI o External Tool de manera integradaEn versiones anteriores era necesario la instalacioacuten de plugins como LTI Provider (maacutes informa-cioacuten en la web de Moodle1 IMS LTI es un estandar de IMS learing2 para la interoperabilidadde herramientas Esto signica que las herramientas de aprendizaje tienen ahora un mecanismopara jar el modo en que pueden conectarse entre ellas sin problemas

En la praacutectica cuando un usuario se registra en Moodle puede conectarse a otras herramientascomo Wikis o Blogs y autenticarse de manera automaacutetica en estas

52 Estaacutendares IMS

Actualmente se realizan esfuerzos para la integracioacuten de servicios a una plataforma virtual deaprendizaje mediante un mecanismo reutilizable independiente del tipo de plataforma El IMSGlobal Learning Consortium viene desde hace tiempo trabajando en este enfoque IMS GLCpresenta un conjunto de estaacutendares que promueven el uso de servicios de aprendizaje digitales(Digital Learning Services) dentro de las plataformas de aprendizaje tradicionales IMS DigitalLearning Services estaacute integrado por los siguientes estaacutendares principales IMS Common Car-tridge [ims a] IMS Learning Tool Interoperability [ims c] y IMS Learning Information Services[ims b]

El IMS Learning Tool Interoperability es una especicacioacuten para facilitar la inclusioacuten de her-ramientas externas dentro de un curso El administrador de la plataforma de aprendizaje ges-tiona los servicios que podraacuten ser consumidos por la plataforma el docente decide que serviciosutilizaraacute en su curso y el estudiante hace uso de los mismos IMS LTI permite que distintos LMSconsuman un mismo servicio el cual no fue implementado teniendo en cuenta el tipo de LMSsino la implementacioacuten del estaacutendar desde el lado del proveedor

El enfoque del IMS LTI estaacute dirigido a la creciente demanda de un mecanismo reutilizable para laintegracioacuten de herramientas de terceros en el nuacutecleo de las plataformas LMS Estas herramientas

1httpsmoodleorgpluginsviewphpplugin=local_ltiprovider2httpwwwimsglobalorgtoolsinteroperability2cfm

37

pueden agregar funcionalidad especializada a los LMS El enfoque ofrece una solucioacuten basada enWeb Services igualmente aplicable a distintos lenguajes de programacioacuten

Las versiones del LTI son

LTI v10 ( LTI Basic ) ( publicado en mayo de 2010 ) proporciona un meacutetodo sencillopero estaacutendar para establecer una conexioacuten segura a una herramienta desde el interior deun consumidor de herramientas El lanzamiento de este enlace permite una experienciade aprendizaje sin problemas para los estudiantes que acceden a las aplicaciones ricas queparecen tener lugar dentro del ambiente de aprendizaje Versioacuten 10 es el primer paso en eldesarrollo continuo de LTI Figura 51

LTI v11 ( publicado en marzo 2012 ) antildeade la posibilidad de pasar de nuevo un resultadode la herramienta al Consumidor de herramientas Esto permite que los estudiantes recibenuna calicacioacuten o puntuacioacuten de su interaccioacuten con la aplicacioacuten de aprendizaje

LTI v111 ( publicado en julio de 2012 ) incluye soporte para el papel Mentor que se puedeutilizar para representar a un padre tutor o auditor

LTI v20 Aun en estado de desarrollo y proporciona una plataforma maacutes sosticado y ex-tensible para permitir integraciones maacutes profundas y un mayor apoyo para los serviciosy eventos LTI 2 se basa en LTI 1 mediante la incorporacioacuten de maacutes sosticada resulta-dos de informes y una rica arquitectura de extensiones que permite servicios adicionalesque se antildeadiraacuten gradualmente LTI 2 utiliza REST y JSON-LD para ofrecer esta nuevafuncionalidad

Figura 51 Esquema LTI Baacutesico

En la gura 52 podemos observar como se podriacutean utilizar las ventajas de LTI por parte decada unos de los actores a lo largo de la vida de la aplicacioacuten de servicios externos dentro de unaplataforma de aprendizaje

En la paacutegina web de IMS3 podemos encontrar una relacioacuten de aplicaciones certicadas comocompatibles con el estaacutendar LTI indicando la versioacuten del LTI que cumplen En la gura 53podemos ver las aplicaciones certicadas por UOC y en la gura 54 la informacioacuten sobre una deestas herramientas

3httpwwwimsglobalorgccalltoolscfm

Figura 52 Esquema utilizacioacuten LTI

Figura 53 Listado de herramientas LTI de la UOC

53 Herramientas externas en Moodle

La siguiente seccioacuten consiste en la aplicacioacuten de alguno de esto servicios externos en Moodlepara comprobar su funcionamiento Nos decantaremos para la primera prueba por WordPresspues aunque existen manuales al respecto la documentacioacuten en castellano es escasa

531 Wordpress

La versioacuten estaacutendar de Wordpress a la cual accedemos cuando nos abrimos cuenta en Wordpressno viene con las herramientas necesarias para la iteracioacuten mediante LTI por lo que procedere-mos a la instalacioacuten en nuestro servidor de Wordpress para pasar a la instalacioacuten de los pluginsnecesarios

La instalacioacuten ha consistido en la descarga de la web ocial 4 de la versioacuten 351 la cual hemoscopiado dentro del directorio htdocs de nuestra instalacioacuten de Xampp Hemos dado de alta unnuevo usuario en nuestra base de datos llamado username como podemos ver en la imagen 55 yposteriormente hemos seguido los pasos que el instalador nos iba ofreciendo para tener instalado

4httpwordpressorgdownload

Figura 54 Informacioacuten sobre la certicacioacuten

Wordpress bajo la url httplocalhostwordpress

Figura 55 Usuario de Wordpress

Deberemos congurar Wordpress para que trabaje como multisitio para lo que deberemos seguirlos pasos de conguracioacuten que podemos encontrar en la web ocial de Wordpress5 bajo el nombreCreate A Network consistente en los siguientes pasos

1 Realizar una copia de seguridad por si acaso

2 Modicar el chero wp-congphp incluyendo la siguiente linea encima de Thats allstop editing Happy blogging Multisite dene (WP_ ALLOW_ MULTISITE true)

Multisite dene (WP_ ALLOW_ MULTISITE true)

3 Installar un Network Para ello hemos de entra en la opcioacuten Administration -gtTools -gtNetwork Setup donde podremos congurar opciones sobre el nombre que queremos declararpara el nuevo sitio

4 Activar el Network para ello debemos modicar los cheros wp-congphp y htaccess porlo que seriacutea bueno que realizaacuteramos primero un copia de seguridad de los mismos Loscambios que debemos realizar son los siguientes

5httpcodexwordpressorgCreate_A_Network

En wp-congphp dene(MULTISITE true)dene(SUBDOMAIN_ INSTALL false)dene(DOMAIN_ CURRENT_ SITE localhost)dene(PATH_ CURRENT_ SITE wordpress)dene(SITE_ ID_ CURRENT_ SITE 1)dene(BLOG_ ID_ CURRENT_ SITE 1)

El chero htaccess debe quedar asiacute BEGIN WordPressltIfModule mod_ rewritecgtRewriteEngine OnRewriteBase wordpressRewriteRule icircndexphp$ - [L]

add a trailing slash to wp-adminRewriteRule ([_ 0-9a-zA-Z-]+)wp-admin1wp-admin [R=301L]

RewriteCondREQUEST_ FILENAME -f [OR]RewriteCondREQUEST_ FILENAME -dRewriteRule - [L]RewriteRule ([_ 0-9a-zA-Z-]+)(wp-(content|admin|includes)) $2 [L]RewriteRule ([_ 0-9a-zA-Z-]+)( php)$ $2 [L]RewriteRule indexphp [L]ltIfModulegt

END WordPress

5 Esto nos habraacute creado en la parte izquierda de la barra de herramientas de Wordpressuna nueva opcioacuten llamada My Sites que contendraacute un listado de los sitios de nuestroWordpress

El siguiente paso seraacute la descarga del plugin los cual podremos hacerlos desde la web de sour-forgenet 6 En esta web se detalla informacioacuten sobre el plugin y como se debe instalar Siguiendolos pasos que tenemos en el mismo procederemos a la descarga y el desplegado del mismo en lacarpeta wp-contentmu-plugins Salimos de Wordpress y volvemos a entrar como superusuariosi entramos dentro de la nueva red realizada podremos ver que dentro de LTI Consumers Keystendremos la opcioacuten LTI Consumers Keys como podemos ver en la imagen 56

Aquiacute deberemos crear la clave del consumidor del servicio y la clave secreta que nos permitiraacute aMoodle conectarse a Wordpress

Una vez que tenemos la clave secreta y del consumidor deberemos volver a Moodle entrandocomo administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

6httpsourceforgenetappsmediawikilearningappsindexphptitle=LTI4Wordpress

Figura 56 Servicios LTI en Wordpress

Figura 57 Listado de claves de LTI en Wordpress

-LTI En esta paacutegina podremos rellenar nuestras opciones

Tool Name Seraacute el nombre que tendraacute la herramienta y deberemos poner alguno indicativode la herramienta que estemos utilizando

Tool Base URL Es la direccioacuten de la herramienta en nuestro caso httplocalhostwordpress

Deberemos rellenar con los datos obtenidos en Wordpress la clave de consumidor y la clavesecreta

Es importante marcar Show tool type when creating tool instances para que aparezcaposteriormente al crear los recursos en nuestros cursos

Para poder probar el sistema hemos creado un curso dentro de Moodle llamada WordpressLTIdonde daremos de la siguiente manera de alta 59

Dentro de nuestro curso seleccionamos la opcioacuten de Edicioacuten

Pulsamos sobre Antildeadir una actividad o un recurso

Seleccionamos External Tool

Rellenamos las opciones

bull Nombre de la Actividad Cualquiera de nuestra eleccioacuten

Figura 58 Conguracioacuten LTI en Moodle

bull Tipo de herramienta externa El nombre que le pusimos a la herramienta externa enla conguracioacuten LTI de Moodle

bull Launch Container Hemos elegido la opcioacuten Incrustar para ver el resultado

Figura 59 Conguracioacuten Herramienta Externa

Una vez congurado podemos lanzar la herramienta externa teniendo como resultado la gura510

Figura 510 Wordpress integrado en Moodle

532 ChemVantage

ChemVantage es un recurso gratuito para la educacioacuten cientiacuteca que incluye ejercicios de gradoejercicios de preparacioacuten exaacutemenes de la praacutectica conferencias de video y libros de texto enliacutenea gratis Fue creado por ChemVantage LLC que fue fundada por el Prof Chuck Wight queha ensentildeado Quiacutemica General en la Universidad de Utah desde 1984 (ChemVantage 2011)

Nos hemos puesto en contacto con Chuck Wight (adminchemvantageorg) para solicitarle unaclave de consumidor y secreta para poder probar este recurso desde moodle Las opciones y elcorreo puede verse en la gura 511

Una de las cosas maacutes importantes de ChemVantage y por lo que nos hemos decidido a probar esque permite la devolucioacuten de las notas obtenidas en los ejercicios realizados en las herramientasexternas a Moodle El alumno podraacute realizar las tareas en esta herramienta externa y luego sercalicadas en Moodle

ChemVantage estaacute certicada por IMS 7 como un proveedor de herramientas LTI v11 y comotal funciona desde nuestro propio LMS para llevar a cabo la autenticacioacuten de sitios provee decuentas y devuelve resultados de asignacioacuten de estudiantes con el libro LMS grado automaacutetica-mente

Los recursos disponible son ChemVantage son principalmente los siguientes

1 QuizzesLos ejercicios presentados aquiacute estaacuten disentildeados para animar a los estudiantes a leer y en-tender los libros de texto utilizados en el curso Las preguntas se basan en material que sepresente en su mayor parte en los textos de introduccioacuten de quiacutemica Los iacutetems de preguntastienen respuestas straighforward no requieren caacutelculos detallados Las preguntas se presen-tan en varios formatos diferentes incluyendo opcioacuten muacuteltiple verdadero falso casilla devericacioacuten ll-in-the-blanco y numeacutericas Cada cuestionario se compone de 10 preguntasextraiacutedas al azar de una base de datos con muchas maacutes preguntas En el proceso de tomarvarias pruebas para mejorar sus calicaciones los estudiantes probablemente encuentran

7httpdevelopersimsglobalorgcoursechemvantagehtml

algunas preguntas repetidas de concursos anteriores sin embargo es poco probable quecualquiera de los dos cuestionarios contendraacute exactamente el mismo conjunto de preguntasen el mismo orden Asignando pruebas para ser completado antes de la conferencia losprofesores pueden estar seguros de que sus estudiantes tengan un poco de exposicioacuten almaterial Esto permite una mayor discusioacuten el diaacutelogo y la participacioacuten en el aula y haceel aprendizaje maacutes divertido (de verdad)

2 Video LecturesUna serie de conferencias de viacutedeo de 10 minutos sobre una variedad de temas de QuiacutemicaGeneral es accesible desde la paacutegina principal Los videos estaacuten disentildeados para reforzar lospuntos principales que se presentan en muchos libros de texto

3 HoweworksLas tareas estaacuten disentildeadas para dar a los estudiantes la praacutectica en la resolucioacuten de proble-mas cuantitativos que tienen respuestas numeacutericas Cada alumno puede descargar la tareatrabajar los problemas y presentar las respuestas en liacutenea Respuestas son juzgados a sercorrecta si la solucioacuten numeacuterica de acuerdo con la solucioacuten que se encuentra en la base dedatos dentro de una tolerancia especicada (indicado para cada problema) El sitio informaa los estudiantes que las respuestas son correctas para que puedan rehacer problemas malresueltos y volver a presentar las respuestas Cada problema se basa en una plantilla queatrae paraacutemetros al azar por lo que la respuesta correcta es diferente para cada estudianteEsto hace que sean adecuadas para la colaboracioacuten y el trabajo en grupo porque a pesarde que el grupo puede trabajar para encontrar un algoritmo correcto para resolver un prob-lema cada estudiante tendraacute que usar el algoritmo para encontrar la solucioacuten detallada asu propio problema

4 Practice ExamsLos estudiantes pueden realizaar exaacutemenes de praacutectica cronometrados que muestran laspreguntas de un grupo de 3 o maacutes temas Cada examen estaacute disentildeado para tardar unos60 minutos o menos e incluye una seleccioacuten de 10 preguntas Las praacutecticas de exaacutemenespueden repetirse cuantas veces se desee Las preguntas numeacutericas son parametrizadas loque es muy poco probable que un estudiante realice alguna vez dos exaacutemenes de praacutecticaideacutenticos

5 Portofolio PageCada estudiante puede acceder a una paacutegina que le da la puntuacioacuten obtenida en cada prue-ba y la asignacioacuten de tareas Los estudiantes que son miembros de un grupo tienen unapaacutegina de resultados asociados a las tareas de grupo Hay una paacutegina de carpeta separadaque contiene un resumen de todas las actividades realizadas en ChemVantage incluyendovideos vistos cuestionarios completados resolver problemas con la tarea y la praacutectica deexaacutemenes completados Las puntuaciones en los exaacutemenes de praacutectica son desagregadospara revelar fortalezas y debilidades estudiantes por temas

Hemos procedido a darlo de alta en LTI como hicimos con Wordpress Entramos en Moodle co-mo Administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

Figura 511 Correo de Chuck Wight

-LTI quedando como resultado la siguiente hoja de paraacutemetros gura 512

El siguiente paso seraacute antildeadir la herramienta dentro de nuestro curso para ello pulsaremos sobreAntildeadir una actividad o un recurso Deberemos seleccionar External Tool y rellenamos las op-ciones de la herramienta seleccionando como Tipo de herramienta externa la opcioacuten creada enel apartado de LTI de Moodle

Una vez congurado la herramienta en Moodle podemos entrar para realizar una personalizacioacutende la herramienta gura 513 esta consiste en indicar si el alumno cuando se conecta realiza undeterminado tarea o puede elegir navegar por la web de ChemVantage para poder disfrutar dela cantidad de recursos que se encuentran disponibles

Cuando el usuario pulsa sobre la opcioacuten de esta herramienta externa en Moodle lo primero quese le muestra es la informacioacuten sobre su perl en Chemvantage 514Como hemos visto en los paraacutemetros de conguracioacuten existe la posibilidad de llamar a unaherramienta externa incrustaacutendola dentro de Moodle o abrieacutendolo en una paacutegina web nuevaCon esta segunda opcioacuten no hemos conseguido que funcione correctamente la importacioacuten de lasnotas En cambio si la herramienta externa estaacute incrustada permite esa vinculacioacuten

Figura 512 Conguracioacuten de paraacutemetros LTI

Figura 513 Opciones de inicio de la herramienta

Figura 514 Pantalla de utilizacioacuten de la herramienta por el usuario

Capiacutetulo 6

Middleware

61 Introduccioacuten

La uacuteltima opcioacuten seriacutea utilizar una arquitectura middleware de integracioacuten que permita la inte-gracioacuten ligera de muacuteltiples herramientas existentes en el Moodle

62 GluePS

GLUE-PS es una arquitectura de middleware que permite una interoperabilidad ligera entrelos diferentes lenguajes de disentildeo de aprendizaje y diferentes entornos de aprendizaje virtualEsta interoperabilidad permite a los maestros y otros profesionales que particularicen (es decirpara personalizar el disentildeo de aprendizaje abstractoa la clase particular los participantes y laeleccioacuten de los instrumentos en los que va a ser promulgada) desplieguen (es decir para crearde forma semiautomaacutetica las actividades necesarias en el VLE recursos etc para la aprobacioacutendel disentildeo particularizado) e incluso para llevar a cabo ciertos cambios en el tiempo de ejecucioacuten(por ejemplo modicar la composicioacuten del grupo agregar o quitar recursos de las actividadesetc) Todo esto a partir de disentildeos en distintos lenguajes de disentildeo de aprendizaje tales como laespecicacioacuten IMS-LD aprendizaje

Por otra parte GLUE-PS tambieacuten permite desplegar y gestionar disentildeos de aprendizaje en en-tornos virtuales de aprendizaje que integren herramientas de aprendizaje externos (tales comointegrar en Moodle herramientas como Google Docs y muchos otros) - lo que llamamos Am-bientes de Aprendizaje Distribuido (DLE Distributed Learning Enviroments) Esto se consiguegracias a la arquitectura de GLUE para la integracioacuten de los entornos virtuales de aprendizajey herramientas externas

621 Instalacioacuten

Para realizar la instalacioacuten de GLUE-PS nos hemos descargado el software necesario de la webde los desarrolladores1 descargando la opcioacuten de autenticacioacuten centralizada La instalacioacuten haconstado de tres partes que pasaremos a describir a continuacioacuten

1httpwwwgsicuvaesglue

49

Figura 61 Arquitectura de GLUE

La primera parte consiste en la instalacioacuten del GLUEletManager y los adaptadores GSIC toolAunque el sistema viene preparado para Linux o Windows siendo Windows la explicacioacuten quevamos a desarrollar por estar utilizando este sistema operativo con Xampp

1 Crear el directorio GLUE_ HOME El cual hemos creado para mayor comodidad en la raiacutezdel disco duro

2 Denir la variable del sistema GLUE_ HOME con el valor de la direccioacuten completa deldirectorio de GLUE del punto anterior Para ello hemos pulsado botoacuten derecho sobre MiPc Propiedad Opciones Avanzadas Variables de Entorno procediendo a pulsar el botoacutenNueva para crear la variable en cuestioacuten

3 Extraemos en el directorio del punto (1) el paquete descargado de la paacutegina de los desar-rolladores

4 Ejecutar la instalacioacuten del cheroGLUE_ HOMEbininstall gluebat para registar GLUElet-Manager y GSIC tool como un servicio de Windows Tambieacuten este paso crearaacute un cheroen GLUE_ HOMEtool_ adapteradapterdata para proveer de persistencia a los objetoscreados con el adaptador GSIC tool

A continuacioacuten daremos de alta en nuestro gestor de bases de datos un para de bases de datosque necesita GLUEletManager Para ellos seguimos los siguientes pasos

1 Abrimos la consola de phpMyaAdmin para cargar y ejecutar el chero create_ GLUE_databasessql que se encuentra en GLUE_ HOMEmanagerconfdb

2 Modicamos el chero GLUE_ HOMEmanagerconfMETA-INFpersistencexml paradarle los paraacutemetros necesarios para que JDBC se conecte a nuestra base de datos Losparaacutemetros modicados puede verse en la imagen 62

Figura 62 Paraacutemetros modicados en persistencexml

La segunda parte consiste en el registro interno de los adaptadores de las herramientas para seraccedido con GLUEletManager La distribucioacuten trae un chero para facilitar la conguracioacuten delos adaptadores que trae consigo y para su instalacioacuten deberemos ejecutar el chero GLUE_HOMEmanagerconfdbll _ internal_ Registrysql Alguna de las herramientas necesitanuna conguracioacuten maacutes completa como puede ser Google Docs adapter que necesita una cuentade Gmail para poder crear documentos en Google Docs por lo que deberemos modicar el nom-bre de usuario y contrasentildea

La uacuteltima parte consiste en la instalacioacuten del adaptardor de Moodle como VLE utilizado Estainstalacioacuten es como cualquier otro moacutedulo de Moodle 2 La carpeta que deberemos copiar seraacutela del adaptador correspondiente a Moodle que se encuentra en la carpeta GLUE_ HOMEvle_adpatersmoodle_ vle_ adapter Una vez entremos en nuestro Moodle como administrador nosapareceraacute un mensaje indicaacutendonos que el nuevo moacutedulo esta instalado Para congurar el nuevomoacutedulo debermos ir a Noticaciones - Modulos - Actividades como podemos ver en la gura 63para congurar los paraacutemetros la URL del GLUEletManager y el tiempo de espera

Figura 63 Paraacutemetros del moacutedulo GLUE

Cuando el profesor quiera crear una nueva actividad dependiente de los adaptadores de GLUEdeberaacute agregar una actividad maacutes pulsando para ello en esta opcioacuten dentro del bloque deseadopara seleccionar luego el tipo de actividad GLUElet como podemos ver en la gura64

622 Creando un Doodle

El adaptador Doodle permite la creacioacuten conguracioacuten y gestioacuten de instancias del Doodle Cadaencuesta Doodle es considerado un instancia diferente Ademaacutes este adaptador permite realizarademas la conguracioacuten inicial de encuestas Doodle incluyendo el nombre de la encuesta unadescripcioacuten y un conjunto de posibles respuestas

A continuacioacuten antildeadiremos Doodle en un bloque de Moodle para ellos pulsaremos la opcioacuten deAgregar actividad GLUElet lo cual nos mostraraacute la paacutegina65 donde deberemos rellenar comomiacutenimo el nombre de la actividad y el tipo de herramienta seleccionado en este caso Doodle(httpdoodle-testcom)

2httpdocsmoodleorgenInstalling_contributed_modules_or_plugins

Figura 64 Creando una actividad GLUElet

La primera vez que pulsemos sobre la nueva actividad creada apareceraacute un pantalla 66 dondepodemos congurar diferentes elementos de la encuesta desarrollada con Doodle como son eltiacutetulo una pequentildea descripcioacuten y luego las opciones posibles con un liacutemite de 10

El resultado nal seraacute la incrustacioacuten de una encuesta Doodle dentro de nuestro Moodle comopodemos ver en la gura67

Figura 65 Antildeadiendo Doodle como actividad

Figura 66 Opciones iniciales de conguracioacuten de Doodle

Figura 67 Doodel dentro de Moodle

Capiacutetulo 7

Conclusiones Finales

71 Conclusiones Finales

El proyecto actual nos ha servido para acercarnos a las diferentes tecnologiacuteas que permiten lacomunicacioacuten entre Servicios Webs Hemos desarrollado una primera labor de investigacioacuten queha requerido el aprendizaje de diferentes herramientas de control de documentacioacuten y referenciascomo Zotero y Mendeley

La documentacioacuten recabada en el proceso inicial de revisioacuten de documentos nos ha aportadoun visioacuten general de los diferentes sistemas virtuales de aprendizaje que podemos encontrarnosmuchos de ellos gratuitos y las diferentes soluciones que se plantean a la necesidad de incluirrecursos de otros fabricantes que en principio no fueron concebidos para ser utilizados dentro deuna plataforma VLE

Para poner en praacutectica la diferentes opciones encontradas se han montado diferentes maacutequinasvirtuales sobre las que se han probado las mismas Las conclusiones nales se pasan a detallar

IMS LTIEsta solucioacuten de integracioacuten mediante el cumplimiento de unos protocolos y certicacionesde las herramientas que lo cumplen es en principio la que podriacutea parecer la mejor opcioacutenpero la falta de compromiso de los diferentes fabricantes de Servicios Web y la luchapara imponer sus propios estaacutendares hace que aun quede mucho para que esta opcioacuten seacomo tal real

Si vemos el nuacutemero de aplicaciones certicadas para usar IMS LTI apenas superan las 50 yla mayoriacutea solo cumple la especicacioacuten v10 lo cual signica que la integracioacuten solo solu-ciona el problema de llamar a un recurso externo desde Moodle Pocas son las que cumplenla v11 que permite obtener en Moodle una valoracioacuten de los ejercicios desarrollados en unaactividad externa

La versioacuten v20 que daraacute maacutes opciones a la hora de interactuar con actividades externasauacuten esta en desarrollo y nada se sabe sobre posibles fechas para su presentacioacuten Luegocerticacioacuten de herramientas etc

55

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 43: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

Capiacutetulo 5

Herramientas Externas

51 Introduccioacuten

Las versiones de Moodle desde la 22 vienen con IMS LTI o External Tool de manera integradaEn versiones anteriores era necesario la instalacioacuten de plugins como LTI Provider (maacutes informa-cioacuten en la web de Moodle1 IMS LTI es un estandar de IMS learing2 para la interoperabilidadde herramientas Esto signica que las herramientas de aprendizaje tienen ahora un mecanismopara jar el modo en que pueden conectarse entre ellas sin problemas

En la praacutectica cuando un usuario se registra en Moodle puede conectarse a otras herramientascomo Wikis o Blogs y autenticarse de manera automaacutetica en estas

52 Estaacutendares IMS

Actualmente se realizan esfuerzos para la integracioacuten de servicios a una plataforma virtual deaprendizaje mediante un mecanismo reutilizable independiente del tipo de plataforma El IMSGlobal Learning Consortium viene desde hace tiempo trabajando en este enfoque IMS GLCpresenta un conjunto de estaacutendares que promueven el uso de servicios de aprendizaje digitales(Digital Learning Services) dentro de las plataformas de aprendizaje tradicionales IMS DigitalLearning Services estaacute integrado por los siguientes estaacutendares principales IMS Common Car-tridge [ims a] IMS Learning Tool Interoperability [ims c] y IMS Learning Information Services[ims b]

El IMS Learning Tool Interoperability es una especicacioacuten para facilitar la inclusioacuten de her-ramientas externas dentro de un curso El administrador de la plataforma de aprendizaje ges-tiona los servicios que podraacuten ser consumidos por la plataforma el docente decide que serviciosutilizaraacute en su curso y el estudiante hace uso de los mismos IMS LTI permite que distintos LMSconsuman un mismo servicio el cual no fue implementado teniendo en cuenta el tipo de LMSsino la implementacioacuten del estaacutendar desde el lado del proveedor

El enfoque del IMS LTI estaacute dirigido a la creciente demanda de un mecanismo reutilizable para laintegracioacuten de herramientas de terceros en el nuacutecleo de las plataformas LMS Estas herramientas

1httpsmoodleorgpluginsviewphpplugin=local_ltiprovider2httpwwwimsglobalorgtoolsinteroperability2cfm

37

pueden agregar funcionalidad especializada a los LMS El enfoque ofrece una solucioacuten basada enWeb Services igualmente aplicable a distintos lenguajes de programacioacuten

Las versiones del LTI son

LTI v10 ( LTI Basic ) ( publicado en mayo de 2010 ) proporciona un meacutetodo sencillopero estaacutendar para establecer una conexioacuten segura a una herramienta desde el interior deun consumidor de herramientas El lanzamiento de este enlace permite una experienciade aprendizaje sin problemas para los estudiantes que acceden a las aplicaciones ricas queparecen tener lugar dentro del ambiente de aprendizaje Versioacuten 10 es el primer paso en eldesarrollo continuo de LTI Figura 51

LTI v11 ( publicado en marzo 2012 ) antildeade la posibilidad de pasar de nuevo un resultadode la herramienta al Consumidor de herramientas Esto permite que los estudiantes recibenuna calicacioacuten o puntuacioacuten de su interaccioacuten con la aplicacioacuten de aprendizaje

LTI v111 ( publicado en julio de 2012 ) incluye soporte para el papel Mentor que se puedeutilizar para representar a un padre tutor o auditor

LTI v20 Aun en estado de desarrollo y proporciona una plataforma maacutes sosticado y ex-tensible para permitir integraciones maacutes profundas y un mayor apoyo para los serviciosy eventos LTI 2 se basa en LTI 1 mediante la incorporacioacuten de maacutes sosticada resulta-dos de informes y una rica arquitectura de extensiones que permite servicios adicionalesque se antildeadiraacuten gradualmente LTI 2 utiliza REST y JSON-LD para ofrecer esta nuevafuncionalidad

Figura 51 Esquema LTI Baacutesico

En la gura 52 podemos observar como se podriacutean utilizar las ventajas de LTI por parte decada unos de los actores a lo largo de la vida de la aplicacioacuten de servicios externos dentro de unaplataforma de aprendizaje

En la paacutegina web de IMS3 podemos encontrar una relacioacuten de aplicaciones certicadas comocompatibles con el estaacutendar LTI indicando la versioacuten del LTI que cumplen En la gura 53podemos ver las aplicaciones certicadas por UOC y en la gura 54 la informacioacuten sobre una deestas herramientas

3httpwwwimsglobalorgccalltoolscfm

Figura 52 Esquema utilizacioacuten LTI

Figura 53 Listado de herramientas LTI de la UOC

53 Herramientas externas en Moodle

La siguiente seccioacuten consiste en la aplicacioacuten de alguno de esto servicios externos en Moodlepara comprobar su funcionamiento Nos decantaremos para la primera prueba por WordPresspues aunque existen manuales al respecto la documentacioacuten en castellano es escasa

531 Wordpress

La versioacuten estaacutendar de Wordpress a la cual accedemos cuando nos abrimos cuenta en Wordpressno viene con las herramientas necesarias para la iteracioacuten mediante LTI por lo que procedere-mos a la instalacioacuten en nuestro servidor de Wordpress para pasar a la instalacioacuten de los pluginsnecesarios

La instalacioacuten ha consistido en la descarga de la web ocial 4 de la versioacuten 351 la cual hemoscopiado dentro del directorio htdocs de nuestra instalacioacuten de Xampp Hemos dado de alta unnuevo usuario en nuestra base de datos llamado username como podemos ver en la imagen 55 yposteriormente hemos seguido los pasos que el instalador nos iba ofreciendo para tener instalado

4httpwordpressorgdownload

Figura 54 Informacioacuten sobre la certicacioacuten

Wordpress bajo la url httplocalhostwordpress

Figura 55 Usuario de Wordpress

Deberemos congurar Wordpress para que trabaje como multisitio para lo que deberemos seguirlos pasos de conguracioacuten que podemos encontrar en la web ocial de Wordpress5 bajo el nombreCreate A Network consistente en los siguientes pasos

1 Realizar una copia de seguridad por si acaso

2 Modicar el chero wp-congphp incluyendo la siguiente linea encima de Thats allstop editing Happy blogging Multisite dene (WP_ ALLOW_ MULTISITE true)

Multisite dene (WP_ ALLOW_ MULTISITE true)

3 Installar un Network Para ello hemos de entra en la opcioacuten Administration -gtTools -gtNetwork Setup donde podremos congurar opciones sobre el nombre que queremos declararpara el nuevo sitio

4 Activar el Network para ello debemos modicar los cheros wp-congphp y htaccess porlo que seriacutea bueno que realizaacuteramos primero un copia de seguridad de los mismos Loscambios que debemos realizar son los siguientes

5httpcodexwordpressorgCreate_A_Network

En wp-congphp dene(MULTISITE true)dene(SUBDOMAIN_ INSTALL false)dene(DOMAIN_ CURRENT_ SITE localhost)dene(PATH_ CURRENT_ SITE wordpress)dene(SITE_ ID_ CURRENT_ SITE 1)dene(BLOG_ ID_ CURRENT_ SITE 1)

El chero htaccess debe quedar asiacute BEGIN WordPressltIfModule mod_ rewritecgtRewriteEngine OnRewriteBase wordpressRewriteRule icircndexphp$ - [L]

add a trailing slash to wp-adminRewriteRule ([_ 0-9a-zA-Z-]+)wp-admin1wp-admin [R=301L]

RewriteCondREQUEST_ FILENAME -f [OR]RewriteCondREQUEST_ FILENAME -dRewriteRule - [L]RewriteRule ([_ 0-9a-zA-Z-]+)(wp-(content|admin|includes)) $2 [L]RewriteRule ([_ 0-9a-zA-Z-]+)( php)$ $2 [L]RewriteRule indexphp [L]ltIfModulegt

END WordPress

5 Esto nos habraacute creado en la parte izquierda de la barra de herramientas de Wordpressuna nueva opcioacuten llamada My Sites que contendraacute un listado de los sitios de nuestroWordpress

El siguiente paso seraacute la descarga del plugin los cual podremos hacerlos desde la web de sour-forgenet 6 En esta web se detalla informacioacuten sobre el plugin y como se debe instalar Siguiendolos pasos que tenemos en el mismo procederemos a la descarga y el desplegado del mismo en lacarpeta wp-contentmu-plugins Salimos de Wordpress y volvemos a entrar como superusuariosi entramos dentro de la nueva red realizada podremos ver que dentro de LTI Consumers Keystendremos la opcioacuten LTI Consumers Keys como podemos ver en la imagen 56

Aquiacute deberemos crear la clave del consumidor del servicio y la clave secreta que nos permitiraacute aMoodle conectarse a Wordpress

Una vez que tenemos la clave secreta y del consumidor deberemos volver a Moodle entrandocomo administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

6httpsourceforgenetappsmediawikilearningappsindexphptitle=LTI4Wordpress

Figura 56 Servicios LTI en Wordpress

Figura 57 Listado de claves de LTI en Wordpress

-LTI En esta paacutegina podremos rellenar nuestras opciones

Tool Name Seraacute el nombre que tendraacute la herramienta y deberemos poner alguno indicativode la herramienta que estemos utilizando

Tool Base URL Es la direccioacuten de la herramienta en nuestro caso httplocalhostwordpress

Deberemos rellenar con los datos obtenidos en Wordpress la clave de consumidor y la clavesecreta

Es importante marcar Show tool type when creating tool instances para que aparezcaposteriormente al crear los recursos en nuestros cursos

Para poder probar el sistema hemos creado un curso dentro de Moodle llamada WordpressLTIdonde daremos de la siguiente manera de alta 59

Dentro de nuestro curso seleccionamos la opcioacuten de Edicioacuten

Pulsamos sobre Antildeadir una actividad o un recurso

Seleccionamos External Tool

Rellenamos las opciones

bull Nombre de la Actividad Cualquiera de nuestra eleccioacuten

Figura 58 Conguracioacuten LTI en Moodle

bull Tipo de herramienta externa El nombre que le pusimos a la herramienta externa enla conguracioacuten LTI de Moodle

bull Launch Container Hemos elegido la opcioacuten Incrustar para ver el resultado

Figura 59 Conguracioacuten Herramienta Externa

Una vez congurado podemos lanzar la herramienta externa teniendo como resultado la gura510

Figura 510 Wordpress integrado en Moodle

532 ChemVantage

ChemVantage es un recurso gratuito para la educacioacuten cientiacuteca que incluye ejercicios de gradoejercicios de preparacioacuten exaacutemenes de la praacutectica conferencias de video y libros de texto enliacutenea gratis Fue creado por ChemVantage LLC que fue fundada por el Prof Chuck Wight queha ensentildeado Quiacutemica General en la Universidad de Utah desde 1984 (ChemVantage 2011)

Nos hemos puesto en contacto con Chuck Wight (adminchemvantageorg) para solicitarle unaclave de consumidor y secreta para poder probar este recurso desde moodle Las opciones y elcorreo puede verse en la gura 511

Una de las cosas maacutes importantes de ChemVantage y por lo que nos hemos decidido a probar esque permite la devolucioacuten de las notas obtenidas en los ejercicios realizados en las herramientasexternas a Moodle El alumno podraacute realizar las tareas en esta herramienta externa y luego sercalicadas en Moodle

ChemVantage estaacute certicada por IMS 7 como un proveedor de herramientas LTI v11 y comotal funciona desde nuestro propio LMS para llevar a cabo la autenticacioacuten de sitios provee decuentas y devuelve resultados de asignacioacuten de estudiantes con el libro LMS grado automaacutetica-mente

Los recursos disponible son ChemVantage son principalmente los siguientes

1 QuizzesLos ejercicios presentados aquiacute estaacuten disentildeados para animar a los estudiantes a leer y en-tender los libros de texto utilizados en el curso Las preguntas se basan en material que sepresente en su mayor parte en los textos de introduccioacuten de quiacutemica Los iacutetems de preguntastienen respuestas straighforward no requieren caacutelculos detallados Las preguntas se presen-tan en varios formatos diferentes incluyendo opcioacuten muacuteltiple verdadero falso casilla devericacioacuten ll-in-the-blanco y numeacutericas Cada cuestionario se compone de 10 preguntasextraiacutedas al azar de una base de datos con muchas maacutes preguntas En el proceso de tomarvarias pruebas para mejorar sus calicaciones los estudiantes probablemente encuentran

7httpdevelopersimsglobalorgcoursechemvantagehtml

algunas preguntas repetidas de concursos anteriores sin embargo es poco probable quecualquiera de los dos cuestionarios contendraacute exactamente el mismo conjunto de preguntasen el mismo orden Asignando pruebas para ser completado antes de la conferencia losprofesores pueden estar seguros de que sus estudiantes tengan un poco de exposicioacuten almaterial Esto permite una mayor discusioacuten el diaacutelogo y la participacioacuten en el aula y haceel aprendizaje maacutes divertido (de verdad)

2 Video LecturesUna serie de conferencias de viacutedeo de 10 minutos sobre una variedad de temas de QuiacutemicaGeneral es accesible desde la paacutegina principal Los videos estaacuten disentildeados para reforzar lospuntos principales que se presentan en muchos libros de texto

3 HoweworksLas tareas estaacuten disentildeadas para dar a los estudiantes la praacutectica en la resolucioacuten de proble-mas cuantitativos que tienen respuestas numeacutericas Cada alumno puede descargar la tareatrabajar los problemas y presentar las respuestas en liacutenea Respuestas son juzgados a sercorrecta si la solucioacuten numeacuterica de acuerdo con la solucioacuten que se encuentra en la base dedatos dentro de una tolerancia especicada (indicado para cada problema) El sitio informaa los estudiantes que las respuestas son correctas para que puedan rehacer problemas malresueltos y volver a presentar las respuestas Cada problema se basa en una plantilla queatrae paraacutemetros al azar por lo que la respuesta correcta es diferente para cada estudianteEsto hace que sean adecuadas para la colaboracioacuten y el trabajo en grupo porque a pesarde que el grupo puede trabajar para encontrar un algoritmo correcto para resolver un prob-lema cada estudiante tendraacute que usar el algoritmo para encontrar la solucioacuten detallada asu propio problema

4 Practice ExamsLos estudiantes pueden realizaar exaacutemenes de praacutectica cronometrados que muestran laspreguntas de un grupo de 3 o maacutes temas Cada examen estaacute disentildeado para tardar unos60 minutos o menos e incluye una seleccioacuten de 10 preguntas Las praacutecticas de exaacutemenespueden repetirse cuantas veces se desee Las preguntas numeacutericas son parametrizadas loque es muy poco probable que un estudiante realice alguna vez dos exaacutemenes de praacutecticaideacutenticos

5 Portofolio PageCada estudiante puede acceder a una paacutegina que le da la puntuacioacuten obtenida en cada prue-ba y la asignacioacuten de tareas Los estudiantes que son miembros de un grupo tienen unapaacutegina de resultados asociados a las tareas de grupo Hay una paacutegina de carpeta separadaque contiene un resumen de todas las actividades realizadas en ChemVantage incluyendovideos vistos cuestionarios completados resolver problemas con la tarea y la praacutectica deexaacutemenes completados Las puntuaciones en los exaacutemenes de praacutectica son desagregadospara revelar fortalezas y debilidades estudiantes por temas

Hemos procedido a darlo de alta en LTI como hicimos con Wordpress Entramos en Moodle co-mo Administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

Figura 511 Correo de Chuck Wight

-LTI quedando como resultado la siguiente hoja de paraacutemetros gura 512

El siguiente paso seraacute antildeadir la herramienta dentro de nuestro curso para ello pulsaremos sobreAntildeadir una actividad o un recurso Deberemos seleccionar External Tool y rellenamos las op-ciones de la herramienta seleccionando como Tipo de herramienta externa la opcioacuten creada enel apartado de LTI de Moodle

Una vez congurado la herramienta en Moodle podemos entrar para realizar una personalizacioacutende la herramienta gura 513 esta consiste en indicar si el alumno cuando se conecta realiza undeterminado tarea o puede elegir navegar por la web de ChemVantage para poder disfrutar dela cantidad de recursos que se encuentran disponibles

Cuando el usuario pulsa sobre la opcioacuten de esta herramienta externa en Moodle lo primero quese le muestra es la informacioacuten sobre su perl en Chemvantage 514Como hemos visto en los paraacutemetros de conguracioacuten existe la posibilidad de llamar a unaherramienta externa incrustaacutendola dentro de Moodle o abrieacutendolo en una paacutegina web nuevaCon esta segunda opcioacuten no hemos conseguido que funcione correctamente la importacioacuten de lasnotas En cambio si la herramienta externa estaacute incrustada permite esa vinculacioacuten

Figura 512 Conguracioacuten de paraacutemetros LTI

Figura 513 Opciones de inicio de la herramienta

Figura 514 Pantalla de utilizacioacuten de la herramienta por el usuario

Capiacutetulo 6

Middleware

61 Introduccioacuten

La uacuteltima opcioacuten seriacutea utilizar una arquitectura middleware de integracioacuten que permita la inte-gracioacuten ligera de muacuteltiples herramientas existentes en el Moodle

62 GluePS

GLUE-PS es una arquitectura de middleware que permite una interoperabilidad ligera entrelos diferentes lenguajes de disentildeo de aprendizaje y diferentes entornos de aprendizaje virtualEsta interoperabilidad permite a los maestros y otros profesionales que particularicen (es decirpara personalizar el disentildeo de aprendizaje abstractoa la clase particular los participantes y laeleccioacuten de los instrumentos en los que va a ser promulgada) desplieguen (es decir para crearde forma semiautomaacutetica las actividades necesarias en el VLE recursos etc para la aprobacioacutendel disentildeo particularizado) e incluso para llevar a cabo ciertos cambios en el tiempo de ejecucioacuten(por ejemplo modicar la composicioacuten del grupo agregar o quitar recursos de las actividadesetc) Todo esto a partir de disentildeos en distintos lenguajes de disentildeo de aprendizaje tales como laespecicacioacuten IMS-LD aprendizaje

Por otra parte GLUE-PS tambieacuten permite desplegar y gestionar disentildeos de aprendizaje en en-tornos virtuales de aprendizaje que integren herramientas de aprendizaje externos (tales comointegrar en Moodle herramientas como Google Docs y muchos otros) - lo que llamamos Am-bientes de Aprendizaje Distribuido (DLE Distributed Learning Enviroments) Esto se consiguegracias a la arquitectura de GLUE para la integracioacuten de los entornos virtuales de aprendizajey herramientas externas

621 Instalacioacuten

Para realizar la instalacioacuten de GLUE-PS nos hemos descargado el software necesario de la webde los desarrolladores1 descargando la opcioacuten de autenticacioacuten centralizada La instalacioacuten haconstado de tres partes que pasaremos a describir a continuacioacuten

1httpwwwgsicuvaesglue

49

Figura 61 Arquitectura de GLUE

La primera parte consiste en la instalacioacuten del GLUEletManager y los adaptadores GSIC toolAunque el sistema viene preparado para Linux o Windows siendo Windows la explicacioacuten quevamos a desarrollar por estar utilizando este sistema operativo con Xampp

1 Crear el directorio GLUE_ HOME El cual hemos creado para mayor comodidad en la raiacutezdel disco duro

2 Denir la variable del sistema GLUE_ HOME con el valor de la direccioacuten completa deldirectorio de GLUE del punto anterior Para ello hemos pulsado botoacuten derecho sobre MiPc Propiedad Opciones Avanzadas Variables de Entorno procediendo a pulsar el botoacutenNueva para crear la variable en cuestioacuten

3 Extraemos en el directorio del punto (1) el paquete descargado de la paacutegina de los desar-rolladores

4 Ejecutar la instalacioacuten del cheroGLUE_ HOMEbininstall gluebat para registar GLUElet-Manager y GSIC tool como un servicio de Windows Tambieacuten este paso crearaacute un cheroen GLUE_ HOMEtool_ adapteradapterdata para proveer de persistencia a los objetoscreados con el adaptador GSIC tool

A continuacioacuten daremos de alta en nuestro gestor de bases de datos un para de bases de datosque necesita GLUEletManager Para ellos seguimos los siguientes pasos

1 Abrimos la consola de phpMyaAdmin para cargar y ejecutar el chero create_ GLUE_databasessql que se encuentra en GLUE_ HOMEmanagerconfdb

2 Modicamos el chero GLUE_ HOMEmanagerconfMETA-INFpersistencexml paradarle los paraacutemetros necesarios para que JDBC se conecte a nuestra base de datos Losparaacutemetros modicados puede verse en la imagen 62

Figura 62 Paraacutemetros modicados en persistencexml

La segunda parte consiste en el registro interno de los adaptadores de las herramientas para seraccedido con GLUEletManager La distribucioacuten trae un chero para facilitar la conguracioacuten delos adaptadores que trae consigo y para su instalacioacuten deberemos ejecutar el chero GLUE_HOMEmanagerconfdbll _ internal_ Registrysql Alguna de las herramientas necesitanuna conguracioacuten maacutes completa como puede ser Google Docs adapter que necesita una cuentade Gmail para poder crear documentos en Google Docs por lo que deberemos modicar el nom-bre de usuario y contrasentildea

La uacuteltima parte consiste en la instalacioacuten del adaptardor de Moodle como VLE utilizado Estainstalacioacuten es como cualquier otro moacutedulo de Moodle 2 La carpeta que deberemos copiar seraacutela del adaptador correspondiente a Moodle que se encuentra en la carpeta GLUE_ HOMEvle_adpatersmoodle_ vle_ adapter Una vez entremos en nuestro Moodle como administrador nosapareceraacute un mensaje indicaacutendonos que el nuevo moacutedulo esta instalado Para congurar el nuevomoacutedulo debermos ir a Noticaciones - Modulos - Actividades como podemos ver en la gura 63para congurar los paraacutemetros la URL del GLUEletManager y el tiempo de espera

Figura 63 Paraacutemetros del moacutedulo GLUE

Cuando el profesor quiera crear una nueva actividad dependiente de los adaptadores de GLUEdeberaacute agregar una actividad maacutes pulsando para ello en esta opcioacuten dentro del bloque deseadopara seleccionar luego el tipo de actividad GLUElet como podemos ver en la gura64

622 Creando un Doodle

El adaptador Doodle permite la creacioacuten conguracioacuten y gestioacuten de instancias del Doodle Cadaencuesta Doodle es considerado un instancia diferente Ademaacutes este adaptador permite realizarademas la conguracioacuten inicial de encuestas Doodle incluyendo el nombre de la encuesta unadescripcioacuten y un conjunto de posibles respuestas

A continuacioacuten antildeadiremos Doodle en un bloque de Moodle para ellos pulsaremos la opcioacuten deAgregar actividad GLUElet lo cual nos mostraraacute la paacutegina65 donde deberemos rellenar comomiacutenimo el nombre de la actividad y el tipo de herramienta seleccionado en este caso Doodle(httpdoodle-testcom)

2httpdocsmoodleorgenInstalling_contributed_modules_or_plugins

Figura 64 Creando una actividad GLUElet

La primera vez que pulsemos sobre la nueva actividad creada apareceraacute un pantalla 66 dondepodemos congurar diferentes elementos de la encuesta desarrollada con Doodle como son eltiacutetulo una pequentildea descripcioacuten y luego las opciones posibles con un liacutemite de 10

El resultado nal seraacute la incrustacioacuten de una encuesta Doodle dentro de nuestro Moodle comopodemos ver en la gura67

Figura 65 Antildeadiendo Doodle como actividad

Figura 66 Opciones iniciales de conguracioacuten de Doodle

Figura 67 Doodel dentro de Moodle

Capiacutetulo 7

Conclusiones Finales

71 Conclusiones Finales

El proyecto actual nos ha servido para acercarnos a las diferentes tecnologiacuteas que permiten lacomunicacioacuten entre Servicios Webs Hemos desarrollado una primera labor de investigacioacuten queha requerido el aprendizaje de diferentes herramientas de control de documentacioacuten y referenciascomo Zotero y Mendeley

La documentacioacuten recabada en el proceso inicial de revisioacuten de documentos nos ha aportadoun visioacuten general de los diferentes sistemas virtuales de aprendizaje que podemos encontrarnosmuchos de ellos gratuitos y las diferentes soluciones que se plantean a la necesidad de incluirrecursos de otros fabricantes que en principio no fueron concebidos para ser utilizados dentro deuna plataforma VLE

Para poner en praacutectica la diferentes opciones encontradas se han montado diferentes maacutequinasvirtuales sobre las que se han probado las mismas Las conclusiones nales se pasan a detallar

IMS LTIEsta solucioacuten de integracioacuten mediante el cumplimiento de unos protocolos y certicacionesde las herramientas que lo cumplen es en principio la que podriacutea parecer la mejor opcioacutenpero la falta de compromiso de los diferentes fabricantes de Servicios Web y la luchapara imponer sus propios estaacutendares hace que aun quede mucho para que esta opcioacuten seacomo tal real

Si vemos el nuacutemero de aplicaciones certicadas para usar IMS LTI apenas superan las 50 yla mayoriacutea solo cumple la especicacioacuten v10 lo cual signica que la integracioacuten solo solu-ciona el problema de llamar a un recurso externo desde Moodle Pocas son las que cumplenla v11 que permite obtener en Moodle una valoracioacuten de los ejercicios desarrollados en unaactividad externa

La versioacuten v20 que daraacute maacutes opciones a la hora de interactuar con actividades externasauacuten esta en desarrollo y nada se sabe sobre posibles fechas para su presentacioacuten Luegocerticacioacuten de herramientas etc

55

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 44: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

pueden agregar funcionalidad especializada a los LMS El enfoque ofrece una solucioacuten basada enWeb Services igualmente aplicable a distintos lenguajes de programacioacuten

Las versiones del LTI son

LTI v10 ( LTI Basic ) ( publicado en mayo de 2010 ) proporciona un meacutetodo sencillopero estaacutendar para establecer una conexioacuten segura a una herramienta desde el interior deun consumidor de herramientas El lanzamiento de este enlace permite una experienciade aprendizaje sin problemas para los estudiantes que acceden a las aplicaciones ricas queparecen tener lugar dentro del ambiente de aprendizaje Versioacuten 10 es el primer paso en eldesarrollo continuo de LTI Figura 51

LTI v11 ( publicado en marzo 2012 ) antildeade la posibilidad de pasar de nuevo un resultadode la herramienta al Consumidor de herramientas Esto permite que los estudiantes recibenuna calicacioacuten o puntuacioacuten de su interaccioacuten con la aplicacioacuten de aprendizaje

LTI v111 ( publicado en julio de 2012 ) incluye soporte para el papel Mentor que se puedeutilizar para representar a un padre tutor o auditor

LTI v20 Aun en estado de desarrollo y proporciona una plataforma maacutes sosticado y ex-tensible para permitir integraciones maacutes profundas y un mayor apoyo para los serviciosy eventos LTI 2 se basa en LTI 1 mediante la incorporacioacuten de maacutes sosticada resulta-dos de informes y una rica arquitectura de extensiones que permite servicios adicionalesque se antildeadiraacuten gradualmente LTI 2 utiliza REST y JSON-LD para ofrecer esta nuevafuncionalidad

Figura 51 Esquema LTI Baacutesico

En la gura 52 podemos observar como se podriacutean utilizar las ventajas de LTI por parte decada unos de los actores a lo largo de la vida de la aplicacioacuten de servicios externos dentro de unaplataforma de aprendizaje

En la paacutegina web de IMS3 podemos encontrar una relacioacuten de aplicaciones certicadas comocompatibles con el estaacutendar LTI indicando la versioacuten del LTI que cumplen En la gura 53podemos ver las aplicaciones certicadas por UOC y en la gura 54 la informacioacuten sobre una deestas herramientas

3httpwwwimsglobalorgccalltoolscfm

Figura 52 Esquema utilizacioacuten LTI

Figura 53 Listado de herramientas LTI de la UOC

53 Herramientas externas en Moodle

La siguiente seccioacuten consiste en la aplicacioacuten de alguno de esto servicios externos en Moodlepara comprobar su funcionamiento Nos decantaremos para la primera prueba por WordPresspues aunque existen manuales al respecto la documentacioacuten en castellano es escasa

531 Wordpress

La versioacuten estaacutendar de Wordpress a la cual accedemos cuando nos abrimos cuenta en Wordpressno viene con las herramientas necesarias para la iteracioacuten mediante LTI por lo que procedere-mos a la instalacioacuten en nuestro servidor de Wordpress para pasar a la instalacioacuten de los pluginsnecesarios

La instalacioacuten ha consistido en la descarga de la web ocial 4 de la versioacuten 351 la cual hemoscopiado dentro del directorio htdocs de nuestra instalacioacuten de Xampp Hemos dado de alta unnuevo usuario en nuestra base de datos llamado username como podemos ver en la imagen 55 yposteriormente hemos seguido los pasos que el instalador nos iba ofreciendo para tener instalado

4httpwordpressorgdownload

Figura 54 Informacioacuten sobre la certicacioacuten

Wordpress bajo la url httplocalhostwordpress

Figura 55 Usuario de Wordpress

Deberemos congurar Wordpress para que trabaje como multisitio para lo que deberemos seguirlos pasos de conguracioacuten que podemos encontrar en la web ocial de Wordpress5 bajo el nombreCreate A Network consistente en los siguientes pasos

1 Realizar una copia de seguridad por si acaso

2 Modicar el chero wp-congphp incluyendo la siguiente linea encima de Thats allstop editing Happy blogging Multisite dene (WP_ ALLOW_ MULTISITE true)

Multisite dene (WP_ ALLOW_ MULTISITE true)

3 Installar un Network Para ello hemos de entra en la opcioacuten Administration -gtTools -gtNetwork Setup donde podremos congurar opciones sobre el nombre que queremos declararpara el nuevo sitio

4 Activar el Network para ello debemos modicar los cheros wp-congphp y htaccess porlo que seriacutea bueno que realizaacuteramos primero un copia de seguridad de los mismos Loscambios que debemos realizar son los siguientes

5httpcodexwordpressorgCreate_A_Network

En wp-congphp dene(MULTISITE true)dene(SUBDOMAIN_ INSTALL false)dene(DOMAIN_ CURRENT_ SITE localhost)dene(PATH_ CURRENT_ SITE wordpress)dene(SITE_ ID_ CURRENT_ SITE 1)dene(BLOG_ ID_ CURRENT_ SITE 1)

El chero htaccess debe quedar asiacute BEGIN WordPressltIfModule mod_ rewritecgtRewriteEngine OnRewriteBase wordpressRewriteRule icircndexphp$ - [L]

add a trailing slash to wp-adminRewriteRule ([_ 0-9a-zA-Z-]+)wp-admin1wp-admin [R=301L]

RewriteCondREQUEST_ FILENAME -f [OR]RewriteCondREQUEST_ FILENAME -dRewriteRule - [L]RewriteRule ([_ 0-9a-zA-Z-]+)(wp-(content|admin|includes)) $2 [L]RewriteRule ([_ 0-9a-zA-Z-]+)( php)$ $2 [L]RewriteRule indexphp [L]ltIfModulegt

END WordPress

5 Esto nos habraacute creado en la parte izquierda de la barra de herramientas de Wordpressuna nueva opcioacuten llamada My Sites que contendraacute un listado de los sitios de nuestroWordpress

El siguiente paso seraacute la descarga del plugin los cual podremos hacerlos desde la web de sour-forgenet 6 En esta web se detalla informacioacuten sobre el plugin y como se debe instalar Siguiendolos pasos que tenemos en el mismo procederemos a la descarga y el desplegado del mismo en lacarpeta wp-contentmu-plugins Salimos de Wordpress y volvemos a entrar como superusuariosi entramos dentro de la nueva red realizada podremos ver que dentro de LTI Consumers Keystendremos la opcioacuten LTI Consumers Keys como podemos ver en la imagen 56

Aquiacute deberemos crear la clave del consumidor del servicio y la clave secreta que nos permitiraacute aMoodle conectarse a Wordpress

Una vez que tenemos la clave secreta y del consumidor deberemos volver a Moodle entrandocomo administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

6httpsourceforgenetappsmediawikilearningappsindexphptitle=LTI4Wordpress

Figura 56 Servicios LTI en Wordpress

Figura 57 Listado de claves de LTI en Wordpress

-LTI En esta paacutegina podremos rellenar nuestras opciones

Tool Name Seraacute el nombre que tendraacute la herramienta y deberemos poner alguno indicativode la herramienta que estemos utilizando

Tool Base URL Es la direccioacuten de la herramienta en nuestro caso httplocalhostwordpress

Deberemos rellenar con los datos obtenidos en Wordpress la clave de consumidor y la clavesecreta

Es importante marcar Show tool type when creating tool instances para que aparezcaposteriormente al crear los recursos en nuestros cursos

Para poder probar el sistema hemos creado un curso dentro de Moodle llamada WordpressLTIdonde daremos de la siguiente manera de alta 59

Dentro de nuestro curso seleccionamos la opcioacuten de Edicioacuten

Pulsamos sobre Antildeadir una actividad o un recurso

Seleccionamos External Tool

Rellenamos las opciones

bull Nombre de la Actividad Cualquiera de nuestra eleccioacuten

Figura 58 Conguracioacuten LTI en Moodle

bull Tipo de herramienta externa El nombre que le pusimos a la herramienta externa enla conguracioacuten LTI de Moodle

bull Launch Container Hemos elegido la opcioacuten Incrustar para ver el resultado

Figura 59 Conguracioacuten Herramienta Externa

Una vez congurado podemos lanzar la herramienta externa teniendo como resultado la gura510

Figura 510 Wordpress integrado en Moodle

532 ChemVantage

ChemVantage es un recurso gratuito para la educacioacuten cientiacuteca que incluye ejercicios de gradoejercicios de preparacioacuten exaacutemenes de la praacutectica conferencias de video y libros de texto enliacutenea gratis Fue creado por ChemVantage LLC que fue fundada por el Prof Chuck Wight queha ensentildeado Quiacutemica General en la Universidad de Utah desde 1984 (ChemVantage 2011)

Nos hemos puesto en contacto con Chuck Wight (adminchemvantageorg) para solicitarle unaclave de consumidor y secreta para poder probar este recurso desde moodle Las opciones y elcorreo puede verse en la gura 511

Una de las cosas maacutes importantes de ChemVantage y por lo que nos hemos decidido a probar esque permite la devolucioacuten de las notas obtenidas en los ejercicios realizados en las herramientasexternas a Moodle El alumno podraacute realizar las tareas en esta herramienta externa y luego sercalicadas en Moodle

ChemVantage estaacute certicada por IMS 7 como un proveedor de herramientas LTI v11 y comotal funciona desde nuestro propio LMS para llevar a cabo la autenticacioacuten de sitios provee decuentas y devuelve resultados de asignacioacuten de estudiantes con el libro LMS grado automaacutetica-mente

Los recursos disponible son ChemVantage son principalmente los siguientes

1 QuizzesLos ejercicios presentados aquiacute estaacuten disentildeados para animar a los estudiantes a leer y en-tender los libros de texto utilizados en el curso Las preguntas se basan en material que sepresente en su mayor parte en los textos de introduccioacuten de quiacutemica Los iacutetems de preguntastienen respuestas straighforward no requieren caacutelculos detallados Las preguntas se presen-tan en varios formatos diferentes incluyendo opcioacuten muacuteltiple verdadero falso casilla devericacioacuten ll-in-the-blanco y numeacutericas Cada cuestionario se compone de 10 preguntasextraiacutedas al azar de una base de datos con muchas maacutes preguntas En el proceso de tomarvarias pruebas para mejorar sus calicaciones los estudiantes probablemente encuentran

7httpdevelopersimsglobalorgcoursechemvantagehtml

algunas preguntas repetidas de concursos anteriores sin embargo es poco probable quecualquiera de los dos cuestionarios contendraacute exactamente el mismo conjunto de preguntasen el mismo orden Asignando pruebas para ser completado antes de la conferencia losprofesores pueden estar seguros de que sus estudiantes tengan un poco de exposicioacuten almaterial Esto permite una mayor discusioacuten el diaacutelogo y la participacioacuten en el aula y haceel aprendizaje maacutes divertido (de verdad)

2 Video LecturesUna serie de conferencias de viacutedeo de 10 minutos sobre una variedad de temas de QuiacutemicaGeneral es accesible desde la paacutegina principal Los videos estaacuten disentildeados para reforzar lospuntos principales que se presentan en muchos libros de texto

3 HoweworksLas tareas estaacuten disentildeadas para dar a los estudiantes la praacutectica en la resolucioacuten de proble-mas cuantitativos que tienen respuestas numeacutericas Cada alumno puede descargar la tareatrabajar los problemas y presentar las respuestas en liacutenea Respuestas son juzgados a sercorrecta si la solucioacuten numeacuterica de acuerdo con la solucioacuten que se encuentra en la base dedatos dentro de una tolerancia especicada (indicado para cada problema) El sitio informaa los estudiantes que las respuestas son correctas para que puedan rehacer problemas malresueltos y volver a presentar las respuestas Cada problema se basa en una plantilla queatrae paraacutemetros al azar por lo que la respuesta correcta es diferente para cada estudianteEsto hace que sean adecuadas para la colaboracioacuten y el trabajo en grupo porque a pesarde que el grupo puede trabajar para encontrar un algoritmo correcto para resolver un prob-lema cada estudiante tendraacute que usar el algoritmo para encontrar la solucioacuten detallada asu propio problema

4 Practice ExamsLos estudiantes pueden realizaar exaacutemenes de praacutectica cronometrados que muestran laspreguntas de un grupo de 3 o maacutes temas Cada examen estaacute disentildeado para tardar unos60 minutos o menos e incluye una seleccioacuten de 10 preguntas Las praacutecticas de exaacutemenespueden repetirse cuantas veces se desee Las preguntas numeacutericas son parametrizadas loque es muy poco probable que un estudiante realice alguna vez dos exaacutemenes de praacutecticaideacutenticos

5 Portofolio PageCada estudiante puede acceder a una paacutegina que le da la puntuacioacuten obtenida en cada prue-ba y la asignacioacuten de tareas Los estudiantes que son miembros de un grupo tienen unapaacutegina de resultados asociados a las tareas de grupo Hay una paacutegina de carpeta separadaque contiene un resumen de todas las actividades realizadas en ChemVantage incluyendovideos vistos cuestionarios completados resolver problemas con la tarea y la praacutectica deexaacutemenes completados Las puntuaciones en los exaacutemenes de praacutectica son desagregadospara revelar fortalezas y debilidades estudiantes por temas

Hemos procedido a darlo de alta en LTI como hicimos con Wordpress Entramos en Moodle co-mo Administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

Figura 511 Correo de Chuck Wight

-LTI quedando como resultado la siguiente hoja de paraacutemetros gura 512

El siguiente paso seraacute antildeadir la herramienta dentro de nuestro curso para ello pulsaremos sobreAntildeadir una actividad o un recurso Deberemos seleccionar External Tool y rellenamos las op-ciones de la herramienta seleccionando como Tipo de herramienta externa la opcioacuten creada enel apartado de LTI de Moodle

Una vez congurado la herramienta en Moodle podemos entrar para realizar una personalizacioacutende la herramienta gura 513 esta consiste en indicar si el alumno cuando se conecta realiza undeterminado tarea o puede elegir navegar por la web de ChemVantage para poder disfrutar dela cantidad de recursos que se encuentran disponibles

Cuando el usuario pulsa sobre la opcioacuten de esta herramienta externa en Moodle lo primero quese le muestra es la informacioacuten sobre su perl en Chemvantage 514Como hemos visto en los paraacutemetros de conguracioacuten existe la posibilidad de llamar a unaherramienta externa incrustaacutendola dentro de Moodle o abrieacutendolo en una paacutegina web nuevaCon esta segunda opcioacuten no hemos conseguido que funcione correctamente la importacioacuten de lasnotas En cambio si la herramienta externa estaacute incrustada permite esa vinculacioacuten

Figura 512 Conguracioacuten de paraacutemetros LTI

Figura 513 Opciones de inicio de la herramienta

Figura 514 Pantalla de utilizacioacuten de la herramienta por el usuario

Capiacutetulo 6

Middleware

61 Introduccioacuten

La uacuteltima opcioacuten seriacutea utilizar una arquitectura middleware de integracioacuten que permita la inte-gracioacuten ligera de muacuteltiples herramientas existentes en el Moodle

62 GluePS

GLUE-PS es una arquitectura de middleware que permite una interoperabilidad ligera entrelos diferentes lenguajes de disentildeo de aprendizaje y diferentes entornos de aprendizaje virtualEsta interoperabilidad permite a los maestros y otros profesionales que particularicen (es decirpara personalizar el disentildeo de aprendizaje abstractoa la clase particular los participantes y laeleccioacuten de los instrumentos en los que va a ser promulgada) desplieguen (es decir para crearde forma semiautomaacutetica las actividades necesarias en el VLE recursos etc para la aprobacioacutendel disentildeo particularizado) e incluso para llevar a cabo ciertos cambios en el tiempo de ejecucioacuten(por ejemplo modicar la composicioacuten del grupo agregar o quitar recursos de las actividadesetc) Todo esto a partir de disentildeos en distintos lenguajes de disentildeo de aprendizaje tales como laespecicacioacuten IMS-LD aprendizaje

Por otra parte GLUE-PS tambieacuten permite desplegar y gestionar disentildeos de aprendizaje en en-tornos virtuales de aprendizaje que integren herramientas de aprendizaje externos (tales comointegrar en Moodle herramientas como Google Docs y muchos otros) - lo que llamamos Am-bientes de Aprendizaje Distribuido (DLE Distributed Learning Enviroments) Esto se consiguegracias a la arquitectura de GLUE para la integracioacuten de los entornos virtuales de aprendizajey herramientas externas

621 Instalacioacuten

Para realizar la instalacioacuten de GLUE-PS nos hemos descargado el software necesario de la webde los desarrolladores1 descargando la opcioacuten de autenticacioacuten centralizada La instalacioacuten haconstado de tres partes que pasaremos a describir a continuacioacuten

1httpwwwgsicuvaesglue

49

Figura 61 Arquitectura de GLUE

La primera parte consiste en la instalacioacuten del GLUEletManager y los adaptadores GSIC toolAunque el sistema viene preparado para Linux o Windows siendo Windows la explicacioacuten quevamos a desarrollar por estar utilizando este sistema operativo con Xampp

1 Crear el directorio GLUE_ HOME El cual hemos creado para mayor comodidad en la raiacutezdel disco duro

2 Denir la variable del sistema GLUE_ HOME con el valor de la direccioacuten completa deldirectorio de GLUE del punto anterior Para ello hemos pulsado botoacuten derecho sobre MiPc Propiedad Opciones Avanzadas Variables de Entorno procediendo a pulsar el botoacutenNueva para crear la variable en cuestioacuten

3 Extraemos en el directorio del punto (1) el paquete descargado de la paacutegina de los desar-rolladores

4 Ejecutar la instalacioacuten del cheroGLUE_ HOMEbininstall gluebat para registar GLUElet-Manager y GSIC tool como un servicio de Windows Tambieacuten este paso crearaacute un cheroen GLUE_ HOMEtool_ adapteradapterdata para proveer de persistencia a los objetoscreados con el adaptador GSIC tool

A continuacioacuten daremos de alta en nuestro gestor de bases de datos un para de bases de datosque necesita GLUEletManager Para ellos seguimos los siguientes pasos

1 Abrimos la consola de phpMyaAdmin para cargar y ejecutar el chero create_ GLUE_databasessql que se encuentra en GLUE_ HOMEmanagerconfdb

2 Modicamos el chero GLUE_ HOMEmanagerconfMETA-INFpersistencexml paradarle los paraacutemetros necesarios para que JDBC se conecte a nuestra base de datos Losparaacutemetros modicados puede verse en la imagen 62

Figura 62 Paraacutemetros modicados en persistencexml

La segunda parte consiste en el registro interno de los adaptadores de las herramientas para seraccedido con GLUEletManager La distribucioacuten trae un chero para facilitar la conguracioacuten delos adaptadores que trae consigo y para su instalacioacuten deberemos ejecutar el chero GLUE_HOMEmanagerconfdbll _ internal_ Registrysql Alguna de las herramientas necesitanuna conguracioacuten maacutes completa como puede ser Google Docs adapter que necesita una cuentade Gmail para poder crear documentos en Google Docs por lo que deberemos modicar el nom-bre de usuario y contrasentildea

La uacuteltima parte consiste en la instalacioacuten del adaptardor de Moodle como VLE utilizado Estainstalacioacuten es como cualquier otro moacutedulo de Moodle 2 La carpeta que deberemos copiar seraacutela del adaptador correspondiente a Moodle que se encuentra en la carpeta GLUE_ HOMEvle_adpatersmoodle_ vle_ adapter Una vez entremos en nuestro Moodle como administrador nosapareceraacute un mensaje indicaacutendonos que el nuevo moacutedulo esta instalado Para congurar el nuevomoacutedulo debermos ir a Noticaciones - Modulos - Actividades como podemos ver en la gura 63para congurar los paraacutemetros la URL del GLUEletManager y el tiempo de espera

Figura 63 Paraacutemetros del moacutedulo GLUE

Cuando el profesor quiera crear una nueva actividad dependiente de los adaptadores de GLUEdeberaacute agregar una actividad maacutes pulsando para ello en esta opcioacuten dentro del bloque deseadopara seleccionar luego el tipo de actividad GLUElet como podemos ver en la gura64

622 Creando un Doodle

El adaptador Doodle permite la creacioacuten conguracioacuten y gestioacuten de instancias del Doodle Cadaencuesta Doodle es considerado un instancia diferente Ademaacutes este adaptador permite realizarademas la conguracioacuten inicial de encuestas Doodle incluyendo el nombre de la encuesta unadescripcioacuten y un conjunto de posibles respuestas

A continuacioacuten antildeadiremos Doodle en un bloque de Moodle para ellos pulsaremos la opcioacuten deAgregar actividad GLUElet lo cual nos mostraraacute la paacutegina65 donde deberemos rellenar comomiacutenimo el nombre de la actividad y el tipo de herramienta seleccionado en este caso Doodle(httpdoodle-testcom)

2httpdocsmoodleorgenInstalling_contributed_modules_or_plugins

Figura 64 Creando una actividad GLUElet

La primera vez que pulsemos sobre la nueva actividad creada apareceraacute un pantalla 66 dondepodemos congurar diferentes elementos de la encuesta desarrollada con Doodle como son eltiacutetulo una pequentildea descripcioacuten y luego las opciones posibles con un liacutemite de 10

El resultado nal seraacute la incrustacioacuten de una encuesta Doodle dentro de nuestro Moodle comopodemos ver en la gura67

Figura 65 Antildeadiendo Doodle como actividad

Figura 66 Opciones iniciales de conguracioacuten de Doodle

Figura 67 Doodel dentro de Moodle

Capiacutetulo 7

Conclusiones Finales

71 Conclusiones Finales

El proyecto actual nos ha servido para acercarnos a las diferentes tecnologiacuteas que permiten lacomunicacioacuten entre Servicios Webs Hemos desarrollado una primera labor de investigacioacuten queha requerido el aprendizaje de diferentes herramientas de control de documentacioacuten y referenciascomo Zotero y Mendeley

La documentacioacuten recabada en el proceso inicial de revisioacuten de documentos nos ha aportadoun visioacuten general de los diferentes sistemas virtuales de aprendizaje que podemos encontrarnosmuchos de ellos gratuitos y las diferentes soluciones que se plantean a la necesidad de incluirrecursos de otros fabricantes que en principio no fueron concebidos para ser utilizados dentro deuna plataforma VLE

Para poner en praacutectica la diferentes opciones encontradas se han montado diferentes maacutequinasvirtuales sobre las que se han probado las mismas Las conclusiones nales se pasan a detallar

IMS LTIEsta solucioacuten de integracioacuten mediante el cumplimiento de unos protocolos y certicacionesde las herramientas que lo cumplen es en principio la que podriacutea parecer la mejor opcioacutenpero la falta de compromiso de los diferentes fabricantes de Servicios Web y la luchapara imponer sus propios estaacutendares hace que aun quede mucho para que esta opcioacuten seacomo tal real

Si vemos el nuacutemero de aplicaciones certicadas para usar IMS LTI apenas superan las 50 yla mayoriacutea solo cumple la especicacioacuten v10 lo cual signica que la integracioacuten solo solu-ciona el problema de llamar a un recurso externo desde Moodle Pocas son las que cumplenla v11 que permite obtener en Moodle una valoracioacuten de los ejercicios desarrollados en unaactividad externa

La versioacuten v20 que daraacute maacutes opciones a la hora de interactuar con actividades externasauacuten esta en desarrollo y nada se sabe sobre posibles fechas para su presentacioacuten Luegocerticacioacuten de herramientas etc

55

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 45: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

Figura 52 Esquema utilizacioacuten LTI

Figura 53 Listado de herramientas LTI de la UOC

53 Herramientas externas en Moodle

La siguiente seccioacuten consiste en la aplicacioacuten de alguno de esto servicios externos en Moodlepara comprobar su funcionamiento Nos decantaremos para la primera prueba por WordPresspues aunque existen manuales al respecto la documentacioacuten en castellano es escasa

531 Wordpress

La versioacuten estaacutendar de Wordpress a la cual accedemos cuando nos abrimos cuenta en Wordpressno viene con las herramientas necesarias para la iteracioacuten mediante LTI por lo que procedere-mos a la instalacioacuten en nuestro servidor de Wordpress para pasar a la instalacioacuten de los pluginsnecesarios

La instalacioacuten ha consistido en la descarga de la web ocial 4 de la versioacuten 351 la cual hemoscopiado dentro del directorio htdocs de nuestra instalacioacuten de Xampp Hemos dado de alta unnuevo usuario en nuestra base de datos llamado username como podemos ver en la imagen 55 yposteriormente hemos seguido los pasos que el instalador nos iba ofreciendo para tener instalado

4httpwordpressorgdownload

Figura 54 Informacioacuten sobre la certicacioacuten

Wordpress bajo la url httplocalhostwordpress

Figura 55 Usuario de Wordpress

Deberemos congurar Wordpress para que trabaje como multisitio para lo que deberemos seguirlos pasos de conguracioacuten que podemos encontrar en la web ocial de Wordpress5 bajo el nombreCreate A Network consistente en los siguientes pasos

1 Realizar una copia de seguridad por si acaso

2 Modicar el chero wp-congphp incluyendo la siguiente linea encima de Thats allstop editing Happy blogging Multisite dene (WP_ ALLOW_ MULTISITE true)

Multisite dene (WP_ ALLOW_ MULTISITE true)

3 Installar un Network Para ello hemos de entra en la opcioacuten Administration -gtTools -gtNetwork Setup donde podremos congurar opciones sobre el nombre que queremos declararpara el nuevo sitio

4 Activar el Network para ello debemos modicar los cheros wp-congphp y htaccess porlo que seriacutea bueno que realizaacuteramos primero un copia de seguridad de los mismos Loscambios que debemos realizar son los siguientes

5httpcodexwordpressorgCreate_A_Network

En wp-congphp dene(MULTISITE true)dene(SUBDOMAIN_ INSTALL false)dene(DOMAIN_ CURRENT_ SITE localhost)dene(PATH_ CURRENT_ SITE wordpress)dene(SITE_ ID_ CURRENT_ SITE 1)dene(BLOG_ ID_ CURRENT_ SITE 1)

El chero htaccess debe quedar asiacute BEGIN WordPressltIfModule mod_ rewritecgtRewriteEngine OnRewriteBase wordpressRewriteRule icircndexphp$ - [L]

add a trailing slash to wp-adminRewriteRule ([_ 0-9a-zA-Z-]+)wp-admin1wp-admin [R=301L]

RewriteCondREQUEST_ FILENAME -f [OR]RewriteCondREQUEST_ FILENAME -dRewriteRule - [L]RewriteRule ([_ 0-9a-zA-Z-]+)(wp-(content|admin|includes)) $2 [L]RewriteRule ([_ 0-9a-zA-Z-]+)( php)$ $2 [L]RewriteRule indexphp [L]ltIfModulegt

END WordPress

5 Esto nos habraacute creado en la parte izquierda de la barra de herramientas de Wordpressuna nueva opcioacuten llamada My Sites que contendraacute un listado de los sitios de nuestroWordpress

El siguiente paso seraacute la descarga del plugin los cual podremos hacerlos desde la web de sour-forgenet 6 En esta web se detalla informacioacuten sobre el plugin y como se debe instalar Siguiendolos pasos que tenemos en el mismo procederemos a la descarga y el desplegado del mismo en lacarpeta wp-contentmu-plugins Salimos de Wordpress y volvemos a entrar como superusuariosi entramos dentro de la nueva red realizada podremos ver que dentro de LTI Consumers Keystendremos la opcioacuten LTI Consumers Keys como podemos ver en la imagen 56

Aquiacute deberemos crear la clave del consumidor del servicio y la clave secreta que nos permitiraacute aMoodle conectarse a Wordpress

Una vez que tenemos la clave secreta y del consumidor deberemos volver a Moodle entrandocomo administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

6httpsourceforgenetappsmediawikilearningappsindexphptitle=LTI4Wordpress

Figura 56 Servicios LTI en Wordpress

Figura 57 Listado de claves de LTI en Wordpress

-LTI En esta paacutegina podremos rellenar nuestras opciones

Tool Name Seraacute el nombre que tendraacute la herramienta y deberemos poner alguno indicativode la herramienta que estemos utilizando

Tool Base URL Es la direccioacuten de la herramienta en nuestro caso httplocalhostwordpress

Deberemos rellenar con los datos obtenidos en Wordpress la clave de consumidor y la clavesecreta

Es importante marcar Show tool type when creating tool instances para que aparezcaposteriormente al crear los recursos en nuestros cursos

Para poder probar el sistema hemos creado un curso dentro de Moodle llamada WordpressLTIdonde daremos de la siguiente manera de alta 59

Dentro de nuestro curso seleccionamos la opcioacuten de Edicioacuten

Pulsamos sobre Antildeadir una actividad o un recurso

Seleccionamos External Tool

Rellenamos las opciones

bull Nombre de la Actividad Cualquiera de nuestra eleccioacuten

Figura 58 Conguracioacuten LTI en Moodle

bull Tipo de herramienta externa El nombre que le pusimos a la herramienta externa enla conguracioacuten LTI de Moodle

bull Launch Container Hemos elegido la opcioacuten Incrustar para ver el resultado

Figura 59 Conguracioacuten Herramienta Externa

Una vez congurado podemos lanzar la herramienta externa teniendo como resultado la gura510

Figura 510 Wordpress integrado en Moodle

532 ChemVantage

ChemVantage es un recurso gratuito para la educacioacuten cientiacuteca que incluye ejercicios de gradoejercicios de preparacioacuten exaacutemenes de la praacutectica conferencias de video y libros de texto enliacutenea gratis Fue creado por ChemVantage LLC que fue fundada por el Prof Chuck Wight queha ensentildeado Quiacutemica General en la Universidad de Utah desde 1984 (ChemVantage 2011)

Nos hemos puesto en contacto con Chuck Wight (adminchemvantageorg) para solicitarle unaclave de consumidor y secreta para poder probar este recurso desde moodle Las opciones y elcorreo puede verse en la gura 511

Una de las cosas maacutes importantes de ChemVantage y por lo que nos hemos decidido a probar esque permite la devolucioacuten de las notas obtenidas en los ejercicios realizados en las herramientasexternas a Moodle El alumno podraacute realizar las tareas en esta herramienta externa y luego sercalicadas en Moodle

ChemVantage estaacute certicada por IMS 7 como un proveedor de herramientas LTI v11 y comotal funciona desde nuestro propio LMS para llevar a cabo la autenticacioacuten de sitios provee decuentas y devuelve resultados de asignacioacuten de estudiantes con el libro LMS grado automaacutetica-mente

Los recursos disponible son ChemVantage son principalmente los siguientes

1 QuizzesLos ejercicios presentados aquiacute estaacuten disentildeados para animar a los estudiantes a leer y en-tender los libros de texto utilizados en el curso Las preguntas se basan en material que sepresente en su mayor parte en los textos de introduccioacuten de quiacutemica Los iacutetems de preguntastienen respuestas straighforward no requieren caacutelculos detallados Las preguntas se presen-tan en varios formatos diferentes incluyendo opcioacuten muacuteltiple verdadero falso casilla devericacioacuten ll-in-the-blanco y numeacutericas Cada cuestionario se compone de 10 preguntasextraiacutedas al azar de una base de datos con muchas maacutes preguntas En el proceso de tomarvarias pruebas para mejorar sus calicaciones los estudiantes probablemente encuentran

7httpdevelopersimsglobalorgcoursechemvantagehtml

algunas preguntas repetidas de concursos anteriores sin embargo es poco probable quecualquiera de los dos cuestionarios contendraacute exactamente el mismo conjunto de preguntasen el mismo orden Asignando pruebas para ser completado antes de la conferencia losprofesores pueden estar seguros de que sus estudiantes tengan un poco de exposicioacuten almaterial Esto permite una mayor discusioacuten el diaacutelogo y la participacioacuten en el aula y haceel aprendizaje maacutes divertido (de verdad)

2 Video LecturesUna serie de conferencias de viacutedeo de 10 minutos sobre una variedad de temas de QuiacutemicaGeneral es accesible desde la paacutegina principal Los videos estaacuten disentildeados para reforzar lospuntos principales que se presentan en muchos libros de texto

3 HoweworksLas tareas estaacuten disentildeadas para dar a los estudiantes la praacutectica en la resolucioacuten de proble-mas cuantitativos que tienen respuestas numeacutericas Cada alumno puede descargar la tareatrabajar los problemas y presentar las respuestas en liacutenea Respuestas son juzgados a sercorrecta si la solucioacuten numeacuterica de acuerdo con la solucioacuten que se encuentra en la base dedatos dentro de una tolerancia especicada (indicado para cada problema) El sitio informaa los estudiantes que las respuestas son correctas para que puedan rehacer problemas malresueltos y volver a presentar las respuestas Cada problema se basa en una plantilla queatrae paraacutemetros al azar por lo que la respuesta correcta es diferente para cada estudianteEsto hace que sean adecuadas para la colaboracioacuten y el trabajo en grupo porque a pesarde que el grupo puede trabajar para encontrar un algoritmo correcto para resolver un prob-lema cada estudiante tendraacute que usar el algoritmo para encontrar la solucioacuten detallada asu propio problema

4 Practice ExamsLos estudiantes pueden realizaar exaacutemenes de praacutectica cronometrados que muestran laspreguntas de un grupo de 3 o maacutes temas Cada examen estaacute disentildeado para tardar unos60 minutos o menos e incluye una seleccioacuten de 10 preguntas Las praacutecticas de exaacutemenespueden repetirse cuantas veces se desee Las preguntas numeacutericas son parametrizadas loque es muy poco probable que un estudiante realice alguna vez dos exaacutemenes de praacutecticaideacutenticos

5 Portofolio PageCada estudiante puede acceder a una paacutegina que le da la puntuacioacuten obtenida en cada prue-ba y la asignacioacuten de tareas Los estudiantes que son miembros de un grupo tienen unapaacutegina de resultados asociados a las tareas de grupo Hay una paacutegina de carpeta separadaque contiene un resumen de todas las actividades realizadas en ChemVantage incluyendovideos vistos cuestionarios completados resolver problemas con la tarea y la praacutectica deexaacutemenes completados Las puntuaciones en los exaacutemenes de praacutectica son desagregadospara revelar fortalezas y debilidades estudiantes por temas

Hemos procedido a darlo de alta en LTI como hicimos con Wordpress Entramos en Moodle co-mo Administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

Figura 511 Correo de Chuck Wight

-LTI quedando como resultado la siguiente hoja de paraacutemetros gura 512

El siguiente paso seraacute antildeadir la herramienta dentro de nuestro curso para ello pulsaremos sobreAntildeadir una actividad o un recurso Deberemos seleccionar External Tool y rellenamos las op-ciones de la herramienta seleccionando como Tipo de herramienta externa la opcioacuten creada enel apartado de LTI de Moodle

Una vez congurado la herramienta en Moodle podemos entrar para realizar una personalizacioacutende la herramienta gura 513 esta consiste en indicar si el alumno cuando se conecta realiza undeterminado tarea o puede elegir navegar por la web de ChemVantage para poder disfrutar dela cantidad de recursos que se encuentran disponibles

Cuando el usuario pulsa sobre la opcioacuten de esta herramienta externa en Moodle lo primero quese le muestra es la informacioacuten sobre su perl en Chemvantage 514Como hemos visto en los paraacutemetros de conguracioacuten existe la posibilidad de llamar a unaherramienta externa incrustaacutendola dentro de Moodle o abrieacutendolo en una paacutegina web nuevaCon esta segunda opcioacuten no hemos conseguido que funcione correctamente la importacioacuten de lasnotas En cambio si la herramienta externa estaacute incrustada permite esa vinculacioacuten

Figura 512 Conguracioacuten de paraacutemetros LTI

Figura 513 Opciones de inicio de la herramienta

Figura 514 Pantalla de utilizacioacuten de la herramienta por el usuario

Capiacutetulo 6

Middleware

61 Introduccioacuten

La uacuteltima opcioacuten seriacutea utilizar una arquitectura middleware de integracioacuten que permita la inte-gracioacuten ligera de muacuteltiples herramientas existentes en el Moodle

62 GluePS

GLUE-PS es una arquitectura de middleware que permite una interoperabilidad ligera entrelos diferentes lenguajes de disentildeo de aprendizaje y diferentes entornos de aprendizaje virtualEsta interoperabilidad permite a los maestros y otros profesionales que particularicen (es decirpara personalizar el disentildeo de aprendizaje abstractoa la clase particular los participantes y laeleccioacuten de los instrumentos en los que va a ser promulgada) desplieguen (es decir para crearde forma semiautomaacutetica las actividades necesarias en el VLE recursos etc para la aprobacioacutendel disentildeo particularizado) e incluso para llevar a cabo ciertos cambios en el tiempo de ejecucioacuten(por ejemplo modicar la composicioacuten del grupo agregar o quitar recursos de las actividadesetc) Todo esto a partir de disentildeos en distintos lenguajes de disentildeo de aprendizaje tales como laespecicacioacuten IMS-LD aprendizaje

Por otra parte GLUE-PS tambieacuten permite desplegar y gestionar disentildeos de aprendizaje en en-tornos virtuales de aprendizaje que integren herramientas de aprendizaje externos (tales comointegrar en Moodle herramientas como Google Docs y muchos otros) - lo que llamamos Am-bientes de Aprendizaje Distribuido (DLE Distributed Learning Enviroments) Esto se consiguegracias a la arquitectura de GLUE para la integracioacuten de los entornos virtuales de aprendizajey herramientas externas

621 Instalacioacuten

Para realizar la instalacioacuten de GLUE-PS nos hemos descargado el software necesario de la webde los desarrolladores1 descargando la opcioacuten de autenticacioacuten centralizada La instalacioacuten haconstado de tres partes que pasaremos a describir a continuacioacuten

1httpwwwgsicuvaesglue

49

Figura 61 Arquitectura de GLUE

La primera parte consiste en la instalacioacuten del GLUEletManager y los adaptadores GSIC toolAunque el sistema viene preparado para Linux o Windows siendo Windows la explicacioacuten quevamos a desarrollar por estar utilizando este sistema operativo con Xampp

1 Crear el directorio GLUE_ HOME El cual hemos creado para mayor comodidad en la raiacutezdel disco duro

2 Denir la variable del sistema GLUE_ HOME con el valor de la direccioacuten completa deldirectorio de GLUE del punto anterior Para ello hemos pulsado botoacuten derecho sobre MiPc Propiedad Opciones Avanzadas Variables de Entorno procediendo a pulsar el botoacutenNueva para crear la variable en cuestioacuten

3 Extraemos en el directorio del punto (1) el paquete descargado de la paacutegina de los desar-rolladores

4 Ejecutar la instalacioacuten del cheroGLUE_ HOMEbininstall gluebat para registar GLUElet-Manager y GSIC tool como un servicio de Windows Tambieacuten este paso crearaacute un cheroen GLUE_ HOMEtool_ adapteradapterdata para proveer de persistencia a los objetoscreados con el adaptador GSIC tool

A continuacioacuten daremos de alta en nuestro gestor de bases de datos un para de bases de datosque necesita GLUEletManager Para ellos seguimos los siguientes pasos

1 Abrimos la consola de phpMyaAdmin para cargar y ejecutar el chero create_ GLUE_databasessql que se encuentra en GLUE_ HOMEmanagerconfdb

2 Modicamos el chero GLUE_ HOMEmanagerconfMETA-INFpersistencexml paradarle los paraacutemetros necesarios para que JDBC se conecte a nuestra base de datos Losparaacutemetros modicados puede verse en la imagen 62

Figura 62 Paraacutemetros modicados en persistencexml

La segunda parte consiste en el registro interno de los adaptadores de las herramientas para seraccedido con GLUEletManager La distribucioacuten trae un chero para facilitar la conguracioacuten delos adaptadores que trae consigo y para su instalacioacuten deberemos ejecutar el chero GLUE_HOMEmanagerconfdbll _ internal_ Registrysql Alguna de las herramientas necesitanuna conguracioacuten maacutes completa como puede ser Google Docs adapter que necesita una cuentade Gmail para poder crear documentos en Google Docs por lo que deberemos modicar el nom-bre de usuario y contrasentildea

La uacuteltima parte consiste en la instalacioacuten del adaptardor de Moodle como VLE utilizado Estainstalacioacuten es como cualquier otro moacutedulo de Moodle 2 La carpeta que deberemos copiar seraacutela del adaptador correspondiente a Moodle que se encuentra en la carpeta GLUE_ HOMEvle_adpatersmoodle_ vle_ adapter Una vez entremos en nuestro Moodle como administrador nosapareceraacute un mensaje indicaacutendonos que el nuevo moacutedulo esta instalado Para congurar el nuevomoacutedulo debermos ir a Noticaciones - Modulos - Actividades como podemos ver en la gura 63para congurar los paraacutemetros la URL del GLUEletManager y el tiempo de espera

Figura 63 Paraacutemetros del moacutedulo GLUE

Cuando el profesor quiera crear una nueva actividad dependiente de los adaptadores de GLUEdeberaacute agregar una actividad maacutes pulsando para ello en esta opcioacuten dentro del bloque deseadopara seleccionar luego el tipo de actividad GLUElet como podemos ver en la gura64

622 Creando un Doodle

El adaptador Doodle permite la creacioacuten conguracioacuten y gestioacuten de instancias del Doodle Cadaencuesta Doodle es considerado un instancia diferente Ademaacutes este adaptador permite realizarademas la conguracioacuten inicial de encuestas Doodle incluyendo el nombre de la encuesta unadescripcioacuten y un conjunto de posibles respuestas

A continuacioacuten antildeadiremos Doodle en un bloque de Moodle para ellos pulsaremos la opcioacuten deAgregar actividad GLUElet lo cual nos mostraraacute la paacutegina65 donde deberemos rellenar comomiacutenimo el nombre de la actividad y el tipo de herramienta seleccionado en este caso Doodle(httpdoodle-testcom)

2httpdocsmoodleorgenInstalling_contributed_modules_or_plugins

Figura 64 Creando una actividad GLUElet

La primera vez que pulsemos sobre la nueva actividad creada apareceraacute un pantalla 66 dondepodemos congurar diferentes elementos de la encuesta desarrollada con Doodle como son eltiacutetulo una pequentildea descripcioacuten y luego las opciones posibles con un liacutemite de 10

El resultado nal seraacute la incrustacioacuten de una encuesta Doodle dentro de nuestro Moodle comopodemos ver en la gura67

Figura 65 Antildeadiendo Doodle como actividad

Figura 66 Opciones iniciales de conguracioacuten de Doodle

Figura 67 Doodel dentro de Moodle

Capiacutetulo 7

Conclusiones Finales

71 Conclusiones Finales

El proyecto actual nos ha servido para acercarnos a las diferentes tecnologiacuteas que permiten lacomunicacioacuten entre Servicios Webs Hemos desarrollado una primera labor de investigacioacuten queha requerido el aprendizaje de diferentes herramientas de control de documentacioacuten y referenciascomo Zotero y Mendeley

La documentacioacuten recabada en el proceso inicial de revisioacuten de documentos nos ha aportadoun visioacuten general de los diferentes sistemas virtuales de aprendizaje que podemos encontrarnosmuchos de ellos gratuitos y las diferentes soluciones que se plantean a la necesidad de incluirrecursos de otros fabricantes que en principio no fueron concebidos para ser utilizados dentro deuna plataforma VLE

Para poner en praacutectica la diferentes opciones encontradas se han montado diferentes maacutequinasvirtuales sobre las que se han probado las mismas Las conclusiones nales se pasan a detallar

IMS LTIEsta solucioacuten de integracioacuten mediante el cumplimiento de unos protocolos y certicacionesde las herramientas que lo cumplen es en principio la que podriacutea parecer la mejor opcioacutenpero la falta de compromiso de los diferentes fabricantes de Servicios Web y la luchapara imponer sus propios estaacutendares hace que aun quede mucho para que esta opcioacuten seacomo tal real

Si vemos el nuacutemero de aplicaciones certicadas para usar IMS LTI apenas superan las 50 yla mayoriacutea solo cumple la especicacioacuten v10 lo cual signica que la integracioacuten solo solu-ciona el problema de llamar a un recurso externo desde Moodle Pocas son las que cumplenla v11 que permite obtener en Moodle una valoracioacuten de los ejercicios desarrollados en unaactividad externa

La versioacuten v20 que daraacute maacutes opciones a la hora de interactuar con actividades externasauacuten esta en desarrollo y nada se sabe sobre posibles fechas para su presentacioacuten Luegocerticacioacuten de herramientas etc

55

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 46: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

Figura 54 Informacioacuten sobre la certicacioacuten

Wordpress bajo la url httplocalhostwordpress

Figura 55 Usuario de Wordpress

Deberemos congurar Wordpress para que trabaje como multisitio para lo que deberemos seguirlos pasos de conguracioacuten que podemos encontrar en la web ocial de Wordpress5 bajo el nombreCreate A Network consistente en los siguientes pasos

1 Realizar una copia de seguridad por si acaso

2 Modicar el chero wp-congphp incluyendo la siguiente linea encima de Thats allstop editing Happy blogging Multisite dene (WP_ ALLOW_ MULTISITE true)

Multisite dene (WP_ ALLOW_ MULTISITE true)

3 Installar un Network Para ello hemos de entra en la opcioacuten Administration -gtTools -gtNetwork Setup donde podremos congurar opciones sobre el nombre que queremos declararpara el nuevo sitio

4 Activar el Network para ello debemos modicar los cheros wp-congphp y htaccess porlo que seriacutea bueno que realizaacuteramos primero un copia de seguridad de los mismos Loscambios que debemos realizar son los siguientes

5httpcodexwordpressorgCreate_A_Network

En wp-congphp dene(MULTISITE true)dene(SUBDOMAIN_ INSTALL false)dene(DOMAIN_ CURRENT_ SITE localhost)dene(PATH_ CURRENT_ SITE wordpress)dene(SITE_ ID_ CURRENT_ SITE 1)dene(BLOG_ ID_ CURRENT_ SITE 1)

El chero htaccess debe quedar asiacute BEGIN WordPressltIfModule mod_ rewritecgtRewriteEngine OnRewriteBase wordpressRewriteRule icircndexphp$ - [L]

add a trailing slash to wp-adminRewriteRule ([_ 0-9a-zA-Z-]+)wp-admin1wp-admin [R=301L]

RewriteCondREQUEST_ FILENAME -f [OR]RewriteCondREQUEST_ FILENAME -dRewriteRule - [L]RewriteRule ([_ 0-9a-zA-Z-]+)(wp-(content|admin|includes)) $2 [L]RewriteRule ([_ 0-9a-zA-Z-]+)( php)$ $2 [L]RewriteRule indexphp [L]ltIfModulegt

END WordPress

5 Esto nos habraacute creado en la parte izquierda de la barra de herramientas de Wordpressuna nueva opcioacuten llamada My Sites que contendraacute un listado de los sitios de nuestroWordpress

El siguiente paso seraacute la descarga del plugin los cual podremos hacerlos desde la web de sour-forgenet 6 En esta web se detalla informacioacuten sobre el plugin y como se debe instalar Siguiendolos pasos que tenemos en el mismo procederemos a la descarga y el desplegado del mismo en lacarpeta wp-contentmu-plugins Salimos de Wordpress y volvemos a entrar como superusuariosi entramos dentro de la nueva red realizada podremos ver que dentro de LTI Consumers Keystendremos la opcioacuten LTI Consumers Keys como podemos ver en la imagen 56

Aquiacute deberemos crear la clave del consumidor del servicio y la clave secreta que nos permitiraacute aMoodle conectarse a Wordpress

Una vez que tenemos la clave secreta y del consumidor deberemos volver a Moodle entrandocomo administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

6httpsourceforgenetappsmediawikilearningappsindexphptitle=LTI4Wordpress

Figura 56 Servicios LTI en Wordpress

Figura 57 Listado de claves de LTI en Wordpress

-LTI En esta paacutegina podremos rellenar nuestras opciones

Tool Name Seraacute el nombre que tendraacute la herramienta y deberemos poner alguno indicativode la herramienta que estemos utilizando

Tool Base URL Es la direccioacuten de la herramienta en nuestro caso httplocalhostwordpress

Deberemos rellenar con los datos obtenidos en Wordpress la clave de consumidor y la clavesecreta

Es importante marcar Show tool type when creating tool instances para que aparezcaposteriormente al crear los recursos en nuestros cursos

Para poder probar el sistema hemos creado un curso dentro de Moodle llamada WordpressLTIdonde daremos de la siguiente manera de alta 59

Dentro de nuestro curso seleccionamos la opcioacuten de Edicioacuten

Pulsamos sobre Antildeadir una actividad o un recurso

Seleccionamos External Tool

Rellenamos las opciones

bull Nombre de la Actividad Cualquiera de nuestra eleccioacuten

Figura 58 Conguracioacuten LTI en Moodle

bull Tipo de herramienta externa El nombre que le pusimos a la herramienta externa enla conguracioacuten LTI de Moodle

bull Launch Container Hemos elegido la opcioacuten Incrustar para ver el resultado

Figura 59 Conguracioacuten Herramienta Externa

Una vez congurado podemos lanzar la herramienta externa teniendo como resultado la gura510

Figura 510 Wordpress integrado en Moodle

532 ChemVantage

ChemVantage es un recurso gratuito para la educacioacuten cientiacuteca que incluye ejercicios de gradoejercicios de preparacioacuten exaacutemenes de la praacutectica conferencias de video y libros de texto enliacutenea gratis Fue creado por ChemVantage LLC que fue fundada por el Prof Chuck Wight queha ensentildeado Quiacutemica General en la Universidad de Utah desde 1984 (ChemVantage 2011)

Nos hemos puesto en contacto con Chuck Wight (adminchemvantageorg) para solicitarle unaclave de consumidor y secreta para poder probar este recurso desde moodle Las opciones y elcorreo puede verse en la gura 511

Una de las cosas maacutes importantes de ChemVantage y por lo que nos hemos decidido a probar esque permite la devolucioacuten de las notas obtenidas en los ejercicios realizados en las herramientasexternas a Moodle El alumno podraacute realizar las tareas en esta herramienta externa y luego sercalicadas en Moodle

ChemVantage estaacute certicada por IMS 7 como un proveedor de herramientas LTI v11 y comotal funciona desde nuestro propio LMS para llevar a cabo la autenticacioacuten de sitios provee decuentas y devuelve resultados de asignacioacuten de estudiantes con el libro LMS grado automaacutetica-mente

Los recursos disponible son ChemVantage son principalmente los siguientes

1 QuizzesLos ejercicios presentados aquiacute estaacuten disentildeados para animar a los estudiantes a leer y en-tender los libros de texto utilizados en el curso Las preguntas se basan en material que sepresente en su mayor parte en los textos de introduccioacuten de quiacutemica Los iacutetems de preguntastienen respuestas straighforward no requieren caacutelculos detallados Las preguntas se presen-tan en varios formatos diferentes incluyendo opcioacuten muacuteltiple verdadero falso casilla devericacioacuten ll-in-the-blanco y numeacutericas Cada cuestionario se compone de 10 preguntasextraiacutedas al azar de una base de datos con muchas maacutes preguntas En el proceso de tomarvarias pruebas para mejorar sus calicaciones los estudiantes probablemente encuentran

7httpdevelopersimsglobalorgcoursechemvantagehtml

algunas preguntas repetidas de concursos anteriores sin embargo es poco probable quecualquiera de los dos cuestionarios contendraacute exactamente el mismo conjunto de preguntasen el mismo orden Asignando pruebas para ser completado antes de la conferencia losprofesores pueden estar seguros de que sus estudiantes tengan un poco de exposicioacuten almaterial Esto permite una mayor discusioacuten el diaacutelogo y la participacioacuten en el aula y haceel aprendizaje maacutes divertido (de verdad)

2 Video LecturesUna serie de conferencias de viacutedeo de 10 minutos sobre una variedad de temas de QuiacutemicaGeneral es accesible desde la paacutegina principal Los videos estaacuten disentildeados para reforzar lospuntos principales que se presentan en muchos libros de texto

3 HoweworksLas tareas estaacuten disentildeadas para dar a los estudiantes la praacutectica en la resolucioacuten de proble-mas cuantitativos que tienen respuestas numeacutericas Cada alumno puede descargar la tareatrabajar los problemas y presentar las respuestas en liacutenea Respuestas son juzgados a sercorrecta si la solucioacuten numeacuterica de acuerdo con la solucioacuten que se encuentra en la base dedatos dentro de una tolerancia especicada (indicado para cada problema) El sitio informaa los estudiantes que las respuestas son correctas para que puedan rehacer problemas malresueltos y volver a presentar las respuestas Cada problema se basa en una plantilla queatrae paraacutemetros al azar por lo que la respuesta correcta es diferente para cada estudianteEsto hace que sean adecuadas para la colaboracioacuten y el trabajo en grupo porque a pesarde que el grupo puede trabajar para encontrar un algoritmo correcto para resolver un prob-lema cada estudiante tendraacute que usar el algoritmo para encontrar la solucioacuten detallada asu propio problema

4 Practice ExamsLos estudiantes pueden realizaar exaacutemenes de praacutectica cronometrados que muestran laspreguntas de un grupo de 3 o maacutes temas Cada examen estaacute disentildeado para tardar unos60 minutos o menos e incluye una seleccioacuten de 10 preguntas Las praacutecticas de exaacutemenespueden repetirse cuantas veces se desee Las preguntas numeacutericas son parametrizadas loque es muy poco probable que un estudiante realice alguna vez dos exaacutemenes de praacutecticaideacutenticos

5 Portofolio PageCada estudiante puede acceder a una paacutegina que le da la puntuacioacuten obtenida en cada prue-ba y la asignacioacuten de tareas Los estudiantes que son miembros de un grupo tienen unapaacutegina de resultados asociados a las tareas de grupo Hay una paacutegina de carpeta separadaque contiene un resumen de todas las actividades realizadas en ChemVantage incluyendovideos vistos cuestionarios completados resolver problemas con la tarea y la praacutectica deexaacutemenes completados Las puntuaciones en los exaacutemenes de praacutectica son desagregadospara revelar fortalezas y debilidades estudiantes por temas

Hemos procedido a darlo de alta en LTI como hicimos con Wordpress Entramos en Moodle co-mo Administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

Figura 511 Correo de Chuck Wight

-LTI quedando como resultado la siguiente hoja de paraacutemetros gura 512

El siguiente paso seraacute antildeadir la herramienta dentro de nuestro curso para ello pulsaremos sobreAntildeadir una actividad o un recurso Deberemos seleccionar External Tool y rellenamos las op-ciones de la herramienta seleccionando como Tipo de herramienta externa la opcioacuten creada enel apartado de LTI de Moodle

Una vez congurado la herramienta en Moodle podemos entrar para realizar una personalizacioacutende la herramienta gura 513 esta consiste en indicar si el alumno cuando se conecta realiza undeterminado tarea o puede elegir navegar por la web de ChemVantage para poder disfrutar dela cantidad de recursos que se encuentran disponibles

Cuando el usuario pulsa sobre la opcioacuten de esta herramienta externa en Moodle lo primero quese le muestra es la informacioacuten sobre su perl en Chemvantage 514Como hemos visto en los paraacutemetros de conguracioacuten existe la posibilidad de llamar a unaherramienta externa incrustaacutendola dentro de Moodle o abrieacutendolo en una paacutegina web nuevaCon esta segunda opcioacuten no hemos conseguido que funcione correctamente la importacioacuten de lasnotas En cambio si la herramienta externa estaacute incrustada permite esa vinculacioacuten

Figura 512 Conguracioacuten de paraacutemetros LTI

Figura 513 Opciones de inicio de la herramienta

Figura 514 Pantalla de utilizacioacuten de la herramienta por el usuario

Capiacutetulo 6

Middleware

61 Introduccioacuten

La uacuteltima opcioacuten seriacutea utilizar una arquitectura middleware de integracioacuten que permita la inte-gracioacuten ligera de muacuteltiples herramientas existentes en el Moodle

62 GluePS

GLUE-PS es una arquitectura de middleware que permite una interoperabilidad ligera entrelos diferentes lenguajes de disentildeo de aprendizaje y diferentes entornos de aprendizaje virtualEsta interoperabilidad permite a los maestros y otros profesionales que particularicen (es decirpara personalizar el disentildeo de aprendizaje abstractoa la clase particular los participantes y laeleccioacuten de los instrumentos en los que va a ser promulgada) desplieguen (es decir para crearde forma semiautomaacutetica las actividades necesarias en el VLE recursos etc para la aprobacioacutendel disentildeo particularizado) e incluso para llevar a cabo ciertos cambios en el tiempo de ejecucioacuten(por ejemplo modicar la composicioacuten del grupo agregar o quitar recursos de las actividadesetc) Todo esto a partir de disentildeos en distintos lenguajes de disentildeo de aprendizaje tales como laespecicacioacuten IMS-LD aprendizaje

Por otra parte GLUE-PS tambieacuten permite desplegar y gestionar disentildeos de aprendizaje en en-tornos virtuales de aprendizaje que integren herramientas de aprendizaje externos (tales comointegrar en Moodle herramientas como Google Docs y muchos otros) - lo que llamamos Am-bientes de Aprendizaje Distribuido (DLE Distributed Learning Enviroments) Esto se consiguegracias a la arquitectura de GLUE para la integracioacuten de los entornos virtuales de aprendizajey herramientas externas

621 Instalacioacuten

Para realizar la instalacioacuten de GLUE-PS nos hemos descargado el software necesario de la webde los desarrolladores1 descargando la opcioacuten de autenticacioacuten centralizada La instalacioacuten haconstado de tres partes que pasaremos a describir a continuacioacuten

1httpwwwgsicuvaesglue

49

Figura 61 Arquitectura de GLUE

La primera parte consiste en la instalacioacuten del GLUEletManager y los adaptadores GSIC toolAunque el sistema viene preparado para Linux o Windows siendo Windows la explicacioacuten quevamos a desarrollar por estar utilizando este sistema operativo con Xampp

1 Crear el directorio GLUE_ HOME El cual hemos creado para mayor comodidad en la raiacutezdel disco duro

2 Denir la variable del sistema GLUE_ HOME con el valor de la direccioacuten completa deldirectorio de GLUE del punto anterior Para ello hemos pulsado botoacuten derecho sobre MiPc Propiedad Opciones Avanzadas Variables de Entorno procediendo a pulsar el botoacutenNueva para crear la variable en cuestioacuten

3 Extraemos en el directorio del punto (1) el paquete descargado de la paacutegina de los desar-rolladores

4 Ejecutar la instalacioacuten del cheroGLUE_ HOMEbininstall gluebat para registar GLUElet-Manager y GSIC tool como un servicio de Windows Tambieacuten este paso crearaacute un cheroen GLUE_ HOMEtool_ adapteradapterdata para proveer de persistencia a los objetoscreados con el adaptador GSIC tool

A continuacioacuten daremos de alta en nuestro gestor de bases de datos un para de bases de datosque necesita GLUEletManager Para ellos seguimos los siguientes pasos

1 Abrimos la consola de phpMyaAdmin para cargar y ejecutar el chero create_ GLUE_databasessql que se encuentra en GLUE_ HOMEmanagerconfdb

2 Modicamos el chero GLUE_ HOMEmanagerconfMETA-INFpersistencexml paradarle los paraacutemetros necesarios para que JDBC se conecte a nuestra base de datos Losparaacutemetros modicados puede verse en la imagen 62

Figura 62 Paraacutemetros modicados en persistencexml

La segunda parte consiste en el registro interno de los adaptadores de las herramientas para seraccedido con GLUEletManager La distribucioacuten trae un chero para facilitar la conguracioacuten delos adaptadores que trae consigo y para su instalacioacuten deberemos ejecutar el chero GLUE_HOMEmanagerconfdbll _ internal_ Registrysql Alguna de las herramientas necesitanuna conguracioacuten maacutes completa como puede ser Google Docs adapter que necesita una cuentade Gmail para poder crear documentos en Google Docs por lo que deberemos modicar el nom-bre de usuario y contrasentildea

La uacuteltima parte consiste en la instalacioacuten del adaptardor de Moodle como VLE utilizado Estainstalacioacuten es como cualquier otro moacutedulo de Moodle 2 La carpeta que deberemos copiar seraacutela del adaptador correspondiente a Moodle que se encuentra en la carpeta GLUE_ HOMEvle_adpatersmoodle_ vle_ adapter Una vez entremos en nuestro Moodle como administrador nosapareceraacute un mensaje indicaacutendonos que el nuevo moacutedulo esta instalado Para congurar el nuevomoacutedulo debermos ir a Noticaciones - Modulos - Actividades como podemos ver en la gura 63para congurar los paraacutemetros la URL del GLUEletManager y el tiempo de espera

Figura 63 Paraacutemetros del moacutedulo GLUE

Cuando el profesor quiera crear una nueva actividad dependiente de los adaptadores de GLUEdeberaacute agregar una actividad maacutes pulsando para ello en esta opcioacuten dentro del bloque deseadopara seleccionar luego el tipo de actividad GLUElet como podemos ver en la gura64

622 Creando un Doodle

El adaptador Doodle permite la creacioacuten conguracioacuten y gestioacuten de instancias del Doodle Cadaencuesta Doodle es considerado un instancia diferente Ademaacutes este adaptador permite realizarademas la conguracioacuten inicial de encuestas Doodle incluyendo el nombre de la encuesta unadescripcioacuten y un conjunto de posibles respuestas

A continuacioacuten antildeadiremos Doodle en un bloque de Moodle para ellos pulsaremos la opcioacuten deAgregar actividad GLUElet lo cual nos mostraraacute la paacutegina65 donde deberemos rellenar comomiacutenimo el nombre de la actividad y el tipo de herramienta seleccionado en este caso Doodle(httpdoodle-testcom)

2httpdocsmoodleorgenInstalling_contributed_modules_or_plugins

Figura 64 Creando una actividad GLUElet

La primera vez que pulsemos sobre la nueva actividad creada apareceraacute un pantalla 66 dondepodemos congurar diferentes elementos de la encuesta desarrollada con Doodle como son eltiacutetulo una pequentildea descripcioacuten y luego las opciones posibles con un liacutemite de 10

El resultado nal seraacute la incrustacioacuten de una encuesta Doodle dentro de nuestro Moodle comopodemos ver en la gura67

Figura 65 Antildeadiendo Doodle como actividad

Figura 66 Opciones iniciales de conguracioacuten de Doodle

Figura 67 Doodel dentro de Moodle

Capiacutetulo 7

Conclusiones Finales

71 Conclusiones Finales

El proyecto actual nos ha servido para acercarnos a las diferentes tecnologiacuteas que permiten lacomunicacioacuten entre Servicios Webs Hemos desarrollado una primera labor de investigacioacuten queha requerido el aprendizaje de diferentes herramientas de control de documentacioacuten y referenciascomo Zotero y Mendeley

La documentacioacuten recabada en el proceso inicial de revisioacuten de documentos nos ha aportadoun visioacuten general de los diferentes sistemas virtuales de aprendizaje que podemos encontrarnosmuchos de ellos gratuitos y las diferentes soluciones que se plantean a la necesidad de incluirrecursos de otros fabricantes que en principio no fueron concebidos para ser utilizados dentro deuna plataforma VLE

Para poner en praacutectica la diferentes opciones encontradas se han montado diferentes maacutequinasvirtuales sobre las que se han probado las mismas Las conclusiones nales se pasan a detallar

IMS LTIEsta solucioacuten de integracioacuten mediante el cumplimiento de unos protocolos y certicacionesde las herramientas que lo cumplen es en principio la que podriacutea parecer la mejor opcioacutenpero la falta de compromiso de los diferentes fabricantes de Servicios Web y la luchapara imponer sus propios estaacutendares hace que aun quede mucho para que esta opcioacuten seacomo tal real

Si vemos el nuacutemero de aplicaciones certicadas para usar IMS LTI apenas superan las 50 yla mayoriacutea solo cumple la especicacioacuten v10 lo cual signica que la integracioacuten solo solu-ciona el problema de llamar a un recurso externo desde Moodle Pocas son las que cumplenla v11 que permite obtener en Moodle una valoracioacuten de los ejercicios desarrollados en unaactividad externa

La versioacuten v20 que daraacute maacutes opciones a la hora de interactuar con actividades externasauacuten esta en desarrollo y nada se sabe sobre posibles fechas para su presentacioacuten Luegocerticacioacuten de herramientas etc

55

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 47: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

En wp-congphp dene(MULTISITE true)dene(SUBDOMAIN_ INSTALL false)dene(DOMAIN_ CURRENT_ SITE localhost)dene(PATH_ CURRENT_ SITE wordpress)dene(SITE_ ID_ CURRENT_ SITE 1)dene(BLOG_ ID_ CURRENT_ SITE 1)

El chero htaccess debe quedar asiacute BEGIN WordPressltIfModule mod_ rewritecgtRewriteEngine OnRewriteBase wordpressRewriteRule icircndexphp$ - [L]

add a trailing slash to wp-adminRewriteRule ([_ 0-9a-zA-Z-]+)wp-admin1wp-admin [R=301L]

RewriteCondREQUEST_ FILENAME -f [OR]RewriteCondREQUEST_ FILENAME -dRewriteRule - [L]RewriteRule ([_ 0-9a-zA-Z-]+)(wp-(content|admin|includes)) $2 [L]RewriteRule ([_ 0-9a-zA-Z-]+)( php)$ $2 [L]RewriteRule indexphp [L]ltIfModulegt

END WordPress

5 Esto nos habraacute creado en la parte izquierda de la barra de herramientas de Wordpressuna nueva opcioacuten llamada My Sites que contendraacute un listado de los sitios de nuestroWordpress

El siguiente paso seraacute la descarga del plugin los cual podremos hacerlos desde la web de sour-forgenet 6 En esta web se detalla informacioacuten sobre el plugin y como se debe instalar Siguiendolos pasos que tenemos en el mismo procederemos a la descarga y el desplegado del mismo en lacarpeta wp-contentmu-plugins Salimos de Wordpress y volvemos a entrar como superusuariosi entramos dentro de la nueva red realizada podremos ver que dentro de LTI Consumers Keystendremos la opcioacuten LTI Consumers Keys como podemos ver en la imagen 56

Aquiacute deberemos crear la clave del consumidor del servicio y la clave secreta que nos permitiraacute aMoodle conectarse a Wordpress

Una vez que tenemos la clave secreta y del consumidor deberemos volver a Moodle entrandocomo administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

6httpsourceforgenetappsmediawikilearningappsindexphptitle=LTI4Wordpress

Figura 56 Servicios LTI en Wordpress

Figura 57 Listado de claves de LTI en Wordpress

-LTI En esta paacutegina podremos rellenar nuestras opciones

Tool Name Seraacute el nombre que tendraacute la herramienta y deberemos poner alguno indicativode la herramienta que estemos utilizando

Tool Base URL Es la direccioacuten de la herramienta en nuestro caso httplocalhostwordpress

Deberemos rellenar con los datos obtenidos en Wordpress la clave de consumidor y la clavesecreta

Es importante marcar Show tool type when creating tool instances para que aparezcaposteriormente al crear los recursos en nuestros cursos

Para poder probar el sistema hemos creado un curso dentro de Moodle llamada WordpressLTIdonde daremos de la siguiente manera de alta 59

Dentro de nuestro curso seleccionamos la opcioacuten de Edicioacuten

Pulsamos sobre Antildeadir una actividad o un recurso

Seleccionamos External Tool

Rellenamos las opciones

bull Nombre de la Actividad Cualquiera de nuestra eleccioacuten

Figura 58 Conguracioacuten LTI en Moodle

bull Tipo de herramienta externa El nombre que le pusimos a la herramienta externa enla conguracioacuten LTI de Moodle

bull Launch Container Hemos elegido la opcioacuten Incrustar para ver el resultado

Figura 59 Conguracioacuten Herramienta Externa

Una vez congurado podemos lanzar la herramienta externa teniendo como resultado la gura510

Figura 510 Wordpress integrado en Moodle

532 ChemVantage

ChemVantage es un recurso gratuito para la educacioacuten cientiacuteca que incluye ejercicios de gradoejercicios de preparacioacuten exaacutemenes de la praacutectica conferencias de video y libros de texto enliacutenea gratis Fue creado por ChemVantage LLC que fue fundada por el Prof Chuck Wight queha ensentildeado Quiacutemica General en la Universidad de Utah desde 1984 (ChemVantage 2011)

Nos hemos puesto en contacto con Chuck Wight (adminchemvantageorg) para solicitarle unaclave de consumidor y secreta para poder probar este recurso desde moodle Las opciones y elcorreo puede verse en la gura 511

Una de las cosas maacutes importantes de ChemVantage y por lo que nos hemos decidido a probar esque permite la devolucioacuten de las notas obtenidas en los ejercicios realizados en las herramientasexternas a Moodle El alumno podraacute realizar las tareas en esta herramienta externa y luego sercalicadas en Moodle

ChemVantage estaacute certicada por IMS 7 como un proveedor de herramientas LTI v11 y comotal funciona desde nuestro propio LMS para llevar a cabo la autenticacioacuten de sitios provee decuentas y devuelve resultados de asignacioacuten de estudiantes con el libro LMS grado automaacutetica-mente

Los recursos disponible son ChemVantage son principalmente los siguientes

1 QuizzesLos ejercicios presentados aquiacute estaacuten disentildeados para animar a los estudiantes a leer y en-tender los libros de texto utilizados en el curso Las preguntas se basan en material que sepresente en su mayor parte en los textos de introduccioacuten de quiacutemica Los iacutetems de preguntastienen respuestas straighforward no requieren caacutelculos detallados Las preguntas se presen-tan en varios formatos diferentes incluyendo opcioacuten muacuteltiple verdadero falso casilla devericacioacuten ll-in-the-blanco y numeacutericas Cada cuestionario se compone de 10 preguntasextraiacutedas al azar de una base de datos con muchas maacutes preguntas En el proceso de tomarvarias pruebas para mejorar sus calicaciones los estudiantes probablemente encuentran

7httpdevelopersimsglobalorgcoursechemvantagehtml

algunas preguntas repetidas de concursos anteriores sin embargo es poco probable quecualquiera de los dos cuestionarios contendraacute exactamente el mismo conjunto de preguntasen el mismo orden Asignando pruebas para ser completado antes de la conferencia losprofesores pueden estar seguros de que sus estudiantes tengan un poco de exposicioacuten almaterial Esto permite una mayor discusioacuten el diaacutelogo y la participacioacuten en el aula y haceel aprendizaje maacutes divertido (de verdad)

2 Video LecturesUna serie de conferencias de viacutedeo de 10 minutos sobre una variedad de temas de QuiacutemicaGeneral es accesible desde la paacutegina principal Los videos estaacuten disentildeados para reforzar lospuntos principales que se presentan en muchos libros de texto

3 HoweworksLas tareas estaacuten disentildeadas para dar a los estudiantes la praacutectica en la resolucioacuten de proble-mas cuantitativos que tienen respuestas numeacutericas Cada alumno puede descargar la tareatrabajar los problemas y presentar las respuestas en liacutenea Respuestas son juzgados a sercorrecta si la solucioacuten numeacuterica de acuerdo con la solucioacuten que se encuentra en la base dedatos dentro de una tolerancia especicada (indicado para cada problema) El sitio informaa los estudiantes que las respuestas son correctas para que puedan rehacer problemas malresueltos y volver a presentar las respuestas Cada problema se basa en una plantilla queatrae paraacutemetros al azar por lo que la respuesta correcta es diferente para cada estudianteEsto hace que sean adecuadas para la colaboracioacuten y el trabajo en grupo porque a pesarde que el grupo puede trabajar para encontrar un algoritmo correcto para resolver un prob-lema cada estudiante tendraacute que usar el algoritmo para encontrar la solucioacuten detallada asu propio problema

4 Practice ExamsLos estudiantes pueden realizaar exaacutemenes de praacutectica cronometrados que muestran laspreguntas de un grupo de 3 o maacutes temas Cada examen estaacute disentildeado para tardar unos60 minutos o menos e incluye una seleccioacuten de 10 preguntas Las praacutecticas de exaacutemenespueden repetirse cuantas veces se desee Las preguntas numeacutericas son parametrizadas loque es muy poco probable que un estudiante realice alguna vez dos exaacutemenes de praacutecticaideacutenticos

5 Portofolio PageCada estudiante puede acceder a una paacutegina que le da la puntuacioacuten obtenida en cada prue-ba y la asignacioacuten de tareas Los estudiantes que son miembros de un grupo tienen unapaacutegina de resultados asociados a las tareas de grupo Hay una paacutegina de carpeta separadaque contiene un resumen de todas las actividades realizadas en ChemVantage incluyendovideos vistos cuestionarios completados resolver problemas con la tarea y la praacutectica deexaacutemenes completados Las puntuaciones en los exaacutemenes de praacutectica son desagregadospara revelar fortalezas y debilidades estudiantes por temas

Hemos procedido a darlo de alta en LTI como hicimos con Wordpress Entramos en Moodle co-mo Administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

Figura 511 Correo de Chuck Wight

-LTI quedando como resultado la siguiente hoja de paraacutemetros gura 512

El siguiente paso seraacute antildeadir la herramienta dentro de nuestro curso para ello pulsaremos sobreAntildeadir una actividad o un recurso Deberemos seleccionar External Tool y rellenamos las op-ciones de la herramienta seleccionando como Tipo de herramienta externa la opcioacuten creada enel apartado de LTI de Moodle

Una vez congurado la herramienta en Moodle podemos entrar para realizar una personalizacioacutende la herramienta gura 513 esta consiste en indicar si el alumno cuando se conecta realiza undeterminado tarea o puede elegir navegar por la web de ChemVantage para poder disfrutar dela cantidad de recursos que se encuentran disponibles

Cuando el usuario pulsa sobre la opcioacuten de esta herramienta externa en Moodle lo primero quese le muestra es la informacioacuten sobre su perl en Chemvantage 514Como hemos visto en los paraacutemetros de conguracioacuten existe la posibilidad de llamar a unaherramienta externa incrustaacutendola dentro de Moodle o abrieacutendolo en una paacutegina web nuevaCon esta segunda opcioacuten no hemos conseguido que funcione correctamente la importacioacuten de lasnotas En cambio si la herramienta externa estaacute incrustada permite esa vinculacioacuten

Figura 512 Conguracioacuten de paraacutemetros LTI

Figura 513 Opciones de inicio de la herramienta

Figura 514 Pantalla de utilizacioacuten de la herramienta por el usuario

Capiacutetulo 6

Middleware

61 Introduccioacuten

La uacuteltima opcioacuten seriacutea utilizar una arquitectura middleware de integracioacuten que permita la inte-gracioacuten ligera de muacuteltiples herramientas existentes en el Moodle

62 GluePS

GLUE-PS es una arquitectura de middleware que permite una interoperabilidad ligera entrelos diferentes lenguajes de disentildeo de aprendizaje y diferentes entornos de aprendizaje virtualEsta interoperabilidad permite a los maestros y otros profesionales que particularicen (es decirpara personalizar el disentildeo de aprendizaje abstractoa la clase particular los participantes y laeleccioacuten de los instrumentos en los que va a ser promulgada) desplieguen (es decir para crearde forma semiautomaacutetica las actividades necesarias en el VLE recursos etc para la aprobacioacutendel disentildeo particularizado) e incluso para llevar a cabo ciertos cambios en el tiempo de ejecucioacuten(por ejemplo modicar la composicioacuten del grupo agregar o quitar recursos de las actividadesetc) Todo esto a partir de disentildeos en distintos lenguajes de disentildeo de aprendizaje tales como laespecicacioacuten IMS-LD aprendizaje

Por otra parte GLUE-PS tambieacuten permite desplegar y gestionar disentildeos de aprendizaje en en-tornos virtuales de aprendizaje que integren herramientas de aprendizaje externos (tales comointegrar en Moodle herramientas como Google Docs y muchos otros) - lo que llamamos Am-bientes de Aprendizaje Distribuido (DLE Distributed Learning Enviroments) Esto se consiguegracias a la arquitectura de GLUE para la integracioacuten de los entornos virtuales de aprendizajey herramientas externas

621 Instalacioacuten

Para realizar la instalacioacuten de GLUE-PS nos hemos descargado el software necesario de la webde los desarrolladores1 descargando la opcioacuten de autenticacioacuten centralizada La instalacioacuten haconstado de tres partes que pasaremos a describir a continuacioacuten

1httpwwwgsicuvaesglue

49

Figura 61 Arquitectura de GLUE

La primera parte consiste en la instalacioacuten del GLUEletManager y los adaptadores GSIC toolAunque el sistema viene preparado para Linux o Windows siendo Windows la explicacioacuten quevamos a desarrollar por estar utilizando este sistema operativo con Xampp

1 Crear el directorio GLUE_ HOME El cual hemos creado para mayor comodidad en la raiacutezdel disco duro

2 Denir la variable del sistema GLUE_ HOME con el valor de la direccioacuten completa deldirectorio de GLUE del punto anterior Para ello hemos pulsado botoacuten derecho sobre MiPc Propiedad Opciones Avanzadas Variables de Entorno procediendo a pulsar el botoacutenNueva para crear la variable en cuestioacuten

3 Extraemos en el directorio del punto (1) el paquete descargado de la paacutegina de los desar-rolladores

4 Ejecutar la instalacioacuten del cheroGLUE_ HOMEbininstall gluebat para registar GLUElet-Manager y GSIC tool como un servicio de Windows Tambieacuten este paso crearaacute un cheroen GLUE_ HOMEtool_ adapteradapterdata para proveer de persistencia a los objetoscreados con el adaptador GSIC tool

A continuacioacuten daremos de alta en nuestro gestor de bases de datos un para de bases de datosque necesita GLUEletManager Para ellos seguimos los siguientes pasos

1 Abrimos la consola de phpMyaAdmin para cargar y ejecutar el chero create_ GLUE_databasessql que se encuentra en GLUE_ HOMEmanagerconfdb

2 Modicamos el chero GLUE_ HOMEmanagerconfMETA-INFpersistencexml paradarle los paraacutemetros necesarios para que JDBC se conecte a nuestra base de datos Losparaacutemetros modicados puede verse en la imagen 62

Figura 62 Paraacutemetros modicados en persistencexml

La segunda parte consiste en el registro interno de los adaptadores de las herramientas para seraccedido con GLUEletManager La distribucioacuten trae un chero para facilitar la conguracioacuten delos adaptadores que trae consigo y para su instalacioacuten deberemos ejecutar el chero GLUE_HOMEmanagerconfdbll _ internal_ Registrysql Alguna de las herramientas necesitanuna conguracioacuten maacutes completa como puede ser Google Docs adapter que necesita una cuentade Gmail para poder crear documentos en Google Docs por lo que deberemos modicar el nom-bre de usuario y contrasentildea

La uacuteltima parte consiste en la instalacioacuten del adaptardor de Moodle como VLE utilizado Estainstalacioacuten es como cualquier otro moacutedulo de Moodle 2 La carpeta que deberemos copiar seraacutela del adaptador correspondiente a Moodle que se encuentra en la carpeta GLUE_ HOMEvle_adpatersmoodle_ vle_ adapter Una vez entremos en nuestro Moodle como administrador nosapareceraacute un mensaje indicaacutendonos que el nuevo moacutedulo esta instalado Para congurar el nuevomoacutedulo debermos ir a Noticaciones - Modulos - Actividades como podemos ver en la gura 63para congurar los paraacutemetros la URL del GLUEletManager y el tiempo de espera

Figura 63 Paraacutemetros del moacutedulo GLUE

Cuando el profesor quiera crear una nueva actividad dependiente de los adaptadores de GLUEdeberaacute agregar una actividad maacutes pulsando para ello en esta opcioacuten dentro del bloque deseadopara seleccionar luego el tipo de actividad GLUElet como podemos ver en la gura64

622 Creando un Doodle

El adaptador Doodle permite la creacioacuten conguracioacuten y gestioacuten de instancias del Doodle Cadaencuesta Doodle es considerado un instancia diferente Ademaacutes este adaptador permite realizarademas la conguracioacuten inicial de encuestas Doodle incluyendo el nombre de la encuesta unadescripcioacuten y un conjunto de posibles respuestas

A continuacioacuten antildeadiremos Doodle en un bloque de Moodle para ellos pulsaremos la opcioacuten deAgregar actividad GLUElet lo cual nos mostraraacute la paacutegina65 donde deberemos rellenar comomiacutenimo el nombre de la actividad y el tipo de herramienta seleccionado en este caso Doodle(httpdoodle-testcom)

2httpdocsmoodleorgenInstalling_contributed_modules_or_plugins

Figura 64 Creando una actividad GLUElet

La primera vez que pulsemos sobre la nueva actividad creada apareceraacute un pantalla 66 dondepodemos congurar diferentes elementos de la encuesta desarrollada con Doodle como son eltiacutetulo una pequentildea descripcioacuten y luego las opciones posibles con un liacutemite de 10

El resultado nal seraacute la incrustacioacuten de una encuesta Doodle dentro de nuestro Moodle comopodemos ver en la gura67

Figura 65 Antildeadiendo Doodle como actividad

Figura 66 Opciones iniciales de conguracioacuten de Doodle

Figura 67 Doodel dentro de Moodle

Capiacutetulo 7

Conclusiones Finales

71 Conclusiones Finales

El proyecto actual nos ha servido para acercarnos a las diferentes tecnologiacuteas que permiten lacomunicacioacuten entre Servicios Webs Hemos desarrollado una primera labor de investigacioacuten queha requerido el aprendizaje de diferentes herramientas de control de documentacioacuten y referenciascomo Zotero y Mendeley

La documentacioacuten recabada en el proceso inicial de revisioacuten de documentos nos ha aportadoun visioacuten general de los diferentes sistemas virtuales de aprendizaje que podemos encontrarnosmuchos de ellos gratuitos y las diferentes soluciones que se plantean a la necesidad de incluirrecursos de otros fabricantes que en principio no fueron concebidos para ser utilizados dentro deuna plataforma VLE

Para poner en praacutectica la diferentes opciones encontradas se han montado diferentes maacutequinasvirtuales sobre las que se han probado las mismas Las conclusiones nales se pasan a detallar

IMS LTIEsta solucioacuten de integracioacuten mediante el cumplimiento de unos protocolos y certicacionesde las herramientas que lo cumplen es en principio la que podriacutea parecer la mejor opcioacutenpero la falta de compromiso de los diferentes fabricantes de Servicios Web y la luchapara imponer sus propios estaacutendares hace que aun quede mucho para que esta opcioacuten seacomo tal real

Si vemos el nuacutemero de aplicaciones certicadas para usar IMS LTI apenas superan las 50 yla mayoriacutea solo cumple la especicacioacuten v10 lo cual signica que la integracioacuten solo solu-ciona el problema de llamar a un recurso externo desde Moodle Pocas son las que cumplenla v11 que permite obtener en Moodle una valoracioacuten de los ejercicios desarrollados en unaactividad externa

La versioacuten v20 que daraacute maacutes opciones a la hora de interactuar con actividades externasauacuten esta en desarrollo y nada se sabe sobre posibles fechas para su presentacioacuten Luegocerticacioacuten de herramientas etc

55

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 48: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

Figura 56 Servicios LTI en Wordpress

Figura 57 Listado de claves de LTI en Wordpress

-LTI En esta paacutegina podremos rellenar nuestras opciones

Tool Name Seraacute el nombre que tendraacute la herramienta y deberemos poner alguno indicativode la herramienta que estemos utilizando

Tool Base URL Es la direccioacuten de la herramienta en nuestro caso httplocalhostwordpress

Deberemos rellenar con los datos obtenidos en Wordpress la clave de consumidor y la clavesecreta

Es importante marcar Show tool type when creating tool instances para que aparezcaposteriormente al crear los recursos en nuestros cursos

Para poder probar el sistema hemos creado un curso dentro de Moodle llamada WordpressLTIdonde daremos de la siguiente manera de alta 59

Dentro de nuestro curso seleccionamos la opcioacuten de Edicioacuten

Pulsamos sobre Antildeadir una actividad o un recurso

Seleccionamos External Tool

Rellenamos las opciones

bull Nombre de la Actividad Cualquiera de nuestra eleccioacuten

Figura 58 Conguracioacuten LTI en Moodle

bull Tipo de herramienta externa El nombre que le pusimos a la herramienta externa enla conguracioacuten LTI de Moodle

bull Launch Container Hemos elegido la opcioacuten Incrustar para ver el resultado

Figura 59 Conguracioacuten Herramienta Externa

Una vez congurado podemos lanzar la herramienta externa teniendo como resultado la gura510

Figura 510 Wordpress integrado en Moodle

532 ChemVantage

ChemVantage es un recurso gratuito para la educacioacuten cientiacuteca que incluye ejercicios de gradoejercicios de preparacioacuten exaacutemenes de la praacutectica conferencias de video y libros de texto enliacutenea gratis Fue creado por ChemVantage LLC que fue fundada por el Prof Chuck Wight queha ensentildeado Quiacutemica General en la Universidad de Utah desde 1984 (ChemVantage 2011)

Nos hemos puesto en contacto con Chuck Wight (adminchemvantageorg) para solicitarle unaclave de consumidor y secreta para poder probar este recurso desde moodle Las opciones y elcorreo puede verse en la gura 511

Una de las cosas maacutes importantes de ChemVantage y por lo que nos hemos decidido a probar esque permite la devolucioacuten de las notas obtenidas en los ejercicios realizados en las herramientasexternas a Moodle El alumno podraacute realizar las tareas en esta herramienta externa y luego sercalicadas en Moodle

ChemVantage estaacute certicada por IMS 7 como un proveedor de herramientas LTI v11 y comotal funciona desde nuestro propio LMS para llevar a cabo la autenticacioacuten de sitios provee decuentas y devuelve resultados de asignacioacuten de estudiantes con el libro LMS grado automaacutetica-mente

Los recursos disponible son ChemVantage son principalmente los siguientes

1 QuizzesLos ejercicios presentados aquiacute estaacuten disentildeados para animar a los estudiantes a leer y en-tender los libros de texto utilizados en el curso Las preguntas se basan en material que sepresente en su mayor parte en los textos de introduccioacuten de quiacutemica Los iacutetems de preguntastienen respuestas straighforward no requieren caacutelculos detallados Las preguntas se presen-tan en varios formatos diferentes incluyendo opcioacuten muacuteltiple verdadero falso casilla devericacioacuten ll-in-the-blanco y numeacutericas Cada cuestionario se compone de 10 preguntasextraiacutedas al azar de una base de datos con muchas maacutes preguntas En el proceso de tomarvarias pruebas para mejorar sus calicaciones los estudiantes probablemente encuentran

7httpdevelopersimsglobalorgcoursechemvantagehtml

algunas preguntas repetidas de concursos anteriores sin embargo es poco probable quecualquiera de los dos cuestionarios contendraacute exactamente el mismo conjunto de preguntasen el mismo orden Asignando pruebas para ser completado antes de la conferencia losprofesores pueden estar seguros de que sus estudiantes tengan un poco de exposicioacuten almaterial Esto permite una mayor discusioacuten el diaacutelogo y la participacioacuten en el aula y haceel aprendizaje maacutes divertido (de verdad)

2 Video LecturesUna serie de conferencias de viacutedeo de 10 minutos sobre una variedad de temas de QuiacutemicaGeneral es accesible desde la paacutegina principal Los videos estaacuten disentildeados para reforzar lospuntos principales que se presentan en muchos libros de texto

3 HoweworksLas tareas estaacuten disentildeadas para dar a los estudiantes la praacutectica en la resolucioacuten de proble-mas cuantitativos que tienen respuestas numeacutericas Cada alumno puede descargar la tareatrabajar los problemas y presentar las respuestas en liacutenea Respuestas son juzgados a sercorrecta si la solucioacuten numeacuterica de acuerdo con la solucioacuten que se encuentra en la base dedatos dentro de una tolerancia especicada (indicado para cada problema) El sitio informaa los estudiantes que las respuestas son correctas para que puedan rehacer problemas malresueltos y volver a presentar las respuestas Cada problema se basa en una plantilla queatrae paraacutemetros al azar por lo que la respuesta correcta es diferente para cada estudianteEsto hace que sean adecuadas para la colaboracioacuten y el trabajo en grupo porque a pesarde que el grupo puede trabajar para encontrar un algoritmo correcto para resolver un prob-lema cada estudiante tendraacute que usar el algoritmo para encontrar la solucioacuten detallada asu propio problema

4 Practice ExamsLos estudiantes pueden realizaar exaacutemenes de praacutectica cronometrados que muestran laspreguntas de un grupo de 3 o maacutes temas Cada examen estaacute disentildeado para tardar unos60 minutos o menos e incluye una seleccioacuten de 10 preguntas Las praacutecticas de exaacutemenespueden repetirse cuantas veces se desee Las preguntas numeacutericas son parametrizadas loque es muy poco probable que un estudiante realice alguna vez dos exaacutemenes de praacutecticaideacutenticos

5 Portofolio PageCada estudiante puede acceder a una paacutegina que le da la puntuacioacuten obtenida en cada prue-ba y la asignacioacuten de tareas Los estudiantes que son miembros de un grupo tienen unapaacutegina de resultados asociados a las tareas de grupo Hay una paacutegina de carpeta separadaque contiene un resumen de todas las actividades realizadas en ChemVantage incluyendovideos vistos cuestionarios completados resolver problemas con la tarea y la praacutectica deexaacutemenes completados Las puntuaciones en los exaacutemenes de praacutectica son desagregadospara revelar fortalezas y debilidades estudiantes por temas

Hemos procedido a darlo de alta en LTI como hicimos con Wordpress Entramos en Moodle co-mo Administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

Figura 511 Correo de Chuck Wight

-LTI quedando como resultado la siguiente hoja de paraacutemetros gura 512

El siguiente paso seraacute antildeadir la herramienta dentro de nuestro curso para ello pulsaremos sobreAntildeadir una actividad o un recurso Deberemos seleccionar External Tool y rellenamos las op-ciones de la herramienta seleccionando como Tipo de herramienta externa la opcioacuten creada enel apartado de LTI de Moodle

Una vez congurado la herramienta en Moodle podemos entrar para realizar una personalizacioacutende la herramienta gura 513 esta consiste en indicar si el alumno cuando se conecta realiza undeterminado tarea o puede elegir navegar por la web de ChemVantage para poder disfrutar dela cantidad de recursos que se encuentran disponibles

Cuando el usuario pulsa sobre la opcioacuten de esta herramienta externa en Moodle lo primero quese le muestra es la informacioacuten sobre su perl en Chemvantage 514Como hemos visto en los paraacutemetros de conguracioacuten existe la posibilidad de llamar a unaherramienta externa incrustaacutendola dentro de Moodle o abrieacutendolo en una paacutegina web nuevaCon esta segunda opcioacuten no hemos conseguido que funcione correctamente la importacioacuten de lasnotas En cambio si la herramienta externa estaacute incrustada permite esa vinculacioacuten

Figura 512 Conguracioacuten de paraacutemetros LTI

Figura 513 Opciones de inicio de la herramienta

Figura 514 Pantalla de utilizacioacuten de la herramienta por el usuario

Capiacutetulo 6

Middleware

61 Introduccioacuten

La uacuteltima opcioacuten seriacutea utilizar una arquitectura middleware de integracioacuten que permita la inte-gracioacuten ligera de muacuteltiples herramientas existentes en el Moodle

62 GluePS

GLUE-PS es una arquitectura de middleware que permite una interoperabilidad ligera entrelos diferentes lenguajes de disentildeo de aprendizaje y diferentes entornos de aprendizaje virtualEsta interoperabilidad permite a los maestros y otros profesionales que particularicen (es decirpara personalizar el disentildeo de aprendizaje abstractoa la clase particular los participantes y laeleccioacuten de los instrumentos en los que va a ser promulgada) desplieguen (es decir para crearde forma semiautomaacutetica las actividades necesarias en el VLE recursos etc para la aprobacioacutendel disentildeo particularizado) e incluso para llevar a cabo ciertos cambios en el tiempo de ejecucioacuten(por ejemplo modicar la composicioacuten del grupo agregar o quitar recursos de las actividadesetc) Todo esto a partir de disentildeos en distintos lenguajes de disentildeo de aprendizaje tales como laespecicacioacuten IMS-LD aprendizaje

Por otra parte GLUE-PS tambieacuten permite desplegar y gestionar disentildeos de aprendizaje en en-tornos virtuales de aprendizaje que integren herramientas de aprendizaje externos (tales comointegrar en Moodle herramientas como Google Docs y muchos otros) - lo que llamamos Am-bientes de Aprendizaje Distribuido (DLE Distributed Learning Enviroments) Esto se consiguegracias a la arquitectura de GLUE para la integracioacuten de los entornos virtuales de aprendizajey herramientas externas

621 Instalacioacuten

Para realizar la instalacioacuten de GLUE-PS nos hemos descargado el software necesario de la webde los desarrolladores1 descargando la opcioacuten de autenticacioacuten centralizada La instalacioacuten haconstado de tres partes que pasaremos a describir a continuacioacuten

1httpwwwgsicuvaesglue

49

Figura 61 Arquitectura de GLUE

La primera parte consiste en la instalacioacuten del GLUEletManager y los adaptadores GSIC toolAunque el sistema viene preparado para Linux o Windows siendo Windows la explicacioacuten quevamos a desarrollar por estar utilizando este sistema operativo con Xampp

1 Crear el directorio GLUE_ HOME El cual hemos creado para mayor comodidad en la raiacutezdel disco duro

2 Denir la variable del sistema GLUE_ HOME con el valor de la direccioacuten completa deldirectorio de GLUE del punto anterior Para ello hemos pulsado botoacuten derecho sobre MiPc Propiedad Opciones Avanzadas Variables de Entorno procediendo a pulsar el botoacutenNueva para crear la variable en cuestioacuten

3 Extraemos en el directorio del punto (1) el paquete descargado de la paacutegina de los desar-rolladores

4 Ejecutar la instalacioacuten del cheroGLUE_ HOMEbininstall gluebat para registar GLUElet-Manager y GSIC tool como un servicio de Windows Tambieacuten este paso crearaacute un cheroen GLUE_ HOMEtool_ adapteradapterdata para proveer de persistencia a los objetoscreados con el adaptador GSIC tool

A continuacioacuten daremos de alta en nuestro gestor de bases de datos un para de bases de datosque necesita GLUEletManager Para ellos seguimos los siguientes pasos

1 Abrimos la consola de phpMyaAdmin para cargar y ejecutar el chero create_ GLUE_databasessql que se encuentra en GLUE_ HOMEmanagerconfdb

2 Modicamos el chero GLUE_ HOMEmanagerconfMETA-INFpersistencexml paradarle los paraacutemetros necesarios para que JDBC se conecte a nuestra base de datos Losparaacutemetros modicados puede verse en la imagen 62

Figura 62 Paraacutemetros modicados en persistencexml

La segunda parte consiste en el registro interno de los adaptadores de las herramientas para seraccedido con GLUEletManager La distribucioacuten trae un chero para facilitar la conguracioacuten delos adaptadores que trae consigo y para su instalacioacuten deberemos ejecutar el chero GLUE_HOMEmanagerconfdbll _ internal_ Registrysql Alguna de las herramientas necesitanuna conguracioacuten maacutes completa como puede ser Google Docs adapter que necesita una cuentade Gmail para poder crear documentos en Google Docs por lo que deberemos modicar el nom-bre de usuario y contrasentildea

La uacuteltima parte consiste en la instalacioacuten del adaptardor de Moodle como VLE utilizado Estainstalacioacuten es como cualquier otro moacutedulo de Moodle 2 La carpeta que deberemos copiar seraacutela del adaptador correspondiente a Moodle que se encuentra en la carpeta GLUE_ HOMEvle_adpatersmoodle_ vle_ adapter Una vez entremos en nuestro Moodle como administrador nosapareceraacute un mensaje indicaacutendonos que el nuevo moacutedulo esta instalado Para congurar el nuevomoacutedulo debermos ir a Noticaciones - Modulos - Actividades como podemos ver en la gura 63para congurar los paraacutemetros la URL del GLUEletManager y el tiempo de espera

Figura 63 Paraacutemetros del moacutedulo GLUE

Cuando el profesor quiera crear una nueva actividad dependiente de los adaptadores de GLUEdeberaacute agregar una actividad maacutes pulsando para ello en esta opcioacuten dentro del bloque deseadopara seleccionar luego el tipo de actividad GLUElet como podemos ver en la gura64

622 Creando un Doodle

El adaptador Doodle permite la creacioacuten conguracioacuten y gestioacuten de instancias del Doodle Cadaencuesta Doodle es considerado un instancia diferente Ademaacutes este adaptador permite realizarademas la conguracioacuten inicial de encuestas Doodle incluyendo el nombre de la encuesta unadescripcioacuten y un conjunto de posibles respuestas

A continuacioacuten antildeadiremos Doodle en un bloque de Moodle para ellos pulsaremos la opcioacuten deAgregar actividad GLUElet lo cual nos mostraraacute la paacutegina65 donde deberemos rellenar comomiacutenimo el nombre de la actividad y el tipo de herramienta seleccionado en este caso Doodle(httpdoodle-testcom)

2httpdocsmoodleorgenInstalling_contributed_modules_or_plugins

Figura 64 Creando una actividad GLUElet

La primera vez que pulsemos sobre la nueva actividad creada apareceraacute un pantalla 66 dondepodemos congurar diferentes elementos de la encuesta desarrollada con Doodle como son eltiacutetulo una pequentildea descripcioacuten y luego las opciones posibles con un liacutemite de 10

El resultado nal seraacute la incrustacioacuten de una encuesta Doodle dentro de nuestro Moodle comopodemos ver en la gura67

Figura 65 Antildeadiendo Doodle como actividad

Figura 66 Opciones iniciales de conguracioacuten de Doodle

Figura 67 Doodel dentro de Moodle

Capiacutetulo 7

Conclusiones Finales

71 Conclusiones Finales

El proyecto actual nos ha servido para acercarnos a las diferentes tecnologiacuteas que permiten lacomunicacioacuten entre Servicios Webs Hemos desarrollado una primera labor de investigacioacuten queha requerido el aprendizaje de diferentes herramientas de control de documentacioacuten y referenciascomo Zotero y Mendeley

La documentacioacuten recabada en el proceso inicial de revisioacuten de documentos nos ha aportadoun visioacuten general de los diferentes sistemas virtuales de aprendizaje que podemos encontrarnosmuchos de ellos gratuitos y las diferentes soluciones que se plantean a la necesidad de incluirrecursos de otros fabricantes que en principio no fueron concebidos para ser utilizados dentro deuna plataforma VLE

Para poner en praacutectica la diferentes opciones encontradas se han montado diferentes maacutequinasvirtuales sobre las que se han probado las mismas Las conclusiones nales se pasan a detallar

IMS LTIEsta solucioacuten de integracioacuten mediante el cumplimiento de unos protocolos y certicacionesde las herramientas que lo cumplen es en principio la que podriacutea parecer la mejor opcioacutenpero la falta de compromiso de los diferentes fabricantes de Servicios Web y la luchapara imponer sus propios estaacutendares hace que aun quede mucho para que esta opcioacuten seacomo tal real

Si vemos el nuacutemero de aplicaciones certicadas para usar IMS LTI apenas superan las 50 yla mayoriacutea solo cumple la especicacioacuten v10 lo cual signica que la integracioacuten solo solu-ciona el problema de llamar a un recurso externo desde Moodle Pocas son las que cumplenla v11 que permite obtener en Moodle una valoracioacuten de los ejercicios desarrollados en unaactividad externa

La versioacuten v20 que daraacute maacutes opciones a la hora de interactuar con actividades externasauacuten esta en desarrollo y nada se sabe sobre posibles fechas para su presentacioacuten Luegocerticacioacuten de herramientas etc

55

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 49: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

Figura 58 Conguracioacuten LTI en Moodle

bull Tipo de herramienta externa El nombre que le pusimos a la herramienta externa enla conguracioacuten LTI de Moodle

bull Launch Container Hemos elegido la opcioacuten Incrustar para ver el resultado

Figura 59 Conguracioacuten Herramienta Externa

Una vez congurado podemos lanzar la herramienta externa teniendo como resultado la gura510

Figura 510 Wordpress integrado en Moodle

532 ChemVantage

ChemVantage es un recurso gratuito para la educacioacuten cientiacuteca que incluye ejercicios de gradoejercicios de preparacioacuten exaacutemenes de la praacutectica conferencias de video y libros de texto enliacutenea gratis Fue creado por ChemVantage LLC que fue fundada por el Prof Chuck Wight queha ensentildeado Quiacutemica General en la Universidad de Utah desde 1984 (ChemVantage 2011)

Nos hemos puesto en contacto con Chuck Wight (adminchemvantageorg) para solicitarle unaclave de consumidor y secreta para poder probar este recurso desde moodle Las opciones y elcorreo puede verse en la gura 511

Una de las cosas maacutes importantes de ChemVantage y por lo que nos hemos decidido a probar esque permite la devolucioacuten de las notas obtenidas en los ejercicios realizados en las herramientasexternas a Moodle El alumno podraacute realizar las tareas en esta herramienta externa y luego sercalicadas en Moodle

ChemVantage estaacute certicada por IMS 7 como un proveedor de herramientas LTI v11 y comotal funciona desde nuestro propio LMS para llevar a cabo la autenticacioacuten de sitios provee decuentas y devuelve resultados de asignacioacuten de estudiantes con el libro LMS grado automaacutetica-mente

Los recursos disponible son ChemVantage son principalmente los siguientes

1 QuizzesLos ejercicios presentados aquiacute estaacuten disentildeados para animar a los estudiantes a leer y en-tender los libros de texto utilizados en el curso Las preguntas se basan en material que sepresente en su mayor parte en los textos de introduccioacuten de quiacutemica Los iacutetems de preguntastienen respuestas straighforward no requieren caacutelculos detallados Las preguntas se presen-tan en varios formatos diferentes incluyendo opcioacuten muacuteltiple verdadero falso casilla devericacioacuten ll-in-the-blanco y numeacutericas Cada cuestionario se compone de 10 preguntasextraiacutedas al azar de una base de datos con muchas maacutes preguntas En el proceso de tomarvarias pruebas para mejorar sus calicaciones los estudiantes probablemente encuentran

7httpdevelopersimsglobalorgcoursechemvantagehtml

algunas preguntas repetidas de concursos anteriores sin embargo es poco probable quecualquiera de los dos cuestionarios contendraacute exactamente el mismo conjunto de preguntasen el mismo orden Asignando pruebas para ser completado antes de la conferencia losprofesores pueden estar seguros de que sus estudiantes tengan un poco de exposicioacuten almaterial Esto permite una mayor discusioacuten el diaacutelogo y la participacioacuten en el aula y haceel aprendizaje maacutes divertido (de verdad)

2 Video LecturesUna serie de conferencias de viacutedeo de 10 minutos sobre una variedad de temas de QuiacutemicaGeneral es accesible desde la paacutegina principal Los videos estaacuten disentildeados para reforzar lospuntos principales que se presentan en muchos libros de texto

3 HoweworksLas tareas estaacuten disentildeadas para dar a los estudiantes la praacutectica en la resolucioacuten de proble-mas cuantitativos que tienen respuestas numeacutericas Cada alumno puede descargar la tareatrabajar los problemas y presentar las respuestas en liacutenea Respuestas son juzgados a sercorrecta si la solucioacuten numeacuterica de acuerdo con la solucioacuten que se encuentra en la base dedatos dentro de una tolerancia especicada (indicado para cada problema) El sitio informaa los estudiantes que las respuestas son correctas para que puedan rehacer problemas malresueltos y volver a presentar las respuestas Cada problema se basa en una plantilla queatrae paraacutemetros al azar por lo que la respuesta correcta es diferente para cada estudianteEsto hace que sean adecuadas para la colaboracioacuten y el trabajo en grupo porque a pesarde que el grupo puede trabajar para encontrar un algoritmo correcto para resolver un prob-lema cada estudiante tendraacute que usar el algoritmo para encontrar la solucioacuten detallada asu propio problema

4 Practice ExamsLos estudiantes pueden realizaar exaacutemenes de praacutectica cronometrados que muestran laspreguntas de un grupo de 3 o maacutes temas Cada examen estaacute disentildeado para tardar unos60 minutos o menos e incluye una seleccioacuten de 10 preguntas Las praacutecticas de exaacutemenespueden repetirse cuantas veces se desee Las preguntas numeacutericas son parametrizadas loque es muy poco probable que un estudiante realice alguna vez dos exaacutemenes de praacutecticaideacutenticos

5 Portofolio PageCada estudiante puede acceder a una paacutegina que le da la puntuacioacuten obtenida en cada prue-ba y la asignacioacuten de tareas Los estudiantes que son miembros de un grupo tienen unapaacutegina de resultados asociados a las tareas de grupo Hay una paacutegina de carpeta separadaque contiene un resumen de todas las actividades realizadas en ChemVantage incluyendovideos vistos cuestionarios completados resolver problemas con la tarea y la praacutectica deexaacutemenes completados Las puntuaciones en los exaacutemenes de praacutectica son desagregadospara revelar fortalezas y debilidades estudiantes por temas

Hemos procedido a darlo de alta en LTI como hicimos con Wordpress Entramos en Moodle co-mo Administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

Figura 511 Correo de Chuck Wight

-LTI quedando como resultado la siguiente hoja de paraacutemetros gura 512

El siguiente paso seraacute antildeadir la herramienta dentro de nuestro curso para ello pulsaremos sobreAntildeadir una actividad o un recurso Deberemos seleccionar External Tool y rellenamos las op-ciones de la herramienta seleccionando como Tipo de herramienta externa la opcioacuten creada enel apartado de LTI de Moodle

Una vez congurado la herramienta en Moodle podemos entrar para realizar una personalizacioacutende la herramienta gura 513 esta consiste en indicar si el alumno cuando se conecta realiza undeterminado tarea o puede elegir navegar por la web de ChemVantage para poder disfrutar dela cantidad de recursos que se encuentran disponibles

Cuando el usuario pulsa sobre la opcioacuten de esta herramienta externa en Moodle lo primero quese le muestra es la informacioacuten sobre su perl en Chemvantage 514Como hemos visto en los paraacutemetros de conguracioacuten existe la posibilidad de llamar a unaherramienta externa incrustaacutendola dentro de Moodle o abrieacutendolo en una paacutegina web nuevaCon esta segunda opcioacuten no hemos conseguido que funcione correctamente la importacioacuten de lasnotas En cambio si la herramienta externa estaacute incrustada permite esa vinculacioacuten

Figura 512 Conguracioacuten de paraacutemetros LTI

Figura 513 Opciones de inicio de la herramienta

Figura 514 Pantalla de utilizacioacuten de la herramienta por el usuario

Capiacutetulo 6

Middleware

61 Introduccioacuten

La uacuteltima opcioacuten seriacutea utilizar una arquitectura middleware de integracioacuten que permita la inte-gracioacuten ligera de muacuteltiples herramientas existentes en el Moodle

62 GluePS

GLUE-PS es una arquitectura de middleware que permite una interoperabilidad ligera entrelos diferentes lenguajes de disentildeo de aprendizaje y diferentes entornos de aprendizaje virtualEsta interoperabilidad permite a los maestros y otros profesionales que particularicen (es decirpara personalizar el disentildeo de aprendizaje abstractoa la clase particular los participantes y laeleccioacuten de los instrumentos en los que va a ser promulgada) desplieguen (es decir para crearde forma semiautomaacutetica las actividades necesarias en el VLE recursos etc para la aprobacioacutendel disentildeo particularizado) e incluso para llevar a cabo ciertos cambios en el tiempo de ejecucioacuten(por ejemplo modicar la composicioacuten del grupo agregar o quitar recursos de las actividadesetc) Todo esto a partir de disentildeos en distintos lenguajes de disentildeo de aprendizaje tales como laespecicacioacuten IMS-LD aprendizaje

Por otra parte GLUE-PS tambieacuten permite desplegar y gestionar disentildeos de aprendizaje en en-tornos virtuales de aprendizaje que integren herramientas de aprendizaje externos (tales comointegrar en Moodle herramientas como Google Docs y muchos otros) - lo que llamamos Am-bientes de Aprendizaje Distribuido (DLE Distributed Learning Enviroments) Esto se consiguegracias a la arquitectura de GLUE para la integracioacuten de los entornos virtuales de aprendizajey herramientas externas

621 Instalacioacuten

Para realizar la instalacioacuten de GLUE-PS nos hemos descargado el software necesario de la webde los desarrolladores1 descargando la opcioacuten de autenticacioacuten centralizada La instalacioacuten haconstado de tres partes que pasaremos a describir a continuacioacuten

1httpwwwgsicuvaesglue

49

Figura 61 Arquitectura de GLUE

La primera parte consiste en la instalacioacuten del GLUEletManager y los adaptadores GSIC toolAunque el sistema viene preparado para Linux o Windows siendo Windows la explicacioacuten quevamos a desarrollar por estar utilizando este sistema operativo con Xampp

1 Crear el directorio GLUE_ HOME El cual hemos creado para mayor comodidad en la raiacutezdel disco duro

2 Denir la variable del sistema GLUE_ HOME con el valor de la direccioacuten completa deldirectorio de GLUE del punto anterior Para ello hemos pulsado botoacuten derecho sobre MiPc Propiedad Opciones Avanzadas Variables de Entorno procediendo a pulsar el botoacutenNueva para crear la variable en cuestioacuten

3 Extraemos en el directorio del punto (1) el paquete descargado de la paacutegina de los desar-rolladores

4 Ejecutar la instalacioacuten del cheroGLUE_ HOMEbininstall gluebat para registar GLUElet-Manager y GSIC tool como un servicio de Windows Tambieacuten este paso crearaacute un cheroen GLUE_ HOMEtool_ adapteradapterdata para proveer de persistencia a los objetoscreados con el adaptador GSIC tool

A continuacioacuten daremos de alta en nuestro gestor de bases de datos un para de bases de datosque necesita GLUEletManager Para ellos seguimos los siguientes pasos

1 Abrimos la consola de phpMyaAdmin para cargar y ejecutar el chero create_ GLUE_databasessql que se encuentra en GLUE_ HOMEmanagerconfdb

2 Modicamos el chero GLUE_ HOMEmanagerconfMETA-INFpersistencexml paradarle los paraacutemetros necesarios para que JDBC se conecte a nuestra base de datos Losparaacutemetros modicados puede verse en la imagen 62

Figura 62 Paraacutemetros modicados en persistencexml

La segunda parte consiste en el registro interno de los adaptadores de las herramientas para seraccedido con GLUEletManager La distribucioacuten trae un chero para facilitar la conguracioacuten delos adaptadores que trae consigo y para su instalacioacuten deberemos ejecutar el chero GLUE_HOMEmanagerconfdbll _ internal_ Registrysql Alguna de las herramientas necesitanuna conguracioacuten maacutes completa como puede ser Google Docs adapter que necesita una cuentade Gmail para poder crear documentos en Google Docs por lo que deberemos modicar el nom-bre de usuario y contrasentildea

La uacuteltima parte consiste en la instalacioacuten del adaptardor de Moodle como VLE utilizado Estainstalacioacuten es como cualquier otro moacutedulo de Moodle 2 La carpeta que deberemos copiar seraacutela del adaptador correspondiente a Moodle que se encuentra en la carpeta GLUE_ HOMEvle_adpatersmoodle_ vle_ adapter Una vez entremos en nuestro Moodle como administrador nosapareceraacute un mensaje indicaacutendonos que el nuevo moacutedulo esta instalado Para congurar el nuevomoacutedulo debermos ir a Noticaciones - Modulos - Actividades como podemos ver en la gura 63para congurar los paraacutemetros la URL del GLUEletManager y el tiempo de espera

Figura 63 Paraacutemetros del moacutedulo GLUE

Cuando el profesor quiera crear una nueva actividad dependiente de los adaptadores de GLUEdeberaacute agregar una actividad maacutes pulsando para ello en esta opcioacuten dentro del bloque deseadopara seleccionar luego el tipo de actividad GLUElet como podemos ver en la gura64

622 Creando un Doodle

El adaptador Doodle permite la creacioacuten conguracioacuten y gestioacuten de instancias del Doodle Cadaencuesta Doodle es considerado un instancia diferente Ademaacutes este adaptador permite realizarademas la conguracioacuten inicial de encuestas Doodle incluyendo el nombre de la encuesta unadescripcioacuten y un conjunto de posibles respuestas

A continuacioacuten antildeadiremos Doodle en un bloque de Moodle para ellos pulsaremos la opcioacuten deAgregar actividad GLUElet lo cual nos mostraraacute la paacutegina65 donde deberemos rellenar comomiacutenimo el nombre de la actividad y el tipo de herramienta seleccionado en este caso Doodle(httpdoodle-testcom)

2httpdocsmoodleorgenInstalling_contributed_modules_or_plugins

Figura 64 Creando una actividad GLUElet

La primera vez que pulsemos sobre la nueva actividad creada apareceraacute un pantalla 66 dondepodemos congurar diferentes elementos de la encuesta desarrollada con Doodle como son eltiacutetulo una pequentildea descripcioacuten y luego las opciones posibles con un liacutemite de 10

El resultado nal seraacute la incrustacioacuten de una encuesta Doodle dentro de nuestro Moodle comopodemos ver en la gura67

Figura 65 Antildeadiendo Doodle como actividad

Figura 66 Opciones iniciales de conguracioacuten de Doodle

Figura 67 Doodel dentro de Moodle

Capiacutetulo 7

Conclusiones Finales

71 Conclusiones Finales

El proyecto actual nos ha servido para acercarnos a las diferentes tecnologiacuteas que permiten lacomunicacioacuten entre Servicios Webs Hemos desarrollado una primera labor de investigacioacuten queha requerido el aprendizaje de diferentes herramientas de control de documentacioacuten y referenciascomo Zotero y Mendeley

La documentacioacuten recabada en el proceso inicial de revisioacuten de documentos nos ha aportadoun visioacuten general de los diferentes sistemas virtuales de aprendizaje que podemos encontrarnosmuchos de ellos gratuitos y las diferentes soluciones que se plantean a la necesidad de incluirrecursos de otros fabricantes que en principio no fueron concebidos para ser utilizados dentro deuna plataforma VLE

Para poner en praacutectica la diferentes opciones encontradas se han montado diferentes maacutequinasvirtuales sobre las que se han probado las mismas Las conclusiones nales se pasan a detallar

IMS LTIEsta solucioacuten de integracioacuten mediante el cumplimiento de unos protocolos y certicacionesde las herramientas que lo cumplen es en principio la que podriacutea parecer la mejor opcioacutenpero la falta de compromiso de los diferentes fabricantes de Servicios Web y la luchapara imponer sus propios estaacutendares hace que aun quede mucho para que esta opcioacuten seacomo tal real

Si vemos el nuacutemero de aplicaciones certicadas para usar IMS LTI apenas superan las 50 yla mayoriacutea solo cumple la especicacioacuten v10 lo cual signica que la integracioacuten solo solu-ciona el problema de llamar a un recurso externo desde Moodle Pocas son las que cumplenla v11 que permite obtener en Moodle una valoracioacuten de los ejercicios desarrollados en unaactividad externa

La versioacuten v20 que daraacute maacutes opciones a la hora de interactuar con actividades externasauacuten esta en desarrollo y nada se sabe sobre posibles fechas para su presentacioacuten Luegocerticacioacuten de herramientas etc

55

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 50: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

Figura 510 Wordpress integrado en Moodle

532 ChemVantage

ChemVantage es un recurso gratuito para la educacioacuten cientiacuteca que incluye ejercicios de gradoejercicios de preparacioacuten exaacutemenes de la praacutectica conferencias de video y libros de texto enliacutenea gratis Fue creado por ChemVantage LLC que fue fundada por el Prof Chuck Wight queha ensentildeado Quiacutemica General en la Universidad de Utah desde 1984 (ChemVantage 2011)

Nos hemos puesto en contacto con Chuck Wight (adminchemvantageorg) para solicitarle unaclave de consumidor y secreta para poder probar este recurso desde moodle Las opciones y elcorreo puede verse en la gura 511

Una de las cosas maacutes importantes de ChemVantage y por lo que nos hemos decidido a probar esque permite la devolucioacuten de las notas obtenidas en los ejercicios realizados en las herramientasexternas a Moodle El alumno podraacute realizar las tareas en esta herramienta externa y luego sercalicadas en Moodle

ChemVantage estaacute certicada por IMS 7 como un proveedor de herramientas LTI v11 y comotal funciona desde nuestro propio LMS para llevar a cabo la autenticacioacuten de sitios provee decuentas y devuelve resultados de asignacioacuten de estudiantes con el libro LMS grado automaacutetica-mente

Los recursos disponible son ChemVantage son principalmente los siguientes

1 QuizzesLos ejercicios presentados aquiacute estaacuten disentildeados para animar a los estudiantes a leer y en-tender los libros de texto utilizados en el curso Las preguntas se basan en material que sepresente en su mayor parte en los textos de introduccioacuten de quiacutemica Los iacutetems de preguntastienen respuestas straighforward no requieren caacutelculos detallados Las preguntas se presen-tan en varios formatos diferentes incluyendo opcioacuten muacuteltiple verdadero falso casilla devericacioacuten ll-in-the-blanco y numeacutericas Cada cuestionario se compone de 10 preguntasextraiacutedas al azar de una base de datos con muchas maacutes preguntas En el proceso de tomarvarias pruebas para mejorar sus calicaciones los estudiantes probablemente encuentran

7httpdevelopersimsglobalorgcoursechemvantagehtml

algunas preguntas repetidas de concursos anteriores sin embargo es poco probable quecualquiera de los dos cuestionarios contendraacute exactamente el mismo conjunto de preguntasen el mismo orden Asignando pruebas para ser completado antes de la conferencia losprofesores pueden estar seguros de que sus estudiantes tengan un poco de exposicioacuten almaterial Esto permite una mayor discusioacuten el diaacutelogo y la participacioacuten en el aula y haceel aprendizaje maacutes divertido (de verdad)

2 Video LecturesUna serie de conferencias de viacutedeo de 10 minutos sobre una variedad de temas de QuiacutemicaGeneral es accesible desde la paacutegina principal Los videos estaacuten disentildeados para reforzar lospuntos principales que se presentan en muchos libros de texto

3 HoweworksLas tareas estaacuten disentildeadas para dar a los estudiantes la praacutectica en la resolucioacuten de proble-mas cuantitativos que tienen respuestas numeacutericas Cada alumno puede descargar la tareatrabajar los problemas y presentar las respuestas en liacutenea Respuestas son juzgados a sercorrecta si la solucioacuten numeacuterica de acuerdo con la solucioacuten que se encuentra en la base dedatos dentro de una tolerancia especicada (indicado para cada problema) El sitio informaa los estudiantes que las respuestas son correctas para que puedan rehacer problemas malresueltos y volver a presentar las respuestas Cada problema se basa en una plantilla queatrae paraacutemetros al azar por lo que la respuesta correcta es diferente para cada estudianteEsto hace que sean adecuadas para la colaboracioacuten y el trabajo en grupo porque a pesarde que el grupo puede trabajar para encontrar un algoritmo correcto para resolver un prob-lema cada estudiante tendraacute que usar el algoritmo para encontrar la solucioacuten detallada asu propio problema

4 Practice ExamsLos estudiantes pueden realizaar exaacutemenes de praacutectica cronometrados que muestran laspreguntas de un grupo de 3 o maacutes temas Cada examen estaacute disentildeado para tardar unos60 minutos o menos e incluye una seleccioacuten de 10 preguntas Las praacutecticas de exaacutemenespueden repetirse cuantas veces se desee Las preguntas numeacutericas son parametrizadas loque es muy poco probable que un estudiante realice alguna vez dos exaacutemenes de praacutecticaideacutenticos

5 Portofolio PageCada estudiante puede acceder a una paacutegina que le da la puntuacioacuten obtenida en cada prue-ba y la asignacioacuten de tareas Los estudiantes que son miembros de un grupo tienen unapaacutegina de resultados asociados a las tareas de grupo Hay una paacutegina de carpeta separadaque contiene un resumen de todas las actividades realizadas en ChemVantage incluyendovideos vistos cuestionarios completados resolver problemas con la tarea y la praacutectica deexaacutemenes completados Las puntuaciones en los exaacutemenes de praacutectica son desagregadospara revelar fortalezas y debilidades estudiantes por temas

Hemos procedido a darlo de alta en LTI como hicimos con Wordpress Entramos en Moodle co-mo Administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

Figura 511 Correo de Chuck Wight

-LTI quedando como resultado la siguiente hoja de paraacutemetros gura 512

El siguiente paso seraacute antildeadir la herramienta dentro de nuestro curso para ello pulsaremos sobreAntildeadir una actividad o un recurso Deberemos seleccionar External Tool y rellenamos las op-ciones de la herramienta seleccionando como Tipo de herramienta externa la opcioacuten creada enel apartado de LTI de Moodle

Una vez congurado la herramienta en Moodle podemos entrar para realizar una personalizacioacutende la herramienta gura 513 esta consiste en indicar si el alumno cuando se conecta realiza undeterminado tarea o puede elegir navegar por la web de ChemVantage para poder disfrutar dela cantidad de recursos que se encuentran disponibles

Cuando el usuario pulsa sobre la opcioacuten de esta herramienta externa en Moodle lo primero quese le muestra es la informacioacuten sobre su perl en Chemvantage 514Como hemos visto en los paraacutemetros de conguracioacuten existe la posibilidad de llamar a unaherramienta externa incrustaacutendola dentro de Moodle o abrieacutendolo en una paacutegina web nuevaCon esta segunda opcioacuten no hemos conseguido que funcione correctamente la importacioacuten de lasnotas En cambio si la herramienta externa estaacute incrustada permite esa vinculacioacuten

Figura 512 Conguracioacuten de paraacutemetros LTI

Figura 513 Opciones de inicio de la herramienta

Figura 514 Pantalla de utilizacioacuten de la herramienta por el usuario

Capiacutetulo 6

Middleware

61 Introduccioacuten

La uacuteltima opcioacuten seriacutea utilizar una arquitectura middleware de integracioacuten que permita la inte-gracioacuten ligera de muacuteltiples herramientas existentes en el Moodle

62 GluePS

GLUE-PS es una arquitectura de middleware que permite una interoperabilidad ligera entrelos diferentes lenguajes de disentildeo de aprendizaje y diferentes entornos de aprendizaje virtualEsta interoperabilidad permite a los maestros y otros profesionales que particularicen (es decirpara personalizar el disentildeo de aprendizaje abstractoa la clase particular los participantes y laeleccioacuten de los instrumentos en los que va a ser promulgada) desplieguen (es decir para crearde forma semiautomaacutetica las actividades necesarias en el VLE recursos etc para la aprobacioacutendel disentildeo particularizado) e incluso para llevar a cabo ciertos cambios en el tiempo de ejecucioacuten(por ejemplo modicar la composicioacuten del grupo agregar o quitar recursos de las actividadesetc) Todo esto a partir de disentildeos en distintos lenguajes de disentildeo de aprendizaje tales como laespecicacioacuten IMS-LD aprendizaje

Por otra parte GLUE-PS tambieacuten permite desplegar y gestionar disentildeos de aprendizaje en en-tornos virtuales de aprendizaje que integren herramientas de aprendizaje externos (tales comointegrar en Moodle herramientas como Google Docs y muchos otros) - lo que llamamos Am-bientes de Aprendizaje Distribuido (DLE Distributed Learning Enviroments) Esto se consiguegracias a la arquitectura de GLUE para la integracioacuten de los entornos virtuales de aprendizajey herramientas externas

621 Instalacioacuten

Para realizar la instalacioacuten de GLUE-PS nos hemos descargado el software necesario de la webde los desarrolladores1 descargando la opcioacuten de autenticacioacuten centralizada La instalacioacuten haconstado de tres partes que pasaremos a describir a continuacioacuten

1httpwwwgsicuvaesglue

49

Figura 61 Arquitectura de GLUE

La primera parte consiste en la instalacioacuten del GLUEletManager y los adaptadores GSIC toolAunque el sistema viene preparado para Linux o Windows siendo Windows la explicacioacuten quevamos a desarrollar por estar utilizando este sistema operativo con Xampp

1 Crear el directorio GLUE_ HOME El cual hemos creado para mayor comodidad en la raiacutezdel disco duro

2 Denir la variable del sistema GLUE_ HOME con el valor de la direccioacuten completa deldirectorio de GLUE del punto anterior Para ello hemos pulsado botoacuten derecho sobre MiPc Propiedad Opciones Avanzadas Variables de Entorno procediendo a pulsar el botoacutenNueva para crear la variable en cuestioacuten

3 Extraemos en el directorio del punto (1) el paquete descargado de la paacutegina de los desar-rolladores

4 Ejecutar la instalacioacuten del cheroGLUE_ HOMEbininstall gluebat para registar GLUElet-Manager y GSIC tool como un servicio de Windows Tambieacuten este paso crearaacute un cheroen GLUE_ HOMEtool_ adapteradapterdata para proveer de persistencia a los objetoscreados con el adaptador GSIC tool

A continuacioacuten daremos de alta en nuestro gestor de bases de datos un para de bases de datosque necesita GLUEletManager Para ellos seguimos los siguientes pasos

1 Abrimos la consola de phpMyaAdmin para cargar y ejecutar el chero create_ GLUE_databasessql que se encuentra en GLUE_ HOMEmanagerconfdb

2 Modicamos el chero GLUE_ HOMEmanagerconfMETA-INFpersistencexml paradarle los paraacutemetros necesarios para que JDBC se conecte a nuestra base de datos Losparaacutemetros modicados puede verse en la imagen 62

Figura 62 Paraacutemetros modicados en persistencexml

La segunda parte consiste en el registro interno de los adaptadores de las herramientas para seraccedido con GLUEletManager La distribucioacuten trae un chero para facilitar la conguracioacuten delos adaptadores que trae consigo y para su instalacioacuten deberemos ejecutar el chero GLUE_HOMEmanagerconfdbll _ internal_ Registrysql Alguna de las herramientas necesitanuna conguracioacuten maacutes completa como puede ser Google Docs adapter que necesita una cuentade Gmail para poder crear documentos en Google Docs por lo que deberemos modicar el nom-bre de usuario y contrasentildea

La uacuteltima parte consiste en la instalacioacuten del adaptardor de Moodle como VLE utilizado Estainstalacioacuten es como cualquier otro moacutedulo de Moodle 2 La carpeta que deberemos copiar seraacutela del adaptador correspondiente a Moodle que se encuentra en la carpeta GLUE_ HOMEvle_adpatersmoodle_ vle_ adapter Una vez entremos en nuestro Moodle como administrador nosapareceraacute un mensaje indicaacutendonos que el nuevo moacutedulo esta instalado Para congurar el nuevomoacutedulo debermos ir a Noticaciones - Modulos - Actividades como podemos ver en la gura 63para congurar los paraacutemetros la URL del GLUEletManager y el tiempo de espera

Figura 63 Paraacutemetros del moacutedulo GLUE

Cuando el profesor quiera crear una nueva actividad dependiente de los adaptadores de GLUEdeberaacute agregar una actividad maacutes pulsando para ello en esta opcioacuten dentro del bloque deseadopara seleccionar luego el tipo de actividad GLUElet como podemos ver en la gura64

622 Creando un Doodle

El adaptador Doodle permite la creacioacuten conguracioacuten y gestioacuten de instancias del Doodle Cadaencuesta Doodle es considerado un instancia diferente Ademaacutes este adaptador permite realizarademas la conguracioacuten inicial de encuestas Doodle incluyendo el nombre de la encuesta unadescripcioacuten y un conjunto de posibles respuestas

A continuacioacuten antildeadiremos Doodle en un bloque de Moodle para ellos pulsaremos la opcioacuten deAgregar actividad GLUElet lo cual nos mostraraacute la paacutegina65 donde deberemos rellenar comomiacutenimo el nombre de la actividad y el tipo de herramienta seleccionado en este caso Doodle(httpdoodle-testcom)

2httpdocsmoodleorgenInstalling_contributed_modules_or_plugins

Figura 64 Creando una actividad GLUElet

La primera vez que pulsemos sobre la nueva actividad creada apareceraacute un pantalla 66 dondepodemos congurar diferentes elementos de la encuesta desarrollada con Doodle como son eltiacutetulo una pequentildea descripcioacuten y luego las opciones posibles con un liacutemite de 10

El resultado nal seraacute la incrustacioacuten de una encuesta Doodle dentro de nuestro Moodle comopodemos ver en la gura67

Figura 65 Antildeadiendo Doodle como actividad

Figura 66 Opciones iniciales de conguracioacuten de Doodle

Figura 67 Doodel dentro de Moodle

Capiacutetulo 7

Conclusiones Finales

71 Conclusiones Finales

El proyecto actual nos ha servido para acercarnos a las diferentes tecnologiacuteas que permiten lacomunicacioacuten entre Servicios Webs Hemos desarrollado una primera labor de investigacioacuten queha requerido el aprendizaje de diferentes herramientas de control de documentacioacuten y referenciascomo Zotero y Mendeley

La documentacioacuten recabada en el proceso inicial de revisioacuten de documentos nos ha aportadoun visioacuten general de los diferentes sistemas virtuales de aprendizaje que podemos encontrarnosmuchos de ellos gratuitos y las diferentes soluciones que se plantean a la necesidad de incluirrecursos de otros fabricantes que en principio no fueron concebidos para ser utilizados dentro deuna plataforma VLE

Para poner en praacutectica la diferentes opciones encontradas se han montado diferentes maacutequinasvirtuales sobre las que se han probado las mismas Las conclusiones nales se pasan a detallar

IMS LTIEsta solucioacuten de integracioacuten mediante el cumplimiento de unos protocolos y certicacionesde las herramientas que lo cumplen es en principio la que podriacutea parecer la mejor opcioacutenpero la falta de compromiso de los diferentes fabricantes de Servicios Web y la luchapara imponer sus propios estaacutendares hace que aun quede mucho para que esta opcioacuten seacomo tal real

Si vemos el nuacutemero de aplicaciones certicadas para usar IMS LTI apenas superan las 50 yla mayoriacutea solo cumple la especicacioacuten v10 lo cual signica que la integracioacuten solo solu-ciona el problema de llamar a un recurso externo desde Moodle Pocas son las que cumplenla v11 que permite obtener en Moodle una valoracioacuten de los ejercicios desarrollados en unaactividad externa

La versioacuten v20 que daraacute maacutes opciones a la hora de interactuar con actividades externasauacuten esta en desarrollo y nada se sabe sobre posibles fechas para su presentacioacuten Luegocerticacioacuten de herramientas etc

55

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 51: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

algunas preguntas repetidas de concursos anteriores sin embargo es poco probable quecualquiera de los dos cuestionarios contendraacute exactamente el mismo conjunto de preguntasen el mismo orden Asignando pruebas para ser completado antes de la conferencia losprofesores pueden estar seguros de que sus estudiantes tengan un poco de exposicioacuten almaterial Esto permite una mayor discusioacuten el diaacutelogo y la participacioacuten en el aula y haceel aprendizaje maacutes divertido (de verdad)

2 Video LecturesUna serie de conferencias de viacutedeo de 10 minutos sobre una variedad de temas de QuiacutemicaGeneral es accesible desde la paacutegina principal Los videos estaacuten disentildeados para reforzar lospuntos principales que se presentan en muchos libros de texto

3 HoweworksLas tareas estaacuten disentildeadas para dar a los estudiantes la praacutectica en la resolucioacuten de proble-mas cuantitativos que tienen respuestas numeacutericas Cada alumno puede descargar la tareatrabajar los problemas y presentar las respuestas en liacutenea Respuestas son juzgados a sercorrecta si la solucioacuten numeacuterica de acuerdo con la solucioacuten que se encuentra en la base dedatos dentro de una tolerancia especicada (indicado para cada problema) El sitio informaa los estudiantes que las respuestas son correctas para que puedan rehacer problemas malresueltos y volver a presentar las respuestas Cada problema se basa en una plantilla queatrae paraacutemetros al azar por lo que la respuesta correcta es diferente para cada estudianteEsto hace que sean adecuadas para la colaboracioacuten y el trabajo en grupo porque a pesarde que el grupo puede trabajar para encontrar un algoritmo correcto para resolver un prob-lema cada estudiante tendraacute que usar el algoritmo para encontrar la solucioacuten detallada asu propio problema

4 Practice ExamsLos estudiantes pueden realizaar exaacutemenes de praacutectica cronometrados que muestran laspreguntas de un grupo de 3 o maacutes temas Cada examen estaacute disentildeado para tardar unos60 minutos o menos e incluye una seleccioacuten de 10 preguntas Las praacutecticas de exaacutemenespueden repetirse cuantas veces se desee Las preguntas numeacutericas son parametrizadas loque es muy poco probable que un estudiante realice alguna vez dos exaacutemenes de praacutecticaideacutenticos

5 Portofolio PageCada estudiante puede acceder a una paacutegina que le da la puntuacioacuten obtenida en cada prue-ba y la asignacioacuten de tareas Los estudiantes que son miembros de un grupo tienen unapaacutegina de resultados asociados a las tareas de grupo Hay una paacutegina de carpeta separadaque contiene un resumen de todas las actividades realizadas en ChemVantage incluyendovideos vistos cuestionarios completados resolver problemas con la tarea y la praacutectica deexaacutemenes completados Las puntuaciones en los exaacutemenes de praacutectica son desagregadospara revelar fortalezas y debilidades estudiantes por temas

Hemos procedido a darlo de alta en LTI como hicimos con Wordpress Entramos en Moodle co-mo Administrador deberemos ir a Administracioacuten del sitio - Extensiones - Moacutedulos de actividad

Figura 511 Correo de Chuck Wight

-LTI quedando como resultado la siguiente hoja de paraacutemetros gura 512

El siguiente paso seraacute antildeadir la herramienta dentro de nuestro curso para ello pulsaremos sobreAntildeadir una actividad o un recurso Deberemos seleccionar External Tool y rellenamos las op-ciones de la herramienta seleccionando como Tipo de herramienta externa la opcioacuten creada enel apartado de LTI de Moodle

Una vez congurado la herramienta en Moodle podemos entrar para realizar una personalizacioacutende la herramienta gura 513 esta consiste en indicar si el alumno cuando se conecta realiza undeterminado tarea o puede elegir navegar por la web de ChemVantage para poder disfrutar dela cantidad de recursos que se encuentran disponibles

Cuando el usuario pulsa sobre la opcioacuten de esta herramienta externa en Moodle lo primero quese le muestra es la informacioacuten sobre su perl en Chemvantage 514Como hemos visto en los paraacutemetros de conguracioacuten existe la posibilidad de llamar a unaherramienta externa incrustaacutendola dentro de Moodle o abrieacutendolo en una paacutegina web nuevaCon esta segunda opcioacuten no hemos conseguido que funcione correctamente la importacioacuten de lasnotas En cambio si la herramienta externa estaacute incrustada permite esa vinculacioacuten

Figura 512 Conguracioacuten de paraacutemetros LTI

Figura 513 Opciones de inicio de la herramienta

Figura 514 Pantalla de utilizacioacuten de la herramienta por el usuario

Capiacutetulo 6

Middleware

61 Introduccioacuten

La uacuteltima opcioacuten seriacutea utilizar una arquitectura middleware de integracioacuten que permita la inte-gracioacuten ligera de muacuteltiples herramientas existentes en el Moodle

62 GluePS

GLUE-PS es una arquitectura de middleware que permite una interoperabilidad ligera entrelos diferentes lenguajes de disentildeo de aprendizaje y diferentes entornos de aprendizaje virtualEsta interoperabilidad permite a los maestros y otros profesionales que particularicen (es decirpara personalizar el disentildeo de aprendizaje abstractoa la clase particular los participantes y laeleccioacuten de los instrumentos en los que va a ser promulgada) desplieguen (es decir para crearde forma semiautomaacutetica las actividades necesarias en el VLE recursos etc para la aprobacioacutendel disentildeo particularizado) e incluso para llevar a cabo ciertos cambios en el tiempo de ejecucioacuten(por ejemplo modicar la composicioacuten del grupo agregar o quitar recursos de las actividadesetc) Todo esto a partir de disentildeos en distintos lenguajes de disentildeo de aprendizaje tales como laespecicacioacuten IMS-LD aprendizaje

Por otra parte GLUE-PS tambieacuten permite desplegar y gestionar disentildeos de aprendizaje en en-tornos virtuales de aprendizaje que integren herramientas de aprendizaje externos (tales comointegrar en Moodle herramientas como Google Docs y muchos otros) - lo que llamamos Am-bientes de Aprendizaje Distribuido (DLE Distributed Learning Enviroments) Esto se consiguegracias a la arquitectura de GLUE para la integracioacuten de los entornos virtuales de aprendizajey herramientas externas

621 Instalacioacuten

Para realizar la instalacioacuten de GLUE-PS nos hemos descargado el software necesario de la webde los desarrolladores1 descargando la opcioacuten de autenticacioacuten centralizada La instalacioacuten haconstado de tres partes que pasaremos a describir a continuacioacuten

1httpwwwgsicuvaesglue

49

Figura 61 Arquitectura de GLUE

La primera parte consiste en la instalacioacuten del GLUEletManager y los adaptadores GSIC toolAunque el sistema viene preparado para Linux o Windows siendo Windows la explicacioacuten quevamos a desarrollar por estar utilizando este sistema operativo con Xampp

1 Crear el directorio GLUE_ HOME El cual hemos creado para mayor comodidad en la raiacutezdel disco duro

2 Denir la variable del sistema GLUE_ HOME con el valor de la direccioacuten completa deldirectorio de GLUE del punto anterior Para ello hemos pulsado botoacuten derecho sobre MiPc Propiedad Opciones Avanzadas Variables de Entorno procediendo a pulsar el botoacutenNueva para crear la variable en cuestioacuten

3 Extraemos en el directorio del punto (1) el paquete descargado de la paacutegina de los desar-rolladores

4 Ejecutar la instalacioacuten del cheroGLUE_ HOMEbininstall gluebat para registar GLUElet-Manager y GSIC tool como un servicio de Windows Tambieacuten este paso crearaacute un cheroen GLUE_ HOMEtool_ adapteradapterdata para proveer de persistencia a los objetoscreados con el adaptador GSIC tool

A continuacioacuten daremos de alta en nuestro gestor de bases de datos un para de bases de datosque necesita GLUEletManager Para ellos seguimos los siguientes pasos

1 Abrimos la consola de phpMyaAdmin para cargar y ejecutar el chero create_ GLUE_databasessql que se encuentra en GLUE_ HOMEmanagerconfdb

2 Modicamos el chero GLUE_ HOMEmanagerconfMETA-INFpersistencexml paradarle los paraacutemetros necesarios para que JDBC se conecte a nuestra base de datos Losparaacutemetros modicados puede verse en la imagen 62

Figura 62 Paraacutemetros modicados en persistencexml

La segunda parte consiste en el registro interno de los adaptadores de las herramientas para seraccedido con GLUEletManager La distribucioacuten trae un chero para facilitar la conguracioacuten delos adaptadores que trae consigo y para su instalacioacuten deberemos ejecutar el chero GLUE_HOMEmanagerconfdbll _ internal_ Registrysql Alguna de las herramientas necesitanuna conguracioacuten maacutes completa como puede ser Google Docs adapter que necesita una cuentade Gmail para poder crear documentos en Google Docs por lo que deberemos modicar el nom-bre de usuario y contrasentildea

La uacuteltima parte consiste en la instalacioacuten del adaptardor de Moodle como VLE utilizado Estainstalacioacuten es como cualquier otro moacutedulo de Moodle 2 La carpeta que deberemos copiar seraacutela del adaptador correspondiente a Moodle que se encuentra en la carpeta GLUE_ HOMEvle_adpatersmoodle_ vle_ adapter Una vez entremos en nuestro Moodle como administrador nosapareceraacute un mensaje indicaacutendonos que el nuevo moacutedulo esta instalado Para congurar el nuevomoacutedulo debermos ir a Noticaciones - Modulos - Actividades como podemos ver en la gura 63para congurar los paraacutemetros la URL del GLUEletManager y el tiempo de espera

Figura 63 Paraacutemetros del moacutedulo GLUE

Cuando el profesor quiera crear una nueva actividad dependiente de los adaptadores de GLUEdeberaacute agregar una actividad maacutes pulsando para ello en esta opcioacuten dentro del bloque deseadopara seleccionar luego el tipo de actividad GLUElet como podemos ver en la gura64

622 Creando un Doodle

El adaptador Doodle permite la creacioacuten conguracioacuten y gestioacuten de instancias del Doodle Cadaencuesta Doodle es considerado un instancia diferente Ademaacutes este adaptador permite realizarademas la conguracioacuten inicial de encuestas Doodle incluyendo el nombre de la encuesta unadescripcioacuten y un conjunto de posibles respuestas

A continuacioacuten antildeadiremos Doodle en un bloque de Moodle para ellos pulsaremos la opcioacuten deAgregar actividad GLUElet lo cual nos mostraraacute la paacutegina65 donde deberemos rellenar comomiacutenimo el nombre de la actividad y el tipo de herramienta seleccionado en este caso Doodle(httpdoodle-testcom)

2httpdocsmoodleorgenInstalling_contributed_modules_or_plugins

Figura 64 Creando una actividad GLUElet

La primera vez que pulsemos sobre la nueva actividad creada apareceraacute un pantalla 66 dondepodemos congurar diferentes elementos de la encuesta desarrollada con Doodle como son eltiacutetulo una pequentildea descripcioacuten y luego las opciones posibles con un liacutemite de 10

El resultado nal seraacute la incrustacioacuten de una encuesta Doodle dentro de nuestro Moodle comopodemos ver en la gura67

Figura 65 Antildeadiendo Doodle como actividad

Figura 66 Opciones iniciales de conguracioacuten de Doodle

Figura 67 Doodel dentro de Moodle

Capiacutetulo 7

Conclusiones Finales

71 Conclusiones Finales

El proyecto actual nos ha servido para acercarnos a las diferentes tecnologiacuteas que permiten lacomunicacioacuten entre Servicios Webs Hemos desarrollado una primera labor de investigacioacuten queha requerido el aprendizaje de diferentes herramientas de control de documentacioacuten y referenciascomo Zotero y Mendeley

La documentacioacuten recabada en el proceso inicial de revisioacuten de documentos nos ha aportadoun visioacuten general de los diferentes sistemas virtuales de aprendizaje que podemos encontrarnosmuchos de ellos gratuitos y las diferentes soluciones que se plantean a la necesidad de incluirrecursos de otros fabricantes que en principio no fueron concebidos para ser utilizados dentro deuna plataforma VLE

Para poner en praacutectica la diferentes opciones encontradas se han montado diferentes maacutequinasvirtuales sobre las que se han probado las mismas Las conclusiones nales se pasan a detallar

IMS LTIEsta solucioacuten de integracioacuten mediante el cumplimiento de unos protocolos y certicacionesde las herramientas que lo cumplen es en principio la que podriacutea parecer la mejor opcioacutenpero la falta de compromiso de los diferentes fabricantes de Servicios Web y la luchapara imponer sus propios estaacutendares hace que aun quede mucho para que esta opcioacuten seacomo tal real

Si vemos el nuacutemero de aplicaciones certicadas para usar IMS LTI apenas superan las 50 yla mayoriacutea solo cumple la especicacioacuten v10 lo cual signica que la integracioacuten solo solu-ciona el problema de llamar a un recurso externo desde Moodle Pocas son las que cumplenla v11 que permite obtener en Moodle una valoracioacuten de los ejercicios desarrollados en unaactividad externa

La versioacuten v20 que daraacute maacutes opciones a la hora de interactuar con actividades externasauacuten esta en desarrollo y nada se sabe sobre posibles fechas para su presentacioacuten Luegocerticacioacuten de herramientas etc

55

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 52: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

Figura 511 Correo de Chuck Wight

-LTI quedando como resultado la siguiente hoja de paraacutemetros gura 512

El siguiente paso seraacute antildeadir la herramienta dentro de nuestro curso para ello pulsaremos sobreAntildeadir una actividad o un recurso Deberemos seleccionar External Tool y rellenamos las op-ciones de la herramienta seleccionando como Tipo de herramienta externa la opcioacuten creada enel apartado de LTI de Moodle

Una vez congurado la herramienta en Moodle podemos entrar para realizar una personalizacioacutende la herramienta gura 513 esta consiste en indicar si el alumno cuando se conecta realiza undeterminado tarea o puede elegir navegar por la web de ChemVantage para poder disfrutar dela cantidad de recursos que se encuentran disponibles

Cuando el usuario pulsa sobre la opcioacuten de esta herramienta externa en Moodle lo primero quese le muestra es la informacioacuten sobre su perl en Chemvantage 514Como hemos visto en los paraacutemetros de conguracioacuten existe la posibilidad de llamar a unaherramienta externa incrustaacutendola dentro de Moodle o abrieacutendolo en una paacutegina web nuevaCon esta segunda opcioacuten no hemos conseguido que funcione correctamente la importacioacuten de lasnotas En cambio si la herramienta externa estaacute incrustada permite esa vinculacioacuten

Figura 512 Conguracioacuten de paraacutemetros LTI

Figura 513 Opciones de inicio de la herramienta

Figura 514 Pantalla de utilizacioacuten de la herramienta por el usuario

Capiacutetulo 6

Middleware

61 Introduccioacuten

La uacuteltima opcioacuten seriacutea utilizar una arquitectura middleware de integracioacuten que permita la inte-gracioacuten ligera de muacuteltiples herramientas existentes en el Moodle

62 GluePS

GLUE-PS es una arquitectura de middleware que permite una interoperabilidad ligera entrelos diferentes lenguajes de disentildeo de aprendizaje y diferentes entornos de aprendizaje virtualEsta interoperabilidad permite a los maestros y otros profesionales que particularicen (es decirpara personalizar el disentildeo de aprendizaje abstractoa la clase particular los participantes y laeleccioacuten de los instrumentos en los que va a ser promulgada) desplieguen (es decir para crearde forma semiautomaacutetica las actividades necesarias en el VLE recursos etc para la aprobacioacutendel disentildeo particularizado) e incluso para llevar a cabo ciertos cambios en el tiempo de ejecucioacuten(por ejemplo modicar la composicioacuten del grupo agregar o quitar recursos de las actividadesetc) Todo esto a partir de disentildeos en distintos lenguajes de disentildeo de aprendizaje tales como laespecicacioacuten IMS-LD aprendizaje

Por otra parte GLUE-PS tambieacuten permite desplegar y gestionar disentildeos de aprendizaje en en-tornos virtuales de aprendizaje que integren herramientas de aprendizaje externos (tales comointegrar en Moodle herramientas como Google Docs y muchos otros) - lo que llamamos Am-bientes de Aprendizaje Distribuido (DLE Distributed Learning Enviroments) Esto se consiguegracias a la arquitectura de GLUE para la integracioacuten de los entornos virtuales de aprendizajey herramientas externas

621 Instalacioacuten

Para realizar la instalacioacuten de GLUE-PS nos hemos descargado el software necesario de la webde los desarrolladores1 descargando la opcioacuten de autenticacioacuten centralizada La instalacioacuten haconstado de tres partes que pasaremos a describir a continuacioacuten

1httpwwwgsicuvaesglue

49

Figura 61 Arquitectura de GLUE

La primera parte consiste en la instalacioacuten del GLUEletManager y los adaptadores GSIC toolAunque el sistema viene preparado para Linux o Windows siendo Windows la explicacioacuten quevamos a desarrollar por estar utilizando este sistema operativo con Xampp

1 Crear el directorio GLUE_ HOME El cual hemos creado para mayor comodidad en la raiacutezdel disco duro

2 Denir la variable del sistema GLUE_ HOME con el valor de la direccioacuten completa deldirectorio de GLUE del punto anterior Para ello hemos pulsado botoacuten derecho sobre MiPc Propiedad Opciones Avanzadas Variables de Entorno procediendo a pulsar el botoacutenNueva para crear la variable en cuestioacuten

3 Extraemos en el directorio del punto (1) el paquete descargado de la paacutegina de los desar-rolladores

4 Ejecutar la instalacioacuten del cheroGLUE_ HOMEbininstall gluebat para registar GLUElet-Manager y GSIC tool como un servicio de Windows Tambieacuten este paso crearaacute un cheroen GLUE_ HOMEtool_ adapteradapterdata para proveer de persistencia a los objetoscreados con el adaptador GSIC tool

A continuacioacuten daremos de alta en nuestro gestor de bases de datos un para de bases de datosque necesita GLUEletManager Para ellos seguimos los siguientes pasos

1 Abrimos la consola de phpMyaAdmin para cargar y ejecutar el chero create_ GLUE_databasessql que se encuentra en GLUE_ HOMEmanagerconfdb

2 Modicamos el chero GLUE_ HOMEmanagerconfMETA-INFpersistencexml paradarle los paraacutemetros necesarios para que JDBC se conecte a nuestra base de datos Losparaacutemetros modicados puede verse en la imagen 62

Figura 62 Paraacutemetros modicados en persistencexml

La segunda parte consiste en el registro interno de los adaptadores de las herramientas para seraccedido con GLUEletManager La distribucioacuten trae un chero para facilitar la conguracioacuten delos adaptadores que trae consigo y para su instalacioacuten deberemos ejecutar el chero GLUE_HOMEmanagerconfdbll _ internal_ Registrysql Alguna de las herramientas necesitanuna conguracioacuten maacutes completa como puede ser Google Docs adapter que necesita una cuentade Gmail para poder crear documentos en Google Docs por lo que deberemos modicar el nom-bre de usuario y contrasentildea

La uacuteltima parte consiste en la instalacioacuten del adaptardor de Moodle como VLE utilizado Estainstalacioacuten es como cualquier otro moacutedulo de Moodle 2 La carpeta que deberemos copiar seraacutela del adaptador correspondiente a Moodle que se encuentra en la carpeta GLUE_ HOMEvle_adpatersmoodle_ vle_ adapter Una vez entremos en nuestro Moodle como administrador nosapareceraacute un mensaje indicaacutendonos que el nuevo moacutedulo esta instalado Para congurar el nuevomoacutedulo debermos ir a Noticaciones - Modulos - Actividades como podemos ver en la gura 63para congurar los paraacutemetros la URL del GLUEletManager y el tiempo de espera

Figura 63 Paraacutemetros del moacutedulo GLUE

Cuando el profesor quiera crear una nueva actividad dependiente de los adaptadores de GLUEdeberaacute agregar una actividad maacutes pulsando para ello en esta opcioacuten dentro del bloque deseadopara seleccionar luego el tipo de actividad GLUElet como podemos ver en la gura64

622 Creando un Doodle

El adaptador Doodle permite la creacioacuten conguracioacuten y gestioacuten de instancias del Doodle Cadaencuesta Doodle es considerado un instancia diferente Ademaacutes este adaptador permite realizarademas la conguracioacuten inicial de encuestas Doodle incluyendo el nombre de la encuesta unadescripcioacuten y un conjunto de posibles respuestas

A continuacioacuten antildeadiremos Doodle en un bloque de Moodle para ellos pulsaremos la opcioacuten deAgregar actividad GLUElet lo cual nos mostraraacute la paacutegina65 donde deberemos rellenar comomiacutenimo el nombre de la actividad y el tipo de herramienta seleccionado en este caso Doodle(httpdoodle-testcom)

2httpdocsmoodleorgenInstalling_contributed_modules_or_plugins

Figura 64 Creando una actividad GLUElet

La primera vez que pulsemos sobre la nueva actividad creada apareceraacute un pantalla 66 dondepodemos congurar diferentes elementos de la encuesta desarrollada con Doodle como son eltiacutetulo una pequentildea descripcioacuten y luego las opciones posibles con un liacutemite de 10

El resultado nal seraacute la incrustacioacuten de una encuesta Doodle dentro de nuestro Moodle comopodemos ver en la gura67

Figura 65 Antildeadiendo Doodle como actividad

Figura 66 Opciones iniciales de conguracioacuten de Doodle

Figura 67 Doodel dentro de Moodle

Capiacutetulo 7

Conclusiones Finales

71 Conclusiones Finales

El proyecto actual nos ha servido para acercarnos a las diferentes tecnologiacuteas que permiten lacomunicacioacuten entre Servicios Webs Hemos desarrollado una primera labor de investigacioacuten queha requerido el aprendizaje de diferentes herramientas de control de documentacioacuten y referenciascomo Zotero y Mendeley

La documentacioacuten recabada en el proceso inicial de revisioacuten de documentos nos ha aportadoun visioacuten general de los diferentes sistemas virtuales de aprendizaje que podemos encontrarnosmuchos de ellos gratuitos y las diferentes soluciones que se plantean a la necesidad de incluirrecursos de otros fabricantes que en principio no fueron concebidos para ser utilizados dentro deuna plataforma VLE

Para poner en praacutectica la diferentes opciones encontradas se han montado diferentes maacutequinasvirtuales sobre las que se han probado las mismas Las conclusiones nales se pasan a detallar

IMS LTIEsta solucioacuten de integracioacuten mediante el cumplimiento de unos protocolos y certicacionesde las herramientas que lo cumplen es en principio la que podriacutea parecer la mejor opcioacutenpero la falta de compromiso de los diferentes fabricantes de Servicios Web y la luchapara imponer sus propios estaacutendares hace que aun quede mucho para que esta opcioacuten seacomo tal real

Si vemos el nuacutemero de aplicaciones certicadas para usar IMS LTI apenas superan las 50 yla mayoriacutea solo cumple la especicacioacuten v10 lo cual signica que la integracioacuten solo solu-ciona el problema de llamar a un recurso externo desde Moodle Pocas son las que cumplenla v11 que permite obtener en Moodle una valoracioacuten de los ejercicios desarrollados en unaactividad externa

La versioacuten v20 que daraacute maacutes opciones a la hora de interactuar con actividades externasauacuten esta en desarrollo y nada se sabe sobre posibles fechas para su presentacioacuten Luegocerticacioacuten de herramientas etc

55

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 53: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

Figura 512 Conguracioacuten de paraacutemetros LTI

Figura 513 Opciones de inicio de la herramienta

Figura 514 Pantalla de utilizacioacuten de la herramienta por el usuario

Capiacutetulo 6

Middleware

61 Introduccioacuten

La uacuteltima opcioacuten seriacutea utilizar una arquitectura middleware de integracioacuten que permita la inte-gracioacuten ligera de muacuteltiples herramientas existentes en el Moodle

62 GluePS

GLUE-PS es una arquitectura de middleware que permite una interoperabilidad ligera entrelos diferentes lenguajes de disentildeo de aprendizaje y diferentes entornos de aprendizaje virtualEsta interoperabilidad permite a los maestros y otros profesionales que particularicen (es decirpara personalizar el disentildeo de aprendizaje abstractoa la clase particular los participantes y laeleccioacuten de los instrumentos en los que va a ser promulgada) desplieguen (es decir para crearde forma semiautomaacutetica las actividades necesarias en el VLE recursos etc para la aprobacioacutendel disentildeo particularizado) e incluso para llevar a cabo ciertos cambios en el tiempo de ejecucioacuten(por ejemplo modicar la composicioacuten del grupo agregar o quitar recursos de las actividadesetc) Todo esto a partir de disentildeos en distintos lenguajes de disentildeo de aprendizaje tales como laespecicacioacuten IMS-LD aprendizaje

Por otra parte GLUE-PS tambieacuten permite desplegar y gestionar disentildeos de aprendizaje en en-tornos virtuales de aprendizaje que integren herramientas de aprendizaje externos (tales comointegrar en Moodle herramientas como Google Docs y muchos otros) - lo que llamamos Am-bientes de Aprendizaje Distribuido (DLE Distributed Learning Enviroments) Esto se consiguegracias a la arquitectura de GLUE para la integracioacuten de los entornos virtuales de aprendizajey herramientas externas

621 Instalacioacuten

Para realizar la instalacioacuten de GLUE-PS nos hemos descargado el software necesario de la webde los desarrolladores1 descargando la opcioacuten de autenticacioacuten centralizada La instalacioacuten haconstado de tres partes que pasaremos a describir a continuacioacuten

1httpwwwgsicuvaesglue

49

Figura 61 Arquitectura de GLUE

La primera parte consiste en la instalacioacuten del GLUEletManager y los adaptadores GSIC toolAunque el sistema viene preparado para Linux o Windows siendo Windows la explicacioacuten quevamos a desarrollar por estar utilizando este sistema operativo con Xampp

1 Crear el directorio GLUE_ HOME El cual hemos creado para mayor comodidad en la raiacutezdel disco duro

2 Denir la variable del sistema GLUE_ HOME con el valor de la direccioacuten completa deldirectorio de GLUE del punto anterior Para ello hemos pulsado botoacuten derecho sobre MiPc Propiedad Opciones Avanzadas Variables de Entorno procediendo a pulsar el botoacutenNueva para crear la variable en cuestioacuten

3 Extraemos en el directorio del punto (1) el paquete descargado de la paacutegina de los desar-rolladores

4 Ejecutar la instalacioacuten del cheroGLUE_ HOMEbininstall gluebat para registar GLUElet-Manager y GSIC tool como un servicio de Windows Tambieacuten este paso crearaacute un cheroen GLUE_ HOMEtool_ adapteradapterdata para proveer de persistencia a los objetoscreados con el adaptador GSIC tool

A continuacioacuten daremos de alta en nuestro gestor de bases de datos un para de bases de datosque necesita GLUEletManager Para ellos seguimos los siguientes pasos

1 Abrimos la consola de phpMyaAdmin para cargar y ejecutar el chero create_ GLUE_databasessql que se encuentra en GLUE_ HOMEmanagerconfdb

2 Modicamos el chero GLUE_ HOMEmanagerconfMETA-INFpersistencexml paradarle los paraacutemetros necesarios para que JDBC se conecte a nuestra base de datos Losparaacutemetros modicados puede verse en la imagen 62

Figura 62 Paraacutemetros modicados en persistencexml

La segunda parte consiste en el registro interno de los adaptadores de las herramientas para seraccedido con GLUEletManager La distribucioacuten trae un chero para facilitar la conguracioacuten delos adaptadores que trae consigo y para su instalacioacuten deberemos ejecutar el chero GLUE_HOMEmanagerconfdbll _ internal_ Registrysql Alguna de las herramientas necesitanuna conguracioacuten maacutes completa como puede ser Google Docs adapter que necesita una cuentade Gmail para poder crear documentos en Google Docs por lo que deberemos modicar el nom-bre de usuario y contrasentildea

La uacuteltima parte consiste en la instalacioacuten del adaptardor de Moodle como VLE utilizado Estainstalacioacuten es como cualquier otro moacutedulo de Moodle 2 La carpeta que deberemos copiar seraacutela del adaptador correspondiente a Moodle que se encuentra en la carpeta GLUE_ HOMEvle_adpatersmoodle_ vle_ adapter Una vez entremos en nuestro Moodle como administrador nosapareceraacute un mensaje indicaacutendonos que el nuevo moacutedulo esta instalado Para congurar el nuevomoacutedulo debermos ir a Noticaciones - Modulos - Actividades como podemos ver en la gura 63para congurar los paraacutemetros la URL del GLUEletManager y el tiempo de espera

Figura 63 Paraacutemetros del moacutedulo GLUE

Cuando el profesor quiera crear una nueva actividad dependiente de los adaptadores de GLUEdeberaacute agregar una actividad maacutes pulsando para ello en esta opcioacuten dentro del bloque deseadopara seleccionar luego el tipo de actividad GLUElet como podemos ver en la gura64

622 Creando un Doodle

El adaptador Doodle permite la creacioacuten conguracioacuten y gestioacuten de instancias del Doodle Cadaencuesta Doodle es considerado un instancia diferente Ademaacutes este adaptador permite realizarademas la conguracioacuten inicial de encuestas Doodle incluyendo el nombre de la encuesta unadescripcioacuten y un conjunto de posibles respuestas

A continuacioacuten antildeadiremos Doodle en un bloque de Moodle para ellos pulsaremos la opcioacuten deAgregar actividad GLUElet lo cual nos mostraraacute la paacutegina65 donde deberemos rellenar comomiacutenimo el nombre de la actividad y el tipo de herramienta seleccionado en este caso Doodle(httpdoodle-testcom)

2httpdocsmoodleorgenInstalling_contributed_modules_or_plugins

Figura 64 Creando una actividad GLUElet

La primera vez que pulsemos sobre la nueva actividad creada apareceraacute un pantalla 66 dondepodemos congurar diferentes elementos de la encuesta desarrollada con Doodle como son eltiacutetulo una pequentildea descripcioacuten y luego las opciones posibles con un liacutemite de 10

El resultado nal seraacute la incrustacioacuten de una encuesta Doodle dentro de nuestro Moodle comopodemos ver en la gura67

Figura 65 Antildeadiendo Doodle como actividad

Figura 66 Opciones iniciales de conguracioacuten de Doodle

Figura 67 Doodel dentro de Moodle

Capiacutetulo 7

Conclusiones Finales

71 Conclusiones Finales

El proyecto actual nos ha servido para acercarnos a las diferentes tecnologiacuteas que permiten lacomunicacioacuten entre Servicios Webs Hemos desarrollado una primera labor de investigacioacuten queha requerido el aprendizaje de diferentes herramientas de control de documentacioacuten y referenciascomo Zotero y Mendeley

La documentacioacuten recabada en el proceso inicial de revisioacuten de documentos nos ha aportadoun visioacuten general de los diferentes sistemas virtuales de aprendizaje que podemos encontrarnosmuchos de ellos gratuitos y las diferentes soluciones que se plantean a la necesidad de incluirrecursos de otros fabricantes que en principio no fueron concebidos para ser utilizados dentro deuna plataforma VLE

Para poner en praacutectica la diferentes opciones encontradas se han montado diferentes maacutequinasvirtuales sobre las que se han probado las mismas Las conclusiones nales se pasan a detallar

IMS LTIEsta solucioacuten de integracioacuten mediante el cumplimiento de unos protocolos y certicacionesde las herramientas que lo cumplen es en principio la que podriacutea parecer la mejor opcioacutenpero la falta de compromiso de los diferentes fabricantes de Servicios Web y la luchapara imponer sus propios estaacutendares hace que aun quede mucho para que esta opcioacuten seacomo tal real

Si vemos el nuacutemero de aplicaciones certicadas para usar IMS LTI apenas superan las 50 yla mayoriacutea solo cumple la especicacioacuten v10 lo cual signica que la integracioacuten solo solu-ciona el problema de llamar a un recurso externo desde Moodle Pocas son las que cumplenla v11 que permite obtener en Moodle una valoracioacuten de los ejercicios desarrollados en unaactividad externa

La versioacuten v20 que daraacute maacutes opciones a la hora de interactuar con actividades externasauacuten esta en desarrollo y nada se sabe sobre posibles fechas para su presentacioacuten Luegocerticacioacuten de herramientas etc

55

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 54: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

Capiacutetulo 6

Middleware

61 Introduccioacuten

La uacuteltima opcioacuten seriacutea utilizar una arquitectura middleware de integracioacuten que permita la inte-gracioacuten ligera de muacuteltiples herramientas existentes en el Moodle

62 GluePS

GLUE-PS es una arquitectura de middleware que permite una interoperabilidad ligera entrelos diferentes lenguajes de disentildeo de aprendizaje y diferentes entornos de aprendizaje virtualEsta interoperabilidad permite a los maestros y otros profesionales que particularicen (es decirpara personalizar el disentildeo de aprendizaje abstractoa la clase particular los participantes y laeleccioacuten de los instrumentos en los que va a ser promulgada) desplieguen (es decir para crearde forma semiautomaacutetica las actividades necesarias en el VLE recursos etc para la aprobacioacutendel disentildeo particularizado) e incluso para llevar a cabo ciertos cambios en el tiempo de ejecucioacuten(por ejemplo modicar la composicioacuten del grupo agregar o quitar recursos de las actividadesetc) Todo esto a partir de disentildeos en distintos lenguajes de disentildeo de aprendizaje tales como laespecicacioacuten IMS-LD aprendizaje

Por otra parte GLUE-PS tambieacuten permite desplegar y gestionar disentildeos de aprendizaje en en-tornos virtuales de aprendizaje que integren herramientas de aprendizaje externos (tales comointegrar en Moodle herramientas como Google Docs y muchos otros) - lo que llamamos Am-bientes de Aprendizaje Distribuido (DLE Distributed Learning Enviroments) Esto se consiguegracias a la arquitectura de GLUE para la integracioacuten de los entornos virtuales de aprendizajey herramientas externas

621 Instalacioacuten

Para realizar la instalacioacuten de GLUE-PS nos hemos descargado el software necesario de la webde los desarrolladores1 descargando la opcioacuten de autenticacioacuten centralizada La instalacioacuten haconstado de tres partes que pasaremos a describir a continuacioacuten

1httpwwwgsicuvaesglue

49

Figura 61 Arquitectura de GLUE

La primera parte consiste en la instalacioacuten del GLUEletManager y los adaptadores GSIC toolAunque el sistema viene preparado para Linux o Windows siendo Windows la explicacioacuten quevamos a desarrollar por estar utilizando este sistema operativo con Xampp

1 Crear el directorio GLUE_ HOME El cual hemos creado para mayor comodidad en la raiacutezdel disco duro

2 Denir la variable del sistema GLUE_ HOME con el valor de la direccioacuten completa deldirectorio de GLUE del punto anterior Para ello hemos pulsado botoacuten derecho sobre MiPc Propiedad Opciones Avanzadas Variables de Entorno procediendo a pulsar el botoacutenNueva para crear la variable en cuestioacuten

3 Extraemos en el directorio del punto (1) el paquete descargado de la paacutegina de los desar-rolladores

4 Ejecutar la instalacioacuten del cheroGLUE_ HOMEbininstall gluebat para registar GLUElet-Manager y GSIC tool como un servicio de Windows Tambieacuten este paso crearaacute un cheroen GLUE_ HOMEtool_ adapteradapterdata para proveer de persistencia a los objetoscreados con el adaptador GSIC tool

A continuacioacuten daremos de alta en nuestro gestor de bases de datos un para de bases de datosque necesita GLUEletManager Para ellos seguimos los siguientes pasos

1 Abrimos la consola de phpMyaAdmin para cargar y ejecutar el chero create_ GLUE_databasessql que se encuentra en GLUE_ HOMEmanagerconfdb

2 Modicamos el chero GLUE_ HOMEmanagerconfMETA-INFpersistencexml paradarle los paraacutemetros necesarios para que JDBC se conecte a nuestra base de datos Losparaacutemetros modicados puede verse en la imagen 62

Figura 62 Paraacutemetros modicados en persistencexml

La segunda parte consiste en el registro interno de los adaptadores de las herramientas para seraccedido con GLUEletManager La distribucioacuten trae un chero para facilitar la conguracioacuten delos adaptadores que trae consigo y para su instalacioacuten deberemos ejecutar el chero GLUE_HOMEmanagerconfdbll _ internal_ Registrysql Alguna de las herramientas necesitanuna conguracioacuten maacutes completa como puede ser Google Docs adapter que necesita una cuentade Gmail para poder crear documentos en Google Docs por lo que deberemos modicar el nom-bre de usuario y contrasentildea

La uacuteltima parte consiste en la instalacioacuten del adaptardor de Moodle como VLE utilizado Estainstalacioacuten es como cualquier otro moacutedulo de Moodle 2 La carpeta que deberemos copiar seraacutela del adaptador correspondiente a Moodle que se encuentra en la carpeta GLUE_ HOMEvle_adpatersmoodle_ vle_ adapter Una vez entremos en nuestro Moodle como administrador nosapareceraacute un mensaje indicaacutendonos que el nuevo moacutedulo esta instalado Para congurar el nuevomoacutedulo debermos ir a Noticaciones - Modulos - Actividades como podemos ver en la gura 63para congurar los paraacutemetros la URL del GLUEletManager y el tiempo de espera

Figura 63 Paraacutemetros del moacutedulo GLUE

Cuando el profesor quiera crear una nueva actividad dependiente de los adaptadores de GLUEdeberaacute agregar una actividad maacutes pulsando para ello en esta opcioacuten dentro del bloque deseadopara seleccionar luego el tipo de actividad GLUElet como podemos ver en la gura64

622 Creando un Doodle

El adaptador Doodle permite la creacioacuten conguracioacuten y gestioacuten de instancias del Doodle Cadaencuesta Doodle es considerado un instancia diferente Ademaacutes este adaptador permite realizarademas la conguracioacuten inicial de encuestas Doodle incluyendo el nombre de la encuesta unadescripcioacuten y un conjunto de posibles respuestas

A continuacioacuten antildeadiremos Doodle en un bloque de Moodle para ellos pulsaremos la opcioacuten deAgregar actividad GLUElet lo cual nos mostraraacute la paacutegina65 donde deberemos rellenar comomiacutenimo el nombre de la actividad y el tipo de herramienta seleccionado en este caso Doodle(httpdoodle-testcom)

2httpdocsmoodleorgenInstalling_contributed_modules_or_plugins

Figura 64 Creando una actividad GLUElet

La primera vez que pulsemos sobre la nueva actividad creada apareceraacute un pantalla 66 dondepodemos congurar diferentes elementos de la encuesta desarrollada con Doodle como son eltiacutetulo una pequentildea descripcioacuten y luego las opciones posibles con un liacutemite de 10

El resultado nal seraacute la incrustacioacuten de una encuesta Doodle dentro de nuestro Moodle comopodemos ver en la gura67

Figura 65 Antildeadiendo Doodle como actividad

Figura 66 Opciones iniciales de conguracioacuten de Doodle

Figura 67 Doodel dentro de Moodle

Capiacutetulo 7

Conclusiones Finales

71 Conclusiones Finales

El proyecto actual nos ha servido para acercarnos a las diferentes tecnologiacuteas que permiten lacomunicacioacuten entre Servicios Webs Hemos desarrollado una primera labor de investigacioacuten queha requerido el aprendizaje de diferentes herramientas de control de documentacioacuten y referenciascomo Zotero y Mendeley

La documentacioacuten recabada en el proceso inicial de revisioacuten de documentos nos ha aportadoun visioacuten general de los diferentes sistemas virtuales de aprendizaje que podemos encontrarnosmuchos de ellos gratuitos y las diferentes soluciones que se plantean a la necesidad de incluirrecursos de otros fabricantes que en principio no fueron concebidos para ser utilizados dentro deuna plataforma VLE

Para poner en praacutectica la diferentes opciones encontradas se han montado diferentes maacutequinasvirtuales sobre las que se han probado las mismas Las conclusiones nales se pasan a detallar

IMS LTIEsta solucioacuten de integracioacuten mediante el cumplimiento de unos protocolos y certicacionesde las herramientas que lo cumplen es en principio la que podriacutea parecer la mejor opcioacutenpero la falta de compromiso de los diferentes fabricantes de Servicios Web y la luchapara imponer sus propios estaacutendares hace que aun quede mucho para que esta opcioacuten seacomo tal real

Si vemos el nuacutemero de aplicaciones certicadas para usar IMS LTI apenas superan las 50 yla mayoriacutea solo cumple la especicacioacuten v10 lo cual signica que la integracioacuten solo solu-ciona el problema de llamar a un recurso externo desde Moodle Pocas son las que cumplenla v11 que permite obtener en Moodle una valoracioacuten de los ejercicios desarrollados en unaactividad externa

La versioacuten v20 que daraacute maacutes opciones a la hora de interactuar con actividades externasauacuten esta en desarrollo y nada se sabe sobre posibles fechas para su presentacioacuten Luegocerticacioacuten de herramientas etc

55

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 55: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

Figura 61 Arquitectura de GLUE

La primera parte consiste en la instalacioacuten del GLUEletManager y los adaptadores GSIC toolAunque el sistema viene preparado para Linux o Windows siendo Windows la explicacioacuten quevamos a desarrollar por estar utilizando este sistema operativo con Xampp

1 Crear el directorio GLUE_ HOME El cual hemos creado para mayor comodidad en la raiacutezdel disco duro

2 Denir la variable del sistema GLUE_ HOME con el valor de la direccioacuten completa deldirectorio de GLUE del punto anterior Para ello hemos pulsado botoacuten derecho sobre MiPc Propiedad Opciones Avanzadas Variables de Entorno procediendo a pulsar el botoacutenNueva para crear la variable en cuestioacuten

3 Extraemos en el directorio del punto (1) el paquete descargado de la paacutegina de los desar-rolladores

4 Ejecutar la instalacioacuten del cheroGLUE_ HOMEbininstall gluebat para registar GLUElet-Manager y GSIC tool como un servicio de Windows Tambieacuten este paso crearaacute un cheroen GLUE_ HOMEtool_ adapteradapterdata para proveer de persistencia a los objetoscreados con el adaptador GSIC tool

A continuacioacuten daremos de alta en nuestro gestor de bases de datos un para de bases de datosque necesita GLUEletManager Para ellos seguimos los siguientes pasos

1 Abrimos la consola de phpMyaAdmin para cargar y ejecutar el chero create_ GLUE_databasessql que se encuentra en GLUE_ HOMEmanagerconfdb

2 Modicamos el chero GLUE_ HOMEmanagerconfMETA-INFpersistencexml paradarle los paraacutemetros necesarios para que JDBC se conecte a nuestra base de datos Losparaacutemetros modicados puede verse en la imagen 62

Figura 62 Paraacutemetros modicados en persistencexml

La segunda parte consiste en el registro interno de los adaptadores de las herramientas para seraccedido con GLUEletManager La distribucioacuten trae un chero para facilitar la conguracioacuten delos adaptadores que trae consigo y para su instalacioacuten deberemos ejecutar el chero GLUE_HOMEmanagerconfdbll _ internal_ Registrysql Alguna de las herramientas necesitanuna conguracioacuten maacutes completa como puede ser Google Docs adapter que necesita una cuentade Gmail para poder crear documentos en Google Docs por lo que deberemos modicar el nom-bre de usuario y contrasentildea

La uacuteltima parte consiste en la instalacioacuten del adaptardor de Moodle como VLE utilizado Estainstalacioacuten es como cualquier otro moacutedulo de Moodle 2 La carpeta que deberemos copiar seraacutela del adaptador correspondiente a Moodle que se encuentra en la carpeta GLUE_ HOMEvle_adpatersmoodle_ vle_ adapter Una vez entremos en nuestro Moodle como administrador nosapareceraacute un mensaje indicaacutendonos que el nuevo moacutedulo esta instalado Para congurar el nuevomoacutedulo debermos ir a Noticaciones - Modulos - Actividades como podemos ver en la gura 63para congurar los paraacutemetros la URL del GLUEletManager y el tiempo de espera

Figura 63 Paraacutemetros del moacutedulo GLUE

Cuando el profesor quiera crear una nueva actividad dependiente de los adaptadores de GLUEdeberaacute agregar una actividad maacutes pulsando para ello en esta opcioacuten dentro del bloque deseadopara seleccionar luego el tipo de actividad GLUElet como podemos ver en la gura64

622 Creando un Doodle

El adaptador Doodle permite la creacioacuten conguracioacuten y gestioacuten de instancias del Doodle Cadaencuesta Doodle es considerado un instancia diferente Ademaacutes este adaptador permite realizarademas la conguracioacuten inicial de encuestas Doodle incluyendo el nombre de la encuesta unadescripcioacuten y un conjunto de posibles respuestas

A continuacioacuten antildeadiremos Doodle en un bloque de Moodle para ellos pulsaremos la opcioacuten deAgregar actividad GLUElet lo cual nos mostraraacute la paacutegina65 donde deberemos rellenar comomiacutenimo el nombre de la actividad y el tipo de herramienta seleccionado en este caso Doodle(httpdoodle-testcom)

2httpdocsmoodleorgenInstalling_contributed_modules_or_plugins

Figura 64 Creando una actividad GLUElet

La primera vez que pulsemos sobre la nueva actividad creada apareceraacute un pantalla 66 dondepodemos congurar diferentes elementos de la encuesta desarrollada con Doodle como son eltiacutetulo una pequentildea descripcioacuten y luego las opciones posibles con un liacutemite de 10

El resultado nal seraacute la incrustacioacuten de una encuesta Doodle dentro de nuestro Moodle comopodemos ver en la gura67

Figura 65 Antildeadiendo Doodle como actividad

Figura 66 Opciones iniciales de conguracioacuten de Doodle

Figura 67 Doodel dentro de Moodle

Capiacutetulo 7

Conclusiones Finales

71 Conclusiones Finales

El proyecto actual nos ha servido para acercarnos a las diferentes tecnologiacuteas que permiten lacomunicacioacuten entre Servicios Webs Hemos desarrollado una primera labor de investigacioacuten queha requerido el aprendizaje de diferentes herramientas de control de documentacioacuten y referenciascomo Zotero y Mendeley

La documentacioacuten recabada en el proceso inicial de revisioacuten de documentos nos ha aportadoun visioacuten general de los diferentes sistemas virtuales de aprendizaje que podemos encontrarnosmuchos de ellos gratuitos y las diferentes soluciones que se plantean a la necesidad de incluirrecursos de otros fabricantes que en principio no fueron concebidos para ser utilizados dentro deuna plataforma VLE

Para poner en praacutectica la diferentes opciones encontradas se han montado diferentes maacutequinasvirtuales sobre las que se han probado las mismas Las conclusiones nales se pasan a detallar

IMS LTIEsta solucioacuten de integracioacuten mediante el cumplimiento de unos protocolos y certicacionesde las herramientas que lo cumplen es en principio la que podriacutea parecer la mejor opcioacutenpero la falta de compromiso de los diferentes fabricantes de Servicios Web y la luchapara imponer sus propios estaacutendares hace que aun quede mucho para que esta opcioacuten seacomo tal real

Si vemos el nuacutemero de aplicaciones certicadas para usar IMS LTI apenas superan las 50 yla mayoriacutea solo cumple la especicacioacuten v10 lo cual signica que la integracioacuten solo solu-ciona el problema de llamar a un recurso externo desde Moodle Pocas son las que cumplenla v11 que permite obtener en Moodle una valoracioacuten de los ejercicios desarrollados en unaactividad externa

La versioacuten v20 que daraacute maacutes opciones a la hora de interactuar con actividades externasauacuten esta en desarrollo y nada se sabe sobre posibles fechas para su presentacioacuten Luegocerticacioacuten de herramientas etc

55

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 56: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

La segunda parte consiste en el registro interno de los adaptadores de las herramientas para seraccedido con GLUEletManager La distribucioacuten trae un chero para facilitar la conguracioacuten delos adaptadores que trae consigo y para su instalacioacuten deberemos ejecutar el chero GLUE_HOMEmanagerconfdbll _ internal_ Registrysql Alguna de las herramientas necesitanuna conguracioacuten maacutes completa como puede ser Google Docs adapter que necesita una cuentade Gmail para poder crear documentos en Google Docs por lo que deberemos modicar el nom-bre de usuario y contrasentildea

La uacuteltima parte consiste en la instalacioacuten del adaptardor de Moodle como VLE utilizado Estainstalacioacuten es como cualquier otro moacutedulo de Moodle 2 La carpeta que deberemos copiar seraacutela del adaptador correspondiente a Moodle que se encuentra en la carpeta GLUE_ HOMEvle_adpatersmoodle_ vle_ adapter Una vez entremos en nuestro Moodle como administrador nosapareceraacute un mensaje indicaacutendonos que el nuevo moacutedulo esta instalado Para congurar el nuevomoacutedulo debermos ir a Noticaciones - Modulos - Actividades como podemos ver en la gura 63para congurar los paraacutemetros la URL del GLUEletManager y el tiempo de espera

Figura 63 Paraacutemetros del moacutedulo GLUE

Cuando el profesor quiera crear una nueva actividad dependiente de los adaptadores de GLUEdeberaacute agregar una actividad maacutes pulsando para ello en esta opcioacuten dentro del bloque deseadopara seleccionar luego el tipo de actividad GLUElet como podemos ver en la gura64

622 Creando un Doodle

El adaptador Doodle permite la creacioacuten conguracioacuten y gestioacuten de instancias del Doodle Cadaencuesta Doodle es considerado un instancia diferente Ademaacutes este adaptador permite realizarademas la conguracioacuten inicial de encuestas Doodle incluyendo el nombre de la encuesta unadescripcioacuten y un conjunto de posibles respuestas

A continuacioacuten antildeadiremos Doodle en un bloque de Moodle para ellos pulsaremos la opcioacuten deAgregar actividad GLUElet lo cual nos mostraraacute la paacutegina65 donde deberemos rellenar comomiacutenimo el nombre de la actividad y el tipo de herramienta seleccionado en este caso Doodle(httpdoodle-testcom)

2httpdocsmoodleorgenInstalling_contributed_modules_or_plugins

Figura 64 Creando una actividad GLUElet

La primera vez que pulsemos sobre la nueva actividad creada apareceraacute un pantalla 66 dondepodemos congurar diferentes elementos de la encuesta desarrollada con Doodle como son eltiacutetulo una pequentildea descripcioacuten y luego las opciones posibles con un liacutemite de 10

El resultado nal seraacute la incrustacioacuten de una encuesta Doodle dentro de nuestro Moodle comopodemos ver en la gura67

Figura 65 Antildeadiendo Doodle como actividad

Figura 66 Opciones iniciales de conguracioacuten de Doodle

Figura 67 Doodel dentro de Moodle

Capiacutetulo 7

Conclusiones Finales

71 Conclusiones Finales

El proyecto actual nos ha servido para acercarnos a las diferentes tecnologiacuteas que permiten lacomunicacioacuten entre Servicios Webs Hemos desarrollado una primera labor de investigacioacuten queha requerido el aprendizaje de diferentes herramientas de control de documentacioacuten y referenciascomo Zotero y Mendeley

La documentacioacuten recabada en el proceso inicial de revisioacuten de documentos nos ha aportadoun visioacuten general de los diferentes sistemas virtuales de aprendizaje que podemos encontrarnosmuchos de ellos gratuitos y las diferentes soluciones que se plantean a la necesidad de incluirrecursos de otros fabricantes que en principio no fueron concebidos para ser utilizados dentro deuna plataforma VLE

Para poner en praacutectica la diferentes opciones encontradas se han montado diferentes maacutequinasvirtuales sobre las que se han probado las mismas Las conclusiones nales se pasan a detallar

IMS LTIEsta solucioacuten de integracioacuten mediante el cumplimiento de unos protocolos y certicacionesde las herramientas que lo cumplen es en principio la que podriacutea parecer la mejor opcioacutenpero la falta de compromiso de los diferentes fabricantes de Servicios Web y la luchapara imponer sus propios estaacutendares hace que aun quede mucho para que esta opcioacuten seacomo tal real

Si vemos el nuacutemero de aplicaciones certicadas para usar IMS LTI apenas superan las 50 yla mayoriacutea solo cumple la especicacioacuten v10 lo cual signica que la integracioacuten solo solu-ciona el problema de llamar a un recurso externo desde Moodle Pocas son las que cumplenla v11 que permite obtener en Moodle una valoracioacuten de los ejercicios desarrollados en unaactividad externa

La versioacuten v20 que daraacute maacutes opciones a la hora de interactuar con actividades externasauacuten esta en desarrollo y nada se sabe sobre posibles fechas para su presentacioacuten Luegocerticacioacuten de herramientas etc

55

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 57: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

Figura 64 Creando una actividad GLUElet

La primera vez que pulsemos sobre la nueva actividad creada apareceraacute un pantalla 66 dondepodemos congurar diferentes elementos de la encuesta desarrollada con Doodle como son eltiacutetulo una pequentildea descripcioacuten y luego las opciones posibles con un liacutemite de 10

El resultado nal seraacute la incrustacioacuten de una encuesta Doodle dentro de nuestro Moodle comopodemos ver en la gura67

Figura 65 Antildeadiendo Doodle como actividad

Figura 66 Opciones iniciales de conguracioacuten de Doodle

Figura 67 Doodel dentro de Moodle

Capiacutetulo 7

Conclusiones Finales

71 Conclusiones Finales

El proyecto actual nos ha servido para acercarnos a las diferentes tecnologiacuteas que permiten lacomunicacioacuten entre Servicios Webs Hemos desarrollado una primera labor de investigacioacuten queha requerido el aprendizaje de diferentes herramientas de control de documentacioacuten y referenciascomo Zotero y Mendeley

La documentacioacuten recabada en el proceso inicial de revisioacuten de documentos nos ha aportadoun visioacuten general de los diferentes sistemas virtuales de aprendizaje que podemos encontrarnosmuchos de ellos gratuitos y las diferentes soluciones que se plantean a la necesidad de incluirrecursos de otros fabricantes que en principio no fueron concebidos para ser utilizados dentro deuna plataforma VLE

Para poner en praacutectica la diferentes opciones encontradas se han montado diferentes maacutequinasvirtuales sobre las que se han probado las mismas Las conclusiones nales se pasan a detallar

IMS LTIEsta solucioacuten de integracioacuten mediante el cumplimiento de unos protocolos y certicacionesde las herramientas que lo cumplen es en principio la que podriacutea parecer la mejor opcioacutenpero la falta de compromiso de los diferentes fabricantes de Servicios Web y la luchapara imponer sus propios estaacutendares hace que aun quede mucho para que esta opcioacuten seacomo tal real

Si vemos el nuacutemero de aplicaciones certicadas para usar IMS LTI apenas superan las 50 yla mayoriacutea solo cumple la especicacioacuten v10 lo cual signica que la integracioacuten solo solu-ciona el problema de llamar a un recurso externo desde Moodle Pocas son las que cumplenla v11 que permite obtener en Moodle una valoracioacuten de los ejercicios desarrollados en unaactividad externa

La versioacuten v20 que daraacute maacutes opciones a la hora de interactuar con actividades externasauacuten esta en desarrollo y nada se sabe sobre posibles fechas para su presentacioacuten Luegocerticacioacuten de herramientas etc

55

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 58: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

Figura 65 Antildeadiendo Doodle como actividad

Figura 66 Opciones iniciales de conguracioacuten de Doodle

Figura 67 Doodel dentro de Moodle

Capiacutetulo 7

Conclusiones Finales

71 Conclusiones Finales

El proyecto actual nos ha servido para acercarnos a las diferentes tecnologiacuteas que permiten lacomunicacioacuten entre Servicios Webs Hemos desarrollado una primera labor de investigacioacuten queha requerido el aprendizaje de diferentes herramientas de control de documentacioacuten y referenciascomo Zotero y Mendeley

La documentacioacuten recabada en el proceso inicial de revisioacuten de documentos nos ha aportadoun visioacuten general de los diferentes sistemas virtuales de aprendizaje que podemos encontrarnosmuchos de ellos gratuitos y las diferentes soluciones que se plantean a la necesidad de incluirrecursos de otros fabricantes que en principio no fueron concebidos para ser utilizados dentro deuna plataforma VLE

Para poner en praacutectica la diferentes opciones encontradas se han montado diferentes maacutequinasvirtuales sobre las que se han probado las mismas Las conclusiones nales se pasan a detallar

IMS LTIEsta solucioacuten de integracioacuten mediante el cumplimiento de unos protocolos y certicacionesde las herramientas que lo cumplen es en principio la que podriacutea parecer la mejor opcioacutenpero la falta de compromiso de los diferentes fabricantes de Servicios Web y la luchapara imponer sus propios estaacutendares hace que aun quede mucho para que esta opcioacuten seacomo tal real

Si vemos el nuacutemero de aplicaciones certicadas para usar IMS LTI apenas superan las 50 yla mayoriacutea solo cumple la especicacioacuten v10 lo cual signica que la integracioacuten solo solu-ciona el problema de llamar a un recurso externo desde Moodle Pocas son las que cumplenla v11 que permite obtener en Moodle una valoracioacuten de los ejercicios desarrollados en unaactividad externa

La versioacuten v20 que daraacute maacutes opciones a la hora de interactuar con actividades externasauacuten esta en desarrollo y nada se sabe sobre posibles fechas para su presentacioacuten Luegocerticacioacuten de herramientas etc

55

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 59: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

Figura 67 Doodel dentro de Moodle

Capiacutetulo 7

Conclusiones Finales

71 Conclusiones Finales

El proyecto actual nos ha servido para acercarnos a las diferentes tecnologiacuteas que permiten lacomunicacioacuten entre Servicios Webs Hemos desarrollado una primera labor de investigacioacuten queha requerido el aprendizaje de diferentes herramientas de control de documentacioacuten y referenciascomo Zotero y Mendeley

La documentacioacuten recabada en el proceso inicial de revisioacuten de documentos nos ha aportadoun visioacuten general de los diferentes sistemas virtuales de aprendizaje que podemos encontrarnosmuchos de ellos gratuitos y las diferentes soluciones que se plantean a la necesidad de incluirrecursos de otros fabricantes que en principio no fueron concebidos para ser utilizados dentro deuna plataforma VLE

Para poner en praacutectica la diferentes opciones encontradas se han montado diferentes maacutequinasvirtuales sobre las que se han probado las mismas Las conclusiones nales se pasan a detallar

IMS LTIEsta solucioacuten de integracioacuten mediante el cumplimiento de unos protocolos y certicacionesde las herramientas que lo cumplen es en principio la que podriacutea parecer la mejor opcioacutenpero la falta de compromiso de los diferentes fabricantes de Servicios Web y la luchapara imponer sus propios estaacutendares hace que aun quede mucho para que esta opcioacuten seacomo tal real

Si vemos el nuacutemero de aplicaciones certicadas para usar IMS LTI apenas superan las 50 yla mayoriacutea solo cumple la especicacioacuten v10 lo cual signica que la integracioacuten solo solu-ciona el problema de llamar a un recurso externo desde Moodle Pocas son las que cumplenla v11 que permite obtener en Moodle una valoracioacuten de los ejercicios desarrollados en unaactividad externa

La versioacuten v20 que daraacute maacutes opciones a la hora de interactuar con actividades externasauacuten esta en desarrollo y nada se sabe sobre posibles fechas para su presentacioacuten Luegocerticacioacuten de herramientas etc

55

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 60: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

Capiacutetulo 7

Conclusiones Finales

71 Conclusiones Finales

El proyecto actual nos ha servido para acercarnos a las diferentes tecnologiacuteas que permiten lacomunicacioacuten entre Servicios Webs Hemos desarrollado una primera labor de investigacioacuten queha requerido el aprendizaje de diferentes herramientas de control de documentacioacuten y referenciascomo Zotero y Mendeley

La documentacioacuten recabada en el proceso inicial de revisioacuten de documentos nos ha aportadoun visioacuten general de los diferentes sistemas virtuales de aprendizaje que podemos encontrarnosmuchos de ellos gratuitos y las diferentes soluciones que se plantean a la necesidad de incluirrecursos de otros fabricantes que en principio no fueron concebidos para ser utilizados dentro deuna plataforma VLE

Para poner en praacutectica la diferentes opciones encontradas se han montado diferentes maacutequinasvirtuales sobre las que se han probado las mismas Las conclusiones nales se pasan a detallar

IMS LTIEsta solucioacuten de integracioacuten mediante el cumplimiento de unos protocolos y certicacionesde las herramientas que lo cumplen es en principio la que podriacutea parecer la mejor opcioacutenpero la falta de compromiso de los diferentes fabricantes de Servicios Web y la luchapara imponer sus propios estaacutendares hace que aun quede mucho para que esta opcioacuten seacomo tal real

Si vemos el nuacutemero de aplicaciones certicadas para usar IMS LTI apenas superan las 50 yla mayoriacutea solo cumple la especicacioacuten v10 lo cual signica que la integracioacuten solo solu-ciona el problema de llamar a un recurso externo desde Moodle Pocas son las que cumplenla v11 que permite obtener en Moodle una valoracioacuten de los ejercicios desarrollados en unaactividad externa

La versioacuten v20 que daraacute maacutes opciones a la hora de interactuar con actividades externasauacuten esta en desarrollo y nada se sabe sobre posibles fechas para su presentacioacuten Luegocerticacioacuten de herramientas etc

55

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 61: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

MiddlewareLa idea de montar una arquitectura Middleware que nos aiacutesle de los requerimientos delos diferentes VLEs y las diferentes herramientas es una gran paso adelante La principalventaja es la independencia (casi) de la instalacioacuten del VLE El sistema se encargaraacute derealizar las traducciones necesarias y cualquier nuevo desarrollo de un plugin para unanueva herramienta no requeriraacute apenas modicaciones en nuestro VLE

La arquitectura de software creada por la Universidad de Valencia GLUE-PS es un claroejemplo de esta solucioacuten Hemos utilizado su sistema y de gran intereacutes Se ha descargadoel coacutedigo fuente he incluso he intentado desarrollar un nuevo plugin para el sistema y ahiacutees donde ha venido el problema La falta de una comunidad que esteacute involucradaen su desarrollo por lo que se necesitoacute estudiar todo el sistema para intentar comprendela arquitectura

Esto signica que perdemos la capacidad de respuesta de la comunidad de Moodle paramontarnos en un barco nuevo es decir no conseguimos trabajar de manera totalmentesatisfactoria con IMS LTI y abrimos un nuevo frente

Pero es la solucioacuten maacutes completa y es la opcioacuten con la que trabajariacutea para desarrollo deintegracioacuten de alguna actividad externa en Moodle si el mismo no esta ya en las uacuteltimaversiones de Moodle La opcioacuten de esperar a que salga una nueva versioacuten de IMS-LTI yempiecen a certicarse las herramientas es algo no factible

Servicios WebEsta opcioacuten solo nos ha permitido consumir servicios de Moodle de manera externa ennuestro caso hemos realizado la creacioacuten de usuarios Existe la posibilidad de crear nuevosservicios propios actividades etc y todo apoyado por una comunidad enorme de personasque no dudan en resolver y explicar cualquier asunto que tenga que ver con el desarrollo ouso de Moodle Esta opcioacuten es por ello una de la maacutes atrayentes pero no deja de ser unalucha tremenda

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 62: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

Capiacutetulo 8

Conceptos

Es necesario tener claro algunos conceptos relacionados con los servicios web y la coreografiacutea uorquestatacioacuten de los mismos en un entorno de aprendizaje A continuacioacuten se listan los maacutesimportantes

BPML Business Process Modeling Language

CMS Content Management System Sistema de gestioacuten de contenidos

DLE Distributed Learning Enviroments

HTTP HyperText Transfer Protocol

IEEE IEEEXploreportal de publicaciones

IMS CP IMS Content Packaging

IMS CC IMS Common Cartridge

IMS-LTI Integracioacuten de aplicaciones y servicios remotos

IMS QTI IMS Pregunta y Test Interoperability

LMS Learning Management System Estos sistemas pueden dividirse en dos categoriacuteas princi-pales iniciativas de coacutedigo abierto como Moodle Sakai ATutor y Whiteboard y solucionespropietarias que incluyen WebCTBlackboard Gradepoint Desire2Learn y Learncom

PLE Personal Learning Enviroment

REST Representational State Transfer

RPC Remote Procedure Call

SaaS Software as Service

SD Science Direct portal de publicaciones

SL SpringerLink portal de publicaciones

SLR Systematic Literature Review - Revisioacuten sistemaacutetica de la literatura

SOA Service Oriented Architecture

57

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 63: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

URL Uniform Resource Locator

VLE Virtual Learning Environment or learning platform Es un sistema de software disentildeadopara facilitar a profesores la gestioacuten de cursos virtuales para sus estudiantes especialmenteayudaacutendolos en la administracioacuten y desarrollo del curso

XML Extensible Markup Language

WS BPEL Web Service Business Process Execution Language

WS-CDL Web Services Choreography Description Language

WSCI Web Service Choreography Interface

WSDL Web Services Description Language un formato XML que se utiliza para describirservicios Web

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 64: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

Bibliografiacutea

59

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea
Page 65: Estudio sobre la interoperabilidad de Moodle con ...openaccess.uoc.edu/webapps/o2/bitstream/10609/22261/6/jmotamaTFC0613memoria.pdfEl portal de esta librería nos facilitó mucho el

Bibliografiacutea

[car ] Contenidos abiertos Bailando en la web Coreografiacutea y orquestacioacuten de los servicios webhttpcontenidosabiertosacademicamxjspuihandle98765432110

[ims a] IMS GLC CC Specication

[ims b] IMS GLC learning information services specicationhttpwwwimsglobalorglisindexhtml

[ims c] IMS global Learning tools interoperabilityTM httpwwwimsglobalorgltiindexhtml

[Alario-Hoyos et al 2012] Alario-Hoyos C Bote-Lorenzo M L GoacuteMez-SaacuteNchez E Asensio-Peacuterez J I Vega-Gorgojo G and Ruiz-Calleja A (2012) Glue an architecture for theintegration of external tools in virtual learning environments Computers amp Education

[Britain et al 2004] Britain S Liber O et al (2004) A framework for pedagogical evaluationof virtual learning environments

[Dillenbourg et al 2002] Dillenbourg P Schneider D Synteta P et al (2002) Virtual learn-ing environments In Proceedings of the 3rd Hellenic ConferenceInformation amp Communica-tion Technologies in Education pages 318

[Kitchenham 2007] Kitchenham B (2007) Guidelines for performing systematic literature re-views in software engineeringGuiacutea de buenas praacutecticas que describe los objetivos de control y controles recomendables encuanto a seguridad

[Nonis 2005] Nonis D (2005) 3d virtual learning environments (3d vle) Ministry of EducationSingapore

[Stiles 2000] Stiles M (2000) Eective learning and the virtual learning environment In EU-NIS 2000 Towards Virtual Universities Proceedings of the European University InformationSystem 2000 Conference held at INFOSYSTEM 2000 pages 171180

61

  • Revisioacuten Sistemaacutetica de la Literatura
    • Objetivos del SLR
    • Estudio Inicial
      • Plataformas VLE e integracioacuten
        • VLE
          • Ejemplos de VLEs
            • Herramientas de Software
              • Integracioacuten de herramientas
              • Problemas en la integracioacuten
              • Enfoques de la integracioacuten
                • Servicios Web
                  • Orquestacioacuten y Coreografiacutea de Servicios Web
                  • Estaacutendares de Orquestacioacuten de Servicios Web
                  • Estaacutendares de Coreografiacutea de los Servicios Web
                    • Moodle
                      • otras plataformas
                          • Organizacioacuten y Sistema Inicial
                            • Lanzamiento del proyecto
                            • Definicioacuten del proyecto
                            • Anaacutelisis de requisitos
                              • Cuestiones Realizadas
                              • Fuentes de datos y buacutesqueda
                              • Criterios de inclusioacuten y exclusioacuten
                              • Asegurar la calidad
                              • Extraccioacuten de datos y anaacutelisis
                              • Fase de revisioacuten
                              • Fase de Pruebas
                                • Calendario de Trabajo
                                • Hitos principales
                                • Instalacioacuten base
                                  • Servicios Web de Moodle
                                    • Introduccioacuten
                                    • Servicios Web de Moodle
                                    • REST
                                      • Principios de disentildeo
                                        • SOAP
                                          • Principios de disentildeo
                                            • AMF
                                            • Configuracioacuten de Moodle Web Services
                                              • Activando los Servicios Web
                                              • Pruebas cliente Servicio Web
                                                  • Herramientas Externas
                                                    • Introduccioacuten
                                                    • Estaacutendares IMS
                                                    • Herramientas externas en Moodle
                                                      • Wordpress
                                                      • ChemVantage
                                                          • Middleware
                                                            • Introduccioacuten
                                                            • GluePS
                                                              • Instalacioacuten
                                                              • Creando un Doodle
                                                                  • Conclusiones Finales
                                                                    • Conclusiones Finales
                                                                      • Conceptos
                                                                      • Bibliografiacutea