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.
145
Embed
TESIS DE MAESTRÍA EN CIENCIAS - CENIDET · technology and content, facilitate the updating of educational content, providing greater openness to distribution of educational content
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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
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
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.
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.
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.
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.
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.
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.
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.
[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.