tesis de maestrÍa en ciencias - cenidet · 2014-02-13 · ventajas y desventajas de soap ......
TRANSCRIPT
Centro Nacional de Investigación y Desarrollo Tecnológico
Departamento de Ciencias Computacionales
TESIS DE MAESTRÍA EN CIENCIAS
Servicios Web de Aprendizaje
presentada por
Paola Delgado Fernández Licenciada en Ciencias Computacionales por la
Universidad Autónoma de Baja California
como requisito para la obtención del grado de: Maestría en Ciencias en Ciencias Computacionales
Director de tesis: Dra. Olivia Graciela Fragoso Díaz
Co-Director de tesis: Dr. René Santaolaya Salgado
Jurado: Dr. Moisés González García - Presidente
M.C. Mario Guillen Rodríguez – Secretario Dra. Olivia Graciela Fragoso Díaz – Vocal
Dr. Jaime Muñoz Arteaga – Vocal Suplente
Cuernavaca, Morelos, México. 24 de septiembre de 2012.
Agradecimientos
Primeramente quisiera agradecer al Departamento de Ciencias Computacionales
del CENIDET por la oportunidad de ser parte de una generación más, por abrirme sus
puertas para realizar este proyecto personal y profesional, y por el apoyo recibido en
estos dos años de estudio y desarrollo de mi proyecto de tesis.
Agradezco a CONACYT el apoyo económico que durante estos dos años recibí
a través de una beca, el cual me permitió solventar este proyecto
Gracias a mis compañeros de la generación Bicentenario – Fin del Mundo y del
laboratorio de Ingeniería en Software por las horas de trabajo en equipo, de proyectos,
de discusión, de “Impulsus”, de pláticas, convivios, retas y festejos cumpleañeros.
A mi directora de tesis, Dra. Olivia, muchas gracias por el tiempo que me ha
dedicado, por las pláticas y buenos consejos que me ha brindado hasta el día de hoy,
gracias por su apoyo para concluir exitosamente éste proyecto.
También quisiera agradecer al Dr. René, Dr. Moisés, Dr. Jaime y M.C. Mario por
el tiempo dedicado en cada presentación de avances y en cada revisión del trabajo de
tesis, por sus observaciones, sugerencias e ideas.
A mi familia, novio, amigos y personas que durante este tiempo han estado a mi
lado, física o espiritualmente, gracias por todo el apoyo, confianza y cariño que me han
brindado para seguir adelante y concluir con éxito esta etapa de mi vida.
Y el agradecimiento más importante es para mis padres y hermana, éste es el
resultado de todo su apoyo, cariño, amor, ejemplo y trabajo. Gracias por tomar cada
llamada, por aguantar cada queja, alegría y tristeza, gracias por estar siempre a mi
lado.
Resumen
En los últimos años el e-learning ha ganado popularidad debido al continuo
desarrollo tecnológico y a la cantidad de facilidades que ofrece para la enseñanza y el
aprendizaje. Los objetos de aprendizaje (OA) y los sistemas gestores de aprendizaje
(SGA) se han comenzado a utilizar como medios de distribución de contenido
educativo y cada vez son más los usuarios que utilizan estas plataformas educativas.
Sin embargo, los mecanismos de distribución de contenido educativo han ido quedando
limitados con respecto a los avances tecnológicos, por lo que es a partir de dichas
limitaciones que surge la necesidad de desarrollar este trabajo de tesis.
Este proyecto consiste en tratar a cada elemento que conforma actualmente a
un Objeto de Aprendizaje como un Servicio Web, logrando así potencializar las
características de los OA, ofrecer reusabilidad a nivel tecnológico y de contenido,
facilitar la actualización del contenido educativo, proporcionar mayor apertura a la
distribución del contenido educativo a través de la Web y ampliar su alcance.
En este documento se describe como construir los Servicios Web de
Aprendizaje (SWA) y se muestran algunos ejemplos. También se muestran las pruebas
realizadas y los resultados obtenidos, en donde se observa que los SWA son una
forma viable de sobrellevar las limitaciones de los OA y los SGA.
Abstract
In recent years, e-learning has gained popularity due to continuous improvement
and the number of facilities it offers for teaching and learning. Learning objects (LO) and
learning management systems (LMS) have begun to be used as a means of distributing
educational content and the number of users of these educational platforms has
increase. However, the mechanisms of distribution of educational content have been left
with limited regard to technological advances, and it is from these limitations there is a
need to develop this thesis.
This project is to treat each element that makes up today to a Learning Object as
a Web Service, thus potentiate the characteristics of OA, offering reusability in
technology and content, facilitate the updating of educational content, providing greater
openness to distribution of educational content through the web and expand its reach.
This document describes how to build Learning Web Services (LWS) and shows
some examples. It also presents the tests performed and the results obtained, which
shows that the SWA is a viable way to cope with the limitations of the OA and the SGA.
Índice
Introducción ..................................................................................................................... 1
1.1 Antecedentes del Proyecto ................................................................................ 3
1.2 Trabajos Relacionados ...................................................................................... 5
1.3 Planteamiento del Problema .............................................................................. 8
1.4 Objetivo .............................................................................................................. 8
1.5 Alcances y Limitaciones ..................................................................................... 8
1.5.1 Alcances ...................................................................................................... 8
1.5.2 Limitaciones ................................................................................................. 9
1.6 Estructura del documento ...................................................................................... 9
Marco Teórico ............................................................................................................... 10
2.1 Arquitectura Orientada a Servicios ...................................................................... 12
2.1.2 Beneficios de SOA ........................................................................................ 14
2.2 Servicios Web ...................................................................................................... 15
2.2.1 Características de los SW ............................................................................. 17
2.2.2 Beneficios de los Servicios Web ................................................................... 21
2.3 Aprendizaje Electrónico (E – learning) ................................................................. 22
2.4 Sistemas Gestores de Aprendizaje (SGA) ........................................................... 23
2.4.1 Course Management Systems (CMS) ........................................................... 24
2.4.2 Learning Management Systems (LMS) ......................................................... 25
2.4.3 CMS vs LMS ................................................................................................. 29
2.4.4 Limitaciones de los Sistemas Gestores de Aprendizaje ................................ 30
2.5 Objetos de Aprendizaje (OA) ............................................................................... 30
2.5.1 Clasificación .................................................................................................. 32
2.5.2 Características .............................................................................................. 33
2.5.3 Limitaciones .................................................................................................. 34
2.5.4 Construcción de un OA ................................................................................. 37
Metodología de Solución ............................................................................................... 39
Implementación y Pruebas ............................................................................................ 47
4.1 Implementación ................................................................................................... 53
4.2 Pruebas y Resultados .......................................................................................... 61
4.2 Discusión de Resultados ..................................................................................... 76
Conclusiones y Trabajo Futuro ..................................................................................... 79
5.1 Retos y Trabajo Futuro ........................................................................................ 82
Referencias ...................................................................................................................R1
Glosario ........................................................................................................................ G1
Construcción de un OA ................................................................................................. A1
A.1 Diseño de un OA ................................................................................................. A2
A.2 Empaquetado de un OA ...................................................................................... A2
A.3 Publicando un OA en Moodle .............................................................................. A5
A.4 Referencias ......................................................................................................... A9
Construcción de un SW ................................................................................................. B1
B.1 Configurar IDE Eclipse ........................................................................................ B2
B.2 Generar y probar un Servicio Web ...................................................................... B7
B.3 Generar y probar un Cliente de Servicio Web ................................................... B13
Construcción de un SWA ..............................................................................................C1
C.1 Configuración del IDE Eclipse Indigo ..................................................................C2
C.2 Creación de la Base de Datos de Contenido de Aprendizaje .............................C6
C.3 Construcción del SWA ...................................................................................... C11
C.3.1 Creación del contenido educativo ............................................................... C11
C.3.2 Creación del SWA ...................................................................................... C12
C.4 Creación del Cliente del SWA ........................................................................... C17
Índice de Figuras
Figura 1. Propuesta de elementos reusables [Horton, 2003]. ..................................................... 7
Figura 2. Principales conceptos del trabajo de tesis. .................................................................11
Figura 3. Representación gráfica de la Arquitectura Orientada a Servicios (SOA). ...................14
Figura 4. Roles, interacciones y artefactos de una arquitectura basada en SW. .......................17
Figura 5. Tecnologías involucradas en las operaciones de la arquitectura SOA basada en SW. .................................................................................................................................................18
Figura 6. Evolución de los SGA. ...............................................................................................24
Figura 7. Sistema Gestor de Aprendizaje. .................................................................................26
Figura 8. Estructura de un Objeto de Aprendizaje [Muñoz, 2007]..............................................31
Figura 9. Estructura de un SWA, a partir de un OA. ..................................................................41
Figura 10. Arquitectura SOA basada en SWA. ..........................................................................43
Figura 11. Composición de servicios web de aprendizaje. ........................................................45
Figura 12. Registro de contenido educativo en la BD. ...............................................................49
Figura 13. SWA y sus archivos WSDL. .....................................................................................50
Figura 14. Resultado de probar un SWA. ..................................................................................50
Figura 15. Cliente SWA en el IDE Eclipse. ................................................................................51
Figura 16. Cliente que invoca un solo SWA. .............................................................................52
Figura 17. Resultado de la ejecución de un cliente que llama a dos SWA. ...............................52
Figura 18. Esquema de la implementación de un SWA. ............................................................54
Figura 19. Implementación de un SW Objetivos de Aprendizaje. ..............................................55
Figura 20. Implementación de un SW Contenido Informativo. ...................................................56
Figura 21. Implementación de un SW Actividades. ...................................................................57
Figura 22. Implementación de un SW Evaluaciones. ................................................................58
Figura 23. Código de un cliente de SW de Objetivos de Aprendizaje. .......................................58
Figura 24. Cliente de un SW de Contenido Informativo. ............................................................59
Figura 25. Cliente de un SW de Actividades. ............................................................................59
Figura 26. Cliente de un SW de Evaluación. .............................................................................59
Figura 27. Integración de los SWA en un arquitectura SOA. .....................................................60
Figura 28. Interfaz de Administración de una UDDI a través del IDE Eclipse. ...........................61
Índice de Tablas Tabla 1. Ventajas y desventajas de SOAP. ...............................................................................20
Tabla 2. Principales Sistemas Gestores de Aprendizaje. ..........................................................26
Tabla 3. Contenidos educativos utilizados en este trabajo de tesis. ..........................................48
Tabla 4. Prueba de funcionamiento del SW de Objetivos de Aprendizaje 1.1 ...........................62
Tabla 5. Prueba de funcionamiento del SW de Objetivos de Aprendizaje 2.1 ...........................62
Tabla 6. Prueba de funcionamiento del SW de Contenido 1.2 ..................................................63
Tabla 7. Prueba de funcionamiento del SW de Contenido 2.2 ..................................................63
Tabla 8. Prueba de funcionamiento del SW de Actividades 1.3 ................................................64
Tabla 9. Prueba de funcionamiento del SW de Actividades 2.3 ................................................65
Tabla 10. Prueba de funcionamiento del SW de Evaluación 1.4 ...............................................65
Tabla 11. Prueba de funcionamiento del SW de Evaluación 2.4 ...............................................66
Tabla 12. Prueba de funcionamiento del Cliente de SW de Objetivo de Aprendizaje 1.1 ..........66
Tabla 13. Prueba de funcionamiento del Cliente de SW de Objetivo de Aprendizaje 2.1 ..........67
Tabla 14. Prueba de funcionamiento del Cliente de SW de Contenido 1.2 ................................68
Tabla 15. Prueba de funcionamiento del Cliente de SW de Contenido 2.2 ................................69
Tabla 16. Prueba de funcionamiento del Cliente de SW de Actividades 1.3 ..............................70
Tabla 17. Prueba de funcionamiento del Cliente de SW de Actividades 2.3 ..............................71
Tabla 18. Prueba de funcionamiento del Cliente de SW de Evaluación 1.4 ..............................72
Tabla 19. Prueba de funcionamiento del Cliente de SW de Evaluación 2.4 ..............................73
Tabla 20. Prueba de funcionamiento de la invocación de dos SWA desde un Cliente 1 ...........74
Tabla 21. Prueba de funcionamiento de la invocación de dos SWA desde un Cliente 2 ...........75
1 Introducción
Este capítulo realiza una introducción al tema de tesis y hace una breve
descripción del aprendizaje electrónico, de los objetos de aprendizaje, de los
Sistemas Gestores de Aprendizaje y los Servicios Web; además, se presenta los
antecedentes del proyecto y los trabajos relacionados. El capítulo concluye con
el objetivo del trabajo de tesis, el planteamiento del problema, y los alcances y
limitaciones que tiene.
Capítulo 1. Introducción
2
En los últimos años las tecnologías de la información y comunicaciones (TIC)
han ganado importancia para los modelos educativos de todos los niveles escolares, lo
que ha promovido el desarrollo de metodologías de aprendizaje que buscan aprovechar
los recursos que las TIC ofrecen. Algunos recursos utilizados actualmente en
educación son el Internet, equipos de cómputo o dispositivos móviles; la educación
electrónica o E-Learning y la educación móvil o M-Learning son algunos ejemplos de
metodologías de aprendizaje que utilizan las TIC.
El aprendizaje electrónico (AE) consiste en el uso de herramientas educativas
distribuidas a través de una plataforma Web. A estas herramientas se les conoce como
Sistema de Gestión de Aprendizaje (SGA), y actualmente hay disponibles tanto libres
(Moodle, Dokeos, ATutor, etc..) como con licencia (Blackboard, eCollege, Saba
Learning, etc..). La unidad básica del aprendizaje electrónico es el objeto de
aprendizaje (OA) [Wiley, 2002] y se define como un bloque de conocimiento reusable,
que se distribuye a través de la red. Existen estándares para los metadatos (IEEE
LOM, Dublin Core) [IEEE, 2002] y para la creación de plataformas educativas (IMS,
ADL SCORM) [Adl, 2009]. Un metadato [NISO, 2004] es información estructurada que
describe, explica, localiza y facilita la búsqueda y consulta de recursos de información;
un metadato son datos sobre datos.
La búsqueda de mejorar la reusabilidad y distribución de los objetos de
aprendizaje ha llevado a proponer el uso de Servicios Web como medio para, a través
de la red, distribuir los objetos de aprendizaje. Los Servicios Web (SW) [Newcomer,
2004] [Cauldwell, 2004] son aplicaciones mapeadas a programas, objetos, bases de
datos o funciones que hace uso de tecnologías basadas en XML como: Web Services
Description Language (WSDL), Simple Object Access Protocol (SOAP) y Universal
distribution, discovery and interoperability (UDDI). Los SW pueden ser publicados,
invocados o ubicados desde cualquier punto de la Web, y además pueden ser
utilizados sobre cualquier plataforma o sistema operativo.
Capítulo 1. Introducción
3
Los SW se caracterizan por permitir interacciones de máquina a máquina,
interoperabilidad, tener independencia en plataforma, sistema operativo y lenguaje de
desarrollo, además de que aprovechan la arquitectura del Internet; por otra parte, los
OA se caracterizan porque deben ser reusables, generales, flexibles y escalables. La
intención de este trabajo es definir cómo los objetos de aprendizaje pueden ser
construidos como Servicios Web, para que así puedan ser publicados, ubicados,
actualizados y utilizados por cualquier usuario con acceso a Internet,
independientemente del lenguaje en que sean construidos, el sistema operativo o la
plataforma en que se desean ejecutar.
1.1 Antecedentes del Proyecto
Para este trabajo de tesis se cuentan con cuatro trabajos de tesis como
antecedente, todos ellos relacionados con los servicios web.
En la tesis titulada Método para Generar Servicios Web Personalizados
Mediante Composición de Funcionalidades de Múltiples Fuentes [Madrigal, 2011] el
autor desarrolló un método para generar servicios web personalizados que atiendan
requerimientos específicos dentro de dominios de aplicación mediante la composición
de funcionalidades provenientes de marcos de servicios web, marcos de código OO,
código legado OO e incorporación de nuevo código OO editado por el usuario. Además
propuso una arquitectura que soporta la automatización del método propuesto, y
desarrolló una herramienta prototipo para realizar pruebas.
El siguiente antecedente es el trabajo titulado Banco de Pruebas Orientado a la
Calidad o QoS para Apoyar la Selección y Composición de Servicios Web [Cabrera,
2009], en el cual el autor generó un banco para pruebas de selección de servicios web
en dos dominios: estadística descriptiva y de predicción climatológica, lo que
proporcionó una descripción de calidad en el WSDL de los servicios Web para que
modelos de selección por QoS sean probados y evaluados; utilizó el monitor de
servicios WeSSQoS del grupo GESSI de la UPC en Barcelona. El resultado fue un
Capítulo 1. Introducción
4
conjunto de servicios web que funcionan como banco de pruebas para determinar si los
modelos de selección de servicios que utilizan parámetros de calidad también
conocidos como QoS aportan resultados aceptables.
Otro de los trabajos de tesis es [Sánchez, 2001] titulado Evaluación de Medidas
de Similitud Aplicadas a la Selección de Servicios Web, en donde la autora diseñó e
implementó una herramienta para evaluar las medidas de similitud en la selección de
servicios web mediante atributos QoS, la cual está formada por cuatro módulos:
servicio web que implementa las medidas de similitud del enfoque de espacio vectorial
y enfoque de correspondencia de características, servicio web que implementa el
algoritmo de enfoque heurístico, servicio web que implementa funciones de
normalización y una aplicación cliente de Servicios Web. Con esto se evaluó el
comportamiento de un subconjunto de medidas de similitud que pueden ser aplicadas
al proceso de selección de servicios web de manera cuantitativa y se realizó un análisis
de comportamiento de siete medidas de similitud de los enfoques: espacio vectorial,
correspondencia de características y heurísticos.
El último trabajo de tesis que tiene como antecedente este proyecto se titula
Procedimiento para la obtención de Marcos de Servicios Web a partir de Marcos
Orientados a Objetos [Araiza, 2007] en donde se definió un procedimiento, el cual esta
soportado por una herramienta semiautomática de reingeniería llamada MOO2MSW
(Marcos Orientados a Objetos hacia Marcos de Servicios Web), la cual analiza el
código de los marcos orientados a objetos con ayuda de un analizador sintáctico en
Java. El procedimiento que se propuso consiste en un conjunto de fases y módulos que
permiten separar el marco orientado a objetos en diversos servicios web, lo que dio
como resultado un procedimiento para la generación de servicios web a partir de
marcos orientados a objetos.
Capítulo 1. Introducción
5
1.2 Trabajos Relacionados
La mayoría de los trabajos relacionados a este trabajo de tesis se refieren a dos
temas: a) servicios web u b) objetos de aprendizaje, pero no de ambos por lo que solo
se ha realizado una descripción de los trabajos que más se apegan a la construcción
de objetos de aprendizaje en términos de servicios web.
Dos de los trabajos relacionados que presentan una propuesta para la construcción
de objetos de aprendizaje como servicios web son [Vossen, 2005] y [Muñoz-Arteaga,
2010]. El primer trabajo se titula Turning Learning objects into Web services en el cual
describen cuatro formas posibles para implementar los OA como SW, centrándose en
la que utilizaron los autores para el prototipo de sistema de gestión de aprendizaje
distribuido que desarrollaron llamado LearnServe. Utilizan repositorios, uno para
almacenar el contenido y otro para la presentación del OA, y a través de servicios Web
realizan la consulta y el procesamiento del contenido y presentación para estructurar el
objeto de aprendizaje que un cliente solicita. El segundo trabajo se titula Objetos de
Aprendizaje en términos de Servicios Web, trabajo que presenta una propuesta y un
caso de estudio en donde se muestran las ventajas de aprovechar el enfoque
orientado a servicios para la especificación y desarrollo de objetos de aprendizaje como
servicios web. El caso de estudio se hizo sobre una serie de repositorios de objetos de
aprendizaje en términos de servicios web, y consistió en realizar búsquedas de
contenido de aprendizaje y mostrar los resultados obtenidos de dichas búsquedas en
forma de árbol o lista.
En el área de los Sistemas de Gestión de Aprendizaje y servicios web está el
trabajo E-learning as a Web Service [Westerkam, 2003] que fue desarrollado sobre la
idea de que muchas de las plataformas de aprendizaje actuales solo pueden distribuir
el contenido de aprendizaje que esté almacenado en dichas plataformas, además de
que el desarrollo de los servicios web está ganando importancia. El autor presenta el
prototipo de sistema de gestión de aprendizaje (SGA) descrito en [Vossen, 2005]
Capítulo 1. Introducción
6
llamado LearnServe, el cual está conformado de dos partes: software del lado del
cliente y los servicios web implementados de manera distribuida.
El trabajo titulado Use of Agents to Realize a Federated Searching of Learning
Objects [Muñoz, 2010] propone un modelo para realizar búsquedas de objetos de
aprendizaje en diferentes repositorios utilizando agentes inteligentes como
intermediarios entre el cliente y los repositorios. El artículo describe la implementación
del prototipo y el caso de estudio de prueba, que se realizó con los repositorios de
objetos de aprendizaje de cuatro centros de investigación mexicanos. El resultado fue
la reducción del tiempo de búsqueda de los objetos de aprendizaje en los diferentes
repositorios.
A Web Services Architecture for Learning Object Discovery and Assembly [Pahl,
2004] es un trabajo que presenta la descripción de la arquitectura LTSA (Learning
Technology Standard Arquitecture), la cual está basada en servicios web y contiene los
procesos, componentes de almacenaje y las interacciones entre ellos necesarias para
realizar el trabajo educativo. Para el manejo de los objetos de aprendizaje proponen
escribir sus interfaces en WSDL, para que así puedan funcionar dentro de la
arquitectura de servicios web. Al igual que el trabajo anterior, Retrieving content with
agents in web service e-learning Systems [Pankratius, 2004] también presenta una
arquitectura distribuida y orientada a servicios para sistemas de aprendizaje, utilizando
agentes de software. Para el manejo de los objetos de aprendizaje considera que
éstos deben ser encapsulados en servicios web y así incrementar su interoperabilidad y
reusabilidad. Un último trabajo de arquitecturas basadas en servicios para aprendizaje
electrónico es A Web Services Oriented Framework for Dynamic E-Learning Systems
[Xu, 2003] en el cual se propone un marco orientado a servicios Web para los sistemas
de aprendizaje electrónico, con lo cual los proveedores de servicios de aprendizaje
puedan publicar sus objetos de aprendizaje o aplicaciones de manera universal , y los
clientes de estos servicios de aprendizaje puedan consultar el contenido educativo
desde cualquier lugar, en cualquier momento y a través de cualquier dispositivo
(alámbrico o inalámbrico). Proponen que los objetos de aprendizaje sean construidos
Capítulo 1. Introducción
7
como servicios utilizando XML y descritos en algún metadato para que los solicitantes
de los servicios puedan buscarlos y mapearlos de acuerdo a sus necesidades. Una vez
que los objetos de aprendizaje se construyan como servicios, deben describirse con
WSDL para que puedan ser invocados. En estos tres trabajos solo se describen y
proponen arquitecturas basadas en servicios web para el aprendizaje electrónico, y
presentan ideas de cómo debería tratarse a los objetos de aprendizaje para que
puedan ser usados bajo estas arquitecturas, sin embargo no se presenta ninguna
implementación o diseño de los objetos de aprendizaje en términos de servicios web.
En el libro E- Learning Tools and Technologies [Horton, 2003] se describe una
solución al problema que existe para combinar el contenido y las herramientas de
diferentes vendedores: construir partes reusables llamadas objetos de aprendizaje
reusables u objetos de contenido compartido que permiten a los autores de los cursos
reusar los objetos para diferentes propósitos y proyectos; podrían reusar cursos de
libros completos, lecciones o capítulos, páginas individuales, temas o imágenes,
cualquier elemento que conforme sus contenidos. Esto permitiría a los autores de los
cursos no desarrollar todo el contenido para un proyecto en particular, sino construir
objetos y que puedan ser reusados para diferentes proyectos. En la Figura 1 se
muestra una imagen de como este enfoque podría funcionar.
Figura 1. Propuesta de elementos reusables [Horton, 2003].
Capítulo 1. Introducción
8
1.3 Planteamiento del Problema
Los objetos de aprendizaje son la unidad básica de conocimiento para el
aprendizaje electrónico, por lo que su acceso, uso, disponibilidad, creación y
actualización debe ser rápida, fácil y abierta a los usuarios. Sin embargo, actualmente
los objetos de aprendizaje no pueden ser localizados ni utilizados libremente a través
del Internet ya que deben estar contenidos en algún sistema de gestión de aprendizaje,
al cual se tiene acceso solo si se es usuario registrado. Además, los objetos de
aprendizaje disponibles para los usuarios son únicamente los que están almacenados
en el repositorio de los gestores de aprendizaje, por lo que el acceso a material
educativo externo no es posible.
1.4 Objetivo
Este proyecto tiene como objetivo definir un método que permita generar objetos
de aprendizaje en términos de servicios web con la finalidad de reducir las limitantes en
su uso, actualización, disponibilidad y creación que surgen al estar contenidos en
sistemas gestores de aprendizaje.
1.5 Alcances y Limitaciones
1.5.1 Alcances
- Se definirá el método que permita generar servicios web de aprendizaje.
- Se definirán casos para probar el método de generación de servicios web de
aprendizaje que se proponga.
- Se construirán algunos servicios de aprendizaje de un área de conocimiento
para evaluar la viabilidad de construir objetos de aprendizaje en términos de
servicios web.
Capítulo 1. Introducción
9
1.5.2 Limitaciones
- Solamente se definirá un método para generar los servicios web de aprendizaje,
no se realizará ningún proceso de composición o integración.
- No se clasificarán los servicios de aprendizaje.
- No se medirá ninguna de las propiedades de los objetos de aprendizaje
(flexibilidad, reusabilidad, etcétera).
- No se pretende construir un sistema gestor de aprendizaje ni modificar alguno ya
existente, solamente se trabajará con la unidad de conocimiento básica de los
sistemas gestores de aprendizaje, que son los objetos de aprendizaje, para
tratarlos como servicios web.
1.6 Estructura del documento
Este documento se conforma de 4 capítulos además de este primer capítulo de
Introducción, y 3 anexos. El segundo capítulo es el Marco Teórico en el cual se
presenta toda la teoría que sustenta a este trabajo de tesis, tiene 5 secciones que
incluyen los conceptos de Arquitectura Orientada a Servicios, Servicio Web,
Aprendizaje electrónico, Sistema Gestores de Aprendizaje y Objetos de Aprendizaje.
En el tercer capítulo se describen los Servicios Web de Aprendizaje y la metodología
de solución propuesta. El cuarto capítulo es el de Implementación y Pruebas, contiene
cuatro secciones en donde se describe cómo se implemento la metodología propuesta
en el capítulo 3, las pruebas que se realizaron, los resultados obtenidos y la discusión
de los resultados. En el quinto capítulo se presentan las conclusiones, retos y trabajo
futuro. Los anexos incluidos en este trabajo de tesis son: construcción de un OA,
construcción de un SW y construcción de un SWA.
2 Marco Teórico
Este capítulo presenta la teoría que sustenta al trabajo de tesis; inicia con la
definición y beneficios de la Arquitectura Orientada a Servicios, continúa con los
Servicios Web, sus características y beneficios, luego introduce al tema de
aprendizaje electrónico y describe sus limitaciones, presenta la definición de
Sistema Gestor de Aprendizaje y concluye con los Objetos de Aprendizaje, su
clasificación, características, limitaciones y pasos para su construcción.
Capítulo 2. Marco Teórico
11
Según la Real Academia Española, aprendizaje se define como la acción y efecto
de aprender algún arte, oficio u otra cosa [RAE, 2011]. En materia de educación, el
aprendizaje requiere de la enseñanza e intercambio de conocimiento, ya sea desde las
aulas de las instituciones educativas, a través de recursos como libros, fichas de
estudio e investigación, o haciendo uso de las tecnologías de información.
A raíz de la integración de recursos tecnológicos (computadoras, Internet, etcétera)
a la educación han ido surgiendo nuevos conceptos y formas de enseñanza, por
ejemplo el aprendizaje electrónico, los objetos de aprendizaje o los sistemas gestores
de aprendizaje. En el primer recuadro de la Figura 2 se muestra cómo el Aprendizaje
está contenido en un objeto de aprendizaje y éste a su vez en un Sistema Gestor de
Aprendizaje, así es cómo actualmente se distribuyen los contenidos educativos a través
de Internet. En cambio en el segundo recuadro se puede observar la propuesta para el
tratamiento del contenido educativo: que el Aprendizaje se encuentre contenido en un
Servicio Web, y así pueda ser alcanzable sin necesidad de estar contenido en un SGA.
Figura 2. Principales conceptos del trabajo de tesis.
Capítulo 2. Marco Teórico
12
A continuación se presenta una descripción más amplia de cada uno de los
conceptos mostrados en la Figura 2 así como las teorías que sustentan a este trabajo
de investigación.
2.1 Arquitectura Orientada a Servicios
En una Arquitectura Orientada a Servicios los componentes de software (o
unidades funcionales que son visibles para otras entidades para invocar a través de la
red) son modelados como servicios [Graham, 2005], esto es que todas las tareas y
procesos del negocio deben ser construidos en software y diseñados como servicios
para ser consumidos a través de la red. En SOA, el enfoque principal del diseño es la
interface del servicio, además la clave de esta arquitectura está en la descripción del
servicio.
Los roles que existen en una Arquitectura Orientada a Servicios son [Graham,
2005]:
- Proveedor de Servicios (Service Provider): se encarga de crear una descripción
del servicio y de desplegarlo en un ambiente de ejecución a través del cual el
servicio sea accesible por otras entidades a través de la red. Un proveedor de
servicios puede ser cualquier compañía de hosting que aloje a los servicios web
y los distribuya a través de la red; puede ser visto como el lado del servidor de
una relación cliente-servidor entre el solicitante del servicio y el proveedor del
servicio.
- Solicitante del Servicio (Service Requestor): es responsable de encontrar una
descripción de un servicio publicada en uno o más registros de servicios, y es
responsable de usar las descripciones de los servicios para enlazar (atar) o para
invocar un servicio web alojado por un proveedor de servicios. Se puede pensar
que un solicitante de servicios es el lado del cliente de una relación cliente-
servidor entre el solicitante del servicio y un proveedor de servicio.
Capítulo 2. Marco Teórico
13
- Registro de Servicios (Service Registry): es responsable de dar publicidad a las
descripciones de los servicios web publicadas por los proveedores de servicios,
y permitir a los solicitantes de servicios buscar la colección de descripciones de
servicios contenida dentro de un registro de servicios. El rol del registro de
servicios es simple: hacer coincidencias entre el solicitante de registro y el
proveedor de registro. Una vez que el registro de servicios hace una
coincidencia, ya no se requiere de su participación, ya que el resto de la
interacción tiene lugar directamente entre el solicitante de servicios y el
proveedor de servicios.
Cada uno de estos roles pueden ser jugados por un programa o nodo de una red.
En algunos casos, un simple programa puede cumplir con múltiples roles, por ejemplo,
un programa puede ser un proveedor de servicios, proporcionando servicios web
consumidores de descarga (también llamados de downstream) y a su vez ser un
solicitante del servicio (o service requestor), que consume servicios web que otros
proveen.
Las operaciones en una Arquitectura Orientada a Servicios se enlistan a
continuación [Graham, 2005]; estas operaciones definen los contratos entre los roles de
la arquitectura y son mostradas gráficamente en la Figura 3:
- Publicar (Publish): es el acto de registrar servicios o publicaciones de servicios.
Este acto es un contracto entre el registro de servicios y el proveedor de
servicios.
- Encontrar (Find): es la lógica dual de la operación Publicar (Publish). Es el
contrato entre el solicitante del servicio y el registro de servicios. Con la
operación Encontrar, los estados del solicitante del servicio inician una búsqueda
de criterios como tipo de servicio, calidad, garantía del servicio, etcétera.
- Enlazar (Bind): representa la relación cliente – servidor entre el solicitante del
servicio y el proveedor de servicios.
Capítulo 2. Marco Teórico
14
Figura 3. Representación gráfica de la Arquitectura Orientada a Servicios (SOA).
La clave de una Arquitectura Orientada a Servicios es la descripción del servicio
ya que es la descripción del servicio la que es publicada por el proveedor de servicios
en el registro de servicios, y es la descripción del servicio la que es devuelta por el
solicitante del servicio como resultado de la operación Encontrar [Graham, 2005].
Además, es la descripción del servicio la que le dice al solicitante del servicio todo lo
que necesita saber para enlazar o invocar un servicio que un proveedor de servicios
ofrece.
2.1.2 Beneficios de SOA
Las razones que hacen a SOA una arquitectura recomendada para el desarrollo de
aplicaciones de software son [Ort, 2005]:
- Reusabilidad: SOA ofrece la capacidad de reusar los servicios. Los
desarrolladores pueden tomar el código de aplicaciones existentes, publicarlos
como servicios web y después reusarlos para satisfacer nuevos requerimientos.
- Interoperabilidad: la visión de SOA de interacción entre clientes y eliminar
acoplamiento de servicios significa ampliar la interoperabilidad. En otras
Capítulo 2. Marco Teórico
15
palabras, el objetivo es que clientes y servicios se comuniquen y entiendan sin
importar la plataforma sobre la que se estén trabajando. Este objetivo solo se
logra si clientes y servicios tienen el mismo estándar de comunicación entre
ellos.
- Escalabilidad: debido a que los servicios en SOA son de bajo acoplamiento, las
aplicaciones que utilizan servicios tienden a ser fácilmente escalables, eso se
debe a que existen pocas dependencias entre las aplicaciones solicitantes y los
servicios que utilizan.
- Flexibilidad: los servicios con bajo acoplamiento son típicamente más flexibles
que las aplicaciones estrechamente acopladas. En una arquitectura con alto
acoplamiento, los diferentes componentes de una aplicación están ligados de
manera estrecha, compartiendo semánticas, librerías y estados, lo que dificulta
la evolución de las aplicaciones para mantenerse al día con los cambios en los
requerimientos del negocio.
- Eficiencia en el costo: el enfoque de los servicios web basados en SOA resulta
menos costoso porque la integración de clientes y servicios no requiere de un
único código, de soluciones personalizadas o de un análisis muy profundo ya
que SOA se enfoca en el rehúso de funciones publicadas como servicios. Otros
enfoques que integran recursos de negocios son de alto costo debido a que
deben ajustar los recursos a componentes personalizados que requieren de un
análisis, esfuerzo y tiempo de desarrollo muy extenso, además que las
modificaciones y mantenimiento implica modificar más de un componente del
sistema.
2.2 Servicios Web
Un servicio web (SW) es una interface que describe una colección de
operaciones que son accesibles a través de la red utilizando mensajes basados en
Capítulo 2. Marco Teórico
16
XML. Un SW tiene una descripción del servicio que se escribe en XML siguiendo un
estándar. Esta descripción contiene todos los detalles necesarios para interactuar con
el servicio, incluyendo el formato de los mensajes, los protocolos de transporte y
localización; incluye los tipos de datos, operaciones, información de enlace y
localización de la red. La interface oculta los detalles de implementación del servicio,
permitiendo que éste se utilice independientemente de la plataforma de software o
hardware sobre la cual se implementó lo que asegura un bajo acoplamiento entre las
aplicaciones que están basadas en servicios web [Kreger, 2001]. Los servicios web son
diseñados para ser accedidos por otras aplicaciones, además su complejidad puede
variar: pueden realizar desde operaciones simples como consultar el balance de una
cuenta de banco en línea hasta procesos de gran complejidad que requieran de la
ejecución de un administrador de relaciones de clientes (CRM por sus siglas en inglés)
[Cavanaugh, 2006].
La arquitectura de servicios web se basa en tres interacciones entre tres roles:
proveedor de servicios web, registro de servicios y solicitante de servicios web. Las
interacciones que existen entre estos tres roles son publicar, encontrar y enlazar. Y los
roles realizan las interacciones utilizando dos artefactos: el servicio y la descripción del
servicio. En la Figura 4 se muestra gráficamente la arquitectura SOA basada en
servicios web, las interacciones, los roles y los artefactos involucrados.
Capítulo 2. Marco Teórico
17
Figura 4. Roles, interacciones y artefactos de una arquitectura basada en SW.
La dinámica de la arquitectura SOA con servicios web inicia con la definición de
una descripción del servicio web que hace el proveedor de servicios, quien además de
generar la descripción, la publica. El solicitante del servicio utiliza la operación
encontrar para obtener la descripción del servicio y utiliza la descripción para enlazar
con el proveedor de servicios e invocar o interactuar con la implementación del servicio
web.
2.2.1 Características de los SW
Los SW requieren de varias tecnologías XML para transformar datos de programas
y bases de datos: XML (Extensible Markup Language) se utiliza para difundir los datos
provenientes de los mensajes, WSDL (Web Services Description Language) se
encarga de asignar el servicio que recibirá y procesar los mensajes, SOAP (Simple
Object Access Protocol) permite identificar el significado de los mensajes enviados y
recibidos, y UDDI (Universal Description Discovery and Integration) se utiliza para
publicar el servicio que se ofrece y encontrar servicios que otros publiquen y deban ser
usados [Cauldwell, 2002] [Newcomer, 2004]. En la Figura 5 se muestran las
tecnologías implicadas en las interacciones entre los componentes de una arquitectura
SOA.
Capítulo 2. Marco Teórico
18
Figura 5. Tecnologías involucradas en las operaciones de la arquitectura SOA basada en SW.
2.2.1.1 WSDL
El lenguaje de descripción de servicios web (WSDL por sus siglas en inglés) es
un esquema basado en XML que define un framework para la descripción de interfaces
de servicios web [Newcomer, 2004]. WSDL fue desarrollado por Microsoft e IBM, y fue
enviado a la W3C (World Wide Web Consortium) por 25 compañías en Marzo de 2001.
De manera general, una descripción WSDL describe tres propiedades
fundamentales de un servicio web [Graham, 2005]: lo que el servicio hace (operaciones
que el servicio provee y los datos que necesita para invocarlos), cómo el servicio es
accedido (detalles de los formatos de datos y protocolos necesarios para el acceso a
las operaciones del servicio), y dónde se localiza el servicio (detalles de la dirección de
la red que especifica el protocolo, como es el URL).
Un documento WSDL es un conjunto de definiciones y utiliza los siguientes
elementos para la definición de los servicios [Christensen, 2001]:
Capítulo 2. Marco Teórico
19
- Tipos (Types): contenedor para las definiciones de datos usando algún tipo del
sistema como XSD.
- Mensaje (Message): una definición abstracta de los datos que van a ser
comunicados.
- Operación (Operation): una descripción abstracta de la acción que será
soportada por el servicio.
- Tipo de Puerto (Port Type): un conjunto de operaciones abstractas soportadas
por uno o más criterios de valoración.
- Enlace (Binding): especificación de un protocolo concreto y del formato de datos
para un tipo de puerto particular.
- Puerto (Port): criterio individual definido como la combinación de las direcciones
de enlace y de red.
- Servicio (Service): colección de criterios relacionados.
2.2.1.2 SOAP
La especificación de SOAP (Simple Object Access Protocol) define el
framework de mensajería para el intercambio de datos XML formateados a través del
Internet [Newcomer, 2004]. SOAP fue creado por Microsoft, y posteriormente
desarrollado en colaboración de Developmentor, IBM, Lotus y UserLand [Curbera,
2002]. En general se puede decir que SOAP provee de los mecanismos de
comunicación para conectar los servicios web.
SOAP se compone de seis partes principales, sin embargo solamente el sobre
(envelope) y el cuerpo (body) son requeridos [Newcomer, 2004]:
Capítulo 2. Marco Teórico
20
- Sobre (Envelope): define el inicio y el final del mensaje.
- Encabezado (Header): contiene cualquier atributo opciones del mensaje usado
para procesar el mensaje.
- Cuerpo (Body): contiene los datos XML que comprenden al mensaje que se
enviará.
- Adjunto (Attachment): consiste en dos o más documentos adjuntos al mensaje
principal.
- Interacción RPC (RPC Interaction): define como el modelo de estilo RPC
interactuará con SOAP.
- Codificación (Encoding): define como representar datos simples y complejos que
serán transmitidos en el mensaje.
En la Tabla 1 se muestran las ventajas y desventajas del uso de SOAP en la
implementación de los servicios web.
Tabla 1. Ventajas y desventajas de SOAP.
Ventajas Desventajas
- Protocolo Ligero que permite al cliente
enviar solo las piezas necesarias de
información
- Puede integrarse fácilmente con clientes y
reside en las PC’s
- Usa HTTP
- Documentado y recomendado por W3C
- Usado y reconocido por gran cantidad de
- Tipos de datos limitados
- Expone muchas funcionalidades
dependiendo del código que se escriba.
Capítulo 2. Marco Teórico
21
vendedores de software.
- Resuelve el problema de transporte de
datos a través de firewall.
- Usado en .NET es casi transparente
además de ser construido en frameworks.
2.2.1.3 UDDI
La función de la UDDI (Universal Distribution, Discovery and Interoperability) es
publicar un servicio que se ofrece y encontrar los servicios que otros ofrecen y que se
desean usar [Newcomer, 2004]. UDDI fue producido por un consorcio independiente de
vendedores fundado por Microsoft, IBM y Ariba, que buscaban desarrollar un estándar
de Internet para el registro y descubrimiento de las descripciones de los servicios web.
UDDI funciona de manera similar a las páginas de un directorio telefónico y tiene
tres tipos de información sobre los servicios web [Curbera, 2002]:
- Páginas blancas (White pages): incluye información de nombre y detalles de
contacto.
- Páginas amarillas (Yellow Pages): la información provee de una categorización
basada en negocios y tipos de servicios.
- Páginas verdes (Green pages): incluye información de datos técnicos sobre los
servicios.
2.2.2 Beneficios de los Servicios Web
Algunos de los beneficios que ofrecen los servicios web son [Cavanaugh, 2006]:
- Integración de datos y aplicaciones: se debe a la interoperabilidad que surge de
la del uso de tecnologías XML que son independientes de proveedores,
Capítulo 2. Marco Teórico
22
plataformas y lenguajes, así como usar HTTP para el transporte de la
información, lo que significa que cualquier aplicación puede comunicarse con
cualquier otra aplicación utilizando servicios web, lo que permite a las
organizaciones integrar de forma relativamente simple distintas aplicaciones y
datos con diferentes formatos.
- Versatilidad: son versátiles por su diseño, ya que pueden ser accedidos por
humanos a través de interfaces de clientes basadas en Web o pueden ser
accedidos por otras aplicaciones y otros servicios web.
- Reusabilidad de código: es otra consecuencia de la interoperabilidad y
flexibilidad que ofrecen los servicios web. Un servicio puede ser usado por varios
clientes, quienes pueden utilizar las operaciones que se ofrecen para diferentes
objetivos de negocios.
- Ahorro en costos: los servicios web están basados en estándares abiertos los
cuales tienen un bajo costo, además la interoperabilidad que ofrecen los
servicios web permite crear aplicaciones personalizadas integrando datos y
funciones ya existentes, lo que reduce costos de modificación y mantenimiento.
2.3 Aprendizaje Electrónico (E – learning)
Es una estrategia formativa, que utiliza la red como tecnología de distribución de
la información, sea esta red abierta (Internet) o cerrada (Intranet) [Cabero, 2006]. Es un
proceso de formación a distancia basado en el uso de las tecnologías de la información
y las telecomunicaciones (TICs) que posibilitan un aprendizaje interactivo, flexible y
accesible a cualquier receptor potencial.
En el libro [Horton, 2003] explica algunas de las limitaciones que tiene el e-
learning, entre las que destacan:
- Los alumnos no pueden encontrar fácilmente los cursos que necesitan consultar.
Capítulo 2. Marco Teórico
23
- Los autores de los cursos encuentran difícil combinar contenido y herramientas
de diferentes vendedores.
- Los administradores no pueden mover los cursos, cada uno con miles de
archivos, de un sistema gestor de aprendizaje a otro.
- Los alumnos con alguna discapacidad requieren de cursos construidos de
acuerdo a sus necesidades y los cuales solo están disponibles en los sistemas
en los que fueron desarrollados.
2.4 Sistemas Gestores de Aprendizaje (SGA)
La historia de los Sistemas Gestores de Aprendizaje comienza en los años 90’s,
cuando surge la enseñanza basada en la computadora (Computer Based Training), en
donde los cursos se encontraban en CD-ROMs que los alumnos utilizaban de manera
individual en su computadora, y en contadas ocasiones se conectaban a servidores de
red. A partir de 1994 se dio paso al concepto de cursos “empaquetados” bajo el mismo
sistema de CBT, pero que estaban dirigidos a la enseñanza de las tecnologías de la
información como ofimática o sistemas operativos [Barchino, 2004]. La limitación que
tenían estos cursos es que no se podía determinar si se estaba utilizando de forma
correcta y cuál era el impacto que estaban teniendo para el negocio, lo que llevó entre
1997 y 1998 a la aparición de los Sistemas de Gestión Docente (Computer-Managed
Instruction System) y el uso de redes locales (LAN o WAN). En 1999 con el surgimiento
de Internet comienza a surgir la formación “on-line” o en línea, lo que trajo grandes
ventajas que los cursos CBT no podían dar:
- El aprendizaje se podía hacer en cualquier lugar y hora, solo se requería de una
conexión de Internet.
Capítulo 2. Marco Teórico
24
- La gestión y control de la formación se centralizaba en un servidor accesible a
través de la Web.
Estas ventajas dieron pie al surgimiento de plataformas y herramientas para la
gestión del aprendizaje como los Learning Management Systems (LMS) o los Course
Management Systems (CMS), también surgieron nuevos conceptos como e-Learning o
Aprendizaje Electrónico así como grandes empresas dedicadas a la creación de
contenidos educativos mucho más dinámicos y atractivos. El desarrollo histórico de los
Sistemas Gestores de Aprendizaje se ilustra a través de una línea del tiempo en la
Figura 6.
Figura 6. Evolución de los SGA.
2.4.1 Course Management Systems (CMS)
En español se conoce como Sistema Gestor de Cursos (SGC), el cual es una
herramienta que permite a un instructor publicar información en la web sin necesidad
de que el instructor requiera conocer código HMTL u otro lenguaje de programación
[Meerts, 2003]. Un SGC provee de un conjunto de herramientas y de una plataforma
que permite la creación relativamente fácil de contenido de cursos en línea, además de
la enseñanza y administración de dicho curso, incluyendo interacción con los
estudiantes que estén tomando el curso.
Capítulo 2. Marco Teórico
25
En general un Sistema Gestor de Cursos contiene herramientas de administración
que permiten dar seguimiento de cursos, expedientes y horarios de clase, herramientas
de enseñanza como son las evaluaciones, ejercicios y objetos de aprendizaje, y las
herramientas para comunicación en tiempo real como foros o mensajería instantánea.
2.4.2 Learning Management Systems (LMS)
Un Learning Management System (LMS), en español conocido como Sistema
Gestor de Aprendizaje (SGA), se define como una aplicación contenida en un servidor
de páginas web que permite el desarrollo de actividades formativas [Muñoz, 2011]. Es
el lugar donde alumnos, tutores, profesores o coordinadores se conectan a través de
Internet para descargar contenidos, enviar correos al profesor, charlar con los
compañeros, debatir en un foro, participar en una tutoría, etcétera.
Un SGA debe realizar ciertas actividades básicas [Barchino, 2004]:
- Gestionar a los usuarios de los diferentes cursos virtuales. Los LMS
generalmente cuentan con tres perfiles o roles: administrador, alumno y profesor
o tutor de un curso.
- Administrar los cursos para determinar en base a las evaluaciones que realizan
los alumnos, el grado de asimilación de los contenidos.
- Gestionar las herramientas de comunicación como son los foros, correo
electrónico, videoconferencias, mensajería instantánea, etcétera.
Capítulo 2. Marco Teórico
26
Figura 7. Sistema Gestor de Aprendizaje.
De una manera más general, un SGA puede verse como una colección de
herramientas de e-Learning (Aprendizaje Electrónico) que están disponibles a través de
una interfaz administrativa compartida a la cual se tiene acceso a través del Internet.
En la Figura 7 se muestra la forma general de un Sistema Gestor de Aprendizaje. En la
Tabla 2 se muestra una descripción de los principales SGAs comerciales y de código
libre.
Tabla 2. Principales Sistemas Gestores de Aprendizaje.
LMS Licencia Web
WebCT Comercial http://www.webct.com/content
BlackBoard Comercial http://www.blackboard.com/
ATutor Open Source http://atutor.ca/
eCollege Comercial http://www.ecollege.com/espanol/
Desire2Learn Comercial http://www.desire2learn.com/
Dokeos Open Source http://www.dokeos.com/
.LRN Open Source http://dotlrn.org/
Moodle Open Source http://moodle.org/
Capítulo 2. Marco Teórico
27
Proyecto Sakai Open Source http://sakaiproject.org/
Claroline Open Source http://www.claroline.net/
E-ducativa Comercial http://www.e-ducativa.com/
2.4.2.1 Moodle
Algunas de las características de Moodle [CUE, 2003]:
- Adaptable para clases 100% en línea así como complemento de la enseñanza
en aulas.
- Alto nivel de seguridad.
- Cada usuario puede especificar su zona horaria para que Moodle traduzca
cualquier fecha a esa zona horaria.
- Interface mulit-lenguaje.
- Múltiples actividades para los cursos: Foros, revistas, encuestas, investigación,
cuestionarios y tareas.
- Características avanzadas para generar reportes.
- Integración del correo electrónico.
- Módulo de tareas con fecha y grado de requerimientos.
- Permite que los estudiantes suban sus tareas en cualquier formato al servidor, el
cual automáticamente sella con la fecha las tareas.
- Módulo avanzado de cuestionarios y pruebas.
- Encuestas integradas como herramientas para analizar las clases en línea.
Moodle ha sido instalado en universidades e instituciones alrededor del mundo. En
el Anexo 1 de este documento se muestran algunas de las funcionalidades de este
SGA para la publicación de contenido educativo.
Capítulo 2. Marco Teórico
28
2.4.2.2 Claroline
Es una plataforma de Gestión del Aprendizaje desarrollada por la Universidad
Católica de Louvain, Bélgica [CUE, 2003]. Para su funcionamiento requiere de un
Servidor Web (se recomienda Apache), un gestor de Base de Datos (se recomienda
MySQL) y el entorno de programación PHP como lenguaje del servidor.
El Gestor de Aprendizaje Claroline tiene varias características, entre las que
destacan:
- Realizar descripción de cursos
- Administrar archivos
- Llevar una agenda
- Publicar avisos y noticias
- Publicar enlaces
- Realizar ejercicios y evaluaciones
- Administrar Foros
- Administrar a los Usuarios
- Administrar Grupos
- Administrar Tareas
- Llevar estadísticas
- Ayuda
Esta plataforma de aprendizaje ha sido adoptada por un gran número de
universidades en el mundo. Su interfaz ha sido traducida a 15 idiomas.
2.4.2.3 Blackboard
Es una avanzada aplicación para compartir conocimiento que utiliza administración
de archivos por internet para extender el alcance del e-learning más allá de las clases
individuales. Incluye una serie de capacidades que permite a estudiantes, facultades y
administradores intercambiar, reusar e intercambiar su trabajo individual, así como el
Capítulo 2. Marco Teórico
29
contenido educativo y librerías digitales [Blackboard, 2004]. Blackboard funciona como
un puente de contenidos a través de las comunidades de aprendizaje.
Las principales características de Blackboard:
- Administración de contenido y archivos.
- Manejo de versiones.
- Administración del espacio en disco y banda ancha.
- Almacenamiento de archivos con colaboración a través de la web.
- Portafolios electrónicos
- Flujos de trabajo.
- Catálogo de Objetos de Aprendizaje
- Reservas electrónicas.
- Escalabilidad empresarial.
- Soporte multi-lenguaje.
- Estándares (SCORM, IMS, NLN, etcétera).
- Blackboard Building Blocks (API’s abiertas)
- Integración de sistemas.
Blackboard es una plataforma comercial, utilizada por universidades, preparatorias,
instituciones de gobierno, militares, entre otras.
2.4.3 CMS vs LMS
La principal diferencia entre los Sistemas Gestores de Aprendizaje (SGA) y los
Sistemas de Administración de Cursos (CMS por sus siglas en inglés) es que los
primeros, además de administrar cursos permiten la evaluación automatizada de los
mismos, mientras que los CMS solo permiten organizar los cursos y sus contenidos.
Ambos cuentan con herramientas como foros y mensajerías instantáneas, manejo de
Objetos de Aprendizaje y creación de cursos.
Capítulo 2. Marco Teórico
30
Como sus nombres lo dicen, los SGA administran el aprendizaje de los usuarios,
mientras que los CMS administran la publicación del contenido educativo. Actualmente
la mayoría de las plataformas de aprendizaje electrónico son Sistemas Gestores de
Aprendizaje por lo que en este trabajo de tesis se utilizará el concepto de Sistema
Gestor de Aprendizaje (SGA) para referirse a dichas plataformas.
2.4.4 Limitaciones de los Sistemas Gestores de Aprendizaje
En [Meerts, 2003] se describen cuatro problemas de los SGA que aún no han sido
solucionados:
1. Interoperabilidad: hay problemas en este aspecto ya que el compartir contenido
entre sistemas de diferentes vendedores muestra dificultades.
2. Administración de contenido: entre más materiales existan en los SGA, se
necesitan nuevas formas de administrar y distribuir estos materiales en la
institución y entre instituciones.
3. Costo: Con un pequeño número de vendedores, el precio de estos sistemas no
es predecible. Además, las organizaciones de Tecnologías de la Información no
han superado costos de personal y mantenimiento asociados con ejecutar otra
aplicación de misión crítica.
4. Valoración: ¿en qué aspectos concretos un SGA mejora la enseñanza y
aprendizaje en una institución? Así como se gasta más tiempo y dinero
apoyando y usando estos sistemas, es importante poder documentar el valor
que estos agregan a los procesos educativos.
2.5 Objetos de Aprendizaje (OA)
Un Objeto de Aprendizaje (OA) se define como una entidad digital distribuida por
Internet, que puede ser consultada y utilizada por un gran número de personas de
Capítulo 2. Marco Teórico
31
manera simultánea. Además, permite que quienes incorporan los OA a los sistemas
que los distribuyen, pueden colaborar y construir de manera inmediata nuevas
versiones [Wiley, 2002]. El comité de estándares de tecnologías de aprendizaje eligió el
término objeto de aprendizaje y lo definió como: una entidad, digital o no digital, que
puede ser usada, reusada o referenciada durante el aprendizaje soportado por
tecnología. Algunos ejemplos de tecnologías utilizadas para la construcción de objetos
de aprendizaje son contenido multimedia, contenido instructivo, objetivos de
aprendizaje, software y herramientas de software instructivo, así como personas,
organizaciones o eventos referenciados durante el aprendizaje apoyado por tecnología.
En la Figura 8 se muestran los cuatro elementos que conforman a un objeto de
aprendizaje y la unión de dichos elementos a través de un metadato. El objetivo de
aprendizaje describe, como su nombre lo indica, el objetivo del Objeto de Aprendizaje,
el contenido informativo es toda la teoría necesaria para el estudio y alcance de los
objetivos del OA; las actividades de aprendizaje refuerzan la teoría estudiada y la
evaluación permite medir si los objetivos de aprendizaje se cumplieron. Un metadato
[NISO, 2004] es información estructurada que describe, explica, localiza y facilita la
búsqueda y consulta de recursos de información; un metadato son datos sobre datos.
Algunos estándares para los metadatos son los de IEEE LOM y Dublin Core, entre
otros [IEEE, 2002].
Figura 8. Estructura de un Objeto de Aprendizaje [Muñoz, 2007].
Capítulo 2. Marco Teórico
32
Se ha probado que el uso de los OA en la enseñanza acelera el proceso de
aprendizaje [Lerma, 2007], pero su construcción requiere un poco más de trabajo ya
que está directamente enlazado con los complejos procesos cognitivos y de
aprendizaje del ser humano. La diferencia entre desarrollar un OA y software es que,
en el segundo solo necesitamos de los requerimientos del cliente, mientras que en el
primero requerimos también conocer las particularidades de aprendizaje de los
estudiantes que harán uso del contenido educativo.
2.5.1 Clasificación
Los OA se clasifican en cinco tipos [Wiley, 2002] lo que facilita entender la
naturaleza de los elementos que contienen.
- Fundamental: Es la forma de ayuda de aprendizaje más simple, puede ser una
imagen describiendo una etapa de un procedimiento.
- Combinado-cerrado: sigue siendo un elemento simple pero uno de sus
integrantes tiene mecanismos más complejos para proveer de una explicación.
Una animación o un video que explique un procedimiento a través de audio es
un ejemplo.
- Combinado –abierto: varios objetos simples encapsulados dentro de elementos
de integración. Un elemento de integración puede ser un sitio web, e incluye
imágenes, videos y texto plano para explicar un procedimiento.
- Generativo de presentación: combinación de objetos que proveen capacidades
avanzadas visuales y de audio con propiedades de interacción limitadas. Por
ejemplo, una animación Flash capaz de recrear y generar una imagen visual que
represente un procedimiento y las condiciones operacionales requeridas.
Capítulo 2. Marco Teórico
33
- Generativo instruccional: combinación de objetos que proveen capacidades
avanzadas visuales y de audio con propiedades de interacción avanzadas,
permitiendo una experiencia de alto nivel. Un ejemplo de los objetos de
aprendizaje de este tipo es una animación Flash enlazada a una imagen y a una
base de datos, a través de la cual el usuario puede manipular el contenido de la
animación para realizar un procedimiento, por ejemplo dirigir instrumentos de
cirugía y controlar el monitor de signos vitales de un paciente.
Además, los objetos de aprendizaje pueden ser estáticos o dinámicos [Lerma,
2007]; los primeros son útiles en características instruccionales que tengan
requerimientos muy simples y rígidos, generalmente los utilizan aquellos educadores
que necesitan tener todo el control de los métodos y procesos de aprendizaje. Los
segundos son diseñados para utilizarse en ambientes de aprendizaje donde el
educador encuentra variables como el nivel de habilidad, experiencia, retención y
razonamiento entre los estudiantes.
2.5.2 Características
Los OA cuentan con cuatro principales características que son descritas a
continuación:
- Reutilización: la programación orientada a objetos (POO) valora enormemente la
creación de componentes que pueden reutilizarse en diferentes contextos de
aprendizaje. El contenido educativo es modularizado en unidades pequeñas de
instrucciones ajustables para ser ensambladas y desensambladas en distintos
cursos [Lerma, 2007].
- Generatividad: los OA son generalmente entidades digitales disponibles en
Internet, esto significa que son accesibles simultáneamente a un gran número de
personas.
- Flexibilidad: quienes utilizan los OA pueden colaborar con ellos y beneficiarse
inmediatamente de las nuevas versiones.
Capítulo 2. Marco Teórico
34
- Escalabilidad: la noción de pequeñas partes reutilizables de medios instructivos,
sugiere que los profesores cuando tienen acceso a materiales instructivos,
frecuentemente primero descomponen los materiales en sus partes
constituyentes, entonces ellos reensamblan estas partes de manera que apoyen
sus metas instructivas individuales.
2.5.3 Limitaciones
Aún hay gran número de problemas a los que se enfrentan quienes utilizan los
objetos de aprendizaje para la enseñanza. A continuación de describen algunos de los
principales problemas de los OA [Wiley, 2004]:
1. Descontextualización del Aprendizaje: el diseño instructivo de los OA está
dirigiéndose rápidamente a la descontextualización, esto se confirma por la
relación inversamente proporcional que existe entre el contexto interno (o
tamaño del OA) y su potencial de reúso. El contexto interno se define como los
elementos primitivos (fotos, videos, bloques de texto) colocados dentro de un
objeto de aprendizaje. El tamaño de un OA se correlaciona con el número de
elementos yuxtapuestos dentro del contexto interno de un objeto de aprendizaje.
La relación entre el contexto interno de un objeto de aprendizaje y el contexto
instructivo dentro del que se coloca determina si el objeto se ajusta o no dentro
de dicho contexto. Entre menos especifico sea el contexto interno de un OA va a
ajustar en más contextos instructivos, sin embargo, enfocarse en remover o
separar todo el contexto posible de un OA para aumentar su reúso puede ser
problemático.
2. Altavoz, no mediador: un objeto de aprendizaje puede estar concebido como
objeto contenedor, objeto de estrategia, entre otros; sin embargo, los OA
generalmente son desarrollados como “trozos de contenido” o “contenedores de
información”. Son utilizados como contenedores de información muy decorada o
Capítulo 2. Marco Teórico
35
de conferencias con gran valor de producción, como si todo el aprendizaje en
línea o distribuido fueran un gran altavoz para el instructor. Esto cambia cuando
el aprendizaje es comprendido en el contexto de la solución de problemas, ya
que los OA y otros recursos cambian de ser capsulas informativas que
transmiten información inerte de expertos a principiantes, en herramientas
semióticas que tienen la labor de mediar y moldear las acciones de los
estudiantes.
3. Escalamiento a través de la automatización: la investigación por parte de
algunas instituciones en el tema de los OA continúa teniendo como meta permitir
el aprendizaje “en cualquier lugar, en cualquier momento” a través de
computadoras automatizadas formadas por objetos de aprendizaje
personalizados para estudiantes individuales. Esta visión era válida para la
propuesta de aprendizaje basado en computadoras propuesto en 1970, pero
actualmente el enfoque del aprendizaje se dirige a la colaboración, el
aprendizaje cooperativo, la comunicación entre estudiantes, negociación social,
aprender a aprender, redes sociales, etcétera.
4. Educación DataBanking: el “banking education” (educación bancaria) hace
referencia al proceso en el que profesores expertos depositan conocimiento en
las mentes vacías de alumnos pasivos. El seleccionar objetos de contenido de
un banco de datos para ser enviados a los alumnos plantea una implementación
muy cercana a la metáfora anterior. El actual paradigma del envío de los objetos
de aprendizaje ignora completamente el discurso o el diálogo, solo se presentan
enfoques que presentan los OA a los alumnos con una sola vista, sin
oportunidades para experimentar alternativas, lo que puede mostrar al
paradigma de OA como opresivo.
5. Especialmente diseñados para reusabilidad: a pesar de ser uno de los
principales criterios para el diseño de los objetos de aprendizaje, generalmente
para que un OA sea reusable requiere de un rediseño previo antes de poder ser
Capítulo 2. Marco Teórico
36
reusado en un nuevo sistema de objetos de aprendizaje. Es muy distinto que un
OA sea reusable para un sistema inteligente a que sea reusable para los
humanos.
6. La paradoja de la reusabilidad: en un sentido semiótico, los objetos de
aprendizaje y otros recursos educativos son signos como texto, gráficos, audio,
animación, etcétera. La tarea de los usuarios de OA es combinar estos recursos
individuales en lecciones con un gran significado instruccional. Estas
combinaciones crean un contexto en donde el color de los recursos y el
significado de cada uno son absorbidos. Aún si un sistema automatizado puede
de manera exitosa seleccionar y colocar secuencialmente los OA correctamente
la mayor parte del tiempo, un error en cualquier punto puede causar un “Efecto
del Sexto Sentido”, el cual consiste en entender una lectura hasta un punto y
después creer que no se ha entendido del todo, o cambia su interpretación.
7. La trampa de la propiedad intelectual: actualmente, todo producto que se ha
distribuido de manera digital ha sido reproducido y distribuido libremente por la
red, a pesar de ser productos con costo o licencia. Música, películas, libros y
software son algunos ejemplos de productos que actualmente han llegado a ser
distribuidos a través de la red, lo que ha llevado a las empresas a entender que
el contenido digital siempre encontrará su camino hacia la distribución gratuita.
La industria de contenidos educativos debe aprender esta lección para evitar
realizar y comercializar versiones digitalizadas de sus contenidos.
Respecto al nombre de Objeto de Aprendizaje han surgido múltiples discusiones
debido a que la unión de los términos objeto y aprendizaje puede considerarse una
incoherencia [Friesen, 2003] ya que el primero se originó del diseño, análisis, teoría y
programación orientada a objetos, lo que se refiere a un paradigma que se especializa
en términos como concurrencia o polimorfismo, y el segundo es un término vago que
en general no tiene ninguna naturaleza técnica. Así, podemos decir que el término
objeto de aprendizaje no sugiere la simplicidad, compatibilidad o las ventajas que están
Capítulo 2. Marco Teórico
37
relacionadas con la práctica de la enseñanza, además de que no existe ningún
paradigma para el aprendizaje o la educación como lo hay para la programación o el
diseño de software.
2.5.4 Construcción de un OA
La metodología para la construcción de objetos de aprendizaje puede considerarse
una tarea difícil [Muñoz, 2007] si no se tiene experiencia debido a que requiere de
aspectos de diseño, de contenido informativo, cuestiones tecnológicas y pedagógicas.
El diseño de un objeto de aprendizaje está conformado por cuatro pasos [Güler, 2009]:
preparar el contenido, empaquetarlo, desplegarlo y almacenarlo en algún repositorio.
La preparación del contenido consiste en diseñar qué contenido se mostrará y como
será mostrado; es crear las evaluaciones, contenido, ejercicios o actividades y los
objetivos del objeto de aprendizaje que se pretende publicar. Esta primera etapa
requiere un poco más de trabajo pedagógico que técnico, ya que es el maestro y
expertos quienes crearán el contenido educativo.
El empaquetado del contenido se puede usar a través de herramientas como
[RELOAD, 2004], el cual es un programa de código abierto que facilita la creación,
distribución y reúso de los objetos de aprendizaje y servicios, enriquece el rango de
enfoques pedagógicos realizables a través de planes de trabajos y permite realizar el
empaquetado de contenido en diferentes estándares como SCORM, Learning Design,
etcétera.
Para desplegar el paquete creado se requiere de una plataforma basada en web,
entre las más utilizadas están los Learning Management Systems (Blackboard, Moodle,
etcétera).
Cuando ya el contenido se convirtió en un paquete SCORM, debe ser almacenado
para que pueda comenzar a usarse. Técnicamente todos los paquetes SCORM deben
Capítulo 2. Marco Teórico
38
ser usables en cualquier LMS’s y LMCS’s, ya que estos funcionan como repositorios y
como plataformas para mostrar los contenidos.
En el Anexo A se explica más a fondo el proceso de construcción, empaquetado y
publicación de un Objeto de Aprendizaje.
3 Metodología de Solución
En este capítulo se describe la metodología propuesta para alcanzar al
objetivo de éste trabajo de tesis; se presenta la definición de Servicio Web de
Aprendizaje, los beneficios y aportes que esta solución brinda al Aprendizaje
Electrónico, y una metodología para la construcción de Servicios Web de
Aprendizaje.
Capítulo 3. Metodología de Solución
40
Un objeto de aprendizaje se conforma de cuatro elementos: objetivo de
aprendizaje, contenido informativo, evaluación y actividades de aprendizaje [Muñoz,
2007]. Actualmente estos cuatro elementos se empaquetan utilizando un metadato,
generalmente SCORM (Sharable Content Object Reference Model), y se distribuyen a
través de plataformas de enseñanza, las cuales requieren de un previo registro para
tener acceso y hacer uso de los materiales educativos disponibles. En resumen se
puede decir que el actual esquema de los OA tiene limitaciones y es poco reutilizable,
además de contar con otras desventajas que fueron enumeradas en el capítulo
anterior, por lo que en este capítulo se propone una solución al problema de la
distribución y alcance de los OA al estar contenidos en un SGA, así cómo a las
limitaciones que presenta su actual formato de construcción.
Este trabajo de tesis parte de las limitaciones que tienen actualmente los OA
para proponer una nueva forma de tratar y distribuir el contenido educativo: separar los
cuatro elementos que conforman a un objeto de aprendizaje y empaquetarlos de
manera individual utilizando Servicios Web (SW), convirtiendo así a cada elemento en
un SW con contenido educativo. Al incluir la tecnología de los SW para la distribución
de contenido educativo se propone nombrar a las unidades de conocimiento Servicios
Web de Aprendizaje (SWA). Se definirá a un SWA como una unidad de aprendizaje
construida como SW que contiene el mecanismo de comunicación hacia el contenido
educativo de uno de los cuatro elementos que conforman a un objeto de aprendizaje,
funcionando como intermediario entre el usuario y el contenido de aprendizaje. El SWA
cuenta con todas las características de un SW pero su uso es exclusivamente para
consultar y desplegar al usuario uno o más contenidos de aprendizaje. Tal como se
muestra en la Figura 9, los elementos que actualmente conforman a un OA ahora serán
tratados de manera independiente, empaquetando a cada uno en un SW, obteniendo
un SWA para cada contenido educativo que se desee publicar.
Capítulo 3. Metodología de Solución
41
Figura 9. Estructura de un SWA, a partir de un OA.
Se crearán cuatro tipos de servicios web de aprendizaje:
- Servicio web de objetivo de aprendizaje: contiene el objetivo de
enseñanza/aprendizaje que tendrá el objeto de aprendizaje que se está creando.
Puede ser texto plano, audio, una presentación en formato PDF o una animación
en flash.
- Servicio web de contenido informativo: contiene la información para desarrollar
el tema que se enseñará a través del objeto de aprendizaje. El contenido puede
representarse a través de texto plano, audio o presentación en formato PDF o
flash; puede incluir imágenes o alguna animación para apoyar el aprendizaje.
- Servicio web de actividades de aprendizaje: contiene las actividades que
reforzarán el contenido informativo y ayudarán a lograr el objetivo de
aprendizaje. Puede ser un formulario, texto plano, audio, video o animación
Capítulo 3. Metodología de Solución
42
para lograr una clara explicación de las actividades, también una presentación
en formato PDF o flash.
- Servicio web de evaluación: contiene las actividades para evaluar el aprendizaje
del estudiante y ver si el objetivo de aprendizaje se alcanzó. Este contenido se
representará con un formulario que interactúe con una base de datos para llevar
registro de las evaluaciones, además puede apoyarse de imágenes, audio o
alguna animación para que la descripción de la evaluación sea más clara.
Los SWA comparten características y requerimientos para su ejecución de los
SW, por lo cual se propone una arquitectura SOA basada en SWA que se conforma
por un repositorio de servicios web de aprendizaje (UDDI), un cliente (solicitante de
los SWA), un conjunto de SWA disponibles, los cuales deben ser registrados a la
UDDI para ser alcanzados por un cliente y un mecanismo de comunicación basado
en mensajes SOAP. El funcionamiento se describe en la Figura 10, en donde un
usuario realiza la solicitud al cliente de cierto contenido educativo, luego el cliente
consulta en la UDDI el WSDL del contenido solicitado, la UDDI verifica que el SWA
este registrado, recupera y retorna al cliente el WSDL correspondiente, luego el
cliente consulta el SWA, obtiene respuesta y regresa al usuario el resultado, que en
este caso es el contenido educativo.
Capítulo 3. Metodología de Solución
43
Figura 10. Arquitectura SOA basada en SWA.
Los OA, para ser considerados objetos de aprendizaje, deben cumplir con cuatro
características: reutilización, flexibilidad, escalabilidad y generatividad. El tratamiento
de los elementos de un OA como SWA potencializa dichas características ya que
ofrecen:
- Reutilización de los contenidos educativos, ya que son unidades de aprendizaje,
independientes, que pueden utilizarse en distintos contextos de aprendizaje y
ser invocados las veces que sean necesarios.
- Disponibilidad del material educativo a través de la red para múltiples usuarios
ya que son SW y no requieren de una plataforma o sistema de enseñanza
específica para ser consultados.
- Flexibilidad en la creación y utilización de los SWA, ya que permite la continua
actualización de los contenidos educativos, así como su utilización bajo distintos
contextos de enseñanza y por diferentes personas. Cada elemento es
independiente y pueden usarse bajo cualquier esquema de enseñanza.
Capítulo 3. Metodología de Solución
44
- Ofrecen Escalabilidad, ya que los SWA son pequeños componentes que, a
través de un modelo de composición de servicios, integrarán a los OA, tal como
se muestra en la Figura 11.
Además, los SWA al ser servicios web ofrecen otras características:
- Interoperabilidad, permitiendo que el contenido educativo se utilice
independientemente de la plataforma y lenguaje de programación en la que se
haya desarrollado.
- Se reducen las limitantes para el uso del material de enseñanza que Wiley
describe en [Wiley, 2004], ya que la versatilidad que ofrecen los SW permite que
el acceso al contenido educativo no solo sea a través de plataformas de
aprendizaje, sino también a través de otras aplicaciones, otros servicios web y
por múltiples usuarios.
- También ofrecen la reducción de costos, ya que el desarrollo de los servicios
web generalmente se realiza con tecnologías de estándares abiertos, algo que
sin duda beneficia a los desarrolladores y distribuidores de material educativo.
Además, al ser componentes reusables permite que un mismo contenido pueda
utilizarse bajo distintos contextos de enseñanza y temas, reduciendo la
producción de contenido educativo.
Capítulo 3. Metodología de Solución
45
Figura 11. Composición de servicios web de aprendizaje.
Otro beneficio importante que brindan los SWA se refleja directamente en el E-
learning:
- El registro de los SWA en una UDDI permite encontrar fácilmente los contenidos
educativos.
- Pueden combinarse contenidos educativos creados por diferentes herramientas
y autores sin problema.
- Ya no se requieren de plataformas de aprendizaje específicas y con acceso
restringido para tener alcance a los contenidos educativos.
- Los autores pueden crear solo el contenido educativo que requieran para
complementar sus cursos y no forzosamente los cuatro elementos obligatorios
para empaquetar un OA.
Capítulo 3. Metodología de Solución
46
Para validar la propuesta de SWA como forma de distribución de contenido
educativo se propone la siguiente metodología de solución:
1. Generar distintos contenidos educativos, almacenados en diferentes formatos:
un video con audio, un archivo pdf, un formulario de evaluación o actividad, una
imagen.
2. Almacenar el contenido educativo en el servidor y registrar la información de
cada contenido educativo en la BD de Contenidos Educativos.
3. Crear al menos un SWA de cada tipo, utilizando los diferentes contenidos
educativos generados anteriormente. Habrá un SWA de objetivo, otro de
contenido, otro de aprendizaje y otro de evaluación.
4. Probar los SWA creados para verificar que la información que se esté recibiendo
sea la correcta.
5. Generar los clientes necesarios para invocar y probar a los SWA generados
anteriormente. Los clientes deberán modificarse para que realicen un despliegue
del contenido educativo, ya que el usuario debe poder interactuar con el
contenido.
6. Realizar pruebas con un cliente que consulte un solo SWA y con un cliente que
consulte dos SWA.
La metodología de solución propuesta cumple con lo necesario para alcanzar el
objetivo de este trabajo de tesis, ya que propone una serie de pasos para la
construcción de Objetos de Aprendizaje en términos de Servicios Web. Además, la
solución propuesta presenta la definición de Servicio Web de Aprendizaje, y retomando
los beneficios de los Servicios Web y las limitaciones del aprendizaje electrónico, los
objetos de aprendizaje y los sistemas gestores de aprendizaje, se muestra cómo los
SW potencializan las características de los OA, además de reforzar sus características.
4 Implementación y Pruebas
En este capítulo se describe el desarrollo de la metodología propuesta en
el capítulo tres y la implementación de los Servicios Web de Aprendizaje,
además se presentan los casos de prueba realizados con sus respectivos
resultados. Este capítulo concluye con la discusión de los resultados de las
pruebas realizadas para validar la implementación de los Servicios Web de
Aprendizaje.
Capítulo 4. Implementación y Pruebas
48
Siguiendo la metodología de solución propuesta, a continuación se describe
brevemente cada paso realizado y los resultados obtenidos:
1. Generar contenido educativo: hay cuatro tipos de contenidos educativos que
se deben crear: objetivos, contenido, actividades y evaluaciones. El proceso
de generación de dichos contenidos se lleva a cabo por maestros y expertos
en los distintos tema que se desean publicar a través de los SWA. El
contenido educativo puede presentarse en distintos formatos, por ejemplo
documentos de texto plano, archivos multimedia (videos, audio,
animaciones), presentaciones, archivos .pdf, etcétera. En la Tabla 3 se
describen los contenidos educativos que se crearon para este trabajo de
tesis.
Tabla 3. Contenidos educativos utilizados en este trabajo de tesis.
Audio que describe el objetivo de aprendizaje del tema Casos de Uso en UML. Este archivo está en formato .mp3
Archivo PDF que describe los objetivos de un curso de
Introducción a la Programación en Java
Imagen que describe la definición de Casos de
Uso de UML. Es un archivo .png
Video que describe como configurar el IDE Eclipse con el servidor Tomcat. Está en formato .swf.
Formulario HTML que puede funcionar como evaluación o actividad
para el tema de Casos de Uso de UML.
Imagen en formato .jpg que describe la actividad del tema Introducción a la
Programación.
Capítulo 4. Implementación y Pruebas
49
Archivo en formato PDF que presenta la
evaluación del tema Casos de Uso en UML.
Formulario en PHP que presenta la evaluación del
tema Introducción a la Programación en Java.
2. Guardar el contenido educativo en el servidor y registrarlo en la BD de
Contenido Educativo: Una vez creado el contenido educativo debe
almacenarse en el servidor en dónde se vayan a crear los SWA. Además, se
debe registrar en la Base de Datos de Contenido Educativo la información de
cada material de aprendizaje que se vaya a publicar como su URL, formato y
tema. En la Figura 12 se muestra un ejemplo de registro de contenidos
educativos en la BD de Contenido de Aprendizaje.
Figura 12. Registro de contenido educativo en la BD.
3. Crear al menos un SWA de cada tipo: Para crear los SWA se utilizó el IDE
Eclipse Indigo y el servidor Apache Tomcat (en el Anexo C se especifica
como crear un SWA). En la Figura 13 se observan las clases de cada SWA y
sus respectivos archivos WSDL.
Capítulo 4. Implementación y Pruebas
50
Figura 13. SWA y sus archivos WSDL.
4. Probar los SWA: Las pruebas se ejecutan con el mismo IDE Eclipse, que
integra un explorador de servicios web (en el anexo C se especifica cómo
probar los SWA). El ejemplo del resultado de la prueba de un SWA se
muestra en la Figura 14, en donde el resultado es el url del contenido de
aprendizaje registrado en la BD de Contenido de Aprendizaje y consultado
por el SWA.
Figura 14. Resultado de probar un SWA.
Capítulo 4. Implementación y Pruebas
51
5. Generar clientes de SWA: por cada SWA se debe generar un cliente, el cual
para este trabajo contendrá un archivo jsp, ya que se requiere que el cliente
despliegue la información del contenido educativo que está consultando el
SWA (En el Anexo C se explica como generar un cliente de un SWA). En la
Figura 15 se muestra la estructura de un Cliente de SWA visualizado desde
el navegador de proyectos del IDE Eclipse.
Figura 15. Cliente SWA en el IDE Eclipse.
6. Realizar pruebas con un cliente que consulte un SWA y con otro cliente que
consulte dos SWA: Las pruebas se realizan una vez modificados los clientes
para desplegar en pantalla el contenido educativo y que el usuario pueda
visualizarlo correctamente (para realizar la modificación del código de los
clientes y probarlos se puede consultar el Anexo C, ahí se explica como
llevar a cabo todo el proceso). En la Figura 16 se muestra la visualización del
contenido educativo resultado de la prueba de un cliente que invoca a un
solo SWA. En la Figura 17 se muestra el resultado de la prueba de un cliente
que invoca a dos SWA.
Capítulo 4. Implementación y Pruebas
52
Figura 16. Cliente que invoca un solo SWA.
Figura 17. Resultado de la ejecución de un cliente que llama a dos SWA.
Capítulo 4. Implementación y Pruebas
53
4.1 Implementación
Para la implementación de los SWA y la realización de las pruebas se utilizaron
varias herramientas de desarrollo: IDE Eclipse Indigo para la codificación y generación
de los SWA y los Clientes de los SWA; MySQL Workbench 5.2.34 para la
administración de la BD; los SWA están codificados en el lenguaje de programación
Java y los clientes en JSP’s ya que requerían tener una vista para el usuario. El
contenido de aprendizaje se ha creado en diversas herramientas como Word,
PowerPoint, Enterprise Architect , Jiing, entre otras. Cabe señalar que el contenido de
aprendizaje utilizado para las pruebas es solamente para validar que efectivamente se
pueden visualizar a través del SWA distintos formatos de contenido.
El diagrama de la Figura 18 muestra el esquema de la implementación de los
SWA que se realizó para este trabajo; los pasos que se muestran en el esquema son:
1. El usuario hace la solicitud de un contenido educativo.
2. El cliente del SW hace la petición mediante el WSDL para invocar al SWA.
3. El SWA correspondiente se ejecuta, haciendo una consulta a la BD de
Contenido Educativo para recuperar el url del contenido educativo que el
usuario solicitó.
4. El SWA retorna el url al cliente del SWA.
5. El cliente obtiene el contenido educativo del servidor utilizando el URL.
6. El cliente despliega en la pantalla del usuario el contenido educativo
solicitado.
Capítulo 4. Implementación y Pruebas
54
Figura 18. Esquema de la implementación de un SWA.
El primer SWA implementado fue un SW de Objetivo de Aprendizaje, el cual
despliega en la pantalla del usuario los objetivos de algún material de aprendizaje. En
la Figura 19 se muestran fragmentos del código de un SW de Objetivo de Aprendizaje.
package pack_swatesis;
@WebService()
public class Objetivos {
Connection con = null;
private void iniciarConexion() {
System.out.println("Ejemplo de conexión a la BD");
String url = "jdbc:mysql://localhost:3306/";
} private void cerrarConexion(){
try{
con.close();
System.out.println("Adiós");
}catch (Exception e){
Capítulo 4. Implementación y Pruebas
55
e.printStackTrace();
}
} @WebMethod(operationName = "consultaObjetivos")
public String consultaObjetivos(){
String url=null;
try{
iniciarConexion();
String query = "SELECT * FROM objetivo";
Statement st = con.createStatement();
ResultSet rs = st.executeQuery(query);
}
catch (Exception e)
{
System.err.println(e.getMessage());
}
return url;
}
}
Figura 19. Implementación de un SW Objetivos de Aprendizaje.
El segundo SWA implementado fue un SW de Contenido Informativo, el cual
proporciona al usuario a través de video, texto, animación u otros medios, el contenido
suficiente para comprender un tema. En la Figura 20 se muestran los fragmentos de
código de la implementación del SWA.
package pack_swatesis;
@WebService()
public class Contenidos{
Connection con = null;
private void iniciarConexion() {
System.out.println("Ejemplo de conexión a la BD");
String url = "jdbc:mysql://localhost:3306/";
} private void cerrarConexion(){
try{
con.close();
System.out.println("Adiós");
}catch (Exception e){
e.printStackTrace();
}
Capítulo 4. Implementación y Pruebas
56
} @WebMethod(operationName = "consultaContenidos")
public String consultaContenidos(){
String url=null;
try{
iniciarConexion();
String query = "SELECT * FROM contenido";
Statement st = con.createStatement();
ResultSet rs = st.executeQuery(query);
}
catch(Exception e)
{
System.err.println("error:"+e.getMessage());
}
return url;
}
}
Figura 20. Implementación de un SW Contenido Informativo.
El tercer SWA implementado fue un SW de Actividades, el cual muestra al
usuario una serie de actividades para reforzar el aprendizaje; pude ser un cuestionario,
video, listado de ejercicios, etcétera. En la Figura 21 se muestra la implementación del
SWA.
package pack_swatesis;
@WebService()
public class Actividades{
Connection con = null;
private void iniciarConexion() {
System.out.println("Ejemplo de conexión a la BD");
String url = "jdbc:mysql://localhost:3306/";
} private void cerrarConexion(){
try{
con.close();
System.out.println("Adiós");
}catch (Exception e){
e.printStackTrace();
}
} @WebMethod(operationName = "consultaActividades")
public String consultaActividades(){
String url=null;
try{
Capítulo 4. Implementación y Pruebas
57
iniciarConexion();
String query = "SELECT * FROM actividad";
Statement st = con.createStatement();
ResultSet rs = st.executeQuery(query);
}
catch (Exception e)
{
System.err.println(e.getMessage());
}
return url;
}
}
Figura 21. Implementación de un SW Actividades.
El último SWA implementado fue un SW de Evaluación, el cual permite realizar
la evaluación del usuario respecto al tema aprendido. Su implementación se puede
apreciar en la Figura 22.
package pack_swatesis;
@WebService()
public class Evaluaciones{
Connection con = null;
private void iniciarConexion() {
System.out.println("Ejemplo de conexión a la BD");
String url = "jdbc:mysql://localhost:3306/";
} private void cerrarConexion(){
try{
con.close();
System.out.println("Adiós");
}catch (Exception e){
e.printStackTrace();
}
} @WebMethod(operationName = "consultaEvaluaciones")
public String consultaEvaluaciones{
String url=null;
try{
iniciarConexion();
String query = "SELECT * FROM evaluacion";
Statement st = con.createStatement();
ResultSet rs = st.executeQuery(query);
}
Capítulo 4. Implementación y Pruebas
58
catch (Exception e)
{
System.err.println(e.getMessage());
}
return url;
}
}
Figura 22. Implementación de un SW Evaluaciones.
La generación de los clientes de los distintos SWA se realizó automáticamente
con el IDE Eclipse; sin embargo se requirieron algunas modificaciones para que se
hiciera el despliegue del contenido educativo consultado en pantalla. El fragmento del
código del cliente de un SW de Objetivos de Aprendizaje que se muestra en la Figura
23 incluye la invocación al SWA, al método que éste ofrece y cómo recupera el url para
desplegarlo en pantalla.
<jsp:useBean id="sampleObjetivosProxyid" scope="session" class="pack_swatesis.ObjetivosProxy" /><%
try{
String resultado = sampleObjetivosProxyid.consultaObjetivos();
%><p class="texto">El url del objetivo es: <%=resultado %> </p>
<div>
<iframe id="pdf_container"name="pdf_container"src="<%=resultado %>"
width="500"height="300"></iframe>
</div>
<%
}catch(Exception e){%><%
}
Figura 23. Código de un cliente de SW de Objetivos de Aprendizaje.
El código del cliente de un SW de Contenido Informativo se muestra en la Figura
24; el del cliente de un SW de Actividades en la Figura 25 y el de un cliente de SW de
Evaluaciones en la Figura 26. Es importante mencionar que en todos se tiene un
espacio establecido para el despliegue del contenido educativo, en este caso un frame
con id=pdf_container. La impresión del URL del contenido educativo es para confirmar
que el paso de parámetros del SWA al cliente es correcto.
Capítulo 4. Implementación y Pruebas
59
<jsp:useBean id="sampleContenidos2Proxyid" scope="session" class="pack_swatesis.Contenidos2Proxy" />
<%
try{
String resultado2 = sampleContenidos2Proxyid.consultaContenidos();
<p class="texto">El url del contenido: <%=resultado2 %> </p>
<div>
<iframe id="pdf_container"name="pdf_container"src="<%=resultado2 %>"
width="600"height="300"></iframe>
</div>
<%
}catch(Exception e){%>
<%
}
%>
Figura 24. Cliente de un SW de Contenido Informativo.
<jsp:useBean id="sampleActividadesProxyid" scope="session" class="pack_swatesis.ActividadesProxy" />
<%
try{
String resultado = sampleActividadesProxyid.consultaActividades();
%><p class="texto">El url de la actividad es: <%=resultado %> </p>
<div>
<iframe id="pdf_container"name="pdf_container"src="<%=resultado %>"
width="600"height="300"></iframe>
</div>
<%
}catch(Exception e){%
<%
}
%>
Figura 25. Cliente de un SW de Actividades.
<jsp:useBean id="sampleEvaluacionesProxyid" scope="session" class="pack_swatesis.EvaluacionesProxy" />
<%
try{
String resultado = sampleActividadesProxyid.consultaEvaluaciones();
%><p class="texto">El url de la evaluación es: <%=resultado %> </p>
<div>
<iframe id="pdf_container"name="pdf_container"src="<%=resultado %>"
width="600"height="300"></iframe>
</div>
<%
}catch(Exception e){%>
<%
}
%>
Figura 26. Cliente de un SW de Evaluación.
Capítulo 4. Implementación y Pruebas
60
Además, al ser una propuesta basada en Servicios Web, los SWA deben ser
integrados a una arquitectura SOA, la cual requiere de una UDDI, que es un repositorio
que contiene el registro de los SWA. Entonces, una vez registrados los SWA en la
UDDI por el proveedor, el cliente solicita un contenido educativo (1), el Cliente del SWA
busca en la UDDI el registro del SWA y la UDDI regresa el registro WSDL (2), el Cliente
realiza una petición del SWA sobre el WSDL obtenido (3), el SWA solicitado se ejecuta
realizando una consulta a la Base de Datos de Contenido Educativo y retorna el url del
contenido educativo solicitado (4), el Cliente recibe la respuesta del SWA (5), con la
URL obtenida, el Cliente consulta el contenido educativo, lo obtiene (6) y lo despliega
en la pantalla del usuario (7). Este proceso está descrito gráficamente en la Figura 27.
Figura 27. Integración de los SWA en un arquitectura SOA.
Capítulo 4. Implementación y Pruebas
61
En este trabajo no era objetivo manejar ni probar el registro de los SWA en una
UDDI, pero al tratarse de Servicios Web se decidió mostrar un ejemplo de una
herramienta que permite el registro de SWA y la administración de una UDDI; esta
herramienta es la interfaz de Administración de UDDI que provee el IDE Eclipse en su
Explorador de Servicios Web. En la Figura 28 se muestran los elementos de la interfaz
para administrar una UDDI como son las Acciones, el Navegador y el Estatus. Entre las
acciones que se pueden realizar son Encontrar (Find) y Publicar (Publish). La UDDI
utilizada en este ejemplo es de Apache, y se llama jUDDI. Es de código abierto y
descarga gratuita en la página oficial del proyecto [juddi, 2003].
Figura 28. Interfaz de Administración de una UDDI a través del IDE Eclipse.
4.2 Pruebas y Resultados
En las siguientes tablas se muestran las pruebas y resultados realizados para
validar la implementación de los SWA. Se probaron 8 SWA clasificados en dos temas:
1. Introducción a la Programación y 2. UML. Además se realizaron pruebas de
funcionamiento del SWA, de los Clientes de los SWA y de Clientes con invocación a
dos SWA. Las pruebas se realizaron utilizando el IDE Eclipse y su ejecución es
Capítulo 4. Implementación y Pruebas
62
manual. Cada Tabla contiene el nombre de la prueba, el nombre de quién la ejecutó, la
fecha en que fue ejecutada, el objetivo de la prueba realizada, las condiciones del
ambiente en el que se realizó las pruebas, un campo de entrada y el resultado obtenido
al ejecutar la prueba.
Tabla 4. Prueba de funcionamiento del SW de Objetivos de Aprendizaje 1.1
Número/Nombre de
Prueba:
FuncionamientoSW_ObjetivoDeAprendizaje_1.1
Ejecutor: Paola Delgado
Fernández
Fecha: 29 junio 2012
Objetivo: Comprobar que el SW de Objetivo de Aprendizaje funcione
correctamente y retorne el valor deseado.
Condiciones de Ambiente: Servidor Tomcat inicializado e IDE Eclipse configurado
correctamente. El contenido educativo está previamente
registrado en la BD de Contenido Educativo y almacenado en el
Servidor. El SWA se ha generado correctamente.
Entrada: -
Resultado:
Body
consultaObjetivosResponse
consultaObjetivosReturn (string): http://localhost:8080/SWAtesisCliente/objetivoAprendizajeUMLCasosUso.mp3
Tabla 5. Prueba de funcionamiento del SW de Objetivos de Aprendizaje 2.1
Número/Nombre de Prueba:
FuncionamientoSW_ObjetivoDeAprendizaje_2.1
Ejecutor: Paola Delgado Fernández
Fecha: 29 junio 2012
Objetivo: Comprobar que el SW de Objetivo de Aprendizaje funcione correctamente y retorne el valor deseado.
Condiciones de Ambiente: Servidor Tomcat inicializado e IDE Eclipse configurado correctamente. El contenido educativo está previamente
Capítulo 4. Implementación y Pruebas
63
registrado en la BD de Contenido Educativo y almacenado en el Servidor. El SWA se ha generado correctamente.
Entrada: -
Resultado:
Body
consultaObjetivosResponse
consultaObjetivosReturn (string): http://localhost:8080/SWATesisCliente3/objetivoAprendizaje.pdf
En la Tabla 4 y Tabla 5 se muestran los resultados de las pruebas de
funcionamiento realizadas a los SW de Objetivo; con estas pruebas se verificó que la
consulta a la Base de Datos de Contenido de Aprendizaje se realizara con éxito y que
el resultado de la consulta fuera el esperado (el URL del contenido educativo).
Tabla 6. Prueba de funcionamiento del SW de Contenido 1.2
Número/Nombre de Prueba: FuncionamientoSW_Contenido_1.2
Ejecutor: Paola Delgado Fernández
Fecha: 29 junio 2012
Objetivo: Comprobar que el SW de Contenido funcione correctamente y retorne el valor deseado.
Condiciones de Ambiente: Servidor Tomcat inicializado e IDE Eclipse configurado correctamente. El contenido educativo está previamente registrado en la BD de Contenido Educativo y almacenado en el Servidor. El SWA se ha generado correctamente.
Entrada: -
Resultado:
Body
consultaContenidosResponse
consultaContenidosReturn (string): http://localhost:8080/SWATesisCliente2/contenidoCasosUsoUML.png
Tabla 7. Prueba de funcionamiento del SW de Contenido 2.2
Número/Nombre de Prueba: FuncionamientoSW_Contenido_2.2
Ejecutor: Paola Delgado Fernández
Fecha: 29 junio 2012
Objetivo: Comprobar que el SW de Contenido funcione correctamente y
Capítulo 4. Implementación y Pruebas
64
retorne el valor deseado.
Condiciones de Ambiente: Servidor Tomcat inicializado e IDE Eclipse configurado correctamente. El contenido educativo está previamente registrado en la BD de Contenido Educativo y almacenado en el Servidor. El SWA se ha generado correctamente.
Entrada: -
Resultado:
Body
consultaContenidosResponse
consultaContenidosReturn (string): http://localhost:8080/SWATesisCliente2/contenidoConfigurarIDE.swf
En la Tabla 6 y Tabla 7 se muestran los resultados de las pruebas de
funcionamiento realizadas a los SW de Contenido; con estas pruebas se verificó que la
consulta a la Base de Datos de Contenido de Aprendizaje se realizara con éxito y que
el resultado de la consulta fuera el esperado (el URL del contenido educativo).
Tabla 8. Prueba de funcionamiento del SW de Actividades 1.3
Número/Nombre de Prueba: FuncionamientoSW_Actividades_1.3
Ejecutor: Paola Delgado Fernández
Fecha: 29 junio 2012
Objetivo: Comprobar que el SW de Actividades funcione correctamente y retorne el valor deseado.
Condiciones de Ambiente: Servidor Tomcat inicializado e IDE Eclipse configurado correctamente. El contenido educativo se ha registrado previamente en la BD de Contenido Educativo y almacenado en el Servidor. El SWA se ha generado correctamente.
Entrada: -
Resultado:
Body
consultaActividadesResponse
consultaActividadesReturn (string): http://localhost:8080/SWAtesisCliente/ejercicioCasosUsoUML.html
Capítulo 4. Implementación y Pruebas
65
Tabla 9. Prueba de funcionamiento del SW de Actividades 2.3
Número/Nombre de Prueba: FuncionamientoSW_Actividades_2.3
Ejecutor: Paola Delgado Fernández
Fecha: 29 junio 2012
Objetivo: Comprobar que el SW de Actividades funcione correctamente y retorne el valor deseado.
Condiciones de Ambiente: Servidor Tomcat inicializado e IDE Eclipse configurado correctamente. El contenido educativo se ha registrado previamente en la BD de Contenido Educativo y almacenado en el Servidor. El SWA se ha generado correctamente.
Entrada: -
Resultado:
Body
consultaActividadesResponse
consultaActividadesReturn (string): http://localhost:8080/SWAtesisCliente/actividadJava.jpg
En la Tabla 8 y Tabla 9 se muestran los resultados de las pruebas de
funcionamiento realizadas a los SW de Actividades; con estas pruebas se verificó que
la consulta a la BD de Contenido de Aprendizaje se realizara con éxito y que el
resultado de la consulta fuera el esperado (el URL del contenido educativo).
Tabla 10. Prueba de funcionamiento del SW de Evaluación 1.4
Número/Nombre de Prueba: FuncionamientoSW_Evaluación_1.4
Ejecutor: Paola Delgado Fernández
Fecha: 29 junio 2012
Objetivo: Comprobar que el SW de Evaluación funcione correctamente y retorne el valor deseado.
Condiciones de Ambiente: Servidor Tomcat inicializado e IDE Eclipse configurado correctamente. El contenido educativo está previamente registrado en la BD de Contenido Educativo y almacenado en el Servidor. El SWA se ha generado correctamente.
Entrada: -
Resultado:
Body
consultaEvaluacionesResponse
Capítulo 4. Implementación y Pruebas
66
consultaEvaluacionesReturn (string): http://localhost:8080/SWAtesisCliente/evaluacionUMLCasosUso.pdf
Tabla 11. Prueba de funcionamiento del SW de Evaluación 2.4
Número/Nombre de Prueba: FuncionamientoSW_Evaluación_2.4
Ejecutor: Paola Delgado Fernández
Fecha: 29 junio 2012
Objetivo: Comprobar que el SW de Evaluación funcione correctamente y retorne el valor deseado.
Condiciones de Ambiente: Servidor Tomcat inicializado e IDE Eclipse configurado correctamente. El contenido educativo está previamente registrado en la BD de Contenido Educativo y almacenado en el Servidor. El SWA se ha generado correctamente.
Entrada: -
Resultado:
Body
consultaEvaluacionesResponse
consultaEvaluacionesReturn (string): http://localhost:8080/SWAtesisCliente/evaluacionIntroProgramacionJava.php
En la Tabla 10 y Tabla 11 se muestran los resultados de las pruebas de
funcionamiento realizadas a los SW de Evaluación; con estas pruebas se verificó que la
consulta a la Base de Datos de Contenido de Aprendizaje se realizara con éxito y que
el resultado de la consulta fuera el esperado (el URL del contenido educativo).
Una vez probados los SWA, se procedió a probar sus Clientes y el despliegue
del contenido educativo en pantalla, así como la viabilidad de invocar a dos SWA desde
un mismo cliente.
Tabla 12. Prueba de funcionamiento del Cliente de SW de Objetivo de Aprendizaje 1.1
Número/Nombre de Prueba:
FuncionamientoClienteSW_ObjetivoDeAprendizaje_1.1
Ejecutor: Paola Delgado Fernández
Fecha: 29 junio 2012
Objetivo: Comprobar que el Cliente del SW de Objetivo de Aprendizaje funcione correctamente y muestre en pantalla el contenido
Capítulo 4. Implementación y Pruebas
67
educativo.
Condiciones de Ambiente: Servidor Tomcat inicializado e IDE Eclipse configurado correctamente. El contenido educativo está previamente registrado en la BD de Contenido Educativo y almacenado en el Servidor. El SWA se ha generado correctamente. El cliente del SWA se ha generado y modificado correctamente.
Entrada: -
Resultado:
Tabla 13. Prueba de funcionamiento del Cliente de SW de Objetivo de Aprendizaje 2.1
Número/Nombre de Prueba:
FuncionamientoClienteSW_ObjetivoDeAprendizaje_2.1
Ejecutor: Paola Delgado Fernández
Fecha: 29 junio 2012
Objetivo: Comprobar que el Cliente del SW de Objetivo de Aprendizaje funcione correctamente y muestre en pantalla el contenido educativo.
Condiciones de Ambiente: Servidor Tomcat inicializado e IDE Eclipse configurado correctamente. El contenido educativo está previamente registrado en la BD de Contenido Educativo y almacenado en el Servidor. El SWA se ha generado correctamente. El cliente del SWA se ha generado y modificado correctamente.
Entrada: -
Capítulo 4. Implementación y Pruebas
68
Resultado:
Los resultados de las pruebas realizadas a los Clientes de los SW de Objetivos
se muestran en la Tabla 12 y Tabla 13; con estas pruebas se buscaba mostrar la
viabilidad de desplegar en pantalla contenido educativo desde un Cliente.
Tabla 14. Prueba de funcionamiento del Cliente de SW de Contenido 1.2
Número/Nombre de Prueba:
FuncionamientoClienteSW_Contenido_1.2
Ejecutor: Paola Delgado Fernández
Fecha: 29 junio 2012
Objetivo: Comprobar que el Cliente del SW de Contenido funcione correctamente y muestre en pantalla el contenido educativo.
Condiciones de Ambiente: Servidor Tomcat inicializado e IDE Eclipse configurado correctamente. El contenido educativo está previamente registrado en la BD de Contenido Educativo y almacenado en el Servidor. El SWA se ha generado correctamente. El cliente del SWA se ha generado y modificado correctamente.
Entrada: -
Resultado:
Capítulo 4. Implementación y Pruebas
69
Tabla 15. Prueba de funcionamiento del Cliente de SW de Contenido 2.2
Número/Nombre de Prueba:
FuncionamientoClienteSW_Contenido_2.2
Ejecutor: Paola Delgado Fernández
Fecha: 29 junio 2012
Objetivo: Comprobar que el Cliente del SW de Contenido funcione correctamente y muestre en pantalla el contenido educativo.
Condiciones de Ambiente: Servidor Tomcat inicializado e IDE Eclipse configurado correctamente. El contenido educativo está previamente registrado en la BD de Contenido Educativo y almacenado en el Servidor. El SWA se ha generado correctamente. El cliente del SWA se ha generado y modificado correctamente.
Entrada: -
Resultado:
Capítulo 4. Implementación y Pruebas
70
Los resultados de las pruebas realizadas a los Clientes de los SW de Contenido
se muestran en las Tablas 14 y Tabla 15; con estas pruebas se buscaba mostrar la
viabilidad de desplegar en pantalla contenido educativo desde un Cliente.
Tabla 16. Prueba de funcionamiento del Cliente de SW de Actividades 1.3
Número/Nombre de Prueba:
FuncionamientoClienteSW_Actividades_1.3
Ejecutor: Paola Delgado Fernández
Fecha: 29 junio 2012
Objetivo: Comprobar que el Cliente del SW de Actividades funcione correctamente y muestre en pantalla el contenido educativo.
Condiciones de Ambiente: Servidor Tomcat inicializado e IDE Eclipse configurado correctamente. El contenido educativo está previamente registrado en la BD de Contenido Educativo y almacenado en el Servidor. El SWA se ha generado correctamente. El cliente del SWA se ha generado y modificado correctamente.
Entrada: -
Resultado:
Capítulo 4. Implementación y Pruebas
71
Tabla 17. Prueba de funcionamiento del Cliente de SW de Actividades 2.3
Número/Nombre de Prueba:
FuncionamientoClienteSW_Actividades_2.3
Ejecutor: Paola Delgado Fernández
Fecha: 29 junio 2012
Objetivo: Comprobar que el Cliente del SW de Actividades funcione correctamente y muestre en pantalla el contenido educativo.
Condiciones de Ambiente: Servidor Tomcat inicializado e IDE Eclipse configurado correctamente. El contenido educativo está previamente registrado en la BD de Contenido Educativo y almacenado en el Servidor. El SWA se ha generado correctamente. El cliente del SWA se ha generado y modificado correctamente.
Entrada: -
Resultado:
Capítulo 4. Implementación y Pruebas
72
Los resultados de las pruebas realizadas a los Clientes de los SW de
Actividades se muestran en las Tablas 16 y Tabla 17; con estas pruebas se buscaba
mostrar la viabilidad de desplegar en pantalla contenido educativo desde un Cliente.
Tabla 18. Prueba de funcionamiento del Cliente de SW de Evaluación 1.4
Número/Nombre de Prueba:
FuncionamientoClienteSW_Evaluación_1.4
Ejecutor: Paola Delgado Fernández
Fecha: 29 junio 2012
Objetivo: Comprobar que el Cliente del SW de Evaluación funcione correctamente y muestre en pantalla el contenido educativo.
Condiciones de Ambiente: Servidor Tomcat inicializado e IDE Eclipse configurado correctamente. El contenido educativo está previamente registrado en la BD de Contenido Educativo y almacenado en el Servidor. El SWA se ha generado correctamente. El cliente del SWA se ha generado y modificado correctamente.
Entrada: -
Resultado:
Capítulo 4. Implementación y Pruebas
73
Tabla 19. Prueba de funcionamiento del Cliente de SW de Evaluación 2.4
Número/Nombre de Prueba:
FuncionamientoClienteSW_Evaluación_2.4
Ejecutor: Paola Delgado Fernández
Fecha: 29 junio 2012
Objetivo: Comprobar que el Cliente del SW de Evaluación funcione correctamente y muestre en pantalla el contenido educativo.
Condiciones de Ambiente: Servidor Tomcat inicializado e IDE Eclipse configurado correctamente. El contenido educativo está previamente registrado en la BD de Contenido Educativo y almacenado en el Servidor. El SWA se ha generado correctamente. El cliente del SWA se ha generado y modificado correctamente.
Entrada: -
Resultado:
Capítulo 4. Implementación y Pruebas
74
Los resultados de las pruebas realizadas a los Clientes de los SW de Evaluación
se muestran en las Tablas 18 y 19; con estas pruebas se buscaba mostrar la viabilidad
de desplegar en pantalla contenido educativo desde un Cliente.
Tabla 20. Prueba de funcionamiento de la invocación de dos SWA desde un Cliente 1
Número/Nombre de Prueba:
FuncionamientoCliente2SWA_1
Ejecutor: Paola Delgado Fernández
Fecha: 29 junio 2012
Objetivo: Comprobar que un Cliente puede invocar a dos SWA, que tenga un correcto funcionamiento y despliegue en pantalla el contenido educativo de los SWA invocados.
Condiciones de Ambiente: Servidor Tomcat inicializado e IDE Eclipse configurado correctamente. El contenido educativo está previamente registrado en la BD de Contenido Educativo y almacenado en el Servidor. El SWA se ha generado correctamente. El cliente del SWA se ha generado y modificado correctamente.
Entrada: -
Resultado:
Capítulo 4. Implementación y Pruebas
75
Tabla 21. Prueba de funcionamiento de la invocación de dos SWA desde un Cliente 2
Número/Nombre de Prueba: FuncionamientoCliente2SWA_2
Ejecutor: Paola Delgado Fernández
Fecha: 29 junio 2012
Objetivo: Comprobar que un Cliente puede invocar a dos SWA, que tenga un correcto funcionamiento y despliegue en pantalla el contenido educativo de los SWA invocados.
Condiciones de Ambiente: Servidor Tomcat inicializado e IDE Eclipse configurado correctamente. El contenido educativo está previamente registrado en la BD de Contenido Educativo y almacenado en el Servidor. El SWA se ha generado correctamente. El cliente del SWA se ha generado y modificado correctamente.
Entrada: -
Resultado:
Capítulo 4. Implementación y Pruebas
76
Las últimas pruebas consistieron en invocar dos SWA desde un mismo cliente;
los resultados se documentaron en las Tablas 20 y 21. El objetivo de dichas pruebas
era desplegar contenido educativo de dos SWA distintos invocados desde un mismo
Cliente.
4.2 Discusión de Resultados
Se realizaron 18 pruebas para validar el funcionamiento de los SWA, el
funcionamiento de los clientes de SWA y el llamado a dos o más SWA desde un mismo
cliente. Se implementaron 8 Servicios Web de Aprendizaje, dos de cada tipo propuesto.
Para realizar las pruebas se utilizó el explorador que ofrece el IDE Eclipse y cada una
de ellas se documentó; los resultados obtenidos se muestran de la Tabla 4 a la 21. Las
pruebas fueron ejecutadas manualmente y de manera individual. Todas las pruebas
fueron exitosas en términos de obtener los resultados esperados y de la ejecución
correcta de los servicios Web de aprendizaje. Otros elementos que se observaron son
los siguientes:
- Las pruebas demostraron que la implementación de los SWA es viable y su
funcionalidad es la esperada: desplegar en pantalla el contenido educativo
consultado, además de invocar y desplegar a dos o más SWA de manera
recurrente.
- Se observó que el contenido educativo de tipo video, audio, imagen, pdf y
formularios se visualizan correctamente. Sin embargo, los formularios requieren
de un mecanismo para almacenamiento y análisis de los resultados, ya que son
utilizados para las actividades y evaluaciones porque son elementos que deben
tener un seguimiento.
- También se observó que se requiere de una interfaz que permita el despliegue
del listado de todos los SWA disponibles en un repositorio, para que su consulta
y ejecución sea visual y simple.
Capítulo 4. Implementación y Pruebas
77
- Se requiere establecer una forma de clasificación de los servicios, para facilitar
su organización y consulta; también se requiere de mecanismos de composición,
para permitir construir conjuntos de SWA que den forma a capítulos, cursos,
temarios, etcétera.
- Es importante comentar que la implementación de los SWA se realizó utilizando
contenido educativo generado solo con fines de demostrar la viabilidad y
funcionamiento de los servicios web de aprendizaje. El contenido educativo no
se está evaluando ni probando.
- Cabe mencionar que en lo relacionado con las tecnologías utilizadas para la
implementación de los SWA, se requirió de un componente Web que permitiera
el despliegue del contenido educativo en pantalla, por lo que se incluyó en la
construcción de los SWA un archivo .jsp que recibe los parámetros que el SWA
retorna y lo despliega en un marco previamente definido, esto para facilitar la
ubicación del contenido educativo en pantalla.
- El despliegue del contenido educativo mediante los archivos .jps se efectúo
correctamente durante todas las pruebas realizadas.
Un punto importante de éste trabajo era conservar las características de los
Objetos de Aprendizaje al ser tratados en términos de Servicios Web; dichas
características se describen en la sección 2.5.2 del Capítulo 2. Los SWA ofrecen
reusabilidad, no solo del contenido educativo, lo cuál es más sencillo porque hablamos
de elementos independientes, sino también en la parte tecnológica, ya que los SW son
independientes de plataforma o de lenguaje de programación en el que se hayan
creado; ofrecen también flexibilidad, ya que se pueden consultar y actualizar
fácilmente; los SWA al utilizar la idea de los SW como forma de distribución, hace que
sean alcanzables por múltiples usuarios a través de internet, probando que cuentan
también con Generatividad; y por último, los SWA son elementos pequeños e
individuales, que pueden convertirse en un conjunto de SWA para dar forma a
Capítulo 4. Implementación y Pruebas
78
elementos más grandes como capítulos o cursos, por lo que lo SWA también ofrecen
escalabilidad.
5 Conclusiones y Trabajo Futuro
En este capítulo se presentan las conclusiones obtenidas del trabajo de tesis
desarrollado, así como sus retos y trabajo futuro.
Capítulo 5. Conclusiones y Trabajo Futuro
80
La principal conclusión de este trabajo de tesis es que la construcción de los objetos
de aprendizaje en términos de servicios web si es viable, el objetivo de la tesis se logró
al proponer un método para la construcción de los mismos y que los Servicios Web de
Aprendizaje son el resultado de probar el método propuesto. Sin embargo, con este
trabajo se obtuvieron más aportaciones y conclusiones, las cuales se enlistan a
continuación:
- Se realizó un estudio de los objetos de aprendizaje, su creación y actual
funcionamiento dentro de los Sistemas Gestores de Aprendizaje. En el Anexo A
se describe la creación de un OA y la integración a un SGA.
- Se identificaron las principales limitaciones de los Sistemas Gestores de
Aprendizaje, de los objetos de aprendizaje y del aprendizaje electrónico (E-
Learning), las cuales están descritas en el capítulo 2 de este trabajo de tesis.
- El estudio de los Servicios Web permitió identificar las ventajas que éstos
pueden aportar a los Objetos de Aprendizaje, así como mostrar la viabilidad de
construir un OA en términos de SW, lo cual llevó a proponer el término de
Servicios Web de Aprendizaje (SWA), el cual está definido en el capítulo 3 de
éste documento.
- En el capítulo 3 también se mostró que los Servicios Web de Aprendizaje
potencializan las características de los OA, además que reducen las limitaciones
de los SGA y del aprendizaje electrónico.
- Se propuso un método y arquitectura para la construcción de los Servicios Web
de Aprendizaje el cual está descrito en el Capítulo 3 de este documento de tesis.
- Se creó un conjunto de Servicios Web de Aprendizaje utilizando el IDE Eclipse y
el lenguaje de programación Java, así como una serie de contenidos educativos
Capítulo 5. Conclusiones y Trabajo Futuro
81
para mostrar la viabilidad y funcionamiento de los SWA. En el Anexo C se
describe el proceso de construcción de un SWA.
- Se construyó un conjunto de clientes de SWA utilizando el IDE Eclipse y
utilizando JSP’s para mostrar que el contenido educativo era invocado y
desplegado correctamente en pantalla. La construcción de un cliente de SWA se
describe en el Anexo C de este documento.
- Se realizó un conjunto de pruebas para mostrar la viabilidad del método
propuesto para la construcción de los Servicios Web de Aprendizaje, así como
para mostrar su correcto funcionamiento. Además se hicieron pruebas para
mostrar que un mismo cliente puede invocar a dos o más SWA. Todas las
pruebas realizadas fueron satisfactorias. Los resultados de dichas pruebas están
en el Capítulo 4 en la sección de Pruebas y Resultados.
Este trabajo solo probó el funcionamiento y viabilidad de los Servicios Web de
Aprendizaje; el contenido educativo fue creado únicamente para realizar dichas
pruebas, y no para ser evaluado en términos pedagógicos o tecnológicos.
Con las pruebas y resultados obtenidos se mostró que los SWA son viables, que sí
permiten la distribución del contenido educativo y que las limitantes de los SGA y de los
OA se reducen. Además se logró definir un método para la generación de objetos de
aprendizaje en términos de servicios web, logrando así las limitantes en su uso,
actualización, disponibilidad y creación.
Se cumplió el alcance establecido en la tesis ya que se definió el método para la
construcción de SWA, se definieron casos de pruebas para probar dicho método y se
construyeron SWA para verificar la viabilidad del método. Las limitaciones no fueron
problema para el correcto desarrollo del trabajo de tesis.
Capítulo 5. Conclusiones y Trabajo Futuro
82
Es importante señalar que los SWA no remplazan a los OA, sino que potencializan y
refuerzan sus características, buscando ser una alternativa más para la distribución de
contenido educativo a través de la Web.
También es importante mencionar que los SWA no son un OA, son los elementos
que conforman a un OA con contenido educativo de distinto tipo: objetivos, contenido,
actividades y evaluación.
5.1 Retos y Trabajo Futuro
Esta tesis es sólo la base para iniciar nuevas propuestas en la parte tecnológica
del área de aprendizaje electrónico y sistemas gestores de aprendizaje. Sin embargo,
el reto no solo está en la parte tecnológica, sino también en la pedagógica, ya que la
construcción de los SWA requiere de diseño, un contenido de acuerdo a lo que se
desee enseñar, debe tener un tamaño adecuado, entre otras características que
corresponden a la parte del diseño de los contenidos educativos, por lo que se requiere
una integración de ambas partes para lograr un avance y mejoras importantes. El
aprendizaje electrónico requiere de un buen contenido educativo, pero también de
buenas herramientas que lo distribuyan.
Los Servicios Web de Aprendizaje son la unidad de conocimiento de la cual partirán
los próximos trabajos relacionados con el tema. Referente a los SWA se concluye que:
- Aún queda mucho trabajo referente a las formas en cómo un usuario interactúa
con los SWA, principalmente en los mecanismos que se deben utilizar para
almacenar y analizar los resultados obtenidos de los formularios de evaluación y
actividades, ya que estos elementos deben tener un seguimiento.
- También se observó que se requiere de una interfaz que permita el despliegue
del listado de todos los SWA disponibles en un repositorio, para que su consulta
y ejecución sea visual y simple.
Capítulo 5. Conclusiones y Trabajo Futuro
83
- Además, se requiere establecer una forma de clasificación de los servicios, para
facilitar su organización y consulta.
- Además se debe dar continuidad a la parte del registro de los SWA en una
UDDI, ya que este trabajo solo genera los archivos wsdl y propone cómo integrar
la UDDI a la solución.
- Se debe trabajar en la composición de servicios, para así obtener mecanismos
de composición que permitan la construcción de conjuntos de SWA que den
forma a capítulos, cursos, temarios, etcétera.
Referente a los Sistemas Gestores de Aprendizaje se concluye que:
- La integración de los SWA a estos ambientes es importante, ya que las
plataformas de enseñanza permiten darle seguimiento al alumno, realizar
actividades como clases virtuales, asesorías, entre otras, que complementan el
aprendizaje del estudiante.
- Sin embargo, hay que recalcar que los SWA no deben estar inmersos en algún
SGA. Para que los SGA actuales puedan funcionar con SWA se tiene que
trabajar en migrar las plataformas de aprendizaje actuales a una arquitectura
basada en SOA o integrar un módulo a los SGA para aprendizaje a través de
Servicios Web de Aprendizaje que esté basado en SOA, para que así los SWA
sean alcanzables desde cualquier SGA.
Sin duda, hoy en día las tecnologías de la información están al alcance de gran
número de personas y comienzan a ser utilizada para gran cantidad de actividades y
tareas. Además, la evolución de las tecnologías web es cada vez más rápida, por lo
que se requieren nuevas propuestas para estar a la vanguardia y mantenerse en el
medio. El aprendizaje electrónico continuará vigente por mucho tiempo, pero las formas
de enseñanza/aprendizaje siguen cambiando y las tecnologías de la información
Capítulo 5. Conclusiones y Trabajo Futuro
84
evolucionando, lo que requiere una constante adaptación de los contenidos de
aprendizaje, de las formas en cómo se distribuye y de las técnicas en cómo el usuario
aprende.
R1
Referencias
[adl, 2009] Advanced Distributed Learning, the power of global collaboration. Fecha de Consulta: marzo 2011http://www.adlnet.gov/Technologies/scorm/default.aspx
[Araiza, 2007] Procedimiento para la obtención de Marcos de Servicio Web a partir de Marcos Orientados a Objetos, Elvia Araiza Lizarde, Tesis de Maestría en Ciencias, CENIDET, Cuernavaca, Morelos.
[Barchino, 2004] A Scope of Learning Management Systems, Roberto Barchino. José M. Gutierrez, Salvador Otón. CEUR Workshop Proceedings, Vol-117, Proceedings of the First Pluri-Disciplinary Symposium on Design, Evaluation and Description of Reusable Learning Contents, Guadalajara (Spain), Octubre 2004.
[Blackboard, 2004] Blackboard Inc, The Blackboard Content System, Overview of Product Capabilities. Washington D.C., 2004
[Cabrera, 2009] Banco de Pruebas Orientado a la Calidad o QoS para Apoyar la selección y Composición de Servicios Web, Oscar Jair Cabrera Bejar, Tesis de Maestría en Ciencias, CENIDET, Cuernavaca, Morelos.
[Cabrero, 2006] Bases pedagógicas del e-learning, Julio Cabero, Revista de Universidad y Sociedad del conocimiento, Vol. 3 – No. 1. www.uoc.edu/rusc.
[Cauldwell, 2002] Profesional Servicios Web XML. Patrick Cauldwell, Rajesh Chawla, et.la. Wrox Press, Madrid, Amaya Multimedia.
[Cavanaugh, 2006] Web services: Benefits, challenges and a unique, visual development solution, Erin Cavanaugh, Altova White Paper, 2006.
[Christensen, 2001] Web Services Description Language (WSDL) 1.1, Erik Christensen, Francisco Curbera, Greg Meredith, Sanjiva Weerawarana, W3C Note, Marzo 2001.
[CUE, 2003] Learning Management Systems for the Rest of US. Research Report presented by Corporate University Enterprise, INC. CUE White Paper. Mayo 2003.
R2
[Curbera, 2002] Unraveling the Web Services Web. An Introduction to SOAP, WSDL and UDDI, Francisco Cubrera, Mathtew Duftier, Rania Khalaf, William Nagy, Nirmal Mulchi, Sanjiva Werewarana, IEEE Internet Computing, April 2002.
[Friesen, 2003] Norm Friesen, Three Objections to Learning Objects and E-Learning Standards. McGreal, R(Ed.) Online Education Using Learning Objects, London. Pp. 59-70. 2004.
[Graham, 2005] Building Web Services with Java, Steve Graham, Doug Davis, Simeon Simeonov, Glen Daniels, Peter Brittenham, yuichi Nakamura, Paul Fremantle, Sieter Kónig, Clauda Zenter, Second Edition, Developer’s Library, Sams Publishing, 2005, USA.
[Güler, 2009] Cetín Güler, Arif Altun, Petek Askar. Developing Reusable Learning Objects: Hacettepe University Case. Third International Conference on Internet Technologies & Applications, UK, 2009.
[Horton, 2003] William Horton (Author), Katherine Horton. E-learning Tools and Technologies: A consumer's guide for trainers, teachers, educators, and instructional designers. Wiley, 2003.
[IEEE, 2002] Learning Technology Standards Comitee, Learning Object Metadata IEEE 1484.12.1, 2002.
[juddi, 2003 ] Página Oficial del Proyecto Apache jUDDI. Actualizada el 6 de Febrero de 2012. Disponible en: http://juddi.apache.org/index.html
[Kreger, 2001] Web Services Conceptual Architecture (WSCA 1.0), Heather Kreger, IBM Software Group, Mayo 2001.
[Lerma, 2007] Carlos Francisco Lerma. Creating Learning Objects. Proceeding of the 2007 Informing Science and IT Education Joint Conference. Ljubljana, Slovenia, 2007.
[Madrigal, 2011] Método para Generar Servicios Web Personalizados Mediante Composición de Funcionalidades de Múltiples Fuentes, Fernando Japhet Madrigal Barón, Maestría en Ciencias, CENIDET, Cuernavaca, Morelos.
[Meerts, 2003] John Meerts. Course Management Systems (CMS). EDUCAUSE Evolving Technologies Committee. Octubre, 2003.
R3
[Moon, 2006] E-Learning Web Services, Su Moon Ting, Hoe Han Ker, Yam Kien Yew, Proceedings of the 5th WSEAS International Conferences on E-Activities, Venecia, Italia, Noviembre 2006.
[Muñoz, 2007] Tecnologías de objetos de aprendizaje, Jaime Muñoz Arteaga, Francisco J. Álvarez Rodríguez, María Elena Chan Núñez, Universidad Autónoma de Aguascalientes, México.
[Muñoz, 2010] Use of Agents to Realize a Federate Searching of Learning Objects, Jaime Muñoz Arteaga, Edgar A. Calvillo Moreno, Carlos A. Ochoa Zezzatti, René Santaolaya Salgado, Fco. Álvarez Rodríguez, Springer, Advances in Intelligent and Soft Computing, Salamanca, España, April 2010.
[Muñoz, 2011] Objetos de Aprendizaje integrados a un sistema de gestión de aprendizaje, Jaime Muñoz Arteaga, Francisco Javier Álvarez Rodríguez, Beatriz Osorio Urrutia, Juan Pedro Cardona Salas, Revista Apertura, No. 3, Universidad De Guadalajara, México, Mayo 2011.
[Muñoz-Arteaga, 2010] Objetos de Aprendizaje en Términos de Servicios Web, Jaime Muñoz Arteaga, René Santaolaya Salgado, Edgar Alan Calvillo Moreno, Ricardo Mendoza González, Olivia G. Fragoso Díaz, Jornadas Iberoamericanas de Ingeniería del Software e Ingeniería del Conocimiento 2010 (JIISIC’10), Mérida, Yucatán.
[Newcomer, 2004] Understanding Web Services, XML, WSDL, SOAP and UDDI, Eric Newcomer, Adisson Wesley, Agosto 2004, USA.
[NISO, 2004] Understanding Metadata, National Information Standards Organization, USA, 2004.
[Ort, 2005] Service-Oriented Architecture and Web Services: Concepts, Technologies and Tools, Ed Ort, The Source, Sun Microsystems, April, 2005.
[Pahl, 2004] A Web Services Architecture for Learning Object Discovery and Assembly, Claus Pahl, Ronan Barrett, ACM Proceedings of the 13th international World Wide Web conference, EUA, Mayo 2004.
[Pankratius, 2004] Retrieving content with agents in web service e-learning Systems, Victor Pankratius, Oliver Sandel, Wolffried Stucky. in Proceedings of the First IFIP Conference on Artificial Intelligence Applications and Innovations (AIAI), 2004
R4
[Papazoglou, 2003] Service-Oriented Computing: Concepts, Characteristics and Directions, Mike P. Papazoglou, Proceedings of the Fourth International Conference on Web Information Systems Engineering (WISE), IEEE, 2003.
[Papazoglou, 2007] Service-Oriented Computing: State of the Art and Research Challenges, Michael P. Papazoglou, Paolo Traverso, Shahram Dustdar, Frank Leymann, IEEE Computer, 40 (November, 2007), 11; 38 - 45.
[RELOAD, 2004] Página Oficial del Proyecto RELOAD (Reusable eLearning Object Auhoring & Delivery). Actualizada el 23 de julio de 2008. Disponible en: http://www.reload.ac.uk/
[Sánchez, 2011] Evaluación de Medidas de Similitud Aplicadas a la Selección de Servicios Web, Guadalupe Ariana Sánchez González, Tesis de Maestría en Ciencias, CENIDET, Cuernavaca, Morelos.
[Vossen, 2005] Turning Learning Objects into Web Services, Gottfried Vossen, Peter Westerkamp, Learning Objects and Learning Designs, AIS SIG RLO, ERCIS.
[Westerkamp, 2003] E-Learning as a Web Service, Peter Westerkamp, Proc. 7th International Conference on Database Engineering and Applications, Hong Kong.
[Wiley, 2002] Connecting Learning Objects to instructional design theory: A definition, a metaphor and a taxonomy. David A. Wiley, II. Utah State University, Digital Learinng Enviroments Research Group, The Edumetrics Institute, 2002
[Wiley, 2003] David Wiley, Learning Objects: Difficulties and Opportunities. Academic ADL Co-Lab News Report, 2003.
[Wiley, 2004] David Wiley, Sandie Waters, Brent Lambert, Deonne Dawson, Mathew Barclay, David Wade, Laurie Nelson. Overcoming the Limitations of Learning Objects. Journal of Educational Multimedia and Hypermedia, 13(4), 507-521. 2004.
[Xu, 2003] A Web Services Oriented Framework for Dynamic E-Learning Systems, Zhenfgang Xu, Zheng Yin, and Abdulmotaleb El Saddik. Proceeding of the IEEE Canadian Conference on Electrical and Computer Engineering (CCECE ), 2003.
G1
Glosario
BD Base de Datos
CMS Course Managment System
CRM Customer Relationship Management
HTTP Hypertext Transfer Protocol
IBM International Business Machines
IDE Integrated Development Environment
LMS Learning Managment System
OA Objeto de Aprendizaje
PDF Portable Document Format
POO Programación Orientada a Objetos
RELOAD Reusable eLearning Object Auhoring & Delivery
RPC Remote Procedure Call
SCORM Sharable Content Object Reference Model
SGA Sistema Gestor de Aprendizaje
SGC Sistema Gestor de Cursos
SOA Service-Oriented Architecture
SOAP Simple Object Access Protocol
SW Servicio Web
SWA Servicio Web de Aprendizaje
TICs Tecnologías de la Información y Comunicaciones
UDDI Universal Description Discovery and Integration
UML Unified Modeling Language
URL Uniform Resource Locator
W3C World Wide Web Consortium
WSDL Web Services Description Language
XML Extensible Markup Language
XSD XML Schema Definition
A1
A Construcción de un OA
Este anexo describe cómo se realiza la construcción de un Objeto de
Aprendizaje, cómo se empaqueta utilizando SCORM y cómo es colocado dentro
de un Sistema Gestor de Aprendizaje. Para estas pruebas se utilizó Moodle y
una herramienta de empaquetado llamada Reload.
Anexo A. Construcción de un OA
A2
A.1 Diseño de un OA
Antes de construir el contenido de nuestro OA, se debe de tener un diseño, el cual
generalmente se realiza en conjunto con el maestro y el experto en el área de
aprendizaje. Una vez que se cuenta con el diseño (bosquejo, lluvia de ideas, contenido
que se integrará al OA, estructura de los cuestionarios, preguntas y ejercicios, material
de apoyo, etcétera) se procede a la construcción del OA utilizando herramientas de
desarrollo, como puede ser Dreamweaver, Flash, Powerpoints, archivos PDF, entre
otros. Para la realización del ejemplo de este documento se utilizó Dreamweaver. En la
Figura 1 se muestra el listado de archivos .html que del OA que se está construyendo.
r
Figura 1. Estructura del OA.
A.2 Empaquetado de un OA
Una vez teniendo los archivos que van a constituir al OA, se procede a empaquetar
el contenido. Para esto utilizaremos alguna herramienta de empaquetado, para este
ejemplo utilizamos Reload. Esta herramienta es de código abierto y está disponible
para descarga en la página oficial del programa (http://www.reload.ac.uk/).
El primer paso es seleccionar la carpeta de recursos (contenido del OA), tal como
se muestra en la Figura 2. El segundo paso es crear el paquete, para lo cual se agrega
a la Organización cada uno de los recursos que contendrá el OA; se puede ver cómo
Anexo A. Construcción de un OA
A3
por cada recurso que se incluye en la Organización se agrega su recurso relacionado
(Figura 3). Una vez agregados los recursos, procedemos a configurar el parámetro
SCORM Type, asignándole el valor “sco” desde el cuadro de parámetros que aparece
en la parte inferior de la pantalla (Figura 4). Para terminar el proceso de empaquetado,
se procede a dar clic en el ícono de empaquetar, tal como se muestra en la Figura 5 y
se selecciona la ubicación en donde se desea guardar el paquete que se generará del
proceso; se podrá observar que el paquete generado tiene la extensión .zip.
Figura 2. Selección de la carpeta de contenido.
Anexo A. Construcción de un OA
A4
Figura 3. Creación del paquete.
Figura 4. Configuración de cada recurso del Paquete.
Anexo A. Construcción de un OA
A5
Figura 5. Empaquetado de los recursos del OA.
A.3 Publicando un OA en Moodle
Para publicar un Objeto de Aprendizaje se requiere de un Sistema Gestor de
Aprendizaje, para este ejemplo se utilizará Moodle, ya que es un SGA gratuito, de
código abierto y sencillo de usar. Lo primero que se debe hacer es iniciar sesión como
administrador en la plataforma a través de la pantalla de Inicio (Figura 6).
Anexo A. Construcción de un OA
A6
Figura 6. Pantalla de inicio de Moodle.
Al iniciar sesión en Moodle, se desplegará la pantalla principal, la cual se
muestra en la Figura 7.
Figura 7. Pantalla principal de Moodle.
Una vez dentro de la plataforma educativa, se debe crear un curso (si ya existen
cursos, entonces seleccionar el curso al que se desea agregar un contenido educativo).
Ya creado el curso, se ingresa al mismo y se selecciona el tipo de recurso que
se desea cargar; para este caso será IMS content Package (Figura 8)
Anexo A. Construcción de un OA
A7
Figura 8. Seleccionar tipo de recurso que se desea cargar.
En el cuadro de diálogo para seleccionar el recurso que se va a cargar, se da
clic al botón “Browse” y se selecciona el paquete que se creó anteriormente con la
herramienta Reload; debe ser un archivo con extensión .zip (Figura 9).
Figura 9. Selección del paquete a cargar dentro de un curso.
Al concluir el proceso de carga se mostrará en pantalla el listado de recursos
disponibles del curso. En ese listado debe aparecer el objeto de aprendizaje que se
acaba de cargar, tal como se muestra en la Figura 10.
Anexo A. Construcción de un OA
A8
Figura 10. Lista de recursos educativos disponibles.
Al ingresar al recurso educativo que se acaba de cargar a la plataforma Moodle,
se puede visualizar el contenido tal y como se diseñó. En la Figura 11 se aprecia el
contenido educativo visto desde el SGA Moodle.
Figura 11. OA visto desde Moodle.
Anexo A. Construcción de un OA
A9
A.4 Referencias
[Güler, 2009]
Cetín Güler, Arif Altun, Petek Askar. Developing Reusable
Learning Objects: Hacettepe University Case. Third
International Conference on Internet Technologies &
Applications, UK, 2009.
[Muñoz, 2007] Jaime Muñoz Arteaga, Francisco J. Álvarez Rodriguez, María
Elena Chan Nuñez, Tecnología de Objetos de Aprendizaje,
Universidad Autónoma de Aguascalientes, México, 2007.
Página Oficial de Moodle,
http://moodle.org/
Proyecto Reload http://www.reload.ac.uk/
B1
B Construcción de un SW
Este anexo describe cómo realizar la construcción de un Servicio Web
utilizando el IDE Eclipse y el servidor Web Apache Tomcat. Además se describe
el proceso para probar un SWA y generar un Cliente.
Anexo B. Construcción de un SW
B2
B.1 Configurar IDE Eclipse
Antes de iniciar el desarrollo de Servicios Web hay que configurar Eclipse:
verificar que se tenga instalado un servidor web y contar con el motor de Servicios
Web, SOAP y WSDL llamado Axis 2.
Los pasos para la configuración del IDE Eclipse son:
1. Descargar el servidor web Tomcat (http://tomcat.apache.org/), es gratuito y de
libre distribución.
2. Descomprimir el archivo .zip y colocarlo en algún lugar de nuestro sistema.
3. Abrir el IDE Eclipse y seleccionar Window -> Show View -> Servers, tal como se
muestra en la Figura 1.
Figura 1. Configurar servidor en Eclipse.
Anexo B. Construcción de un SW
B3
4. En la parte inferior del espacio de trabajo se mostrará la pestaña “Servers”. Dar
clic derecho sobre el área blanca y elegir la opción “New” y luego “Server” para
agregar un nuevo servidor (Figura 2).
Figura 2. Agregar un nuevo servidor.
5. En la ventana de “New Server” seleccionar del listado de servidores el servidor
que se desea agregar, tal como se muestra en la Figura 3; para este ejemplo
será Tomcat v6.0. Dar clic en “Next”.
Figura 3. Seleccionar servidor a crear.
Anexo B. Construcción de un SW
B4
6. Seleccionar la ubicación de la carpeta en donde se encuentran los archivos de
instalación de la versión de Tomcat descargada y dar clic en “Finish” (Figura 4).
Figura 4. Seleccionar ubicación de los archivos de Tomcat.
7. El servidor se agregará a la pestaña “Servers” en nuestro espacio de trabajo, tal
como se muestra en la Figura 5. El servidor web ya está configurado.
Figura 5. Servidor Tomcat 6.0 agregado a nuestra área de trabajo en Eclipse.
8. Ahora se deben descargar los archivos de Axis 2 WAR que se encuentran de
forma gratuita en la red a través de
http://axis.apache.org/axis2/java/core/index.html
9. Descomprimir los archivos y ubicarlos en una carpeta dentro de nuestro sistema.
10. Abrir el IDE Eclipse y dirigirse a Windows -> Preferences (Figura 6).
Anexo B. Construcción de un SW
B5
Figura 6. Preferencias del IDE Eclipse.
11. En la ventana de Preferences, seleccionar del panel izquierdo la opción Web
Services y luego Axis2 Preferences (Figura 7). Seleccionar los archivos de
instalación de Axis2 a través del botón “Browse”.
Figura 7. Configurar Axis 2.
Anexo B. Construcción de un SW
B6
12. Ahora seleccionar del panel izquierdo de la ventana Preferences la opción
Server and Runtime, y en “Server Runtime” elegir el servidor que configuramos,
en este caso Tomcat v6.0 y en “Web Service Runtime” a Apache Axis (Figura 8).
Dar “OK” y regresar al espacio de trabajo de Eclipse.
Figura 8. Server and Runtime.
13. El IDE ya está configurado para continuar con la creación de un Servicio Web.
Anexo B. Construcción de un SW
B7
B.2 Generar y probar un Servicio Web
1. Creamos un nuevo proyecto de web dinámico: File -> New -> Dynamic Web
Proyect (Figura 9).
Figura 9. Crear un nuevo proyecto web dinámico.
2. En la ventana de New Dynamic Web Proyect agregar el nombre del proyecto de
web dinámico y seleccionar en Target Runtime el servidor que configuramos, en
este caso Tomcat 6.0v (Figura 10). Clic en el botón “Finish” para crear el nuevo
proyecto.
Anexo B. Construcción de un SW
B8
Figura 10. Crear un nuevo proyecto web dinámico.
3. En el explorador de proyectos se despliega el nuevo proyecto web dinámico
creado, tal como se muestra en la Figura 11.
Figura 11. Nuevo Proyecto en el IDE Eclipse.
Anexo B. Construcción de un SW
B9
4. En el Explorador de Proyectos, dar clic derecho sobre la carpeta Java
Resources y seleccionar New -> Class (Figura 12)
Figura 12. Crear una nueva clase en el proyecto web dinámico.
5. Ingresar el nombre del paquete en el que se creará la clase y el nombre de la
clase. El paquete si no existe, será creado por el IDE.
Figura 13. Creando nueva clase.
Anexo B. Construcción de un SW
B10
6. Agregar los métodos que pertenecen a la clase creada y guardamos la clase
(Figura 14).
Figura 14. Agregar métodos a la clase.
7. Crear un nuevo servicio web seleccionando File -> New -> Other -> Web
Service. Ver Figura 15.
Figura 15. Nuevo Servicio Web en Eclipse.
Anexo B. Construcción de un SW
B11
8. Seleccionar el tipo de servicio web, la implementación del servicio (que es la
clase que se creo anteriormente) y realizar la configuración del servicio con la
barra de desplazamiento; en este caso seleccionaremos la opción Test Service.
Dar clic en el botón “Finish” (Figura 16).
Figura 16. Configurar parámetros para crear un nuevo servicio web.
9. El servidor Tomcat se iniciará y desplegará el servicio web de prueba en
pantalla, tal como se muestra en la Figura 17.
Anexo B. Construcción de un SW
B12
Figura 17. Servidor Tomcat iniciado y el servicio Web en modo prueba.
10. Seleccionar la operación (en el ejemplo se llama saludos) e ingresar los
parámetros que solicita para realizar la prueba del servicio web (Figura 18). Los
resultados de la prueba se muestran en la pantalla de Status (Figura 19).
Figura 18. Prueba del Servicio Web.
Anexo B. Construcción de un SW
B13
Figura 19. Resultado de la prueba del Servicio Web.
B.3 Generar y probar un Cliente de Servicio Web
1. Crear un nuevo proyecto web dinámico seleccionando File -> New ->
Dynamic Web Project.
Figura 20. Nuevo proyecto web dinámico.
Anexo B. Construcción de un SW
B14
2. En la ventana de New Dynamic Web Proyect agregar el nombre del proyecto
de web dinámico y seleccionar en Target Runtime el servidor que
configuramos, en este caso Tomcat 6.0v (Figura 21). Clic en el botón “Finish”
para crear el nuevo proyecto.
Figura 21. Ingresar parámetros del nuevo proyecto web dinámico.
3. Dar clic derecho sobre el nombre del nuevo proyecto, seleccionar New ->
Folder para crear una carpeta llamada “doc” (Figura 22) y agregar el archivo
WSDL del servicio web al que se le creará el cliente, en este caso copiar el
WSDL generado en el proyecto pruebaAnexo, en la carpeta WebContent ->
wsdl, y pegarlo en la carpeta “doc” del proyecto pruebaAnexoCliente (Figura
23).
Anexo B. Construcción de un SW
B15
Figura 22. Crear nuevo folder.
Figura 23. Agregar archivo WSDL a la carpeta creada.
4. Para generar el cliente, dar clic derecho sobre el WSDL copiado en la
carpeta doc y seleccionamos Web Services -> Generate Client, tal como se
muestra en la Figura 24.
Anexo B. Construcción de un SW
B16
Figura 24. Generar el Cliente del Servicio Web.
5. Seleccionar la definición del servicio (archivo WSDL) y la opción “Test Client”
en la configuración (Figura 25). Clic en “Finish” para generar el cliente.
Figura 25. Configurar el cliente del Servicio Web.
6. Se generarán las clases del cliente y se mostrará el cliente del servicio web
para probarlo, tal como se muestra en la Figura 26.
Anexo B. Construcción de un SW
B17
Figura 26. Clases y prueba del cliente.
7. Para probar el cliente se debe seleccionar el método saludos de la lista
“Methods”, que son los métodos que ofrece el servicio; en el apartado de
“Inputs” se muestra los campos para ingresar los parámetros e invocar el
servicio, y en el apartado “Result” se desplegará el resultado de la invocación
del servicio (Figura 27).
Figura 27. Resultado de la prueba del cliente del servicio web.
C1
C Construcción de un SWA
Este anexo describe el proceso para la construcción de un Servicio Web de
Aprendizaje, propuesta de solución de este trabajo de Tesis. Para la
implementación de los SWA se utilizaron las siguientes herramientas:
- IDE Eclipse Indigo
- Tomcat 6.0.35
- MySQL Workbench 5.2.34
Anexo C. Construcción de un SWA
C2
C.1 Configuración del IDE Eclipse Indigo
Antes de iniciar el desarrollo de Servicios Web de Aprendizaje hay que
configurar el IDE Eclipse. Para este documento se utilizó la versión Indigo del IDE.
Los pasos para su configuración son:
1. Descargar el servidor web Tomcat (http://tomcat.apache.org/), es gratuito y de
libre distribución.
2. Descomprimir el archivo .zip y colocarlo en algún lugar de nuestro sistema.
3. Abrir el IDE Eclipse y seleccionar Window -> Show View -> Servers, tal como se
muestra en la Figura 1.
Figura 1. Configurar servidor en Eclipse.
Anexo C. Construcción de un SWA
C3
4. En la parte inferior del espacio de trabajo se mostrará la pestaña “Servers”. Dar
clic derecho sobre el área blanca y elegir la opción “New” y luego “Server” para
agregar un nuevo servidor (Figura 2).
Figura 2. Agregar un nuevo servidor.
5. En la ventana de “New Server” seleccionar del listado de servidores el servidor
que se desea agregar, tal como se muestra en la Figura 3; para este ejemplo
será Tomcat v6.0. Dar clic en “Next”.
Figura 3. Seleccionar servidor a crear.
Anexo C. Construcción de un SWA
C4
6. Seleccionar la ubicación de la carpeta en donde se encuentran los archivos de
instalación de la versión de Tomcat descargada y dar clic en “Finish” (Figura 4).
Figura 4. Seleccionar ubicación de los archivos de Tomcat.
7. El servidor se agregará a la pestaña “Servers” en nuestro espacio de trabajo, tal
como se muestra en la Figura 5. El servidor web ya está configurado.
Figura 5. Servidor Tomcat 6.0 agregado a nuestra área de trabajo en Eclipse.
8. Ahora se deben descargar los archivos de Axis 2 WAR que se encuentran de
forma gratuita en la red a través de
http://axis.apache.org/axis2/java/core/index.html .
9. Descomprimir los archivos y ubicarlos en una carpeta dentro de nuestro sistema.
Anexo C. Construcción de un SWA
C5
10. Abrir el IDE Eclipse y dirigirse a Windows -> Preferences (Figura 6).
Figura 6. Preferencias del IDE Eclipse.
11. En la ventana de Preferences, seleccionar del panel izquierdo la opción Web
Services y luego Axis2 Preferences (Figura 7). Seleccionar los archivos de
instalación de Axis2 a través del botón “Browse”.
Figura 7. Configurar Axis 2.
12. Ahora seleccionar del panel izquierdo de la ventana Preferences la opción
Server and Runtime, y en “Server Runtime” elegir el servidor que configuramos,
Anexo C. Construcción de un SWA
C6
en este caso Tomcat v6.0 y en “Web Service Runtime” a Apache Axis (Figura 8).
Dar “OK” y regresar al espacio de trabajo de Eclipse.
Figura 8. Server and Runtime.
13. El IDE ya está configurado para continuar con la creación de un Servicio Web de
Aprendizaje.
C.2 Creación de la Base de Datos de Contenido de Aprendizaje
La Base de Datos de Contenido de Aprendizaje consiste en un registro del
material educativo almacenado en el servidor, disponible para los usuarios y que es
alcanzable a través de los Servicios Web de Aprendizaje. El diseño de la base de datos
consiste en cuatro tablas, una para cada tipo de SWA. En la figura 9 se muestra el
diseño de las tablas que se utilizaron para este trabajo.
Anexo C. Construcción de un SWA
C7
Figura 9. Diseño de las tablas de la BD de Contenido de Aprendizaje.
MySQL Workbench permite construir rápidamente una base de datos y sus
tablas correspondientes. En la Figura 10 se muestra la pantalla principal del programa.
Para iniciar la construcción de la BD de Contenido de Aprendizaje hay que ir al
aparatado de SQL Development (en la Figura 10 se señala con un recuadro punteado).
Figura 10. MySQL Workbench.
El apartado SQL Development abrirá una nueva pestaña en la parte superior,
etiquetada como SQL Editor, que contiene la interfaz para la administración de los
esquemas de la base de datos (altas, bajas y otras operaciones sobre las tablas y
registros de una BD). Tiene tres secciones principales: 1. el buscador de objetos, 2. el
recuadro para consultas y 3. el administrador de esquemas. En la Figura 11 se señalan
cada una de estas secciones.
Anexo C. Construcción de un SWA
C8
Figura 11. Secciones del apartado SQL Editor de MySQL WorkBench.
Lo primero será crear el esquema utilizando la opción Add Schema ubicada en
la sección 1 del SQL Editor. Esta opción abrirá una ventana como la que se muestra en
la figura 12, en donde se debe ingresar el nombre del nuevo esquema y dar clic en el
botón “Apply“. Después se abrirá una ventana para ejecutar el Script de creación del
esquema, dar clic en el botón “Apply” y esperar que se ejecuten las instrucciones. Al
finalizar la ejecución del Script dar clic en el botón “Finish” y verificar que el nuevo
esquema aparezca en el panel 3, en este caso el esquema se llama aprendizaje.
1 3
2
Anexo C. Construcción de un SWA
C9
Figura 12. Creación de un nuevo esquema.
Antes de iniciar la construcción de las tablas que constituirán al esquema, hay
que indicar que aprendizaje será el esquema de trabajo predeterminado dando clic
derecho sobre el nombre del esquema y seleccionando del menú emergente la opción
Set as Default Schema (Figura 13).
Figura 13. Seleccionar esquema predeterminado.
Anexo C. Construcción de un SWA
C10
Para la construcción de las tablas se debe seleccionar la opción Add Table que
aparece en el panel 3, debajo del esquema aprendizaje, y esperamos a que se abra el
cuadro de diálogo para la creación de una nueva tabla. En la parte inferior del cuadro
de diálogo hay una serie de pestañas que permiten ingresar toda la información
referente a la tabla, en este caso hay que ingresar el nombre de la tabla en la pestaña
Table, y los nombres de las columnas que integra dicha tabla en la pestaña Columns.
Para concluir la creación se da clic en el botón “Apply” y se ejecuta el Script que se
genera. En la Figura 14 se muestra el cuadro de diálogo para la creación de una nueva
tabla.
Figura 14. Crear una nueva tabla.
El procedimiento anterior se debe hacer para cada una de las tablas que
conforman al esquema aprendizaje.
Anexo C. Construcción de un SWA
C11
C.3 Construcción del SWA
La construcción de un Servicio Web de Aprendizaje se divide en dos partes: la
pedagógica y la tecnológica. Este trabajo está enfocado únicamente a la parte
tecnológica de los SWA, pero es importante señalar algunos detalles de la parte
pedagógica de los SWA.
C.3.1 Creación del contenido educativo
Esta parte consiste en el diseño y creación del contenido que será mostrado y
cómo será presentado al usuario. Hay cuatro tipos de contenido educativo que se
deben crear: objetivos, contenido, actividades y evaluaciones. Todo este proceso se
lleva a cabo por los maestros y expertos en los distintos tema que se desean publicar.
El contenido educativo puede presentarse en distintos formatos, por ejemplo
documentos de texto plano, archivos multimedia (videos, audio, animaciones),
presentaciones, archivos pdf, etcétera.
Una vez creado el contenido educativo debe almacenarse en el servidor en
dónde se vayan a crear los SWA. Además, se debe registrar en la Base de Datos de
Contenido Educativo la información de cada material de aprendizaje que se vaya a
publicar como su URL, formato y tema. En la Figura 15 se muestran algunos
contenidos educativos construidos para este trabajo, además del registro de uno de
ellos a la BD.
Figura 15. Contenido educativo.
Anexo C. Construcción de un SWA
C12
C.3.2 Creación del SWA
Una vez creado el contenido educativo se procede a construir el SWA que
permitirá la distribución y consulta de dicho material. Para esta parte se necesita tener
configurado el servidor Tomcat y el IDE Eclipse Indigo, además el material educativo
debe estar almacenado en el servidor y registrado en la Base de Datos de Contenido
Educativo.
Iniciamos el IDE Eclipse y creamos un nuevo proyecto web dinámico: File ->
New -> Dynamic Web Proyect. En la ventana de diálogo para la creación de un nuevo
proyecto ingresamos el nombre y damos clic en el botón “Finish”. En la figura 16 se
muestra la ventana de diálogo para la creación de un nuevo proyecto web dinámico. Se
podrá ingresar al nuevo proyecto a través del navegador de proyectos ubicado en el
lado izquierdo de la ventana principal.
Figura 16. Nuevo proyecto web dinámico.
Anexo C. Construcción de un SWA
C13
Sobre el nombre del proyecto hay que dar clic derecho y crear una nueva case:
proyecto -> New -> Class. Se desplegará la ventana de diálogo (F igura 17) para crear
una nueva clase. En la ventana hay que poner el nombre de la clase y el nombre del
paquete en donde se creará la clase. Si el paquete no existe, se creará. Para terminar
hay que dar clic en el botón “Finish”.
Figura 17. Crear una nueva clase.
Para construir el SWA primero se abre la clase que acaba de ser creada y
codificamos los métodos que se requieren para el funcionamiento del Servicio Web de
Aprendizaje: un método para conectarse a Base de Datos de contenido de aprendizaje,
otro método para cerrar la conexión y un último método que para consultar la BD de
contenido de aprendizaje y a través del cual el usuario tiene acceso al SWA.
Anexo C. Construcción de un SWA
C14
El primer método es el que permite al SWA conectarse a la BD y su código se
muestra en la figura 18. El segundo método cierra la conexión creada por el primer
método y su código se muestra en la figura 19. El tercer y último método es el visible al
usuario, y a través del cual el SWA recupera la información del contenido de
aprendizaje que el usuario quiere consultar; su código se muestra en la figura 20. Hay
que notar que al iniciar a codificar se debe indicar que se trata de un SW colocando la
etiqueta @WebService al inicio y que el tercer método lleva la etiqueta @WebMethod
para indicar que es un método que el SW ofrece.
Figura 18. Método para conectarse a la BD.
Figura 19. Método para cerrar la conexión a la BD.
Anexo C. Construcción de un SWA
C15
Figura 20. Método para consultar a la BD la información sobre un contenido de tipo objetivo de
aprendizaje.
Una vez codificada, hay que guardar y ubicarnos en el explorador de archivos;
ahí seleccionamos la clase, damos clic derecho y seleccionamos la opción Web
Services -> Create Web Service. Se abrirá una ventana de diálogo para la creación de
SW en cual debemos verificar que esté el nombre de la clase con la que estamos
trabajando, que la configuración del servidor sea la correcta y que la barrita del
recuadro para generar un SW esté en la opción Test Service (ver Figura 21). Una vez
configurado hay que dar clic en el botón Finish y esperar que se muestre en el
explorador de SW de la pantalla que se muestra en la Figura 22.
Anexo C. Construcción de un SWA
C16
Figura 21. Creación de SW.
A través del explorador de SW que ofrece Eclipse se pueden hacer pruebas para
ver que el funcionamiento del SW sea el correcto. Hay que recordar que para ejecutar
las pruebas de un SW el servidor debe de estar inicializado.
Anexo C. Construcción de un SWA
C17
Figura 22. Explorador de SW de Eclipse.
Cada SW genera un archivo WSDL, el cual se almacena en la carpeta Web
Content -> wsdl del proyecto en el que se está trabajando.
C.4 Creación del Cliente del SWA
Para la creación de un Cliente se debe primero crear un nuevo proyecto web
dinámico: File -> New -> Dynamic Web Proyect (En la figura 16 se muestra el cuadro
de diálogo para la creación de un nuevo proyecto web dinámico). Una vez creado hay
que ubicarse en la carpeta del proyecto, dar clic derecho y seleccionar New -> Other ->
Web Services -> Web Client y dar clic en el botón “Next”. En el siguiente recuadro hay
que ir al botón “Browse” y localizar el archivo wsdl del SWA al cual se le desea crear un
Cliente; después hay que subir la barrita a la opción “Test Client” y dar clic al botón
“Finish” (Ver Figura 23). Deberá aparecer una pantalla en el explorador de Eclipse
similar a la mostrada en la Figura 24.
Anexo C. Construcción de un SWA
C18
Figura 23. Creación de un Cliente de SWA.
Figura 24. Cliente SW.
Anexo C. Construcción de un SWA
C19
Una vez generado el Cliente del SWA, hay que ajustarlo para que despliegue el
contenido que el usuario consulte; para esto hay que ubicar en la carpeta Web Content
los archivos que genera Eclipse al generar el Cliente (Ver Figura 25).
Figura 25. Archivos web del Cliente generado por Eclipse.
El archivo que se va a modificar es el Result.jsp, el cual debe copiarse y pegarse
en la carpeta Web Content directamente. Ya que se ha copiado hay que abrirlo y
comenzar a modificar el código.
Lo primero será borrar todo el contenido y dejar solamente lo que se muestra en
la Figura 26.
Figura 26. Iniciando con la modificación del código del archivo Result.jsp.
Ahora, dentro de las etiquetas “<% %>” hay que colocar el código que se
muestra en la Figura 27, en dónde se hace referencia la método del SWA
consultaObjetivos, se recupera el parámetro que envía, que en este caso es el URL del
contenido educativo, y se despliega dentro de un frame predeterminado.
Anexo C. Construcción de un SWA
C20
Figura 27. Código para invocar al SWA.
Una vez concluida la modificación hay que guardar los cambios y dar clic
derecho sobre el archivo, seleccionar la opción Run As -> Run On Server para ejecutar
el Cliente modificado. Se podrá apreciar en la pantalla del explorador de Eclipse el
resultado de la ejecución del cliente (Ver Figura 28).
Figura 28. Resultado de la ejecución del Cliente del SWA.